Hur funkar drivare för servon ?
Hur funkar drivare för servon ?
Har länge funderat på hur drivare för servon egentligen funkar.
För stegisar är det ju väldigt lätt att hänga med, men om man kör mot servon så börjar frågor uppstå.
Principen med closed loop för positionsbestämning etc. är jag med på.
Om vi börjar med VAD drivaren vill ha för input så tycker jag mig ha sett dom som tar "step och dir" precis som vanlig stegmotorstyrning gör.
Men jag vill bestämt minnas att jag sett styrningar som tar "velocity" (minns jag rätt ?) och kanske något mer (current ?).
Jag börjar misstänka att det finns massa olika metoder (mer eller mindre properteriära) att skicka signaler till styrelektroniken.
Det kanske till och med finns konverterare mellan teknikerna (finns standarder ?)
Nästa del är HUR drivaren internt jobbar med styrinformationen.
På någotvis får jag känslan av att det måste finnas en form av "read ahed" i en drivare som tar "step och dir", för annars skulle man ju aldrig
få se dom rampa så snyggt som dom gör, utan snarare bete sig lite "hackigt". Jag är även nyfiken på hur man kan göra så små rörelser som
dom klarar med traditionell borstad/borstlös teknik. Här kan man ju gissa att en extremt exakt reglering av ström ihop med en snabb cloosed loop ligger bakom.
Ja som ni ser så gissar jag villt och antar saker och vill av ren vetgirighet veta lite mer.
Jag har även några väldigt gulliga små servon i knytnävsstorlek som skulle vara roliga att labba lite med om jag får känslan av att det ens finns en chans
att lyckas med en DIY lösning.
För stegisar är det ju väldigt lätt att hänga med, men om man kör mot servon så börjar frågor uppstå.
Principen med closed loop för positionsbestämning etc. är jag med på.
Om vi börjar med VAD drivaren vill ha för input så tycker jag mig ha sett dom som tar "step och dir" precis som vanlig stegmotorstyrning gör.
Men jag vill bestämt minnas att jag sett styrningar som tar "velocity" (minns jag rätt ?) och kanske något mer (current ?).
Jag börjar misstänka att det finns massa olika metoder (mer eller mindre properteriära) att skicka signaler till styrelektroniken.
Det kanske till och med finns konverterare mellan teknikerna (finns standarder ?)
Nästa del är HUR drivaren internt jobbar med styrinformationen.
På någotvis får jag känslan av att det måste finnas en form av "read ahed" i en drivare som tar "step och dir", för annars skulle man ju aldrig
få se dom rampa så snyggt som dom gör, utan snarare bete sig lite "hackigt". Jag är även nyfiken på hur man kan göra så små rörelser som
dom klarar med traditionell borstad/borstlös teknik. Här kan man ju gissa att en extremt exakt reglering av ström ihop med en snabb cloosed loop ligger bakom.
Ja som ni ser så gissar jag villt och antar saker och vill av ren vetgirighet veta lite mer.
Jag har även några väldigt gulliga små servon i knytnävsstorlek som skulle vara roliga att labba lite med om jag får känslan av att det ens finns en chans
att lyckas med en DIY lösning.
-
- Inlägg: 150
- Blev medlem: 8 augusti 2010, 15:53:13
- Ort: Umeå
Re: Hur funkar drivare för servon ?
Jag tror att de flesta som tar "step och dir" beter sig exact som en stegmotor, dvs rampningen sköts av överordnat system.
Re: Hur funkar drivare för servon ?
avläsningen av är-värdet kan göras på många sätt vilket gör drivningens konstruktion helt olika...
om det däremot är specifika servon du har är det ju väsentligt hur de är konstruerade.
om det däremot är specifika servon du har är det ju väsentligt hur de är konstruerade.
Re: Hur funkar drivare för servon ?
Ganska brett ämne...
De flesta moderna servodrivare kan köras i antingen torque-mode (reglerar strömmen genom motorn), velocity mode (reglerar motorns hastighet) eller position-mode (styr motorns position). De två senare kräver någon form av feedback från motorn för att sluta loopen. Om vi borstser från de allra enklaste (men som inte behlver vara dåliga för det) drivarna så kör "alla" torque mode internt. Dvs den innersta regler-loopen styr strömmen genom motorn för att reglera motorns avgivna moment. "Runt" torque-loop lägger de sedan antingen velocity eller position (eller en kombination). Så, om du väljer att köra din drivare i velocity mode så är börvärdet till servoförstärkaren ett mått på önskad hastighet, feedback signalen ett mått på verklig hastighet. Dessa bildar de en felsignal som körs genom ett filter vars utgång är ett mått på det moment som i varje givet ögonblick regulatorn tycker/tror/gissar behövs för att hålla hastigheten konstant.
HUR styrsignalen ansluts till servo-drivaren spelar egentligen ingen roll för själva drivarens funktion, det kan vara steg- och riktning, +/-10V, 4-20mA, kvadratur, någon av alla buss-standarder som finns osv osv.
Min "UHU-ersättare" funkar i princip som följer:
* En räknare håller koll på inkommande pulser i form av steg och riktning, räknar upp eller ner....
* En räknare håller koll på motorns positions genom inkommande pulser från enkodern.
* Skillnaden mellan de båda räknarna bildar fel-signalen och matas till regulatorn (PID med feedfoward).
* Utsignalen från regulatorn matas till PWM-generatorn.
* PWM-signalen driver H-bryggan i kraftelektorniken.
* Vid 50% dutycycle är netto-strömmen genom motorn 0A (kallas locked antiphase PWM).
Den operar alltså i position mode - någon "äkta" current loop finns inte i processorn.
Om motorn har en enkoder med 2500 linjer så går det ju att positionera till 1/10000 varv, alltså 0.036°, fördelen kontra en vanlig stegmotor är ju att systemet VET var motorn "är" så även om det finns lite friktion etc så kan den "pricka" 0.036° utan större problem. De flesta drivare som tar steg och riktning har ju ingen inbyggd trajectory planner utan det är ju det överordnade styrsystemet som kontrollerar acceleration och hastighet.
Vad är det för DIY lösning du vill göra? En servo-lösning för borstade DC-motorer är betydligt enklare än för borstlösa motorer.
De flesta moderna servodrivare kan köras i antingen torque-mode (reglerar strömmen genom motorn), velocity mode (reglerar motorns hastighet) eller position-mode (styr motorns position). De två senare kräver någon form av feedback från motorn för att sluta loopen. Om vi borstser från de allra enklaste (men som inte behlver vara dåliga för det) drivarna så kör "alla" torque mode internt. Dvs den innersta regler-loopen styr strömmen genom motorn för att reglera motorns avgivna moment. "Runt" torque-loop lägger de sedan antingen velocity eller position (eller en kombination). Så, om du väljer att köra din drivare i velocity mode så är börvärdet till servoförstärkaren ett mått på önskad hastighet, feedback signalen ett mått på verklig hastighet. Dessa bildar de en felsignal som körs genom ett filter vars utgång är ett mått på det moment som i varje givet ögonblick regulatorn tycker/tror/gissar behövs för att hålla hastigheten konstant.
HUR styrsignalen ansluts till servo-drivaren spelar egentligen ingen roll för själva drivarens funktion, det kan vara steg- och riktning, +/-10V, 4-20mA, kvadratur, någon av alla buss-standarder som finns osv osv.
Min "UHU-ersättare" funkar i princip som följer:
* En räknare håller koll på inkommande pulser i form av steg och riktning, räknar upp eller ner....
* En räknare håller koll på motorns positions genom inkommande pulser från enkodern.
* Skillnaden mellan de båda räknarna bildar fel-signalen och matas till regulatorn (PID med feedfoward).
* Utsignalen från regulatorn matas till PWM-generatorn.
* PWM-signalen driver H-bryggan i kraftelektorniken.
* Vid 50% dutycycle är netto-strömmen genom motorn 0A (kallas locked antiphase PWM).
Den operar alltså i position mode - någon "äkta" current loop finns inte i processorn.
Om motorn har en enkoder med 2500 linjer så går det ju att positionera till 1/10000 varv, alltså 0.036°, fördelen kontra en vanlig stegmotor är ju att systemet VET var motorn "är" så även om det finns lite friktion etc så kan den "pricka" 0.036° utan större problem. De flesta drivare som tar steg och riktning har ju ingen inbyggd trajectory planner utan det är ju det överordnade styrsystemet som kontrollerar acceleration och hastighet.
Vad är det för DIY lösning du vill göra? En servo-lösning för borstade DC-motorer är betydligt enklare än för borstlösa motorer.
Re: Hur funkar drivare för servon ?
Tack för förklaringarna så här långt.
De "mini servon" jag vore kul att få snurr på, mest ur ett vetgirighetsperspektiv.
Jag har även 10st rediga drivare från Bosch (400V 5A) med tillhörande motorer, som styrdes av en CC220.
Dom tar +/- 10V eller 4-20mA
Ingen är intresserad av att köpa dom och det vore ju galet att slänga dom
så jag försöker även bilda mig en uppfattning om man på något sätt kan nyttja dom.
Jag har även CC220'n kvar och vad jag förstår kan man köra "drip feed" till den.
Jag begriper dock inte vilken postprocessor som passar till den.
Men man vill ha lite mer kunskap innan man labbar med dom där prylarna känns det som.
De "mini servon" jag vore kul att få snurr på, mest ur ett vetgirighetsperspektiv.
Jag har även 10st rediga drivare från Bosch (400V 5A) med tillhörande motorer, som styrdes av en CC220.
Dom tar +/- 10V eller 4-20mA
Ingen är intresserad av att köpa dom och det vore ju galet att slänga dom
så jag försöker även bilda mig en uppfattning om man på något sätt kan nyttja dom.
Jag har även CC220'n kvar och vad jag förstår kan man köra "drip feed" till den.
Jag begriper dock inte vilken postprocessor som passar till den.
Men man vill ha lite mer kunskap innan man labbar med dom där prylarna känns det som.
- tecno
- Inlägg: 27248
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Hur funkar drivare för servon ?
Dina biffiga Bosch drivare kan du ju styra med KFlop/Kanalog och Mach3 så det löser ju PP problemet samtidigt.
Re: Hur funkar drivare för servon ?
Modulärt CNC Styrsystem från Bosch.
Här är det som pekar på att drip feed verkar funka länk
Jag har i och för sig programmeringsmanualen, men du vet att hammra siffror manuellt rakt in i maskineriet kommer jag aldrig ge mig på.
Jag är den där tråkiga generationen som trivs med att datorn spottar ur sig G-kod
Här är det som pekar på att drip feed verkar funka länk
Jag har i och för sig programmeringsmanualen, men du vet att hammra siffror manuellt rakt in i maskineriet kommer jag aldrig ge mig på.
Jag är den där tråkiga generationen som trivs med att datorn spottar ur sig G-kod

Re: Hur funkar drivare för servon ?
Som bonus fanns en väldigt bra bild på Kflop produktsida, som beskrev mycket av mina initiala funderingar om servostyrning.tecno skrev:Dina biffiga Bosch drivare kan du ju styra med KFlop/Kanalog och Mach3 så det löser ju PP problemet samtidigt.
Hmm....Dom var ju inte så dyra heller....
Att sätta dom BLDC motorerna på en hemma fräs, vore på någotsätt överdrifternas moder och andra sidan..

Re: Hur funkar drivare för servon ?
Jag försökte ju sälja av dom här slog det mig nu, så det finns lite bilder i denna tråd.
- tecno
- Inlägg: 27248
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Hur funkar drivare för servon ?
Du har ju en lite 'overkill' paket där men det funkar säkert att hänga på detta på ett hemmabygge. CC220 kan du ju hiva/plocka delar ifrån, viktiga är ju att du har en nätdel - drivers - motorer så saknas bara typ KFlop/Kanalog.