MECHADUINO, closed loop servos, billigt
MECHADUINO, closed loop servos, billigt
Såg denna på ett annat forum som jag tycker verkar vara intressant.
Kunde vara kul om sånt kom ner lite i pris så man kunde uppgradera maskinerna.
http://hackaday.com/2016/06/01/mechadui ... -everyone/
Kunde vara kul om sånt kom ner lite i pris så man kunde uppgradera maskinerna.
http://hackaday.com/2016/06/01/mechadui ... -everyone/
Re: MECHADUINO, closed loop servos, billigt
Det stod väl att det var opensource och man redan kan ladda hem allt ?
Då vore det väl en smal sak att DIY'a lite..
Då vore det väl en smal sak att DIY'a lite..
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
Re: MECHADUINO, closed loop servos, billigt
"Det stod väl att det var opensource och man redan kan ladda hem allt ?"
Jovisst, här finns allt: https://github.com/jcchurch13
Jovisst, här finns allt: https://github.com/jcchurch13
Re: MECHADUINO, closed loop servos, billigt
Såg ett liknande intressant open source projekt kallat ODrive med bldc motorer i servo-drift.
-
- Inlägg: 114
- Blev medlem: 21 februari 2013, 15:00:05
Re: MECHADUINO, closed loop servos, billigt
Jag håller på och bygger något liknande hemma, fast bättre på alla sätt förstås.
Riktig encoder, nema 34 motorer, upp till 600V, 20A.
Har hittat på ett smart sätt att driva på som jag testar, det ser lovande ut i första prototypen. Kan nog bli ett riktigt alternativ till servosystem om jag får till det hela vägen.
Funderar dock på vad jag ska ha för kommunikationsprotokoll utöver step/dir. CAN,rs422,analog 0-10? Någon som har tips?
Riktig encoder, nema 34 motorer, upp till 600V, 20A.
Har hittat på ett smart sätt att driva på som jag testar, det ser lovande ut i första prototypen. Kan nog bli ett riktigt alternativ till servosystem om jag får till det hela vägen.
Funderar dock på vad jag ska ha för kommunikationsprotokoll utöver step/dir. CAN,rs422,analog 0-10? Någon som har tips?
Re: MECHADUINO, closed loop servos, billigt
Beror väl på vilken marknad du siktar in dig på.
För vanliga användare så är väl RS485 med nått smart protokoll en bra ide (titta t.ex på Granite Devices Simple Motion Bus). För mer avancerat bruk/användare så är ju EtherCAT "hett" men det är ju inget man implementerar i en uC direkt.
För vanliga användare så är väl RS485 med nått smart protokoll en bra ide (titta t.ex på Granite Devices Simple Motion Bus). För mer avancerat bruk/användare så är ju EtherCAT "hett" men det är ju inget man implementerar i en uC direkt.
Re: MECHADUINO, closed loop servos, billigt
Vilken noggrannhet får du?fast bättre på alla sätt förstås
Mechadiono-killen får väl till det under tiondels-graden... ska du slå det får du väl ha mer är fyratusen streck på enkoderfilmen?
Re: MECHADUINO, closed loop servos, billigt
För 0.1° räcker det med 1000 linjer.
Med 4000 linjer så har du en teoretiskt upplösning på 0.0225°.
Med 4000 linjer så har du en teoretiskt upplösning på 0.0225°.
Re: MECHADUINO, closed loop servos, billigt
Från Mechaduino:
En cool grej:It turns out that although they claim 12 and 14 bit resolutions (that's 0.09 and 0.02 degrees respectively), they suffer from non-linearities on the order of a degree or so! However, we found that this non-linearity is very repeatable, and we were able to develop a quick, self contained (on motor) calibration routine that restores resolution to better than 0.1 degrees. (More on this later. This was a significant design effort and is worthy of its own build log!)
Applications include synchronous motion applications, but also extend to haptic force-feedback: torque applied to one shaft is felt on the other. A pair could be used to link motion of a joystick to a robotic arm, allowing the operator to "feel" when obstacles are hit.
Re: MECHADUINO, closed loop servos, billigt
Precis. 12 bitar är 4096 diskreta positioner på ett varv. En enkoder med 1000 linjer ger dig 4000 positioner. 360°/4000=0.09°.
Att de har linjäritetsproblem beror på att de försöker hålla ner priset och väljer det billigaste som finns att tillgå i enkoderväg. Det visar också, än en gång att upplösning, inte är samma sak som noggrannhet....
Databladet för en 12-bitars AMS-enkoder (AS5045B) specificerar t.ex en maximal olinjäritet på +/-1.4° så det kan ju inte komma som en (negativ) överraskning att det i praktiken var runt 1°. Men det är ju bra att de kan kalibrera bort det.
Att de har linjäritetsproblem beror på att de försöker hålla ner priset och väljer det billigaste som finns att tillgå i enkoderväg. Det visar också, än en gång att upplösning, inte är samma sak som noggrannhet....
Databladet för en 12-bitars AMS-enkoder (AS5045B) specificerar t.ex en maximal olinjäritet på +/-1.4° så det kan ju inte komma som en (negativ) överraskning att det i praktiken var runt 1°. Men det är ju bra att de kan kalibrera bort det.

-
- Inlägg: 114
- Blev medlem: 21 februari 2013, 15:00:05
Re: MECHADUINO, closed loop servos, billigt
Jag kör på en 5000 linjers encoder, så 20000 pulser per varv.
Deras lösning lurar dem själva. De tar en väldigt olinjär sensor och kalibrerar den "öppen loop" genom att stega med motorn och kalibrera mot det. Problemet är att en stegmotor är relativt repeterbar, men verkligen inte noggrann. Vanligt är +-5-10% på fullsteg, så +-0.18grader fel EFTER kalibrering. Ganska långt från det de ser i sin upplösning.
Sen driver den där sensorn ganska mycket i temperatur, är känslig för magnetfält och väldigt känslig för placering av magneten (epoxy på axeln är kanske inte jätteprecist).
Deras lösning lurar dem själva. De tar en väldigt olinjär sensor och kalibrerar den "öppen loop" genom att stega med motorn och kalibrera mot det. Problemet är att en stegmotor är relativt repeterbar, men verkligen inte noggrann. Vanligt är +-5-10% på fullsteg, så +-0.18grader fel EFTER kalibrering. Ganska långt från det de ser i sin upplösning.
Sen driver den där sensorn ganska mycket i temperatur, är känslig för magnetfält och väldigt känslig för placering av magneten (epoxy på axeln är kanske inte jätteprecist).
Re: MECHADUINO, closed loop servos, billigt
Det låter avancerat, men då kostar det kanske, det verkar som att du inte bygger den själv?Jag kör på en 5000 linjers encoder, så 20000 pulser per varv.
Ser du det i koden, jag hittade inget sånt i texten, eller missad jag det bara..?De tar en väldigt olinjär sensor och kalibrerar den "öppen loop" genom att stega med motorn och kalibrera mot det.
Hur menar du, sitter polerna ojämnt?men verkligen inte noggrann.
Det tror jag är det största hindret, svårt att fixa.Sen driver den där sensorn ganska mycket i temperatur, är känslig för magnetfält och väldigt känslig för placering av magneten (epoxy på axeln är kanske inte jätteprecist).
Finns det nån sån(Hall) ovasätt pris som fixar det?
Re: MECHADUINO, closed loop servos, billigt
Titta på databladet till vilket stegmotor som helst så ser du att de specificerar en stegnoggrannhet på typiskt +/- 3-5% är min erfarenhet men billiga motorer kan säkert vara ännu värre - vilket ju Tumblebeer anger. Så ett steg kan vara 1.8° (perfekt), nästa steg kan vara 1.85° (+3%) och nästa 1.71° (-5%). Det enda som är säkert är att det jämnar ut sig over varvet.
Jag gjorde faktiskt ett test för ett tag sedan där jag tog en encoder med 3600 linjer (14400 pulser/varv) och kopplade den till en stegmotor, stegade motorn och registrerade den verkliga positionen. Kan posta den datan ikväll.
Jag gjorde faktiskt ett test för ett tag sedan där jag tog en encoder med 3600 linjer (14400 pulser/varv) och kopplade den till en stegmotor, stegade motorn och registrerade den verkliga positionen. Kan posta den datan ikväll.
Re: MECHADUINO, closed loop servos, billigt
Frågan är vilken noggrannhet man behöver också. Redan vid 1 grad och med en kulskruv med 5 mm stigning så ligger man kring 1-2 hundradelar.
-
- Inlägg: 114
- Blev medlem: 21 februari 2013, 15:00:05
Re: MECHADUINO, closed loop servos, billigt
De är inte så dyra, om man inte har krav på miljöklassning. 35 euro på mouser.NULL skrev:Det låter avancerat, men då kostar det kanske, det verkar som att du inte bygger den själv?Jag kör på en 5000 linjers encoder, så 20000 pulser per varv.
Det är ett rent hobbyprojekt, så jag bygger och hittar på allt själv, vilket innebär att det rör sig långsamt framåt med den lilla tid jag har att lägga på det.
Det är sant med noggrannheten där, man behöver kanske inte så mycket till en sådan applikation. Jag använder encodern inte bara till positionskontroll, utan även för styrning av motorströmmarna, annars kanske en as5047 eller liknande hade funkat med vettigare kalibrering.