Kontrollera flera servos samtidigt
Kontrollera flera servos samtidigt
Hej!
Är fortfarande nybörjare på elektronik, vilket antagligen kommer vara uppenbart i detta inlägg..
Jag har en i2c servokontroller pca9685 som för tillfället är kopplad till 3 servomotorer.
Mitt problem är att det verkar som kretsen bara orkar med att flytta 1 servo (hx5010 heter dom) samtidigt.
Finns det någon som kan tipsa om vad man skulle behöva för batteripack för att orka minst 3 servos samtidigt? Tänkte eventuellt lägga till några senare. För tillfället är det 4 AA batterier som står för strömförsörjningen.. Jag läste någonstans att ett aktivt servo kan dra typ 1A.
Tacksam för svar.
Är fortfarande nybörjare på elektronik, vilket antagligen kommer vara uppenbart i detta inlägg..
Jag har en i2c servokontroller pca9685 som för tillfället är kopplad till 3 servomotorer.
Mitt problem är att det verkar som kretsen bara orkar med att flytta 1 servo (hx5010 heter dom) samtidigt.
Finns det någon som kan tipsa om vad man skulle behöva för batteripack för att orka minst 3 servos samtidigt? Tänkte eventuellt lägga till några senare. För tillfället är det 4 AA batterier som står för strömförsörjningen.. Jag läste någonstans att ett aktivt servo kan dra typ 1A.
Tacksam för svar.
Re: Kontrollera flera servos samtidigt
Låter konstigt att kontrollern inte skulle orka då servon normalt matas med egen spänning och styrningen/kontrollern bara ger signal om vilken position servot skall ha. Du kanske menar att din kontroller inte är snabb nog att styra flera servoutgångar samtidigt, det finns styrningar som klarar detta, jag vet dock inte hur din kontroller klarar detta. Har för mig att Icecap här i forumet för länge sedan bjöd på ett schema till sin Servo kontroller som åtminstone hade 8 utgångar, kommer tyvärr inte ihåg om hans klarar att köra alla samtidigt...
Nu kör ju du också I2C vilket inte Icecaps kontroller gör, men du kanske kan tänka dig att köra "vanliga" servon också?
Nu kör ju du också I2C vilket inte Icecaps kontroller gör, men du kanske kan tänka dig att köra "vanliga" servon också?
Re: Kontrollera flera servos samtidigt
Hej!
Anledningen att jag valde den här kontrollern är att den har 16 portar och i2c funkar bra med raspberrys, tänkte mig försöka eventuellt göra en 4benad liten robot..
Här är en bild:

Det är möjligt att jag gör något fel men kontrollern har även ett mode där man skickar signaler till alla 16 portar samtidigt, funkar lika dåligt som att försöka köra 3 samtidigt manuellt...
Finns det en bättre lösning tar jag den gärna, inte alls insnöad på just den här hårdvaran..
Anledningen att jag valde den här kontrollern är att den har 16 portar och i2c funkar bra med raspberrys, tänkte mig försöka eventuellt göra en 4benad liten robot..
Här är en bild:

