Principiul de funcționare a motorului servo și interfața cu microcontrolerul 8051

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Servomotorele sunt dispozitive mecanice autonome care sunt utilizate pentru a controla mașinile cu o mare precizie. Acestea se găsesc în multe aplicații, de la jucării la automatizarea industrială. Există diferite tipuri de motoare, dar servomotorele sunt special concepute pentru poziția unghiulară specifică pentru controlul mașinilor. De obicei, servomotorul este utilizat pentru a controla mișcarea unghiulară între 0 ° la 180 ° și 0 ° la 90 °. principiul de funcționare a servomotorului bazat pe PWM ( modularea lățimii pulsului ) impulsuri.

Servo motor

Servo motor



Interfața servomotorului cu microcontrolerul 8051

Un servomotor este unul dintre cele mai utilizate motoare pentru o mișcare unghiulară precisă. Avantajul utilizării unui servomotor este că poziția unghiulară a motorului poate fi controlată fără niciun mecanism de feedback. Servomotorele sunt de obicei utilizate în aplicații comerciale și industriale . De asemenea, sunt utilizate pe scară largă ca în sistemele de acționare, cum ar fi roboții, avioanele etc.


Interfațarea servomotorului cu microcontrolerul 8051

Interfațarea servomotorului cu microcontrolerul 8051



Principiul de funcționare al servomotorului hobby și funcționarea sunt foarte simple, constau în trei fire în care două dintre ele (negru și roșu) sunt utilizate pentru a furniza energie, iar al treilea fir este utilizat pentru a furniza semnalul de control. Undele modulate cu lățimea impulsului (PWM) sunt utilizate ca semnale de control, iar poziția unghiulară este definită de lățimea impulsului la intrarea de control. În acest articol, folosim un servomotor cu unghi de rotație de la 0-180 ° și poziția unghiulară poate fi controlată prin variația ciclurilor de funcționare între 1ms și 2ms.

Aici servomotorul se interfață cu 8051 microcontroler , firul negru conectat la pinul de masă și motorul obțin puterea de la firul roșu. Controlul portului conectat la servomotor0 al microcontrolerului 8051. Oscilatorul de cristal de 11,0592MHz este utilizat pentru a furniza ceasul pulsat către microcontroler și condensatorii ceramici de 22pf utilizați pentru a stabiliza funcționarea cristalului. Condensatorul de 10KΩ și 10uf este utilizat pentru a furniza resetarea la microcontroler.

Controlul unui servomotor cu rotații unghiulare

Principiul de funcționare a servomotorului depinde în principal de ciclurile de funcționare. Folosește undele PWM (Pulse Width Modulated) ca semnale de control. Unghiul de rotație este determinat de lățimea impulsului pinului de control. Aici servomotorul utilizat pentru unghiul de rotație de la 0 la 180 de grade. Putem controla poziția unghiulară precisă variind pulsul între 1ms și 2ms.

Controlul unui servomotor cu rotații unghiulare

Controlul unui servomotor cu rotații unghiulare

Programare servomotor cu rotații unghiulare

