Sida 1 av 1

Stegmotorstyrning med EZ-USB

Postat: 27 januari 2007, 23:52:33
av Andax
Då folk är lite kåta på bilder och filmer tänkte jag att det var min tur att dela med mig.

Har i tidigare trådar nämnt att jag labbar lite med USB, närmare bestämt EZ-USB kretsar från Cypress. Det är en mikrokontroller (8051 hybrid) med USB 2.0 interface.

Vad jag gjort är att jag implementerat C-kod som genererar upprampning och stegning av en stegmotor. Man anger target-position, maxhastighet och acceleration så rampar den upp hastigheten och stegar mot sin slutposition där den decelererar ner till 0.

Vidare har jag gjort en wrapper med SWIG för CyAPI (för de som är insatta i hur man kommunicerar med EZUSB i C++) så att jag kan kommunicera med USB enheten från python.

På så vis kan jag enkelt göra testförflyttningar med olika hastigheter och accelerationer.

Kod: Markera allt

steptest = StepMaster()
for i in range(2):
    steptest.moveTo(2000,3000,2000)
    steptest.waitOnIdle();
    time.sleep(1)
    steptest.moveTo(-2000,3000,2000)
    steptest.waitOnIdle();
    time.sleep(1)
moveTo tar argumenten (position, max-hast steg/s, max-acc steg/s/s)

Nu till filmen! FILM

Vad ni ser är ett "rotary table" (vad säger man på svenska? vridbord?) som jag moddat så att det sitter en stegmotor på. En ganska enkel men fungerande adapter som jag fräst till. Stegmotorn är kopplad till en enkel strgmotordrivare (step/dir) som i sin tur är kopplat till EZUSB utvecklingskort.

Frågor eller kommentarer?

Postat: 28 januari 2007, 09:34:35
av PerE
Snyggt.
Det heter rundmatningsbord.
Per

Postat: 28 januari 2007, 11:14:06
av Mindmapper
En sån skulle jag vilja ha till matbordet. Bygga på med talstyrning.

Osten till pappa. :lol:

Postat: 28 januari 2007, 17:23:43
av cykze
SWIG verkar rätt smidigt. Tack för tipset!