ELM SMC - DC Servomotor Controller

Robot, CNC, Pneumatik, Hydraulik, mm
Användarvisningsbild
warpcore
Inlägg: 668
Blev medlem: 3 november 2003, 00:30:22
Ort: Linköping
Kontakt:

Inlägg av warpcore »

Ja det är ett alternativ.. den beter sig nämligen nästan likadant så fort man kör efter positionerade värden.. Så fort man slår över till det så far den iväg, en viss tid, sen blir det servo error. Vet inte riktigt vad den försöker göra riktigt, men hur jag än konfar så gör den samma sak. Det verkar inte heller vara hur snabbt motorn snurrar som bestämmer, utan själva tiden, för beroende på hur man ställer torque så snurrar den olika fort, men alltid samma tid, om ni förstår :)

Är inte så värst insatt i PID algoritmer och sånt.. Så några tips om hur jag ska utgå ifrån när jag ställer in alla parametrar vore uppskattat :)


Encodern är väldigt högupplöst, och drar ner RPMen rejält, men borde inte detta gå att lösa då genom att sätta max rpm?
JBV
Inlägg: 411
Blev medlem: 4 maj 2006, 11:44:28
Ort: Älvsbyn

Inlägg av JBV »

Hur går det? Fått till så det fungerar? :)
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Det där med servodrift kan vara nog så jäkla instabilt ifall det vill jäklas. Senast idag så höll jag på att justera driftsparametrar på ett Heidenhian tnc 155 i en Corea bäddfräs och de är så hårt påställda att det blir instabilt och börjar självsvänga vid minsta ändring.

Den har fått en olämplig rem mellan servo och kulskruv som kuggar vid för stort moment på grund av acceleration och max matning. Det gick inte att justera ner maxmatning utan självsvängning så det kändes i betongen flera meter bort när 2ton vibrerade +-2mm i 20hz. Det ska inte vara problem men???? Lägre acceleration gav självsvängning vid Z driften??? Det finns ju ett antal andra parametrar som justerar driften men jag hade inte tid att leta på vad som funkade så jag fick spänna remmen med en del våld istället. Den håller nog (60mm bred)

Har justerat driften med betydligt bättre framgång hos maskiner som inte kör så hårt. Har alltid sagt att det känns som Corea fräsarna är för brutala i driften. Visst så är det tufft när 10ton kan positionera blixtsnabbt men det kan inte vara så nyttigt.

Har i ärlighetens namn inte följt tråden sådär jättenoga men förstår av rubriken att du ska köra DC servon. Så mitt tips är att justera driften riktigt tamt och sedan öka på lite allt eftersom.

Mikael
Användarvisningsbild
warpcore
Inlägg: 668
Blev medlem: 3 november 2003, 00:30:22
Ort: Linköping
Kontakt:

Inlägg av warpcore »

Gokväll och tack för bra svar!

Jo att nått galet händer vet jag redan, men jag tror mig kunna ärligt säga att det inte är nått hårdvarumässigt iaf.. allt annat verkar funka, så det är verkligen worst case scenario för mig...

Motor jag använder är som sagt på 6W, och har en encoder på 3600 cpr (900ppr?) och motorn har väldigt lätt massa som ni då förstår. den far iväg direkt, vid minsta beröring.

Micke_71.. hur tycker du jag ska börja ställa in? jag har ingen aning om hur det P, I och D ska ställas in motsvarande till varandra, vad/hur bör man göra för att vara på den säkra sidan först osv? Och ja, det är DC servon vi snackar om :)

När man sätter den i Mode 3 (positioning mode) och slår på räknare, så den debuggar tillbaks det aktuella värdet för encodern, så händer följande..

Efter jag skrivit in kommandona händer ingenting, så så fort man rör motorn, eller ja bara slår lite i bordet så encodern snappar upp en ändring, så far den iväg utav bara helvete. Encodervärdet far då iväg med. men verkar sluta på 3000 nånting, innan den stannar, och då blir det servo error. det spelar ingen roll om man belastar den, eller delar ner frekvensen via en 4024, som jag provat. den beter sig likadant. Det verkar inte heller bry sig om varv, utan går en viss tid, sen blir det error? vad kan detta bero på?

