Servomotorstyrning (DC-motor + enkoder) samt bromsmotstånd

Berätta om dina pågående projekt.
lerneaen_hydra
Inlägg: 24
Blev medlem: 20 juli 2008, 22:09:10
Ort: Göteborg

Servomotorstyrning (DC-motor + enkoder) samt bromsmotstånd

Inlägg av lerneaen_hydra »

Tjo!

Här är en servomotordrivare för borstade DC-motorer som klarar upp till ca 25A vid nominellt upp till ca 42V. Det är alltså inte en "servomotor" som man pratar om i radiostyrningssammanhang, utan ett återkopplat system med en borstad DC motor med en enkoder som ger feedback på positionen. Man kan använda systemet i liknande områden där man använder tex. en stegmotor, dvs där man behöver styra positionen hos en roterande axel. (Utan att gå in alltför mycket på detaljer så har en servomotor vissa fördelar jämfört med en stegmotor, bl.a. högre varvtal, toppmoment som kan vara mycket höga, och ett helt återkopplat system, dvs positionen kan kännas till exakt --- man kan känna av om systemet stallar).
scaled.jpg
Fullständing dokumentation (schema, board, användarmanual, källkod) finns här; http://www.rabidmantis.se/flexible-servo-controller/

Hårdvarumässigt är det ganska enkelt, det sitter en H-bryggedrivare som styrs av en Atmel Xmega som får feedback från en ansluten enkoder samt en strömshunt som ger feedback på motorströmmen. Det som är lite mera spännande är mjukvaruinterface't, framförallt när det kommer till att trimma in PID-regulatorn. Vad jag sett så har de flesta enklare servomotorstyrningarna ganska dåligt interface när det gäller att tune'a in regulatorn; vissa kräver att man har oscilloskop, medan andra hänvisar till att man skall försöka trimma in systemet så att motorn "inte låter så farligt"... :doh:
Det här projektet plottar istället upp ett stegsvar (steg i position, hastighet, eller accelleration) med ASCII-ART (screenshot av text-interface't som syns över UART-länken som används för att conf'a upp systemet);
frontpage_plot.png
Vilket gör att det blir ganska mycket enklare att trimma in förstärkningskoefficienterna =)

Side note; som säkert många märkt så har värmekameror börjat bli billigare (typ 6kkr för en enklare). I min mening är de helt ovärderliga för test och felsökning, tex när man testar värmeutvecklingen vid last;
ir_10a_30v.jpg
Till sist så har jag här ett annat relaterat projekt; när man bromsar in en servomotor (eller stegmotor för den delen) så agerar motorn som generator och bus-spänningen börjar stiga. Om man inte gör något åt saken kommer man släppa ut röken när matningsspänningen blir för hög. Ett sätt att hantera det är att dumpa bort effekt i några motstånd. Den här lösningen är ganska simpel, en komparator med hysteres drar igång en transistor, som dumpar effekt i några lämpliga effektmotstånd, när den uppmätta matningsspänningen blir för hög. Lite extra lull-lull runt omkring snyggar till det hela.

Fullständig dokumenation, schema, manual finns här; http://www.rabidmantis.se/braking-resistor/
img.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av lerneaen_hydra 25 november 2013, 11:26:35, redigerad totalt 1 gång.
Användarvisningsbild
dar303
Inlägg: 5979
Blev medlem: 17 december 2003, 19:54:56
Ort: Sthlm

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av dar303 »

Snygga byggen! Är det du som konstruerat och tagit fram dessa?
lerneaen_hydra
Inlägg: 24
Blev medlem: 20 juli 2008, 22:09:10
Ort: Göteborg

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av lerneaen_hydra »

Tackar! Jepp, det är jag som byggt ihop rubbet, så kom gärna med frågor! Hittills är hela konstruktionen bara testad av mig så det finns risk för buggar och tankegrodor ;)

Kom på att jag glömde nämna i min förra post att bör-positionen styrs under drift med en quadrature-ingång (grey-kod). Det finns en enable/charge-pump ingång, en index-utgång (slav-kopplad till index-utgången från enkodern), en "active" utgång och en "fault" utgång, samt RX/TX för seriell kommunikation för config. Alla I/O är galvaniskt isolerade med ADUM1201, vilket gör att man måsta mata den isolerade sedan med en matningsspänning på 2.7 - 5V, vilket i sin tur sätter logiknivåerna.