Det är möjligt att jag gör något fel men kontrollern har även ett mode där man skickar signaler till alla 16 portar samtidigt, funkar lika dåligt som att försöka köra 3 samtidigt manuellt...
Finns det en bättre lösning tar jag den gärna, inte alls insnöad på just den här hårdvaran..
Re: Kontrollera flera servos samtidigt
Kan vara så att under tiden som programvaran är upptaget med att köra
servot från en position till en annan så är den just upptagen med det.
D.v.s. att den inte bara skickar en ny position och sedan får servot
ta sig till nya positionen bäst den kan och hur snabbt den vill.
Hm, enligt databladet är PVA9685 en "PWM LED driver". Jag vet inte
hur de kör den för att styra servon. Är det vanliga RC servon med
1.5 +/- 0.5 ms pulser?
servot från en position till en annan så är den just upptagen med det.
D.v.s. att den inte bara skickar en ny position och sedan får servot
ta sig till nya positionen bäst den kan och hur snabbt den vill.
Hm, enligt databladet är PVA9685 en "PWM LED driver". Jag vet inte
hur de kör den för att styra servon. Är det vanliga RC servon med
1.5 +/- 0.5 ms pulser?
Re: Kontrollera flera servos samtidigt
https://learn.adafruit.com/16-channel-p ... r?view=all
Verkar finnas en del att tänka på om man använder kortet.
Verkar finnas en del att tänka på om man använder kortet.
Re: Kontrollera flera servos samtidigt
Vad jag vet är det vanliga digitala servos... fast de verkar vara 1.5 +- 1 eller så
Det är lite obestämt vad kretsen ska styra, på en del ställen är det leds och andra ( som denhär https://cdn-learn.adafruit.com/download ... driver.pdf) står det servos.. en bekant nämnde att det kunde vara för tunna spänningskablar så det ska jag testa också
Det är lite obestämt vad kretsen ska styra, på en del ställen är det leds och andra ( som denhär https://cdn-learn.adafruit.com/download ... driver.pdf) står det servos.. en bekant nämnde att det kunde vara för tunna spänningskablar så det ska jag testa också
Re: Kontrollera flera servos samtidigt
Jag är övertygad om att du saknar ström.
Berätta vad du kopplat på VCC respektive V+
Berätta vad du kopplat på VCC respektive V+
Re: Kontrollera flera servos samtidigt
Nu sista testet för idag använde jag strömmen från 5V/2A uttaget på ett 10000mah usb batteri... Det verkade kunna köra 2 servos samtidigt oftast, men ibland reagerade bara ena servon, så jag är också inne på strömbrist på något sätt.. Någon som har ett exempel på bra mobil 5V strömförsörjning?
Kör alltså 3.3V direkt från raspberry på VCC och 5V/2A från usb på V+
Kör alltså 3.3V direkt från raspberry på VCC och 5V/2A från usb på V+
Re: Kontrollera flera servos samtidigt
Om du får fler servon att röra sig simultant med en källa som ger mer ström, så är det sannolikt ström som är problemet.
Taget ur Adafruits text:
Det verkar kunna hjälpa lite med en kondensator på matningen.
Taget ur Adafruits text:
Läs gärna länken som 4kTRB gav i sitt inlägg.Most servos are designed to run on about 5 or 6v. Keep in mind that a lot of servos moving at the same time
(particularly large powerful ones) will need a lot of current. Even micro servos will draw several hundred mA when
moving. Some High-torque servos will draw more than 1A each under load.
Det verkar kunna hjälpa lite med en kondensator på matningen.
Re: Kontrollera flera servos samtidigt
Det är väl analoga servon?jntron skrev:Vad jag vet är det vanliga digitala servos... fast de verkar vara 1.5 +- 1 eller så
Det är lite obestämt vad kretsen ska styra, på en del ställen är det leds och andra ( som denhär https://cdn-learn.adafruit.com/download ... driver.pdf) står det servos.. en bekant nämnde att det kunde vara för tunna spänningskablar så det ska jag testa också
Re: Kontrollera flera servos samtidigt
Det spelar väl ingen egentlig roll ?
Det avgör väl bara vilken frekvens servots interna styrkrets ger till DC motorn ?
Möjligtvis att digitala servon ofta drar lite mer i peak, då dom normalt accelererar fortare.
Det avgör väl bara vilken frekvens servots interna styrkrets ger till DC motorn ?
Möjligtvis att digitala servon ofta drar lite mer i peak, då dom normalt accelererar fortare.
Re: Kontrollera flera servos samtidigt
Det är digitala servos.
Sitter redan en kondensator monterad på kretsen.
Jag tror jag beställer något slags batteri som klarar mer ström och se om det fixar saken..
Tack för all input.
Sitter redan en kondensator monterad på kretsen.
Jag tror jag beställer något slags batteri som klarar mer ström och se om det fixar saken..
Tack för all input.
Re: Kontrollera flera servos samtidigt
"Min" RC-servostyrning klarar 13 samtidiga servos och klarar att styra pulserna till dom samtidig.
Den får kommandon i seriell form.
Den får kommandon i seriell form.
Re: Kontrollera flera servos samtidigt
Skulle gärna vilja veta mer om den. Vad är den baserad på? Är det något en nybörjare kan sätta ihop? Skulle den gå att utöka till mer servos?
Re: Kontrollera flera servos samtidigt
Det är i grunden en PIC-µC som skickar ut pulserna. Den går att expandera ganska kraftigt men den kräver då en PIC med fler pinnar på och en utbyggnad av mjukvaran.
Den PIC jag baserade det hela på är numera gammal men att portera till en modern ska inte vara något problem.
Till saken hör att pulserna till RC-servo helst ska komma med 20ms mellanrum så om alla står på 1,5ms blir det till att en timer (som styr pulståget) bara kan serva 13 servos samtidig.
Men det finns PIC med 40 pinnar och flera timers och då är det ju bara att bygga ut så att varje timer styr upp till 13 st RC-servos.
Man kan gå den andra vägen och hålla sig till t.ex. 10 servos per enhet. Och då bygga fler enheter som sedan får olika adresser.
Då kan man skapa ett modulärt system som enkelt kan ha delar bytt ut, expanderas osv.
Den PIC jag baserade det hela på är numera gammal men att portera till en modern ska inte vara något problem.
Till saken hör att pulserna till RC-servo helst ska komma med 20ms mellanrum så om alla står på 1,5ms blir det till att en timer (som styr pulståget) bara kan serva 13 servos samtidig.
Men det finns PIC med 40 pinnar och flera timers och då är det ju bara att bygga ut så att varje timer styr upp till 13 st RC-servos.
Man kan gå den andra vägen och hålla sig till t.ex. 10 servos per enhet. Och då bygga fler enheter som sedan får olika adresser.
Då kan man skapa ett modulärt system som enkelt kan ha delar bytt ut, expanderas osv.