Taula de continguts:

Controlador de tren model Arduino 2 en 1: 4 passos
Controlador de tren model Arduino 2 en 1: 4 passos

Vídeo: Controlador de tren model Arduino 2 en 1: 4 passos

Vídeo: Controlador de tren model Arduino 2 en 1: 4 passos
Vídeo: ChatGPT with Arduino Nano #arduino #chatgpt #technology #openAI #electronic 2024, De novembre
Anonim
Controlador de tren model Arduino 2 en 1
Controlador de tren model Arduino 2 en 1

Fa quaranta anys vaig dissenyar un accelerador de tren model basat en amplificadors operatius per a un parell d’amics i, després, fa uns quatre anys el vaig recrear mitjançant un microcontrolador PIC. Aquest projecte Arduino recrea la versió PIC, però també afegeix la possibilitat d’utilitzar una connexió Bluetooth en lloc dels commutadors manuals per a l’accelerador, el fre i el control de direcció. Tot i que el disseny que presento aquí està dirigit a un model de ferrocarril de 12 volts, es pot modificar fàcilment per a altres aplicacions de control de motors de corrent continu.

Pas 1: modulació de l'amplada de pols (PWM)

Modulació d'amplada de pols (PWM)
Modulació d'amplada de pols (PWM)

Per a aquells que no estigueu familiaritzats amb PWM, no és tan aterrador com sembla. Tot el que significa realment per a la nostra senzilla aplicació de control del motor és que generem una ona quadrada amb certa freqüència i que després canviem el cicle de treball. El cicle de treball es defineix com la proporció de temps que la sortida és màxima lògica en comparació amb el període de forma d'ona. Podeu veure-ho bastant clarament al diagrama anterior amb la forma d’ona superior al cicle de treball del 10%, la forma d’ona mitjana al cicle de treball del 50% i la forma d’ona inferior al cicle de treball del 90%. La línia discontínua superposada a cada forma d'ona representa la tensió CC equivalent que veu el motor. Tenint en compte que l’Arduino té una capacitat PWM integrada, és realment bastant senzill generar aquest tipus de control de motor de corrent continu. Un altre avantatge d’utilitzar PWM és que ajuda a mantenir el motor de l’arrencada que pot passar quan s’utilitza una corrent continu. Un desavantatge de PWM és que de vegades hi ha un soroll audible del motor a la freqüència del PWM.

Pas 2: maquinari

Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari

La primera imatge mostra les connexions Arduino per als commutadors i el mòdul del controlador del motor LM298. Hi ha resistències d'extracció febles internes a l'Arduino, de manera que no calen resistències d'extracció per als commutadors. El commutador de direcció és un senzill commutador SPST (monopolar). Els interruptors d’accelerador i de fre es mostren com a botons de contacte momentanis i oberts normalment.

La segona imatge mostra les connexions Arduino per al mòdul Bluetooth i el mòdul del controlador del motor LM298. La sortida Bluetooth TXD es connecta directament a l’entrada sèrie Arduino RX.

La tercera imatge és un mòdul de pont H doble L298N. El mòdul LM298 té un regulador de 5 volts integrat que pot ser activat per un pont. Necessitem +5 volts per a Arduino i Bluetooth, però volem +12 volts per conduir el motor. En aquest cas, apliquem els +12 volts a l’entrada de “+ 12V d’alimentació” del L298N i deixarem el pont “5V enable” al seu lloc. Això permet que el regulador de 5 volts surti a la connexió “+5 de potència” del mòdul. Connecteu-lo a l'Arduino i al Bluetooth. No oblideu connectar els cables de terra de l’entrada +12 i la sortida +5 al mòdul “power GND”.

Volem que la tensió de sortida del motor variï en funció del PWM generat per l’Arduino en lloc d’estar completament apagat o completament apagat. Per fer-ho, traiem els ponts de "ENA" i "ENB" i connectem la nostra sortida Arduino PWM a "ENA" del mòdul. Tingueu en compte que el pin d’habilitació real és el més proper a la vora del tauler (al costat dels pins “d’entrada”). El pin posterior de cada habilitació és de +5 volts, de manera que volem assegurar-nos que no hi connectem.

Els pins “IN1” i “IN2” del mòdul estan connectats als respectius pins Arduino. Aquests pins controlen la direcció del motor i, sí, hi ha una bona raó per deixar que Arduino els controli en lloc de connectar simplement un interruptor al mòdul. Veurem per què a la discussió sobre el programari.

Pas 3: mòdul Bluetooth

Mòdul Bluetooth
Mòdul Bluetooth

