Étape 2: Electronics
Les interfaces de microcontrôleur pour H-bridge qui à leur tour de contrôle du moteur.
J’ai utilisé le pont A du pilote L298N pont complet double (http://www.digikey.com/product-detail/en/L298N/497-1395-5-ND/585918?WT.z_cid=ref_octopart_dkc_buynow).
Il comprend une broche, ENABLE A, qui, une fois faible, il éteint le moteur.
Vous définissez haute/basse entrée entrée 1/2 se préparer à tourner dans le sens horaire. et bas/haut pour counter dans le sens horaire. Le bouton est lié à une résistance pull-up et mise à la terre lorsque vous appuyez sur. Paramètre activer une haute obtient le moteur en cours d’exécution, en quête d’aventure.
Un microcontrôleur PIC16F88 a été utilisé, mais la plupart d’autres feraient également.
Sur la photo est le schéma simplifié. Logiciel est écrit en JAL qui suit dans son intégralité...
--Ce programme est pour contrôler le cyclo parle machine à fileter
--pour le semi-automatic a parlé projet de machine à fileter sur instructables
--par Carlitos
--B2 est le bouton d’entrée lié à la résistance pullup. Bouton utilisé est normalement sur
--donc normalement il est relié à la terre. Appui sur bouton provoque l’entrée d’aller haut.
--qui va déclencher le cycle de contrôle moteur
--B4 est activer moteur (haut est activée)
--B6, B7 est sens du moteur où haute/basse est dans le sens horaire et bas/haut vers la gauche
--cycle de contrôle moteur :
-- 1. activez le moteur mis à courir vers la droite
-- 2. courir dans le sens horaire pour x secondes
-- 3. courir dans le sens antihoraire pour x secondes + delta
-- 4. désactiver le moteur
inclure 16f88
--définir toutes les e/s que digital
enable_digital_io()
pragma cible horloge 8_000_000
pragma cible OSC INTOSC_NOCLKOUT
OSCCON_IRCF = 0b_111
pragma cible WDT désactivé
--Broches de sortie
pin_b4_direction = sortie--enable moteur
pin_b6_direction = sortie--moteur i1
pin_b7_direction = sortie--moteur i2
--Broches d’entrée
pin_b2_direction = entrée--bouton avec résistance pullup utilisée pour déclencher le moteur
inclure le retard
delayclockwise mot var = 90
delaycounterclockwise mot var = 100
pin_b4 = faible--disable moteur
pin_b6 = haute--prévue dans le sens horaire
pin_b7 = bas--prévue dans le sens horaire
boucle pour toujours
Si pin_b2 == haut puis--bouton enfoncé
delay_100ms(5)
pin_b4 = élevé--enable moteur
delay_100ms(delayclockwise)
pin_b4 = faible--disable moteur
pin_b6 = bas--prévue vers la gauche
pin_b7 = haute--prévue vers la gauche
pin_b4 = élevé--enable moteur
delay_100ms(delaycounterclockwise)
pin_b4 = faible--disable moteur
pin_b6 = haute--prévue dans le sens horaire
pin_b7 = bas--prévue dans le sens horaire
fin si
delay_100ms(1)--attends un peu avant le bouton de vote
fin de boucle