Stegmotorstyrning (Mjukvara)

Berätta om dina pågående projekt.
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Stegmotorstyrning (Mjukvara)

Inlägg av chille »

Efter att ha diskuterat motorstyrning med hjälp av en vanlig audioförstärkare i denna tråd blev jag själv lite sugen på att testa. Jag håller ju på med en liten CNC-fräs baserad på en Proxxon MF70, den är ju alldeles utmärkt att testa på. Självklart ska koden vara portabel så den går att köra antingen på en PC eller en AVR (eller motsvarande). Altså optimerade algoritmer och kod skriven i C med själva logiken separerad från "hårdvarudelen".

Jag har redan kommit en bit på vägen och lyckats styra stegmotorn via ett CLI (Command Line Interface) och tänkte att det var dags att starta upp en projekttråd för att få lite feedback under projektets gång.

Tanken med detta projekt är att det ska tas fram mjukvara som tar in styrsignaler i form av dir/step (altså liknanade alla andra förekommande stegmotorstyrningar) för att sedan konvertera det till en signal man kan skicka in till ett slutsteg för att sedan driva en motor.

Följande funktioner hade jag tänkt försöka få med:
* Styrning av bipolära stegmotorer
* Eventuellt styrning av andra motortyper i framtiden
* Generera antingen sinus- och fyrkantsvåg
* Automatiskt val av vågform beroende på hastighet (hög hastighet=fyrkant)
* Automatiskt välja frekvens på sinusvågen för att få en "hackfri" gång vid låga varv
* Bra funktioner för absolutstyrning
* Kunna mata in position som steg, varv eller milimeter
* Acceleration/inbromsning vid absolutstyrning
* Automatisk acceleration även vid dir/step
* Micro stepping

Specifikt för PC-Versionen:
* Styrning via CLI
* Enkelt C-API som går att integrera med egna C/C++ program
* Eventuellt något plugin eller liknande för EMC2 (LinuxCNC)
* Använder ljudkortet för att skicka ut signalerna
* Fungera på både OS X, Linux, *BSD och Winblows
* Styrning via nätverk (UDP?)

Specifikt för AVR-Versionen:
* Kommunikation via RS232/USB
* Dir/step-ingång
* Självuppdatering
* Stöd för PWM (om möjligt), R2R-brygga och eventuellt någon annan A/D
* Enkelt att koppla in en ENC28J60 lägga på en TCP/IP-stack för att få nätverks-stöd
* Baserad på Mega48 eller annan liten/billig krets

Status:
2008-06-24 13:30
Projekttråden startaded. Håller för tillfället på snygga till källkoden och fixa så installationsscriptet fungerar oberoende om man kör Linux eller OS X. Lär troligtvis slänga upp någon enkel projektsida under morgondagen. Kommer även fixa några foton och någon liten filmsnutt när jag kommer hem ikväll.
Senast redigerad av chille 24 juni 2008, 13:55:46, redigerad totalt 1 gång.
Användarvisningsbild
ashsama
Inlägg: 635
Blev medlem: 21 maj 2004, 13:56:54
Ort: Bålsta
Kontakt:

Inlägg av ashsama »

Microstepping då?
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Oj då, jo det kommer självklart finnas. Lägger till det på listan. Just nu kör jag ju enbart med sinus på hyffsat låg frekvens, så det är ju näst intill "steglöst". 8) Vad kallas det? Nanostepping? :lol:
Användarvisningsbild
ashsama
Inlägg: 635
Blev medlem: 21 maj 2004, 13:56:54
Ort: Bålsta
Kontakt:

Inlägg av ashsama »

Vet inte vad som är normalt, "gecko" driverna verkar inte klara mer än 10'dels microstepping, medans mina (Pacific Scientific MA6410) som är 10år gamla klarar 1/256'dels microstepping....
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Jag har hört att det inte lönar sig att köra mer än 10 mikrosteg. Om man kollar den här sidan så verkar det som om att positionen varierar rätt mycket. Så jag gissar på att det inte är lönt med mer steg om man inte kalibrerar in den förståss.

En lösning vore ju att låta användaren ställa in hur många mikrosteg det ska vara, sen när man stegar mellan mikrostegen så ska den stega fram helt steglöst. :wacko:
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Inlägg av jojje »

En stegmotor går ofta mycket illa i helsteg p.g.a. av alla resonanser som alltid finns. Genom att mikrostega motorn minskar resonanserna och upplösningen förbättras. När en stegmotor körs i mikrosteg kompenserar man med högre ström i en lindning för att få samma moment oavsett antal mikrosteg. Observera att 70% av stegmotorns prestanda beror på drivstegets prestanda och inte motorns.

Eftersom motorn har 5% stegfel blir 20 mikrosteg det maximala antal mikrosteg för sann positionering. Finns det hög friktion bör man inte överstiga 8 mikrosteg. Om styrningen har t.ex. 128 mikrosteg kommer motorn p.g.a. friktionen inte att röra sig på första, andra eller tredje steget. Först efter kanske fyra pulser, rör sig motorn ett odistinkt steg. Styrningen tror att motorn gått fyra steg men i verkligheten kan den vara i en helt annan position. Stegmotorn är som en fjäder och måste bygga upp en viss kraft för att övervinna friktionen.
(2007.03.01, Per Svanberg, Allmotion)
Användarvisningsbild
Henrik
Inlägg: 661
Blev medlem: 26 maj 2003, 23:39:14
Ort: Göteborg
Kontakt:

Inlägg av Henrik »

Trevligt!

När du mikrostegar, har du möjlighet att köra den ena lindningen konstant i 100%? Dvs inte på enklaste sätt två sinus utan... ja du förstår. Borde ge någrå "bonusprocent" mer moment mellan fullstegen.
Har själv aldrig haft chansen att jämför på ett bra sätt, så jag är nyfiken på om det märks någon skillnad.
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Jadå, det ska nog inte vara några problem. Tyvärr så har jag ju inte moddat mitt ljudkort än, så jag kan inte skicka ut DC, men så fort jag gjort det så skulle jag kunna exprimentera lite. :)
Användarvisningsbild
toffie
Inlägg: 1887
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Stegmotorstyrning (Mjukvara)

Inlägg av toffie »

någon uppdatering på detta? :)
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Re: Stegmotorstyrning (Mjukvara)

Inlägg av chille »

Tyvärr inte. Har ju bara hållt på med styrning direkt från datorn. Men det blev så tråkigt att inte kunna styra något vettigt, typ en CNC-fräs, så det hamnade på hyllan. Det vore ju om man skulle få tummen ur och skriva ett plugin till EMC2 eller hitta något annat användningsområde. 8)

Kanske vore något för mitt hemautomationsprojekt? Styra persiennerna via en stegmotor? :-D
Användarvisningsbild
toffie
Inlägg: 1887
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Stegmotorstyrning (Mjukvara)

Inlägg av toffie »

hehe ja varför inte? ;)
så länge det kommer byggblogg med hundratusentals bilder så är jag nöjd iaf ;)
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Re: Stegmotorstyrning (Mjukvara)

Inlägg av chille »

Jag håller på damma av min hemsida nu. Jag ska se om jag kan få upp lite information om mina projekt. Kan ju i alla fall lägga upp lite källkod och något exempel iaf. 8)
Användarvisningsbild
toffie
Inlägg: 1887
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Stegmotorstyrning (Mjukvara)

Inlägg av toffie »

låter bra det, ser fram emot det! :D
får aldrig nog av byggbloggar, exempel och färdiga projekt.. hehe
Skriv svar