#include
Sbit servomotor_pin = P0 ^ 5
Întârziere nulă (int semnat)
Anulați servo_delay (int semnat)
Void main ()
{
Servomotor_pin = 0x00
Do
{
// rotiți la 0 °
Servomotor_pin = 0x01
Sevo_delay (50)
Servomotor_pin = 0x00
Întârziere (1000)
// rotiți la 90 de grade
Servomotor_pin = 0x01
Sevo_delay (82)
Servomotor_pin = 0x00
Întârziere (1000)
// rotiți la 180 de grade
Servomotor_pin = 0x01
Sevo_delay (110)
Servomotor_pin = 0x00
Întârziere (1000)
În timp ce (1)
}
}
Întârziere nulă (nesemnată int a)
{
Nesemnat int p
Pentru (p = 0p Pentru (p = 0p<250p++)
}
Anulați servo_delay (nesemnat int a)
{
Nesemnat int p
Pentru (p = 0p Pentru (p = 0p<250p++)
}


Principiul de lucru al servomotorului

Principiul de funcționare al servomotorului depinde în principal de „regula Fleming pentru mâna stângă”. Practic servomotorele sunt adaptate cu Motoare de curent continuu , un senzor de poziție, o reducere a vitezei și un circuit electronic. Motoarele de curent continuu sunt alimentate de la o baterie și funcționează la viteză mare și cuplu redus. Am asamblat arborele și uneltele conectate la motoarele de curent continuu, apoi putem crește și reduce viteza motorului treptat.

Senzorul de poziție detectează locația arborelui din poziția sa fixă ​​și trimite informațiile către circuitul de comandă. Circuitul de comandă decodează semnalele în mod corespunzător de la senzorul de poziție și compară locația reală a motoarelor cu poziția preferată și, prin urmare, controlează direcția de rotație a motorului de curent continuu pentru a obține poziția necesară. În general, servomotorul necesită o alimentare de 4,8V până la 6V DC.

Comanda motorului servo printr-un port serial Comenzi

Principala intenție a acestui proiect este de a controla servomotorul utilizând un computer personal. Are nevoie de o singură linie de control de la microcontroler și linie de intrare serială, de la portul serial al computerului personal pentru a trimite comenzi către circuit. Sursa de sincronizare este furnizată de oscilatorul de cristal. Circuitul servomotor proiectat a fost interfațat la computer cu ajutorul cablului serial și al schimbătorului de nivel, apoi deschideți software-ul „Hyper Terminal” în computer pentru a selecta comportamentul computerului.

Comandarea servomotorului printr-un port serial Comenzi

Comandarea servomotorului printr-un port serial Comenzi

Odată ce comenzile sunt trimise de la computerul personal (PC) la microcontroler prin intermediul terminalului hiper cu un schimbător de nivel, microcontrolerul obține aceste date și le compară cu datele predefinite și generează semnale corespunzătoare pentru a activa driverul motorului pentru al conduce la viteza dorită. Mulți proiecte de microcontrolere dezvoltat pe baza servomotorului, cum ar fi roboți de echilibrare, elicoptere de pistă și așa mai departe. Putem folosi servomotorul în scopuri de securitate prin interfațarea cu camera fără fir, deoarece putem controla devierea camerei 360.

Robot de echilibrare

Robotul de auto-echilibrare este capabil să se echilibreze cu ajutorul servomotorelor. Acest robot a fost asamblat folosind componente structurale, mecanice și electronice care produc o platformă vizibil dezechilibrată, care este extrem de dispusă să se răstoarne într-o singură aliniere. Roțile robotului sunt capabile de rotație independentă în două moduri, care sunt acționate de un servomotor. Informații despre unghiul dispozitivului față de sol vor fi obținute de la senzori de înclinare pe dispozitiv.

Robot de echilibrare

Robot de echilibrare

Senzorul de înclinare poate fi un accelerometru, un senzor giroscopic sau Senzor IR (a măsura distanța până la sol). Senzorii trimit informații către unitatea de control, care va procesa feedback-ul utilizând un algoritm de bază proporțional, integral, derivat (PID) pentru a genera semnale de control al poziției de compensare către servomotori pentru a echilibra dispozitivul.

Aplicații Servomotor

  • Este utilizat în mașinile de presat pentru tăierea pieselor la dimensiune
  • Se folosește în stația de alimentare cu zahăr
  • Este utilizat în aplicații de etichetare
  • Este folosit un sistem de ambalare cu funcție de sincronizare aleatorie
  • Se utilizează Utilizat în avioane

Avantajele servomotorului

  • Dacă un motor primește o sarcină grea, șoferul va crește curentul la bobina motorului pe măsură ce eforturile sale de a roti motorul. În principal, nu există o afecțiune în afara pasului.
  • Funcționarea cu viteză mare este posibilă de către servomotori.

Aceasta este totul despre principiul de funcționare al servomotorului și interfață cu microcontrolerul 8051 În plus, pentru orice ajutor tehnic referitor la acest articol sau proiecte electronice care sunt proiectate folosind dispozitive de interfață, cum ar fi RTC, OLED, memorie flash, LCD personalizat, afișaje cu ecran tactil etc. Puteți să ne adresați oferindu-vă comentariile în secțiunea de comentarii de mai jos.