Indholdsfortegnelse:

556 Servo Driver: 5 trin (med billeder)
556 Servo Driver: 5 trin (med billeder)

Video: 556 Servo Driver: 5 trin (med billeder)

Video: 556 Servo Driver: 5 trin (med billeder)
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Juli
Anonim
556 Servo Driver
556 Servo Driver

Servoer (også RC-servoer) er små, billige, masseproducerede servomotorer, der bruges til radiostyring og småskala robotik. De er designet til let at kunne kontrolleres: positionen af det interne potentiometer sammenlignes løbende med den kommanderede position fra styreenheden (dvs. radiostyringen). Enhver forskel giver anledning til et fejlsignal i den passende retning, som driver elmotoren enten fremad eller bagud og bevæger akslen til den kommanderede position. Når servoen når denne position, reduceres fejlsignalet og bliver derefter til nul, på hvilket tidspunkt servoen holder op med at bevæge sig.

Radiostyringsservoer er forbundet via en standard tre-leder forbindelse: to ledninger til en jævnstrømforsyning og en til styring, der bærer et pulsbreddemodulation (PWM) signal. Standardspændingen er 4,8 V DC, dog bruges 6 V og 12 V også på et par servoer. Styresignalet er et digitalt PWM -signal med en 50 Hz billedhastighed. Inden for hver 20 ms tidsramme styrer en aktiv høj digital puls positionen. Pulsen varierer nominelt fra 1,0 ms til 2,0 ms, hvor 1,5 ms altid er midtpunktet.

Du behøver ikke en mikrokontroller eller computer for at styre en servo. Du kan bruge den ærværdige 555 timer IC til at levere de nødvendige impulser til en servo.

Mange mikrokontrollerbaserede kredsløb er tilgængelige på nettet. Der er også et par kredsløb til rådighed til at teste servo med baseret på enkelte 555'er, men jeg ville have præcis timing uden at frekvensen overhovedet varierede. Alligevel skulle den være billig og let at bygge.

Trin 1: PWM Hvad?

PWM Hvad?
PWM Hvad?

Som navnet antyder, virker pulsbreddemodulation hastighedsregulering ved at køre motoren med en række "ON-OFF" pulser og variere driftscyklussen, den brøkdel af tid, udgangsspændingen er "ON" i forhold til når den er "OFF"”, Af impulserne samtidig med at frekvensen holdes konstant.

Konceptet bag dette kredsløb er, at det bruger to timere til at generere output PWM (Pulse Width Modulation) signal til at drive servoen med.

Den første timer fungerer som en astabel multivibrator, og den genererer "bærefrekvensen" eller frekvensen af impulser. Lyder det forvirrende? Selvom udgangens pulsbredde kan variere, ønsker vi, at tiden fra starten af den første puls til starten af den anden puls er den samme. Dette er frekvensen af pulsforekomster. Og det er her, dette kredsløb overvinder den varierende frekvens for de fleste enkelt 555 kredsløb.

Den anden timer fungerer som en monostabil multivibrator. Det betyder, at det skal udløses for at generere en egen puls. Som sagt ovenfor vil den første timer udløse den anden med et fast, brugerdefinerbart interval. Den anden timer har imidlertid en ekstern gryde, der bruges til at indstille udgangspulsbredden eller i virkeligheden bestemme driftscyklussen og igen rotere servoen. Lad os komme til skematisk …

Trin 2: Lidt matematik … Frekvens

Lidt matematik… Hyppighed
Lidt matematik… Hyppighed

Kredsløbet bruger en LM556 eller NE556, som kan erstattes med to 555'er. Jeg besluttede lige at bruge 556, fordi det er en dobbelt 555 i en pakke. Det venstre timerkredsløb eller frekvensgeneratoren er konfigureret som en astabel multivibrator. Ideen er at få den til at producere en bærefrekvens på omkring 50Hz, hvorfra en driftscyklus vil blive tilføjet af den højre timer eller pulsbreddegenerator.

C1 oplades gennem R1, R4 (bruges til at indstille frekvensen) og R2. I løbet af denne tid er output højt. Derefter aflades C1 gennem R1, og output er lav.

F = 1,44 / ((R2 + R4 + 2 * R1) * C1)

