Il utilise un transistor unique Petit pour exécuter un petit moteur à courant continu.
Bien que le circuit est très simple (certains disent ennuyeux?) il a un
truc assez cool dans le logiciel - Pulse Width Modulation (PWM)
vitesse contrôle - avec rampe de vitesse de haut en bas.
Il s’agit d’un seul transistor... Je devais faire quelque chose pour le rendre plus
intéressant !
Le transistor (2N3904 de type NPN) est là pour gérer le plus élevé
courant requis par le moteur. (voir le schéma des connexions).
J’ai ajouté quelques autres jouets au circuit transistor simple pour le rendre
plus facile de voir ce qui se passe ici.
La LED rouge est le logiciel contrôlé. Elle est activée uniquement lorsque le moteur est
accélération (accélération) et tourné le dos au large juste avant le démarrage du moteur
ralentissant.
La LED bleue est branchée sur le collecteur du transistor - broches de l’émetteur.
Il s’allume uniquement lorsque le transistor est en OFF. Donc, c’est montrer essentiellement
la période d’arrêt entre les impulsions de commande de moteur.
Ou - connecter la LED bleue entre du transistor collecteur et V +
Si vous pouvez réellement voir la tension de choc en retour EMF !
Vidéo :
Un petit clip vidéo de cette démo en marche...
http://www.youtube.com/watch?v=gd39Jtel2uA&feature=youtu.be
Démo :
SPIN peut sembler un peu étrange au début, mais c’est un langage facile à apprendre.
Tout d’abord, vous avez besoin de l’outil de l’hélice, qui inclut l’éditeur, aide
fichiers exemples, objets courants et le manuel de l’hélice.
Voir le lien ci-dessous pour saisir que.
Il y a trois boucles dans ce petit programme de démonstration.
La boucle externe - boucle pour toujours.
Et deux boucles internes qui font de la rampe d’impulsions trains - montée en puissance et rampe vers le bas.
Une mise en œuvre commence avec des impulsions très courtes et augmente la largeur de chacune
impulsions successives dans le train.
Rampe fait le contraire, raccourcir chaque impulsion subséquente dans le train.
Le moteur réagit comme l’alimentation est allumée, courir plus vite que le pouvoir est à gauche sur
pour une plus longue période.
C’est vraiment le cœur de tous les schémas de modulation de largeur d’impulsion
Outil de programmation hélice est exempt de parallaxe à :
http://www.Parallax.com/tabid/832/default.aspx
La structure du programme est déterminée par la mise en retrait. Soyez donc prudent de cela !
Cet exemple peut être copié et collé directement dans l’outil Prop.
Code :
{Motor.spin Richard Lamb - 15 juin 2013 cavelamb}
CON
_CLKMODE = XTAL1
_XINFREQ = 5_000_000
"Décrivez fois
MS = _XINFREQ / 1_000
USec = _XINFREQ / 1_000_000
Tlong = Usec * 600
Tshort = ms * 300
« définir les broches e/s
CUJO_LATUYO = 06
P_Motor = 07
ON = 1
OFF = 0
« définir les constantes du programme
Tsteps = 120' nombre d’étapes par rampe
VAR
X long
PUB PWM_Motor_Demo
dira [cujo_latuyo]: = 1'
dira [P_Motor]: = 1'
outa [P_Motor]: = 0' commencer bas
Répétez « répéter pour toujours
Outa [cujo_latuyo]: = 0' LED sur tout en accélérant
Répéter X de 1 à l’étape de Tsteps 1' rampe de boucle
outa [P_Motor]: = 1' allumer la puissance du moteur
waitCNT ((X*Tlong) + cnt) ' plus long délai chaque étape effectue une impulsion plus longue
outa [P_Motor]: = 0' tour moteur mise hors tension
waitCNT ((Tsteps - X + 1) * Tlong + cnt) ' + 1 pour empêcher 0 envelopper le compteur à 8 minutes.
outa [P_Motor]: = 1' à court délai pour allonger la durée.
waitcnt (Tshort * 5 + cnt)
Outa [cujo_latuyo]: = 1' LED off tout en décélérant
Répéter X de 1 à l’étape de Tsteps 1' rampe vers le bas de la boucle
outa [P_Motor]: = ON
waitCNT ((Tsteps - X + 1) * Tlong + cnt) ' plus court délai chaque étape effectue une impulsion plus courte
outa [P_Motor]: = OFF
waitCNT ((X*Tlong) + cnt)
waitcnt (Tshort * 5 + cnt) ' court retard tout en