jean-michel-gonet / pic18f-bldc-controller.X

A BLDC ESC made with a pic18f micro-controller,
GNU General Public License v3.0
2 stars 1 forks source link

Implémenter la surveillance des canaux RC #18

Closed jean-michel-gonet closed 8 years ago

jean-michel-gonet commented 8 years ago

But

La manière optimale d'acquérir la durée des pulsations qui sortent du récépteur radio serait d'utiliser le module Input Capture. Le problème est que c'est le même que le module de génération de PWM. Or:

En conséquence je choisis de brancher le récepteur radio sur les interruptions INT0 et INT1. J'effectuerais des lectures des temporisateurs depuis la routine d'interruption, en suivant le même principe que la capture, mais en perdant de la précision à cause que des interruptions peuvent survenir au même moment.

jean-michel-gonet commented 8 years ago

Après #19, je peux utiliser les deux modules CCP/PWM restants pour mesurer la durée des pulses de la radio-commande. Après #15, j'ai déjà connecté l'entrée de la radio-commande à RA4/CCP5 et RB0/CCP4.

jean-michel-gonet commented 8 years ago

Jusqu'à maintenant j'ai utilisé le temporisateur 1 pour cadencer la conversion AD, et le temporisateur 3 pour générer le signal du servo de direction (voir #19). Comme les modules de capture utilisent les temporisateur 1, 3 et 5, je dois en libérer. Voici la nouvelle assignation:

jean-michel-gonet commented 8 years ago

Hum... en fait je peux utiliser le temporisateur 1 pour CCP4 et CCP5.

jean-michel-gonet commented 8 years ago

Après quelques tests à l'extérieur, je suis très satisfait du circuit de puissance. Prudent au début, j'ai fini par le tester en envoyant toute la gomme en marche avant, puis en marche arrière, puis en marche avant de nouveau. À un moment la voiture s'est levée sur les roues arrières! J'ai vérifié: le seul point qui chauffe est le régulateur 5V qui alimente le circuit de contrôle et... le servo avant. Le servo est un peu trop gourmand.