Étape 5: Moteurs et pilotes (Test avec Python de base)
Types et Sources de moteurs pas à pas
Si vous n’êtes pas familier avec les moteurs pas à pas, je recommande la lecture de certaines introductions en ligne, cette instructable et cet article Adafruit est vraiment agréable et claire.
J’ai récupéré mes moteurs de vieilles imprimantes et un typerwriter électrique, scanners sont également souvent une bonne source, imprimantes laser ne sont pas.
Moteurs pas à pas bipolaire
Si le moteur a 4 fils puis c’est un moteur bipolaire et nous pouvons l’utiliser. Mesurer la résistance entre chacun des quatre fils, vous trouverez deux paires, ce sont les bobines.
Unipolaire
Si le moteur a 6 fils, ils représentent les extrémités et le milieu des deux bobines. Mesure entre toutes les combinaisons des six fils, il y aura 4 paires de faible résistance (demi bobines) et deux de deux fois plus que (bobines complet). Nous voulons utiliser les pleins deux bobines en série, alors cherchez les deux paires de résistance plus grandes.
Connexions
Tel que noté à l’étape précédente, si vous êtes alimenté les planches moteurs externe, assurez-vous d’enlever le cavalier J4 de la carte de conducteur I2C.
Branchez les bobines sur la carte de moteurs, vous pouvez utiliser l’en-tête 4 broches ou les deux bornes à vis, ils sont directement reliés les uns aux autres.
Si vous utilisez mon code, une bobine traverse M1 + / M1 - et l’autre va au M2 + / M2-. Si vous utilisez les pilotes Grove puis, pour une raison bizarre, une bobine va à M1 + M2 + et l’autre continue à M2 + / M2-.
Limites de tension courant
Lire le Wiki Grove ou la fiche technique de la L298N que j’ai joint nous dit que la puce de pont en h a une limite de courant de 2 a par voie et une gamme de tension d’entrée entre 6-15V
La résistance des enroulements détermine quel courant peut circuler à travers les moteurs.
Courant = tension/résistance
J’ai essayé au départ certains moteurs 60 ohms à 12V (0. 2 a), mais qu’ils n’étaient pas à produire suffisamment de couple. Ensuite, j’ai réussi à trouver quelques moteurs de 4,8 ohm, 12V serait ont attiré 2,5 a qui était trop continu actuel, donc j’ai réduit l’alimentation des moteurs à 5V ce qui a entraîné un 1 confortable a dessiner avec couple décent.
Vous devrez également vous assurer que l’alimentation que vous utilisez pour alimenter les moteurs conseils peut gérer le courant de crête du moteur, les deux en même temps.
De refroidissement
La puce L298N peut devenir assez chaude lorsque vous utilisez près de ses limites actuelles, afin d’y attacher un dissipateur de chaleur est une bonne idée. J’ai eu quelques ventilateurs récupérés de vieux appareils électroniques, donc je les ai utilisés pour rappeler la fraîcheur des chauffeurs.
Steppers avec très faibles résistances (comme le < j’ai utilisé les moteurs 10 ohm) sont conduits avec limitation de courant circuits (appelé "choppers"), donc ils auront assez chauds dans ce mode de courant continu, mais mine a survécu, votre kilométrage peut varier.
Configurer les adresses des pilotes automobile
Définissez les adresses sur les chauffeurs (ils doivent être différents). J’ai mis le mien selon les descriptions dans le wiki et choisi '0x0a' et '0x0f'
Plus de notes
- Vous devriez être en mesure d’exécuter la commande "i2cdetect -y - r 6" de la borne d’Edison pour voir les périphériques connectés de I2C, mais j’ai rencontré quelques bugs quand j’ai essayé ça qui peut ou ne peut pas être fixée au moment où vous lisez ceci.
- Assurez-vous que vous disposez des dernières bibliothèques MRAA installés (j’ai suivi ce guide)
- Seulement 100khz I2C est prise en charge est pris en charge par les chauffeurs I2C Grove (ce n’est pas un problème pour notre projet, ça pourrait être un problème lorsque vous essayez de les utiliser avec d’autres modules.
- Le module ne fournit pas de télémétrie ou statut - il n’accepte que les commandes I2C pour ses différentes opérations. C’est pourquoi je n’ai utiliser les fonctions de moteur pas à pas de course libre, puisque je ne sais pas quand ils avaient terminé les étapes.
Documents de bibliothèque de logiciels utiles
Page Intel sur Grove I2C Motor Driver (code exemples, mais pas pour les Steps)
Logiciel de test : Extraits de Python
La meilleure façon de tester ces extraits de code est :
- Connectez-vous avec SSH via putty
- Entrez la commande « test.py vi » pour créer un nouveau fichier appelé « test.py » et l’ouvrir pour l’édition avec le texteditor « vi »
- Appuyez sur « i » pour entrer dans mode insertion
- Sélectionnez et copiez l’extrait de code sur votre PC
- Faites un clic droit dans la fenêtre SSH pour coller le code
- Appuyez sur ÉCHAP
- type ": wq" d’écrire et de cesser de fumer (ou ": q!" pour quitter sans enregistrer les modifications)
- Exécutez le script avec la commande « python test.py »
Manuel pas à pas
Cet extrait de code est un peu une entaille laid, mais ça marche pour tester les moteurs pas à pas de l’Edison via Python. Il parcourt simplement quatre étapes, changer la polarité des bobines à la main. Il n’utilise pas les fonctions de moteur pas à pas de course libre. Voilà comment j’ai fini par le faire en fin de compte, mais j’ai augmenté le nombre d’étapes à huit (moitié gué).
Gratuite en cours d’exécution pas à pas
Il s’agit d’un exemple de comment utiliser les fonctions de moteur pas à pas en cours d’exécution libre. Il y a certaines choses à surveiller
- Les bobines ne sont pas connectés » sur le M1 M2 sur un "comme on pourrait s’attendre.
- L’arg de vitesse est « à rebours », ça ressemble plus à un délai entre les étapes (et 0 n’est pas encore très rapide)
- Le stepper courir à l’arrière-plan, comme promis, mais quand le python script s’arrête, quelque chose il interrompt (d'où mon « Press any key to continue... »).