|
|
|
|
Een servo zelf aansturen met eenvoudige elektronica:
(voor o.a. wisselaansturing) Inhoud: Principe werking
Dit is de basisschakeling
(wat later iets uitgebreid gaat worden) die we gaan gebruiken om een servo
aan te sturen. De basis bestaat uit een NE555 timer IC. Een zeer goedkoop
IC’tje en gemakkelijk te verkrijgen.
D1 staat op dit moment in sper, en geleid geen stroom. De ontlaadstroom kan enkel door R2. Omdat R2 een hoge waarde heeft, gebeurd dit ontladen veel trager (ongeveer 20ms) Op het moment dat de spanning over C1, gemeten op pin 2, gezakt is tot 1,66V, dan SET de Flip-Flop zich terug. De schakelaar S gaat open en begint het opladen van C1 opnieuw via R1 en D1. De spanning op uitgang pin 3 is nu een oneindige reeks pulsen van ongeveer 50Hz (20ms) met een pulstijd van 1,5ms.
De uitgangsspanning Q in functie van spanning U over C1 ziet er als de figuur hiernaast uit. Rood is opladen, blauw ontladen van de condensator.
De pulstijd voor het stuursignaal van de servo is enkel afhankelijk van R1. Door R1 te verlagen (0,56k) en er een regelbare weerstand in serie mee te schakelen Rp1 2,2k, kunnen we de pulstijd variëren tussen iets minder dan 1ms (Rp1=0) en iets meer dan 2ms (Rp1=2,2k). Omdat de servo de puls op uitgang pin 3 enkel maar gebruikt als referentiesignaal en er geen vermogen uit haalt, kunnen we het servo stuursignaal (geel) rechtstreeks op deze pin aansluiten. Dit samen met 5V voeding (rood) en massa (bruin). Let wel: elk merk en type servo heeft mogelijk zijn eigen kleuren! De 5V voeding moet wel voldoende vermogen kunnen leveren. 1A of meer is geen onaardigheid!
Een handige eigenschap van servo’s is dat als het stuursignaal wegvalt deze vast in de laatste positie blijft staan. Het is dus voldoende gedurende enkele seconden een reeks pulsen door te sturen naar de servo met de gewenste stand totdat de servo deze stand heeft bereikt. Als C1 zich niet kan opladen via R1 dan stopt de timer met het verzenden van pulsen. We kunnen nu R1 en Rp1 opsplitsen in twee kringen (R1-Rp1 en R1’-Rp1’) elk gestuurd door een eigen drukknop om de condensator op te laden.
Door het verdraaien van Rp1 en Rp1’ kunnen we de juiste pulsbreedte instellen die de servo nodig heeft om de wissel in de juiste stand te zetten (of rechtdoor of afslaan). Dit afregelen is voor elke wissel iets anders. Het best is zo te beginnen dat de servo in de middenstand staat (Rp1=0 en Rp1’=1k). Dan door één drukknop ingedrukt te houden, en de daarbij horende potmeter bij te draaien totdat de wisseltong goed staat aan één zijde van de rails. Herhaal dit voor de andere zijde.
Een printje voor de gebruikte componenten hoeven we niet zelf te ontwikkelen. Het is nu net het ontwerpen, uittekenen printbanen, belichten, ontwikkelen, etsen en boren dat vele weerhoud zelf iets met elektronica te doen. We kunnen hiervoor beter speciaal in de handel te verkrijgen printen aanschaffen die bestaat uit rijen koperstrips waarin al gaten zijn geboord. (formaat print meestal 10op16cm) Voor onze toepassing is het voldoende om daar een stuk uit te zagen, wat koper weg te halen op de plaats waar IC1 komt. (zie foto1: onderzijde print voor meer duidelijkheid) De onderlinge verbindingen voeren we uit met geïsoleerde koperdraad. (zie foto2: bovenzijde print)
Geleidelijke 1ms naar 2ms overgang en andersom:
Intern in het IC zijn drie weerstanden aangebracht van elk 5k die in serie staan en gevoed worden tussen massa en +Vcc. Over elke weerstand staat dus 1/3 Vcc. De onderste spanningsvergelijker krijgt 1/3 Vcc en de bovenste 2/3Vcc. Nu is pin 5 van het IC intern verbonden met het 2/3Vcc punt. Het schemaatje hiernaast maakt dit duidelijk.
De schakeling zoals nu hiernaast voorgesteld heeft een pulstijd van 1ms als er geen externe weerstand R3 aangesloten is. Als er wel een externe weerstand aangesloten is via S1, dan is de pulstijd 2ms.
Praktisch gezien komt op pin 5 van het IC de
volgende spanningen te staan (bij Vcc=5V): bij open S1: 3,33V (1ms); bij
gesloten S1:4,33V (2ms) ten opzichte van de massa. Bij het openen van S1 gebeurd het tegenovergestelde. De spanning over condensator C2 kan niet plots van 4,33V naar 3.33V gaan. De condensator moet zich eerst iets ontladen. De spanning op pin 5 volgt de ontlaadcurve van C2 en dwingt zo de spanningsvergelijker de ontlaadcurve te volgen. De spanning op pin 2 (1/3Ucc of 1,66V) wordt in werkelijkheid ook beïnvloed door het al of niet inschakelen van een externe R3. Deze zal ook iets hoger komen te liggen. Maar de invloed op de ontlaadtijd van C1 is minimaal, en de pulsinterval blijft ongeveer 20ms (50Hz).
Het hiernaast voorgestelde spanningsverloop geeft UC2 (licht blauw) weer en hoe deze de oplaadtijd beïnvloed van C1 (rood). De schaal van UC2 is in seconden, de schaal UC1 in ms! In werkelijkheid zijn er over een verloop van 5s ongeveer 250 positieve pulsen die elke keer iets langer duren. (1ms -> 2ms) Hetzelfde verloop geld indien S1 terug open gaat. (2ms -> 1ms).
Bij het op spanning brengen van deze schakeling kan de servomotor hevig beginnen draaien. Dit kan voorkomen worden door de spanning voor de servo wat later aan te brengen, of pin 4 van het IC bij de opstart aan de massa te leggen gedurende een 5 tal seconden.
Geleidelijke pulsovergang waarbij pulsen stoppen bij bereiken gewenste positie wisseltong: Het nadeel van vorige schakeling is dat de servo pulsen blijft krijgen, ook na het bereiken van zijn eindpositie. Dat is niet zo goed voor de levensduur van de servo. En dan zwijgen we nog over dat continue gezoem. (jitter, brommen) Ook is het zeer moeilijk de servo zijn eindposities in te stellen. Dan moeten we al gaan experimenteren met R1 en R3 en dit voor elke wissel, echt onbegonnen werk. Beter is eigenlijk de eindpositie te meten met vaste eindeloopcontacten en dan de pulsen te stoppen. Deze contacten stellen echt niet veel voor hoor, en dat meten ook niet, gewoon enkel vaste gebogen pinnen waartussen een meetpin beweegt. Maar eerst gaan we nog een stapje verder met het ontdekken van de mogelijkheden van de NE555 en nu wel de laatste stap. Er is 1 pin van de NE555 die we nog niet besproken hebben namelijk pin 4. Deze pin heeft een gelijkaardige functie als de Reset pin van de Flip-Flop van de bovenste spanningsvergelijker. Echter met dit verschil deze ingang behoud de Flip-Flop vast in de Reset toestand (indien verbonden met massa). De Set ingang van de onderste spanningsvergelijker kan de Flip-Flop nu niet meer beïnvloeden. Dit heeft als gevolg dat Q laag blijft = geen pulsen meer op pin 3. Handig om te weten is dat de logische toestand op pin 4 geïnverteerd wordt aangebracht aan de Flip-Flop. M.a.w. willen we de Flip-Flop continue gereset houden dan moeten we pin 4 aan de massa leggen. Verbinden we pin 4 met +5V, zoals de vorige beschreven schakelingen, dan zullen er wel pulsen uit pin 3 komen. Nu hoeven we pin 4 niet rechtstreeks te verbinden met +5V. Dit kan ook via een weerstand van 1kOhm (R4). Nu komt de truc hoe we de pulsen kunnen doen stoppen als de servo zijn positie heeft bereikt. Je voelt het al aankomen… via pin 4 dus. Wel nu, S1 veranderen we in een dubbele wisselschakelaar. Eén wisselcontact gebruiken we weer om het 2/3 Vcc schakelpunt via pin 5 te beïnvloeden. (zie hiervoor hoe) De gemeenschappelijke van het andere wisselcontact verbinden we met pin 4. Nu is het de bedoeling om pin 4 aan de massa te krijgen. Zolang deze niet aan de massa ligt, dan is pin 4 verbonden met +5V via R4 en stuurt de schakeling pulsen uit. (steeds langer of korter afhankelijk van opladen/ontladen C2) Nu is elke keuzecontact (of hoe noemt zoiets?) van het wisselcontact verbonden met één van de vaste eindeloopcontacten. Als nu de servo draait doordat de pulsduur langzaam veranderd, zal de metalen stang lineair mee bewegen met daarop de meetpin. Deze meetpin is verbonden via de stang met de massa. Op het moment dat de meetpin een eindeloopcontact bereikt, dan zal pin 4 verbonden worden met de massa, en de schakeling stopt met pulsen sturen. Het spreekt vanzelf dat je er voor moet zorgen dat als je de schakelaar naar links zet zoals op het schema de servobeweging ook naar links moet gaan, en andersom naar rechts natuurlijk. Dit is uiteraard afhankelijk van opstelling servo/schakelaar, een beetje uitzoekwerk...
Met een klein beetje meerwerk kan je ook de stand van de wissel visualiseren via LED's. Bijvoorbeeld naast de schakelaar of waarom niet naast de wissel zelf.
Is dit het einde van het analoge servo verhaal? Eigenlijk niet, maar ja ooit moet ik eens stoppen… Mijn roots liggen in het digitale wereldje. Geert
Ga verder naar digitale servo sturing.
Contactgegevens: geert.giebens@gmail.com |
|---|