J'ai commencé mon histoire ici viewtopic.php?f=6&t=423&start=140#p14974, mais ce n'est pas forcement une très bonne idée.... alors je reprends là
Donc, comment piloter un servo de panoramique modifié 360°, c'est à dire avec le potentiomètre de position désaccouplé et la butée de rotation supprimée ?
En fait, On a juste besoin de le faire tourner dans les deux sens et de l'arreter, facile en principe... sauf que ce servo n'a plus de position d'équilibre ce qui ne facilite pas son arrêt total.
On sait juste que pour l'arreter, il va falloir lui envoyer une impulsion proche de 1,5ms ou 1500us (si le potentiomètre ou l'ajustable qui le remplace est bien réglé) et que pour le faire tourner, il va falloir jouer sur la durée de cette impulsion.
PS: sur un servo monté directement sur le Picavet ou le pendule, sans engrenages supplémentaires, cette variation de durée va être de l'ordre de 10us pour le faire tourner suffisamment lentement !!!
On va donc avoir des paramètres très sensibles qui vont dépendre du montage de la nacelle. Une bonne idée à ce niveau serait, à mon avis, de rendre ces paramètres indépendants du programme (pour garder un programme standard utilisable tel quel par tous) et de passer par une phase de réglages permettant à chacun de stocker ses propres paramètres sans avoir à modifier des variables dans le code.
Ces microcontroleurs disposent d'une mémoire dite EEPROM qui stocke les valeurs écrites même si on éteind l'Arduino... ça parait un excellent endroit pour y stocker ces paramètres
Voilà comment je vois le truc pour l'instant: Créer un ou plusieurs sketches de réglage en utilisant les possibilités de dialogue entre le PC et l'Arduino via le port COM (USB) pour ajuster les différents paramètres et les stocker en mémoire EEPROM.
Pour le servo de PAN, il faut déterminer (et ça va dépendre de chaque nacelle):
- la durée de l'impulsion qui arrete au mieux le servo
- la variation de durée qui va permettre de le faire tourner (en réglant en fait sa vitesse de rotation)
- la durée necessaire pour faire un tour complet (qui dépend de la vitesse ci-dessus)
C'est le minimum pour faire tourner un AutoKap !
Le dialogue PC/Arduino
Pour programmer l'Arduino, nous disposons d'une liaison USB (en fait une émulation de port série)
On peut donc utiliser des programmes classiques de communication sur port série. Le programme Arduino sur le PC dispose d'un bouton "serial monitor" qui permet de voir ce qui transite sur ce port et de "dialoguer" avec l'Arduino. Hyperterminal est programme windows très pratique (plus pratique?) pour "dialoguer" sur ce port (il n'est plus fourni avec Vista, mais se trouve facilement sur le Net).
Quelque soit le programme, il faut couper momentanement cette liaison pour uploader un nouveau sketch sur l'Arduino.
Voilà en tout cas une méthode séduisante pour définir ses propres paramètres