Stap 3: Maak de Servo Controller Circuits: theorie
Servo's vereisen wat heet Pulse Width Modulation op hun signaal draad te begrijpen waar u de servo arm om aan te draaien. Pulse Width Modulation is de handeling van het pulserend sproeien van een golfvorm zoals een blokgolf aan te passen. Voor analoge servo's, het meest nodig 1-2 ms voor op signaal (positieve spanning) en 7 – 18 ms van af signaal (nulspanning). Het gegevensblad voor de SG90 servo zegt zij werkzaam bij 50 Hz (20ms) maar ik vond ze functioneren goed omhoog van 90 Hz. Het op signaal altijd moet zijn tussen 1 en 2 ms wel.
Vindt u vele voorbeelden online servo's met Arduino of zelfs een 555 timer chip te controleren, maar ik ga om echt fundamentals hier en gebruik alleen discrete onderdelen. Laten we de Astable Multivibrator Circuit moet worden gebruikt! Gewoon een waarschuwing, dit circuit neigt te zijn... springerig, en uw servos krijgt een heleboel van de persoonlijkheid.
De Multivibrator Astable creëert een blokgolf met een frequentie bepaald door de weerstand condensator oplaadtijd in het circuit. Wat is netjes over dit circuit is dat het pulserend sproeien van de blokgolf kan worden ingesteld door te passen beide sets met weerstanden en condensatoren.
Ik vond dat toen de condensators in dit circuit 220 zijn nF, moet de weerstanden 5 – 15k voor de 1-2 ms op tijd, en 48k voor ongeveer 8ms van tijd uitschakelen. Nu, in totaal, dit is 10 ms of 100 Hz frequentie, die veel hoger dan de aangegeven werkfrequentie voor deze servo's is, maar ik vond deze waarden via trial and error en ze werkten voor mij.
De joystick met 2 assen (https://www.parallax.com/product/27800) ik gebruik is net als die aangetroffen in playstation controllers. Wanneer u de joystick verplaatst in x- of y-richting, het verandert de weerstand van twee potentiometers, één voor de x-as en de andere voor y. Die weerstand waarden zijn ~ 5 k in het center, en ga naar beneden naar 0 en maximaal 10 k wanneer u de joystick verplaatst.
Dus, als we onze trim potentiometers ingesteld op 5k in het circuit, we kunt elke as potentiometer voor de joystick te wijzigen van de pulsbreedte van 1 naar 2 ms voor op signaal, en dus de positie van de servo-hoorn, onze nek robot controle.
Het nadeel aan het gebruik van dit circuit is dat u voedingen voor elke servo scheiden moet omdat ze met elkaars signaal interfereren. U kan niet beide circuits uitsluitend stormloop parallel met één batterij. Niet een super big deal, maar het een extra stap in het proces van de bedrading later toevoegen. Het betekent ook dat onze pre gesoldeerde parallax joystick worden bevrijd van haar bord moet omdat het komt met een gemeenschappelijke grond gesoldeerd.