har suttit många timmar nu, utan att få det att funka, så börjar tröttna lite faktiskt, om några veckor får jag tillgång till en annan motor med lägre upplöst encoder, så får väl hoppas på att man kommer fram till något där. Mina grejjer väger iaf inte tio tals ton, utan mer kilon :D

Mvh
JBV
Inlägg: 411
Blev medlem: 4 maj 2006, 11:44:28
Ort: Älvsbyn

Inlägg av JBV »

om du kopplar ur motorn och enbart har encdodern ikopplad samt skickar enkodervärdet till terminalprogrammet.. Ändras värdet som förväntat när du vrider motorn fram och tillbaka?
Användarvisningsbild
warpcore
Inlägg: 668
Blev medlem: 3 november 2003, 00:30:22
Ort: Linköping
Kontakt:

Inlägg av warpcore »

Jepp, det funkar som vanligt. Testade precis att koppla ur motorn från h-bryggan, och kör man då m3 kommando, så beter den sig likadant, fast motorn inte är inkopplad, den försöker flytta den, sen blir det servo error. som vanligt..

Rätt bra upplösning när man snurrar axeln lite, den drar iväg fruktansvärt i värde bara man rör den några varv :)
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Jag skulle så gärna villja hjälpa dig men det är väldigt svårt utan att ha prylarna framför sig.
Jag antar att du försöker få motorn att bara stå still, att börja med ett rörelsemönster direkt är ingen bra ide'.

Sänk spänningen till motorn till en rimlig nivå för lite mjukare tester.
Beräkna Back-EMF compensation gain.
Kör bara som en P-kontroller.
Vrid motoraxeln för hand och konstatera att den verkligen drar åt en specifik position.

Vi får se vad vi gör sen.
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Missade en sak. Det är inte det uppenbara.... Motorn sitter polvänd o går åt fel håll. Jag har faktiskt sett det ett par gånger. En gång försökte jag påtala det för en reparatör utav en Arboga flerop då jag fick höra att X och Y motorn såg likadana ut men var polvända internt utan synlig märkning utav det. Han ville inte lyssna och drog igång efter motorbytet. SMACK!!!! Han åkte därifrån och lämnade reparationen till mig. Han blev riktigt tjurig över att ha haft fel.

Den andra gången var en 136hp Poreba svarv med Siemens system som skenade och sedan försökte byta växel. RRRRRRRRRR!!!!! Varsågod och skölj.... :wink:

Bägge dessa hade analoga tacho men effekten borde ju bli densamma.

När enodern ger en puls och servot får drivning så går den åt fel håll. Encodern ger ytterligare en puls som säger att den är ännu längre från positon varvid den får mer ström och kommer ännu snabbare från fel position. Den kommer då att skena på första pulsen från encodern. Låter precis som din motor.

För hög förstärkning och ingen/låg belastning borde ge en självsvängning där motorn rycker fram o tillbaks.

(edit såg att du hade provat att polvända)

Prova så låg förstärkning (gain) som möjligt.

Har även sett en Corea fräs med ett TNC 145 skena när den mekaniska obalansen blev för stor. Någon form av instabiltet som gör att den rusar motorn istället för bromsa. Det är en sådan där omöjlig grej som inte ska kunna hända.

Mikael
JBV
Inlägg: 411
Blev medlem: 4 maj 2006, 11:44:28
Ort: Älvsbyn

Inlägg av JBV »

Tjo warpcore!

Nu har jag börjat koda på min egna servodriver! Tänkte bara höra hur du kopplat in enkodern (så jag inte förstör den) :) Är det enligt tabellen på sida 1 och differential? Samt röd = 1?
http://www.scancon.dk/PDF/Connectors_Mini_IDC_AMP.pdf

Edit: Jag prövade och lyckades pricka rätt till slut! Fungerar utmärkt! :D
Skriv svar