BOM-kostnaden ligger på typ 500kr om man beställer komponenter för ett kort, vilket sjunker till typ 300kr för ett 10- till 20-tal. En fullständig BOM finns för bägge projekten under tidigare länkar med artikelnr för farnell. PCB kan man tex. beställa från itead (http://imall.iteadstudio.com/open-pcb/p ... 18002.html).
Användarvisningsbild
SeniorLemuren
Inlägg: 8415
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av SeniorLemuren »

Hej. Det här var intressant. Jag har själv letat efter en lämplig servodriver till några borstade DC-motorer. Problemet är att de verkar vilja ha rätt så hög spänning. Det finns ingen angivet på skylten och någon data som verkar riktig går inte att hitta på nätet.

Jag har funnit angivelser på 24 Volt och 12 Amp, men det verkar inte stämma. Anslutningskablarna är typ 0,5 mm2. Vid provkörning verkar den inte ha fått upp farten ens vid 40 Volt. vid en ström på mindre än en Amp. tyvärr går inte mitt nätaggregat högre.

Jag skulle tro man behöver en drive som ger upptill 75 Volt och kanske 5 Amp peak. Är det möjligt att modifiera din servomotorstyrning till de kraven?

Skickar med en bild av motorn, kanske du vet något om dessa.
servomotor_minertia.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
kankki
Inlägg: 3369
Blev medlem: 2 januari 2010, 15:05:12
Ort: Nykarleby, Finland

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av kankki »

Trevligt och väldokumenterat projekt. :tumupp:

@SeniorLemuren är du säker på att det inte ligger på någon broms? :vissla:
lerneaen_hydra
Inlägg: 24
Blev medlem: 20 juli 2008, 22:09:10
Ort: Göteborg

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av lerneaen_hydra »

kankki; tackar!

SeniorLemuren; Det är inte jätteenkelt att modifiera projektet för över 50V (50V är absolute maximum, normalt är en matningsspänning runt 42V en ganska rimlig övre gräns). Det som begränsar är dels en buck-omvandlare som genererar 5V, vilket man ganska enkelt hade kunnat byta ut mot en annan som tål mer (och då cadda om den delen av kortet). Det som är mer jobbigt är att ersätta H-bryggedrivaren; som sköter gate-drivning och shoot-through protection. Mikroprocessorn spottar egentligen ut ett par outputs som styr transistorerna (se http://www.allegromicro.com/en/Products ... A3941.aspx) och om man kan mappa om de till en annan ekvivalent så borde man kunna höja matningsspänningen. Totalt sett är det ändå ganska mycket jobb med det...

Du skulle kunna testa driva motorerna med en borrmaskin/svarv/liknande till ett varvtal du vill uppnå och se vilken spänning motorn generar på terminalerna, är det typ 30V eller mindre borde du kunna använda den här styrningen med en matningsspänning på runt 40V, annars är de nog för högvarviga... =(
Användarvisningsbild
SeniorLemuren
Inlägg: 8415
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av SeniorLemuren »

kankki skrev:Trevligt och väldokumenterat projekt. :tumupp:

@SeniorLemuren är du säker på att det inte ligger på någon broms? :vissla:
Det finns ingen broms bara en enkoder i bakänden och alla tre motorerna går lätt att snurra. Dom går rätt hyfsat på 40 volt men eftersom strömmen knappt ökar så finns det förmodligen en bit kvar.

Ska skaffa ett nätaggregat som ger högre spänning och testa vid vilken strömförbrukning de slutar att öka i varv.
lerneaen_hydra
Inlägg: 24
Blev medlem: 20 juli 2008, 22:09:10
Ort: Göteborg

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av lerneaen_hydra »

SeniorLemuren skrev:
kankki skrev:Trevligt och väldokumenterat projekt. :tumupp:

@SeniorLemuren är du säker på att det inte ligger på någon broms? :vissla:
Det finns ingen broms bara en enkoder i bakänden och alla tre motorerna går lätt att snurra. Dom går rätt hyfsat på 40 volt men eftersom strömmen knappt ökar så finns det förmodligen en bit kvar.

Ska skaffa ett nätaggregat som ger högre spänning och testa vid vilken strömförbrukning de slutar att öka i varv.
Lite OT, men iaf; eh, nu är jag långt ifrån helt säker men en "vanlig" borstad DC motor har väl ingen tröskel där motorstömmen behöver öka mycket snabbare än innan för att höja varvtalet? Om motorn är olastad borde väl "tomgångsströmmen" öka någonstans mellan linjärt och kvadradiskt mot varvtalet (närmare linjärt om friktion är den överhängande strörsta förlusten, och närmare kvadratiskt om viscos friktion mot vätska/gas (tex. om man har ett stort svänghjul på axeln) är den överhändande största förlusten). Jag skulle tro att vid de varvtal vi pratar om nu är det betydligt närmare linjärt än kvadratiskt... Eller? :humm:

I varje fall, om du vet vilket varvtal du vill köra motorn vid kan du mäta upp den genererade spänning på terminalerna när motorn är elektriskt olastad och snurrar vid det varvtalet och se vad du får ut...
Användarvisningsbild
SeniorLemuren
Inlägg: 8415
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Servomotorstyrning (DC-motor + enkoder) samt bromsmotstå

Inlägg av SeniorLemuren »

Jag är heller inte så insatt i ur det funkar i en DC-motor, jag var lite inne på att varvtalet på grund av magnetisk mättning, virvelströmmar gör att motorn bara kan uppnå ett visst varvtal innan förlusterna tar överhanden och tillförd energi bara producerar värme. Men Ok. att driva motorn som generator är ju ett sätt.

Grejen är ju förstås att jag inte har något önskemål om något speciellt varvtal jag vill använda, utan mer det att jag ville ha reda på motorns verkliga prestanda.
Skriv svar