Stegmotorstyrning (Mjukvara)
Postat: 24 juni 2008, 13:39:59
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.
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.