Question:
Conduire un moteur de loisir DC à l'aide d'un AVR et d'une seule alimentation
Tim
2010-04-13 07:45:36 UTC
view on stackexchange narkive permalink

J'ai récemment commencé à expérimenter les AVR et je souhaite aller au-delà des clignotements pour faire bouger les choses . J'ai essayé de commencer par quelque chose de facile, mais il semble que je suis déjà déjoué! Ce que j'aimerais savoir, c'est ceci: est-il possible de piloter à la fois un AVR et un moteur à partir de la même source d'alimentation et sans qu'ils interfèrent les uns avec les autres?

Le schéma ci-dessous illustre ma première tentative de faire ce. L'ATtiny génère un signal PWM ~ 3 kHz (rapport cyclique 1/3) sur la broche 5, dans le but de fournir une tension moyenne temporelle de 3 V au moteur via le transistor de puissance. Cependant, quand je branche cela, le moteur semble juste tousser et cracher. alt text

Merci beaucoup d'avance,

Tim

p.s. Je m'interroge juste sur la possibilité / l'impossibilité fondamentale de ce que j'essaie de faire: je ne m'attends pas à ce que quelqu'un débogue mon circuit à ma place! :-)

Quatre réponses:
#1
+5
JustJeff
2010-04-30 02:12:00 UTC
view on stackexchange narkive permalink

Vous n'êtes pas sûr d'avoir besoin de la diode en série avec le moteur comme vous l'avez montré. Tout ce qu'il va faire est de faire chuter de la tension et de générer de la chaleur (sauf si c'est une LED).

Vous voulez probablement une diode en parallèle avec le moteur, orientée avec la cathode vers l'alimentation positive. La diode bloquera toutes les excursions de haute tension causées par l'inductance dans le moteur, de sorte que le collecteur du transistor passe ne verra jamais une tension supérieure à une diode chuter au-dessus de la tension d'alimentation.

De plus, vous devriez probablement avoir un petit condensateur avec une bonne réponse haute fréquence attaché directement à travers le moteur, pour réduire les EMI causés par l'arc dans les brosses. Généralement, des disques céramiques 0,01 uF ou 0,1 uF sont utilisés.

Les transistors plus grands prennent parfois un peu plus de puissance, alors considérez la résistance du PB0 à la base du TIP 122. Vous ne savez pas quelles sont les spécifications du TIP 122, mais vous voulez vous assurer que lorsque le niveau sur PB0 est à son état haut, le collecteur doit être très proche de la terre, pas plus d'environ 0,2 V.

De plus, quelle est la taille de ce moteur et quelle est la taille de la batterie? Les piles alcalines de neuf volts ne sont pas connues pour avoir une grande capacité de courant, donc je suppose que le moteur est assez petit. Vous devriez être capable de prendre un fil et de court-circuiter le collecteur et l'émetteur du transistor sans nuire à quoi que ce soit, et si vous le faites, le moteur devrait tourner.

Merci pour tous ces commentaires utiles! Comme je l'ai mentionné dans un commentaire précédent, le problème était en fait une maquette défectueuse, mais le conseil que vous avez donné est bon à savoir. L'intention de la diode était celle que vous avez décrite, mais je me suis manifestement trompée. J'ajouterai également le condensateur de découplage à l'avenir.
#2
+2
endolith
2010-04-13 10:09:01 UTC
view on stackexchange narkive permalink

C'est possible , bien sûr. Le 9 V tombe-t-il beaucoup sous la charge et le laisse-t-il tomber hors de la régulation? La tension des deux côtés du moteur est-elle ce que vous attendez? Vous aurez peut-être besoin de plus gros condensateurs pour maintenir les alimentations «rigides» et assurez-vous que la chute de tension causée par le courant du moteur dans le fil de terre n'affecte pas la terre de l'AVR.

Merci: super de savoir que je n'aboie pas dans le mauvais arbre! La tension semblait un peu élevée (plus proche de 5v que de 3v), mais il m'est difficile de dire exactement quelles sont les tensions dans ce circuit en raison de mon idée folle d'utiliser PWM pour abaisser la tension. Lorsqu'il a été brièvement soumis à une tension similaire en dehors de ce circuit, cependant, le moteur n'a pas craché. Peut-être que la charge provoque la réinitialisation de l'AVR, ou le signal PWM doit être explicitement filtré. Quoi qu'il en soit, merci encore.
Je viens de l'essayer avec le PWM remplacé par un solide HIGH et le sputter persiste. Cela doit être dû à l'affaissement du 9V sous la charge, comme vous l'avez suggéré.
En quoi est-ce une idée folle de quitter PWM? C'est ce que fait tout amplificateur ou régulateur de commutation. Vous pouvez facilement déterminer s'il s'agit d'un statisme du 9 V en mesurant simplement les bornes d'entrée du régulateur avec un multimètre, avec et sans le moteur en marche. Si c'est la commutation de la sortie qui cause le problème, filtrez-la ou augmentez la fréquence PWM.
Quelle est la tension à travers le moteur lui-même? Le transistor n'est-il pas capable de fournir suffisamment de courant même lorsqu'il est complètement fermé?
Ça marche! En fait, et c'est plutôt embarrassant, la solution n'avait rien à voir avec le schéma ci-dessus: la maquette avait une piste défectueuse qui coupait périodiquement le circuit en raison des vibrations du moteur. : - / (Dois-je supprimer cette question pensez-vous?)
Si vous le supprimez, personne ne peut en bénéficier!
#3
+1
stevenvh
2011-09-13 12:23:29 UTC
view on stackexchange narkive permalink

Je ne sais pas pourquoi vous avez placé la diode en série avec le moteur; ce n'est pas nécessaire là-bas. Ce qui ne veut pas dire que c'est complètement faux, c'est juste au mauvais endroit.
Vous utilisez une diode pour isoler le moteur de l'ATtiny, mais vous devrez placer la diode devant le 0.22 \ $ \ mu \ $ F condensateur, et connectez le moteur directement à la source 9V. (Au fait, le 0.22 \ $ \ mu \ $ F est bien trop petit; faites-en un 500 fois plus grand, donc 100 \ $ \ mu \ $ F. Placez un 1 \ $ \ mu \ $ F en parallèle.) Maintenant, si le moteur tire du courant, il ne peut le tirer que directement de l'alimentation 9V, pas du condensateur, de sorte que les pointes négatives n'atteindront pas la broche d'alimentation de l'ATtiny.

Vous devez également placer une diode flyback sur le moteur, anode sur le collecteur du transistor.

#4
  0
tissit
2010-05-18 13:23:46 UTC
view on stackexchange narkive permalink

Je suis en retard, mais je dirais:

Divisez pour vaincre. Vous avez essayé le moteur sans le contrôleur, essayez le contrôleur sans le moteur: mettez une charge factice plus simple (résistance).

Arrêtez de penser et regardez! Avez-vous mesuré la forme d'onde pwm? Assurez-vous d'obtenir ce que vous attendez. Peut-être ajouter un voyant de pulsation ou autre chose pour voir si le programme est en cours d'exécution ou s'il fait quelque chose comme une réinitialisation erronée.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...