F = 64Hz for R1 = 0

F = 33Hz for R1 = 47k

På det forenklede simulerede kredsløb udelades imidlertid R1, og frekvensen er en fast 64 Hz.

Meget vigtigt! Vi ønsker, at tiden, hvor output er lav, skal være kortere end pulsbreddegeneratorens minimale pulsbredde.

Trin 3: Lidt matematik … Puls

Lidt matematik … Puls
Lidt matematik … Puls

Pulsbreddegeneratoren eller højre timer er opsat i monostabil tilstand. Det betyder, at hver gang timeren udløses, giver den en udgangspuls. Pulstiden bestemmes af R3, R5, R6 og C3. Et eksternt potentiometer (100k LIN POT) er tilsluttet for at bestemme pulsbredden, som bestemmer rotation og forlængelse af rotation på servoen. R5 og R6 bruges til at finjustere de yderste positioner for servoen, så den ikke chatter. Den anvendte formel er som følger:

t = 1,1 * (R3 + R5 + (R6 * POT)/(R6 + POT)) * C4

Så den mindste pulstid, når alle de variable modstande er sat til nul, er:

t = 1,1 * R3 * C4

t = 0,36 ms

Bemærk, at denne minimale pulsbredde er længere end triggerpulsen for at sikre, at pulsbreddegeneratoren ikke konstant genererer 0,36 ms pulser efter hinanden, men med en stabil +- 64Hz frekvens.

Når potentiometrene er indstillet til maksimum, er tiden

t = 1,1 * (R3 + R5 + (R6 * POT)/(R6 + POT)) * C4

t = 13 ms

Driftscyklus = Pulsbredde / interval.

Så ved en frekvens på 64Hz er pulsintervallet 15,6ms. Så Duty Cycle varierer fra 2% til 20%, med midten er 10% (husk, at 1,5ms puls er midterposition).

For klarhedens skyld er potentiometre R5 og R6 blevet fjernet fra simuleringen og erstattet med en enkelt modstand og et enkelt potentiometer.

Trin 4: Nok med matematikken! Nu spiller vi

Nok med matematikken! Nu spiller vi!
Nok med matematikken! Nu spiller vi!

Du kan afspille simuleringen HER: Bare klik på knappen "Simuler", vent, mens simuleringen indlæses, og klik derefter på "Start simulering" -knappen: vent på, at spændingen stabiliseres, klik derefter og hold venstre museknap på potentiometeret. Træk med musen, og bevæg potentiometeret for at styre servoen.

Du kan bemærke, at pulsbredden ændres på det øvre oscilloskop, mens frekvensen af pulsen forbliver den samme på det andet oscilloskop.

Trin 5: Sidst men ikke mindst … den virkelige ting

Sidst men ikke mindst … den virkelige ting!
Sidst men ikke mindst … den virkelige ting!
Sidst men ikke mindst … den virkelige ting!
Sidst men ikke mindst … den virkelige ting!

Hvis du vil gå videre og bygge selve kredsløbet her, kan du finde skematisk PCB -layout (det er et enkelt sidekort, som du nemt kan fremstille derhjemme), komponentlayout, kobberlayout og deleliste.

En lille bemærkning om trimmere:

  • den blå trimmer indstiller signalets frekvens
  • den midterste sorte trimmer sætter den nedre rotationsgrænse
  • den resterende sorte trimmer sætter den øvre rotationsgrænse

En hurtig note, der er nyttig til at kalibrere kredsløbet for en bestemt servo:

  1. indstil hovedpotentiometeret til nul
  2. juster den midterste sorte trimmer, indtil servoen er stabilt indstillet på den nedre grænse uden at snakke
  3. indstil nu hovedpotentiometeret til maksimum
  4. juster den resterende sorte trimmer, indtil servoen er stødt indstillet på den øvre grænse uden chatter

Hvis du nød dette instruerbare, så stem på mig i konkurrencen!:)

Udfordring om tips og tricks til elektronik
Udfordring om tips og tricks til elektronik
Udfordring om tips og tricks til elektronik
Udfordring om tips og tricks til elektronik

Dommerprisen i udfordringen med elektronik tips og tricks

Anbefalede: