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)
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?