Innehållsförteckning:
- Steg 1: PWM Vad?
- Steg 2: Lite matematik … Frekvens
- Steg 3: Lite matematik … Puls
- Steg 4: Nog med matten! Nu ska vi spela
- Steg 5: Sist men inte minst … det verkliga
Video: 556 Servodriver: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Servos (även RC-servon) är små, billiga, massproducerade servomotorer som används för radiostyrning och småskalig robotik. De är utformade för att enkelt kunna kontrolleras: positionen för den interna potentiometern jämförs kontinuerligt med den kommanderade positionen från kontrollenheten (dvs. radiokontrollen). Varje skillnad ger upphov till en felsignal i lämplig riktning, som driver elmotorn antingen framåt eller bakåt och flyttar axeln till kommandot. När servon når denna position minskar felsignalen och blir då noll, vid vilken tidpunkt servon slutar röra sig.
Radiostyrservos är anslutna via en vanlig tretrådsanslutning: två ledningar för likström och en för styrning, med en pulsbreddsmodulation (PWM) signal. Standardspänningen är 4,8 V DC, men 6 V och 12 V används också på några servon. Styrsignalen är en digital PWM -signal med en bildfrekvens på 50 Hz. Inom varje 20 ms tidsram styr en aktiv hög digital puls positionen. Pulsen sträcker sig nominellt från 1,0 ms till 2,0 ms med 1,5 ms som alltid är mittområde.
Du behöver inte en mikrokontroller eller dator för att styra en servo. Du kan använda den vördnadsvärda 555 -timern IC för att tillhandahålla de nödvändiga pulserna till en servo.
Många mikrokontrollerbaserade kretsar är tillgängliga på nätet. Det finns också några kretsar att testa servo med baserat på singel 555, men jag ville ha exakt timing utan att frekvensen alls varierade. Ändå måste den vara billig och enkel att bygga.
Steg 1: PWM Vad?
Som namnet antyder fungerar pulsbreddsmoduleringshastighetskontrollen genom att driva motorn med en serie "PÅ-AV" -pulser och variera arbetscykeln, den bråkdel av tiden som utspänningen är "PÅ" jämfört med när den är "AV”, Av pulserna samtidigt som frekvensen hålls konstant.
Konceptet bakom denna krets är att den använder två timers för att generera utsignalen PWM (Pulse Width Modulation) för att driva servon med.
Den första timern fungerar som en astabel multivibrator och den genererar "bärfrekvensen", eller frekvensen för pulserna. Låter förvirrande? Medan pulsbredden på utgången kan variera, vill vi att tiden från början av den första pulsen till början av den andra pulsen är densamma. Detta är frekvensen av pulsförekomsten. Och det är här denna krets övervinner den varierande frekvensen för de flesta enskilda 555 kretsar.
Den andra timern fungerar som en monostabil multivibrator. Det betyder att det måste triggas för att generera en egen puls. Som sagt ovan kommer den första timern att utlösa den andra vid ett fast, användardefinierbart intervall. Den andra timern har emellertid en extern gryta som används för att ställa in utgångspulsbredden eller i själva verket bestämma arbetscykeln och i sin tur servoens rotation. Låt oss komma till schemat …
Steg 2: Lite matematik … Frekvens
Kretsen använder en LM556 eller NE556, som kan ersättas med två 555: or. Jag bestämde mig för att använda 556 eftersom det är en dubbel 555 i ett paket. Den vänstra timerkretsen, eller frekvensgeneratorn, är inställd som en astabel multivibrator. Tanken är att få den att producera en bärfrekvens på cirka 50Hz, varifrån en arbetscykel kommer att läggas till med den högra timern eller pulsbreddsgeneratorn.
C1 laddas genom R1, R4 (används för att ställa in frekvensen) och R2. Under denna tid är utmatningen hög. Sedan laddas C1 genom R1, och utgången är låg.
F = 1,44 / ((R2 + R4 + 2 * R1) * C1)
F = 64Hz för R1 = 0
F = 33Hz för R1 = 47k
På den förenklade simulerade kretsen utelämnas dock R1 och frekvensen är en fast 64 Hz.
Väldigt viktigt! Vi vill att tiden som utgången är låg ska vara kortare än pulsbreddsgeneratorns minsta pulsbredd.
Steg 3: Lite matematik … Puls
Pulsbreddsgeneratorn, eller höger timer, är inställd i monostabilt läge. Detta innebär att varje gång timern utlöses ger den en utgångspuls. Pulstiden bestäms av R3, R5, R6 och C3. En extern potentiometer (100k LIN POT) är ansluten för att bestämma pulsbredden, som bestämmer rotation och förlängning av rotationen på servon. R5 och R6 används för att finjustera de yttersta positionerna för servon, så att den inte chattar. Formeln som används är följande:
t = 1,1 * (R3 + R5 + (R6 * POT)/(R6 + POT)) * C4
Så, den minsta pulstiden när alla de variabla motstånden är satta till noll är:
t = 1,1 * R3 * C4
t = 0,36 ms
Observera att denna minsta pulsbreddstid är längre än triggerpulsen för att säkerställa att pulsbreddsgeneratorn inte konstant genererar 0,36 ms pulser efter varandra, men med en stabil +- 64Hz frekvens.
När potentiometrarna är inställda på max är tiden
t = 1,1 * (R3 + R5 + (R6 * POT)/(R6 + POT)) * C4
t = 13 ms
Driftcykel = Pulsbredd / intervall.
Så vid en frekvens på 64Hz är pulsintervallet 15,6ms. Så Duty Cycle varierar från 2% till 20%, med mitten 10% (kom ihåg att 1,5ms puls är mittläge).
För tydlighetens skull har potentiometrarna R5 och R6 tagits bort från simuleringen och ersatts med ett enda motstånd och en enda potentiometer.
Steg 4: Nog med matten! Nu ska vi spela
Du kan spela simuleringen HÄR: klicka bara på "Simulera" -knappen, vänta medan simuleringen laddas och klicka sedan på "Start simulering" -knappen: vänta tills spänningen stabiliserats, klicka sedan och håll ned vänster musknapp på potentiometern. Dra musen och flytta potentiometern för att styra servon.
Du kan notera att pulsbredden ändras på det övre oscilloskopet, medan pulsen förblir densamma på det andra oscilloskopet.
Steg 5: Sist men inte minst … det verkliga
Om du vill gå längre och bygga själva kretsen här kan du hitta schematisk, PCB -layout (det är en enkelsidigt kretskort som du enkelt kan tillverka hemma), komponentlayout, kopparlayout och reservlista.
En liten anteckning om trimmarna:
- den blå trimmern anger signalens frekvens
- den mellersta svarta trimmern sätter den nedre rotationsgränsen
- den återstående svarta trimmern ställer in den övre rotationsgränsen
En snabb anteckning som är användbar för att kalibrera kretsen för ett visst servo:
- ställ huvudpotentiometern till noll
- justera den mellersta svarta trimmern tills servon är stadigt inställd på den nedre gränsen utan att prata
- ställ nu in huvudpotentiometern på max
- justera den återstående svarta trimmern tills servon är stadigt inställd på den högre gränsen utan att prata
Om du tyckte om detta instruerbara, vänligen rösta på mig i tävlingen!:)
Domarnas pris i utmaningen om elektroniska tips och tricks
Rekommenderad:
Använda 556 timer för att driva en stegmotor: 5 steg
Använda 556 -timern för att driva en stegmotor: Denna instruktion kommer att förklara hur en 556 -timer kan driva en stegmotor. Det behövs ingen kod för denna krets
556 Tid ger klockinmatning till 2 decennieräknare som kommer att driva 20 lysdioder: 6 steg
556 Tiden ger klockinmatning till två decennieräknare som kommer att driva 20 lysdioder: Denna instruktion visar hur en 556 -timer kommer att ge klockingångar till 2 decennieräknare. Tioåretsräknarna kommer att driva 20 lysdioder. Lysdioderna blinkar i en sekvens av 10
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen
Servodriver-Board med Python-GUI och Arduino: 5 steg
Servodriver-Board Med Python-GUI och Arduino: När du gör prototyper eller bygger modellflygplan stöter du ofta på problemet, att du måste kontrollera servorörelser eller ställa in servon till mittläget. Om du inte brukar bygga upp hela ditt RC-system eller test, hur långt du kan skjuta