Wat is 'n Servo Motor Bestuurder?
Definisie van 'n Servo Motor Bestuurder
'n Servo motor bestuurder (of servo motor drywer) word gedefinieer as 'n skakeling wat gebruik word om die posisie van 'n servo motor te beheer.
Servo Motor Drywer Skakeling
Die servo motor drywer skakeling sluit 'n mikro-bestuurder, kragvoorsiening, potensiometer en konnektore in, wat verseker dat die motor presies beheer word.
Rolle van die Mikro-bestuurder
Die mikro-bestuurder genereer PWM-pulse op spesifieke interwalle om die posisie van die servo motor akkuraat te beheer.
Kragvoorsiening
Die ontwerp van die kragvoorsiening vir 'n servo motor bestuurder hang af van die aantal verbonden motors. Servo motors gebruik tipies 'n 4.8V tot 6V voorsiening, met 5V as standaard. As die voorsieningspanning oorskry, kan dit die motor skade. Die stroomtrek varieer met die koppel en is laer in ruststand en hoër wanneer dit hardloop. Die maksimum stroomtrek, bekend as stopstroom, kan by sommige motors tot 1A reik.
Vir die beheer van een motor, gebruik 'n spanningreguleraar soos LM317 met 'n hitteafgifteplaat. Vir verskeie motors is 'n hoëkwaliteit kragvoorsiening met 'n hoër stroomvermoë nodig. 'n SMPS (Switched Mode Power Supply) is 'n goeie keuse.
Blokdiagram hieronder wys die verbindings in 'n Servo Motor Drywer

Beheer van die Servo Motor
Die servo motor het drie terminals.
Posisie-signal (PWM Pulses)
Vcc (Van Kragvoorsiening)
Grond

Die hoekposisie van die servo motor word beheer deur PWM-pulse van spesifieke breedtes toe te pas. Die pulsduur varieer van ongeveer 0.5ms vir 'n 0-graad rotasie tot 2.2ms vir 'n 180-graad rotasie. Die pulse moet teen frekwensies van ongeveer 50Hz tot 60Hz gegee word.
Om die PWM (Pulse Width Modulation) golfvorm te genereer, soos in die figuur hieronder getoon, kan jy of die interne PWM-module van die mikro-bestuurder gebruik, of timers kan gebruik word. Die gebruik van die PWM-blokkie is meer flexibel, want die meeste mikro-bestuurder-geskille word ontwerp om hierdie blokkie beter aan die behoeftes van toepassings soos 'n servo motor te pas. Vir verskillende breedtes van PWM-pulse, moet jy die interne registers dienlik programmeer.
Ons moet ook die mikrobestuurder vertel hoeveel dit moet roteer. Hiervoor kan 'n eenvoudige potensiometer gebruik word en 'n ADC om die rotasiehoek te kry, of vir meer komplekse toepassings kan 'n accelerometer gebruik word.

Programmeer Algoritme
Laat ons 'n Program ontwerp om 'n enkele servo te beheer en die posisie-invoer word deur 'n potensiometer gegee wat aan 'n pin van die bestuurder gekoppel is.
Initialiseer die poort-pinne vir invoer/uitvoer.
Lees die ADC vir die gewilde servo posisie.
Programmeer die PWM registre vir die gewilde waarde.
Sodra jy die PWM module aktiveer, gaan die gekose PWM-kanaalpin hoog (logiese 1) en na die vereiste breedte is bereik, sal dit weer laag gaan (logiese 0). So nadat jy die PWM geaktiveer het, moet jy 'n tymer begin met 'n vertragingsperiode van ongeveer 19 ms en wag tot die tymer oorloopGaan na stap 2
Daar is verskeie modes van PWM beskikbaar wat jy kan gebruik, afhangende van die mikrobestuurder wat jy kies. 'n Graad van optimalisering moet in die kode gedoen word om die servo te beheer.
As jy meer as een servo wil gebruik, sal jy soveel PWM-kanale benodig. Elke servo kan die PWM-signal sekwensieel gegee word. Maar jy moet sorg dra dat die puls herhalingskoers vir elke servo gehandhaaf word. Andersins sal die servo uit sinkronisasie raak.