Étape 6: Planification de programmation
J’aime utiliser l’IDE Arduino pour mes projets personnels et prototypes parce que je suis trop paresseux pour tirer vers le haut de Atmel Studio.
Avant j’ai eu tous les composants j’ai commencé à planifier le programme pour le chargeur. J’ai voulu exécuter 4 machines à États distincts, un pour chaque cellule et de les exécuter simultanément en temps réel afin d’assurer le bon timing pour le calcul de la capacité. La meilleure façon que je fais habituellement c’est avec une interruption de minuterie matérielle. Les interruptions de minuterie a été divisée en 4 plages horaires, il finit par être 5 get mais mal à cela plus tard.
En utilisant les interruptions de minuterie générée est une excellente façon de garantir que le code est exécuté à des intervalles précis. J’ai utiliser une interruption de minuterie qui parcourt toutes les fonctions qui doivent être exécutées. La durée de l’interruption de la minuterie doit être plus lente puis la plus longue durée d’exécution de toutes les machines d’État en cours d’exécution.
Le code de sudo de conception machine de base État que j’ai terminé avant de commencer à code est ci-dessous :
0 – frais refroidir
Si VCELL pas stabiliser puis État 0 //steady devrait être le sujet de même tension pendant 30 secondes
Si VCELL < VFULL puis indiquer 1 / / frais de démarrage
Si VCELL > = VFULL then state2 / / début de décharge
1 - charge
Si VCELL > = VCHRD then État 0 / / refroidir
Si VCELL < VCHRD puis indiquer 1 / / chargement de garder
2 - décharge
Si VCELL > VSTOP énoncez alors dans les 2 / / garder décharge
Si VCELL < VSTOP énoncez alors 3 / / refroidir
3 - temps de recharge de décharge
Si VCELL pas stabiliser puis État 3 //steady devrait être le sujet de même tension pendant 30 secondes
Si VCELL > VFAIBLE puis État 2 //start décharger à nouveau
État 4 / / fait