Modifications

113 octets ajoutés ,  24 mars 2021 à 13:21
aucun résumé de modification
Ligne 197 : Ligne 197 :  
Dans un premier temps le  but de notre partie software est de récupérer la valeur précise de la batterie sur l’ADC pour pouvoir piloter les signaux d’alertes (led, buzzer) et ouvrir les circuits en fonction du niveau de décharge de la batterie.
 
Dans un premier temps le  but de notre partie software est de récupérer la valeur précise de la batterie sur l’ADC pour pouvoir piloter les signaux d’alertes (led, buzzer) et ouvrir les circuits en fonction du niveau de décharge de la batterie.
 
Ensuite nous souhaitons mettre en place un bus CAN pour communiquer avec la carte STM principale pour lui permettre de commander les relais via l'application développée par l'autre binôme de notre projet.
 
Ensuite nous souhaitons mettre en place un bus CAN pour communiquer avec la carte STM principale pour lui permettre de commander les relais via l'application développée par l'autre binôme de notre projet.
  −
   
<br>
 
<br>
'''Configuration de l’ADC'''<br>
+
<br>
 
+
'''Configuration de l’ADC'''
 +
<br>
 +
<br>
 
Dans un premier temps nous avons mit en place un pont diviseur directement relié a la patte de l’ADC (PA0) qui supporte une tension de 0V à 3,3V. La résolution de 12 bit nous donne donc une valeur de 0 à 4096 exploitable pour cette plage de tension. La décharge de la batterie compris entre 17V et 13V correspond à une variation de 2,87V à 2,19V soit de 3400 à 2685. L’ADC fonctionne en «polling mode» : Il démarre, charge un condensateur pendant 10 ms , lit puis stock cette valeur dans une variable puis s’arrête jusqu’à la prochaine boucle.                                     
 
Dans un premier temps nous avons mit en place un pont diviseur directement relié a la patte de l’ADC (PA0) qui supporte une tension de 0V à 3,3V. La résolution de 12 bit nous donne donc une valeur de 0 à 4096 exploitable pour cette plage de tension. La décharge de la batterie compris entre 17V et 13V correspond à une variation de 2,87V à 2,19V soit de 3400 à 2685. L’ADC fonctionne en «polling mode» : Il démarre, charge un condensateur pendant 10 ms , lit puis stock cette valeur dans une variable puis s’arrête jusqu’à la prochaine boucle.                                     
 
<br>
 
<br>
'''Configuration des timers'''<br>
+
<br>
 
+
'''Configuration des timers'''
 +
<br>
 +
<br> 
 
Pour piloter le buzzer et la led en fonction du niveau de la batterie, nous devons mettre en place des signaux PWM générés par des timers. Pour cela nous configurons l’horloge des timers à 16Mhz. CubeMX nous permet de régler ensuite le préscaler qui divise la fréquence. Ensuite il nous reste à régler le counter_périod qui est un registre de 16 bits qui compte de 0 à 65536, cela nous permet d’avoir la fréquence souhaitée. <br>
 
Pour piloter le buzzer et la led en fonction du niveau de la batterie, nous devons mettre en place des signaux PWM générés par des timers. Pour cela nous configurons l’horloge des timers à 16Mhz. CubeMX nous permet de régler ensuite le préscaler qui divise la fréquence. Ensuite il nous reste à régler le counter_périod qui est un registre de 16 bits qui compte de 0 à 65536, cela nous permet d’avoir la fréquence souhaitée. <br>
 
Pour le buzzer le préscaler est à 16 (1Mhz) et le  counter_périod est à 2272 pour donner un avertissement sonore en La (440hz) .
 
Pour le buzzer le préscaler est à 16 (1Mhz) et le  counter_périod est à 2272 pour donner un avertissement sonore en La (440hz) .
 
Pour la led nous avons un préscaler de 1000 (16khz) et un  counter_period de 8000 pour un clignotement de (2hz).  
 
Pour la led nous avons un préscaler de 1000 (16khz) et un  counter_period de 8000 pour un clignotement de (2hz).  
 
+
<br>
'''Signaux d’alerte et coupure des circuits en fonction de la décharge de la batterie '''<br>
+
<br>
 +
'''Signaux d’alerte et coupure des circuits en fonction de la décharge de la batterie'''
 +
<br>
 +
<br>
 +
[[Fichier:Configuration CubeMX|vignette|droite|Configuration CubeMX STM32F303K8]]
    
{| class="wikitable"
 
{| class="wikitable"
143

modifications