Taula de continguts:
- Pas 1: motors i controladors
- Pas 2: Com utilitzar el blindatge del controlador del motor Arduino L293D?
- Pas 3: conduir motor de corrent continu
- Pas 4: conduir el servomotor
- Pas 5: conduir motor pas a pas
- Pas 6: Compreu el blindatge del controlador del motor Arduino L293D
- Pas 7: Projectes relacionats:
- Pas 8: com a nosaltres a FaceBook
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
Podeu llegir aquest i molts altres tutorials sorprenents al lloc web oficial d’ElectroPeak
Visió general
En aquest tutorial, aprendreu a conduir motors CC, pas a pas i servomotors mitjançant un blindatge del controlador del motor Arduino L293D.
Què aprendreu:
- Informació general sobre motors de corrent continu
- Introducció al blindatge del motor L293D
- Conducció de motors CC, servo i pas a pas
Pas 1: motors i controladors
Els motors són una part inseparable de molts projectes de robòtica i electrònica i tenen diferents tipus que podeu utilitzar en funció de la seva aplicació. Aquí teniu informació sobre diferents tipus de motors:
Motors de corrent continu: el motor de corrent continu és el tipus de motor més comú que es pot utilitzar per a moltes aplicacions. Ho podem veure en cotxes de control remot, robots, etc. Aquest motor té una estructura senzilla. Començarà a rodar aplicant una tensió adequada als seus extrems i canviarà la seva direcció canviant la polaritat de la tensió. La velocitat dels motors de CC està controlada directament per la tensió aplicada. Quan el nivell de tensió sigui inferior al voltatge màxim tolerable, la velocitat disminuiria.
Motors pas a pas: en alguns projectes, com ara impressores 3D, escàners i màquines CNC, hem de conèixer els passos de gir del motor amb precisió. En aquests casos, fem servir motors Stepper. El motor pas a pas és un motor elèctric que divideix una rotació completa en diversos passos iguals. La quantitat de rotació per pas la determina l’estructura del motor. Aquests motors tenen una precisió molt alta.
Servomotors: el servomotor és un simple motor de corrent continu amb un servei de control de posició. En utilitzar un servo, podreu controlar la quantitat de rotació dels eixos i moure-la a una posició específica. Solen tenir una petita dimensió i són la millor opció per als braços robòtics.
Però no podem connectar aquests motors a microcontroladors o a una placa de controladors com Arduino directament per controlar-los, ja que possiblement necessiten més corrent del que pot controlar un microcontrolador, de manera que necessitem controladors. El conductor és un circuit d’interfície entre el motor i la unitat de control per facilitar la conducció. Les unitats són de molts tipus diferents. En aquesta instrucció, s’aprèn a treballar sobre l’escut del motor L293D.
El blindatge L293D és una placa de controladors basada en IC L293, que pot accionar 4 motors CC i 2 motors pas a pas o Servo alhora.
Cada canal d’aquest mòdul té un corrent màxim d’1,2 A i no funciona si la tensió és superior a 25 v o inferior a 4,5 v. Tingueu, doncs, precaució a l’hora d’escollir el motor adequat segons la seva tensió i corrent nominals. Per obtenir més funcions d’aquest escut, mencionem la compatibilitat amb Arduini UNO i MEGA, la protecció electromagnètica i tèrmica del motor i el circuit de desconnexió en cas d’augment de tensió no convencional.
Pas 2: Com utilitzar el blindatge del controlador del motor Arduino L293D?
Mentre s'utilitza aquest escut, 6 pins analògics (que també es poden utilitzar com a pins digitals), els pins 2 i 13 d'arduino són gratuïts.
En el cas d’utilitzar servomotor, s’utilitzen els pins 9, 10, 2.
En el cas d’utilitzar motors de corrent continu, s’utilitzen el pin11 per al # 1, el pin3 per al # 2, el pin5 per al # 3, el pin6 per al # 4 i els pins 4, 7, 8 i 12 per a tots ells.
En el cas d’utilitzar el motor pas a pas, s’utilitzen els pins 11 i 3 per al número 1, els pins 5 i 6 per al número 2 i els pins 4, 7, 8 i 12 per a tots ells.
Podeu utilitzar pins lliures mitjançant connexions per cable.
Si apliqueu una font d'alimentació separada a Arduino i blindatge, assegureu-vos que heu desconnectat el pont del blindatge.
Pas 3: conduir motor de corrent continu
#incloure
La biblioteca que necessiteu per controlar el motor:
Motor AF_DCMotor (1, MOTOR12_64KHZ)
Definició del motor de corrent continu que utilitzeu.
El primer argument significa el nombre de motors del blindatge i el segon és la freqüència de control de velocitat del motor. El segon argument pot ser MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ i MOTOR12_8KHZ per als motors número 1 i 2, i pot ser MOTOR12_8KHZ, MOTOR12_8KHZ i MOTOR12_8KHZ per als motors número 3 i 4. I si es deixa sense verificar, per defecte serà 1K.
motor.setSpeed (200);
Definició de la velocitat del motor. Es pot configurar de 0 a 255.
bucle buit () {
motor.run (FORWARD);
retard (1000);
motor.run (BACKWARD);
retard (1000);
motor.run (RELEASE);
retard (1000);
}
La funció motor.run () especifica l’estat del moviment del motor. L'estat pot ser endavant, endarrerit i alliberat. L’ALLENÇAMENT és el mateix que el fre, però pot trigar un temps a parar el motor.
Es recomana soldar un condensador 100nF a cada pas del motor per reduir el soroll.
Pas 4: conduir el servomotor
La biblioteca i exemples Arduino IDE són adequats per conduir un servomotor.
#incloure
La biblioteca que necessiteu per conduir el motor Servo
Servo miservo;
Definició d'un objecte Servo motor.
configuració nul·la () {
myservo.attach (9);
}
Determineu el pin que es connecta al Servo (el pin 9 del sevo # 1 i el pin 10 del servo # 2)
bucle buit () {
myservo.write (val);
retard (15);
}
Determineu la quantitat de rotació del motor. Entre 0 i 360 o de 0 a 180 segons el tipus de motor.
Pas 5: conduir motor pas a pas
#include <AFMotor.h>
Determineu la biblioteca que necessiteu
Motor AF_Stepper (48, 2);
Definició d’un objecte motor pas a pas. El primer argument és la resolució del pas motor. (per exemple, si el motor té una precisió de 7,5 graus / pas, significa que la resolució del pas del motor és. El segon argument és el número del motor pas a pas connectat al blindatge.
configuració nul·la () {motor.setSpeed (10);
motor.onestep (FORWARD, SINGLE);
motor.release ();
retard (1000);
}
bucle buit () {motor.step (100, FORWARD, SINGLE);
motor.step (100, DARRERE, SINGLE);
motor.step (100, AVANT, DOBLE); motor.step (100, DARRER, DOBLE);
motor.step (100, FORWARD, INTERLEAVE); motor.step (100, BACKWARD, INTERLEAVE);
motor.step (100, FORWARD, MICROSTEP); motor.step (100, BACKWARD, MICROSTEP);
}
Determineu la velocitat del motor en rpm.
El primer argument és la quantitat de passos necessaris per moure’s, el segon és determinar la direcció (FORWARD o BACKWARD) i el tercer argument determina el tipus de passos: SINGLE (Activa una bobina), DOBLE (Activa dues bobines per obtenir més parell), INTERLEAVED (Canvi continu del nombre de bobines d'una a dues i viceversa a doble precisió, però, en aquest cas, la velocitat es redueix a la meitat) i MICROSTEP (El canvi dels passos es fa lentament per obtenir més precisió. En aquest cas, el parell motor és inferior). Per defecte, quan el motor deixa de moure’s, manté el seu estat.
Heu d’utilitzar la funció motor.release () per alliberar el motor.
Pas 6: Compreu el blindatge del controlador del motor Arduino L293D
Comprar Arduino L293D Shield a ElectroPeak
Pas 7: Projectes relacionats:
- L293D: teoria, diagrama, simulació i pinout
- La Guia per a principiants per al control de motors d’Arduino i L293D
Pas 8: com a nosaltres a FaceBook
Si creieu que aquest tutorial és útil i interessant, us agradarà a nosaltres a Facebook.