La imatge que es mostra aquí és típica dels mòduls Bluetooth disponibles. Quan en busqueu un, podeu cercar els termes "HC-05" i HC-06 ". Les diferències entre tots dos es troben en el firmware i normalment en el nombre de pins de la placa. La imatge superior és d’un mòdul HC-06 i inclou un firmware simplificat que només permet una configuració molt bàsica. També està configurat com a dispositiu Bluetooth només "esclau". En termes simples, significa que només pot respondre a les ordres d'un dispositiu "Mestre" i no pot emetre ordres per si soles. El mòdul HC-05 té més possibilitats de configuració i es pot configurar com a dispositiu "Mestre" o "Esclau". L'HC-05 sol tenir sis pins en lloc de només els quatre mostrats anteriorment per a l'HC-06. El pin State no és realment important, però el PIN Key (de vegades passa amb altres noms com "EN") és necessari si voleu fer alguna configuració. En general, els mòduls no necessiten cap configuració si esteu d'acord amb la velocitat de transmissió per defecte de 9600 i no us interessa donar un nom específic al mòdul. Tinc diversos projectes on els faig servir, així que m'agrada anomenar-los en conseqüència.

La configuració dels mòduls Bluetooth requereix que compreu o creeu una interfície per a un port sèrie RS-232 o per a un port USB. No tractaré com crear-ne un en aquesta publicació, però hauríeu de poder trobar informació al web. O simplement comprar una interfície. Les ordres de configuració utilitzen ordres AT com les que s'utilitzaven antigament amb els mòdems de telèfon. He adjuntat aquí un manual d’usuari que inclou les ordres AT per a cada tipus de mòdul. Una cosa a tenir en compte és que l’HC-06 requereix ordres MAJÚSCULES i la cadena d’ordres ha de completar-se en 1 segon. Això vol dir que algunes de les cadenes més llargues, com ara canviar els índexs de transmissió, hauran de ser tallades i enganxades al programa del terminal o haureu de configurar fitxers de text per enviar-los. El requisit MAJÚSCULA només és si intenteu enviar ordres de configuració. El mode de comunicació regular pot acceptar 8 bits de dades.

Pas 4: programari

El programari és bastant senzill tant per a la versió manual com per a la versió Bluetooth. Per seleccionar la versió de Bluetooth, simplement descomenteu la declaració "#define BT_Ctrl".

Quan vaig escriure el codi PIC, vaig experimentar amb la freqüència PWM i finalment em vaig instal·lar a 500 Hz. Vaig descobrir que si la freqüència era massa alta, el mòdul LM298N no era capaç de reaccionar prou ràpidament als impulsos. Això significava que la sortida de tensió no era lineal i podia fer grans salts. L'Arduino té comandes PWM integrades, però només us permeten variar el cicle de treball i no la freqüència. Afortunadament, la freqüència és d’uns 490 Hz, de manera que s’acosta prou als 500 Hz que he utilitzat al PIC.

Una de les "característiques" dels acceleradors del tren és la sensació d'impuls a l'acceleració i la frenada per simular el funcionament d'un tren real. Per aconseguir-ho, s’insereix un simple retard de temps al bucle per a la versió manual del programari. Amb el valor que es mostra, triga aproximadament 13 segons a passar de 0 a 12 volts o de 12 volts a zero. El retard es pot modificar fàcilment per temps més llargs o més curts. L'únic cas en què l'impuls no és efectiu és quan es canvia l'interruptor de direcció. A efectes de protecció, el cicle de treball PWM es posa immediatament al 0% cada vegada que es canvia aquest commutador. De fet, això fa que l’interruptor de direcció també es dobli com a fre d’emergència.

Per assegurar la manipulació immediata del commutador de direcció, he posat el seu codi en un controlador d'interrupcions. Això també ens permet utilitzar la funció "interrompre el canvi" de manera que no importa si el canvi és de menor a major o de més alt a més baix.

La versió Bluetooth del programari utilitza ordres de lletra única per iniciar les funcions d’enviament, inversió, fre i acceleració. De fet, les ordres rebudes substitueixen els commutadors manuals, però provoquen les mateixes respostes. Next Prototypes, l’aplicació que faig servir per al control de Bluetooth, s’anomena “Bluetooth Serial Controller”. Us permet configurar un teclat virtual i configurar les vostres pròpies cadenes d’ordres i noms per a cada tecla. També us permet establir una freqüència de repetició, de manera que he establert els botons de fre i acceleració a 50 ms per donar uns 14 segons d’impuls. He desactivat la funció de repetició dels botons Endavant i Inversa.

Això és tot per a aquest post. Consulteu els meus altres instructables. Si esteu interessats en projectes de microcontroladors PIC, consulteu el meu lloc web a www.boomerrules.wordpress.com

Recomanat: