Fréquence de la PWM : 20kHz Temps mort minimum : à voir selon la datasheet des transistors (faire valider la valeur) Résolution minimum : 10bits. Pour les tests, fixer le rapport cyclique à 60%.
Pour controler la vitesse du moteur, nous allons envoyer une séquence via la liaison UART (par l'USB) de la forme :
speed XXXX Le traitement de cette chaine de caractère se faire de la manière suivant : Détection des premiers caractères "speed" Conversion de tous les caractères représentant des chiffres XXXX en nombre entier Vérification de la valeur (si la valeur est supérieur au maximum autorisé (bien spécifier cette valeur), on l'abaisse à cette valeur), Application de cette vitesse au moteur à travers le registre gérant le rapport cyclique de la PWM
Rajouter quelques fonctionnalités à votre projet :
Commande start : permet de fixer le rapport cyclique à 50% (vitesse nulle) et d'activer la génération des pwm (HAL_TIM_PWM_Start et HAL_TIMEx_PWMN_Start), Commande stop : permet de désactiver la génération des PWM. Commande speed XXXX : permet de définir le rapport cyclique à XXXX/PWM_MAX, mais afin de réduire l'appel à courant, vous devez établir une montée progressive à cette vitesse en quelques secondes. Vous pouvez effectuer une rampe entre la valeur actuelle et la valeur cible avec un incrément bien réfléchi de la PWM à un intervalle de temps régulier. Par la suite votre asservissement fera cela tout seul.