Taula de continguts:
- Pas 1: biblioteca StepDriver
- Pas 2: variables globals
- Pas 3: Funcions: configuració dels pins del controlador
- Pas 4: Funcions: funcions bàsiques del controlador
- Pas 5: Funcions - Configuració del pas del motor
- Pas 6: Funcions: configuració del mode de pas del motor
- Pas 7: Funcions: configuració dels interruptors de límit
- Pas 8: Funcions: lectura dels interruptors de límit
- Pas 9: Funcions: configuració del moviment
- Pas 10: Funcions - Funció de moviment
- Pas 11: Funcions - Funció de moviment - Variables
- Pas 12: Funcions - Funció de moviment - Acceleració
- Pas 13: Funcions - Funció de moviment - Velocitat contínua
- Pas 14: Funcions - Funció de moviment - Desacceleració
- Pas 15: Funcions - Funció de moviment - Velocitat contínua
- Pas 16: Funcions - Funció Mou - Mou torns
- Pas 17: gràfic de moviment: velocitat de posició
- Pas 18: gràfic de moviment: posició vs. Posició
- Pas 19: gràfic de moviment: Velocity vs. Moment
Vídeo: Arduino: Precision Lib per al motor pas a pas: 19 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Avui us mostraré una biblioteca per a un controlador de motor de pas complet amb interruptors de límit i el moviment del motor amb acceleració i micro pas. Aquest Lib, que funciona tant a l’Arduino Uno com a l’Arduino Mega, permet moure els motors basant-se no només en el nombre de graons, sinó també en mil·límetres. I també és força precís.
Una característica important d’aquesta biblioteca és que us permet construir la vostra pròpia màquina CNC, que no és necessàriament només la X, Y, sinó també un commutador de secció, per exemple, perquè no és un GRBL preparat, sinó la programació que us permet fabricar la màquina ideal per a vosaltres.
Tanmateix, la següent afirmació és un detall important. Aquest vídeo és només per a aquells que ja estan acostumats a programar. Si no esteu familiaritzat amb la programació d’Arduino, primer hauríeu de veure altres vídeos introductoris al meu canal. Això es deu al fet que estic discutint un tema avançat en aquest vídeo específic i explico amb més detall el Lib utilitzat al vídeo: Motor de pas amb acceleració i final de cursa.
Pas 1: biblioteca StepDriver
Aquesta biblioteca cobreix els tres tipus de controladors més habituals al mercat: A4988, DRV8825 i TB6600. Configura els pins dels controladors, cosa que els permet realitzar el restabliment i la col·locació en mode de repòs, així com activar i desactivar les sortides del motor que actuen sobre el pin Habilita. També estableix les entrades dels pins micro-passos del controlador i limita els commutadors i el seu nivell d'activació (alt o baix). També té un codi de moviment del motor amb acceleració contínua en mm / s², velocitat màxima en mm / s i velocitat mínima en mm / s.
Per a aquells que van veure les parts 1 i 2 del vídeo Step Motor with Acceleration and End of Stroke, descarregueu aquesta nova biblioteca disponible avui, perquè he fet alguns canvis en aquest primer fitxer per facilitar-ne l’ús.
Pas 2: variables globals
Mostro exactament per a què serveixen cadascuna de les variables globals.
Pas 3: Funcions: configuració dels pins del controlador
Aquí descric alguns mètodes.
He configurat la configuració de Pinout i els pins Arduino com a sortida.
Pas 4: Funcions: funcions bàsiques del controlador
En aquesta part, treballem amb la configuració del controlador i les seves funcions bàsiques.
Pas 5: Funcions - Configuració del pas del motor
En aquest pas del codi, configurem la quantitat de passos per mil·límetre que ha d'executar el motor.
Pas 6: Funcions: configuració del mode de pas del motor
Aquesta taula mostra els paràmetres per al mode de pas del motor. Aquí en teniu alguns exemples.
Pas 7: Funcions: configuració dels interruptors de límit
Aquí he de llegir els valors sencers i booleans. Cal establir si la tecla activa està cap amunt o cap avall, mentre es defineix el límit màxim i mínim de fixació final.
Pas 8: Funcions: lectura dels interruptors de límit
Aquesta part és diferent de la del Lib que vaig fer disponible la setmana passada. Per què el vaig canviar? Bé, he creat eRead per substituir-ne d’altres. Aquí, l'eRead llegirà el LVL, el digitalRead (pin) i retornarà TRUE. Tot això s’ha de dur a terme al màxim. El següent treball amb la tecla activa serà al nivell baix. La faré servir aquí per mostrar-vos la taula "Veritat".
A la imatge del codi, he col·locat un diagrama que ajudarà a entendre que, en aquesta part del codi font, estic avançant cap a Ascendent i encara no he pres la tecla final de curs.
Ara, en aquesta imatge del codi boolè DRV8825, mostro que el motor encara es mou en direcció creixent. No obstant això, el commutador de límit màxim s'ha activat. El mecanisme, doncs, ha d’aturar el moviment.
Per últim, mostro el mateix moviment, però en direcció contrària.
Aquí ja teniu activat el commutador de final de curs.
Pas 9: Funcions: configuració del moviment
La principal utilitat del mètode motionConfig és convertir mil·límetres per segon (una mesura que s’utilitza a les màquines CNC) en passos, per tal de complir amb el controlador d’un motor pas a pas. Per tant, és en aquesta part que instanco les variables per entendre els passos i no els mil·límetres.
Pas 10: Funcions - Funció de moviment
En aquest pas, tractem l'ordre que mou un pas en la direcció desitjada en un període en microsegons. També establim el passador de direcció del conductor, el temps de retard i la direcció dels interruptors de límit.
Pas 11: Funcions - Funció de moviment - Variables
En aquesta part, configurem totes les variables que impliquen períodes de velocitat màxima i mínima, distància de trajectòria i passos necessaris per interrompre la trajectòria, entre d’altres.
Pas 12: Funcions - Funció de moviment - Acceleració
Aquí presento alguns detalls sobre com vam arribar a les dades d’acceleració, que es van calcular a través de l’equació de Torricelli, ja que es tenen en compte els espais per treballar l’acceleració i no el temps. Però, aquí és important entendre que tota aquesta equació només tracta d’una línia de codi.
Vam identificar un trapezi a la imatge superior, perquè els RPM inicials són dolents per a la majoria de motors pas a pas. El mateix passa amb la desacceleració. Per això, visualitzem un trapezi en el període comprès entre l’acceleració i la desacceleració.
Pas 13: Funcions - Funció de moviment - Velocitat contínua
Aquí mantenim el nombre de passos utilitzats en l’acceleració, continuem en velocitat contínua i mantenim la velocitat màxima, que es pot veure a la imatge següent.
Pas 14: Funcions - Funció de moviment - Desacceleració
Aquí tenim una altra equació, aquesta vegada amb un valor d'acceleració negatiu. També es mostra en una línia de codi, que representa, a la imatge següent, el rectangle anomenat Desacceleració.
Pas 15: Funcions - Funció de moviment - Velocitat contínua
Tornem a la velocitat contínua per treballar la segona meitat de la trajectòria, com es veu a continuació.
Pas 16: Funcions - Funció Mou - Mou torns
En aquesta part, movem el motor en un cert nombre de voltes en la direcció desitjada, convertint el nombre de voltes en mil·límetres. Finalment, movem el motor en la direcció sol·licitada.
Pas 17: gràfic de moviment: velocitat de posició
En aquest gràfic, tinc dades extretes de l’equació que hem utilitzat a la part d’Acceleració. Vaig agafar els valors i vaig jugar a la sèrie Arduino, i vaig passar d’aquesta a Excel, cosa que va donar lloc a aquesta taula. Aquesta taula mostra el progrés del pas.
Pas 18: gràfic de moviment: posició vs. Posició
Aquí prenem la posició, per passos, i la velocitat i la convertim en punt, en microsegons. Observem en aquest pas que el període és inversament proporcional a la velocitat.
Pas 19: gràfic de moviment: Velocity vs. Moment
Finalment, tenim la velocitat en funció de l’instant i, per això, tenim una línia recta, ja que és la velocitat en funció del temps.
Recomanat:
Motor pas a pas controlat Motor pas a pas sense microcontrolador: 6 passos
Motor pas a pas controlat pel motor pas a pas sense microcontrolador. Aquest projecte no requereix cap circuit complex ni un microcontrolador. Així doncs, sense més, comencem
Motor pas a pas controlat pel motor pas a pas sense microcontrolador (V2): 9 passos (amb imatges)
Motor pas a pas controlat amb motor pas a pas sense microcontrolador (V2): en una de les meves instruccions anteriors, us vaig mostrar com controlar un motor pas a pas mitjançant un motor pas a pas sense microcontrolador. Va ser un projecte ràpid i divertit, però va venir amb dos problemes que es resoldran en aquest instructiu. Llavors, enginy
Locomotora model controlada per motor pas a pas - Motor pas a pas com a codificador rotatiu: 11 passos (amb imatges)
Locomotora controlada per motor pas a pas | Motor pas a pas com a codificador rotatiu: en una de les instruccions anteriors, vam aprendre a utilitzar un motor pas a pas com a codificador rotatiu. En aquest projecte, ara utilitzarem aquest motor pas a pas encodador giratori per controlar una locomotora model mitjançant un microcontrolador Arduino. Així, sense fu
Motor pas a pas controlat Motor pas a pas com a codificador rotatiu: 11 passos (amb imatges)
Motor pas a pas controlat Motor pas a pas com a codificador rotatiu: teniu un parell de motors pas a pas al voltant i voleu fer alguna cosa? En aquesta instrucció, fem servir un motor pas a pas com a codificador rotatiu per controlar la posició d’un altre motor pas a pas mitjançant un microcontrolador Arduino. Així doncs, sense més preàmbuls, anem a
Com utilitzar el motor pas a pas com a codificador rotatiu i pantalla OLED per a passos: 6 passos
Com utilitzar el motor pas a pas com a codificador rotatiu i pantalla OLED per als passos: en aquest tutorial aprendrem com fer un seguiment dels passos del motor pas a pas a la pantalla OLED. Mireu un vídeo de demostració. El crèdit per al tutorial original va a l'usuari de youtube " sky4fly "