Kā sadarboties ar Servo motoriem ar Arduino

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā ierakstā mēs uzzināsim, kas ir servomotors, kā tas darbojas, kā saskarne ar mikrokontrolleru un ar ko šis motors ir īpašs no citiem motoriem.

Būdami elektronikas entuziasts, mēs būtu saskārušies ar daudzu veidu motoriem, šeit mēs aplūkosim īpaša veida motorus, ko sauc par servomotoriem.



Kas ir servomotors?

Servomotors vai vienkārši servo ir īpašs motora tips, kas paredzēts precīzai pozīcijas, paātrinājuma un ātruma kontrolei. Atšķirībā no visiem citiem motoru veidiem, servo var pagriezt tikai par 180 grādiem divvirzienu. Tam ir mehāniski pārnesumi un aizbāznis, kas ierobežo servo leņķisko rotāciju.

Tipisks servomotors:

Servomotorus izmanto robotikā, videonovērošanas kamerās, RC automašīnās, laivās, rotaļu lidmašīnās utt. Servoserverus izmanto tur, kur mums nav nepieciešams turpināt rotācijas kustību, bet tie tiek fiksēti noteiktā pozīcijā vai ar kontrolētu ātrumu pārvietojami ar pārvietojamu leņķa robežu.



Servo nav vienkārši motors, tāpat kā citi veidi, bet tas ir modulis, kas apvieno parastu līdzstrāvas / maiņstrāvas motoru, pārnesumu grupu, vadības elektroniku un atgriezeniskās saites sistēmu. Apskatīsim visus minētos posmus detalizēti.

Līdzstrāvas / maiņstrāvas motors, kas tiek izmantots servomodulā, var būt bez sukām vai ar suku, lielākajā daļā hobija servo serveru tiek izmantots līdzstrāvas motors un rūpnieciskām vajadzībām - maiņstrāvas motori. Motors dod rotācijas ieeju servo. Motors servo iekšpusē griežas ar vairākiem simtiem apgr./min., Un izejas rotācija ir aptuveni 50 vai vairāk reizes mazāka par tā apgriezieniem minūtē.

Nākamais posms ir pārnesumu komplekts, kas kontrolē servo leņķisko rotāciju un ātrumu. Pārnesumu var izgatavot vai nu no plastmasas, vai no metāla, atkarībā no tā, cik liela ir krava. Parasti līdzstrāvas motorus darbina ar lielu apgriezienu skaitu un mazu griezes momentu pārnesumkārba pārvērš lieko apgriezienu skaitu griezes momentā. Tādējādi mazs motors var izturēt milzīgu slodzi.

Nākamais posms ir vadības elektronika, kas sastāv no MOSFET un IC, lai kontrolētu motora rotāciju. Servomotoros vienmēr darbojas atgriezeniskās saites sistēma, lai izsekotu izpildmehānisma pašreizējai atrašanās vietai.

Servoservos atgriezeniskās saites komponents parasti ir potenciometrs, kas ir tieši savienots ar rotējošu izpildmehānismu. Potenciometrs darbojas kā sprieguma dalītājs, kas tiek ievadīts vadības elektronikā. Šī atgriezeniskā saite palīdz kontrolēt elektroniku, lai noteiktu motoram piešķirtās jaudas daudzumu.

Servomotors fiksētā stāvoklī nelabprāt pārvietosies no pašreizējā stāvokļa, ja kāds ārējs spēks mēģinās traucēt. Atgriezeniskās saites sistēma uzrauga pašreizējo stāvokli un darbina motoru pret ārējiem traucējumiem.

Iepriekš minētais scenārijs ir tāds pats, kad servo pārvieto izpildmehānismu. Vadības sistēma kompensēs ārējo spēku un pārvietosies noteiktā ātrumā.

Tagad jūs zināt diezgan daudz par servomotoru un tā darbības mehānismu. Apskatīsim, kā kontrolēt servomotorus, izmantojot mikrokontrolleru.

Servomotoriem ir 3 spailes, atšķirībā no citiem motoriem, kuriem ir 2 spailes, divas barošanai (nominālā 5 V) un viena vadības signālam. Lai viegli identificētu spailes, vadi ir krāsaini.

Servo vadības signāli ir PWM 50Hz frekvencē. Signāla impulsa platums nosaka izpildmehānisma sviras pozīciju. Tipisks hobija servomotors darbojas no 1 līdz 2 milisekundes impulsa platumā.

Pieliekot 1 ms impulsa platuma vadības signālu, izpildmehānisms tiks turēts 0 grādu stāvoklī. Izmantojot 2 ms impulsa platuma vadības signālu, izpildmehānisms tiks turēts 180 grādu stāvoklī. Piesakoties signāliem starp 1-2 ms, izpildmehānisms tiks turēts 0-180 grādu leņķī. To var labāk saprast ar zemāk redzamo attēlu.

Tagad jūs jau būtu sapratis, kā servo tiek kontrolēts ar impulsa platuma modulāciju (PWM).

Tagad uzzināsim, kā servo motoru saskarni ar Arduino.

Ķēdes shēma:

kā saskarni servomotoram ar Arduino.

Elektroinstalācija ir vienkārša un pati par sevi saprotama. Jums ir nepieciešama ārēja barošana, ja izmantojat lielgabarīta servomotoru. Ja jūs mēģināt barot no arduino barošanas avota, galu galā datora USB ports tiks pārslogots.

Ja jums ir līdzīgs servo, kas ir ilustrēts raksta sākumā, tad to varat darbināt no arduino 5V barošanas avota, kas parādīts arī autora prototipā.

Autora prototips:

Arduino ir nepieciešama servo bibliotēka, lai to apstrādātu, tas atviegloja mūsu uzdevumu, un tas jau atrodas Arduino IDE.

Programma:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Iepriekš minētā programma pavada izpildmehānismu no 0 līdz 180 grādiem pa labi un no 180 līdz 0 grādiem pa kreisi, un cikls atkārtojas. Šī ir vienkārša programma servo testēšanai, iespējams, jums vajadzēs uzrakstīt savu kodu pielāgotajām lietojumprogrammām.




Pāri: Divu cauruļu ūdens sūkņa vārsta kontroliera ķēde Nākamais: Izpratne par motociklu sprieguma regulatora elektroinstalāciju