Pages: [1]   Go Down
Author Topic: Librairie servo et PWM simultané  (Read 602 times)
0 Members and 1 Guest are viewing this topic.
Chateau-Thierry (02)
Offline Offline
Full Member
***
Karma: 0
Posts: 167
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour

J’ai pratiquement finalisé mon projet de gestion pour mon aquarium. Cela fait quelques mois que j’explore et teste les différentes possibilités de ma Duemilanove.

Sur celle-ci est raccordé 2 servos (pin 9 et 10) pour oscillateurs, 3 sorties PWM ( Pin 3,6 et 11) pour la commande de pompes 12VDC en vitesse variable. Les sorties 2, 7, 8 et 13 sont également occupées en sortie TOR.
J’ai réservé les pin 4 et 5 pour le raccordement ultérieur d’un afficheur en liaison I2C.

J’avais testé indépendamment chaque fonction, et cela fonctionnait bien.
A partir de là, j’ai conçu et réalisé une platine complète intégrant tous les composants (MOSFET, TRIAC, Relais, Régulateur 6V (pour les servos), fusibles, …).

Seulement, maintenant que tout est raccordé, je rencontre des problèmes :

Lors de la commande des pompes, (MOSFET en PWM), les servos s’affolent.
Après quelques lectures, j’ai cru comprendre que c’était l’utilisation de la librairie <servo> qui posait problème.

J’utilise la librairie <servo.h>, et j’utilise la version 018 (en français).

Existe-t-il une parade ?
Vers quelle direction dois-je m’orienter ?
- Passer à la dernière version de soft (0022) qui ne sera plus en Français
- Gérer les servos sans utiliser la librairie <servo>  Là, je sens que çà va se corser
- ?

A noter que j’utilise l’instruction millis() pour gérer mon horloge interne.

Franck
Logged

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour Bubule,
Tu rencontres un problème de conflit de librairie, sur l'atmega il y a 3 timers qui servent pour tout :
- le pwm ( 1 timer pour 2 sorties pwm )
- la librairie servo ( je crois que c'est le timer2 ).
Donc tu devras regarder de prêt quel timer utilise servo et ne pas utiliser les broches pwm qui sont pilotés par ce timer.
C'est un problème classique quand on empile les librairies ...

A+ Teiva
Logged


www.Zartronic.fr : Arduino & Robotique

Chateau-Thierry (02)
Offline Offline
Full Member
***
Karma: 0
Posts: 167
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour

Ne cherchez plus, j'ai trouvé !!

J'ai trouvé la piste lorsque je me suis rendu compte que seul un servo battait la chamade lorsque j'envoyais un PWM sur une voie (peu importait laquelle). En fait, c'est le type de servo qui était en cause.
Modéliste de longue date, j'ai une multitude de servos à ma disposition. Et là, j'avais employé un Futaba S9202. Alors qu'un bas de gamme Hitec, positionné sur la sortie 9 ne donnait aucun signe de trouble.

La solution : J'ai ajouté un condensateur tantale 100nf au plus près du servo qui délirait, entre 0V et signal, et tout est rentré dans l'ordre.
« Last Edit: August 28, 2011, 07:18:40 am by Bubule » Logged

Pages: [1]   Go Up
Jump to: