Hur man driva Dynamixel AX-12A servon (med en RaspberryPi) (5 / 6 steg)
Steg 5: Libs och Libs
Först testade jag gå runt med hjälp av en Arduino och bibliotek finns här.
Men eftersom jag behövde så småningom att ansluta mitt projekt till internet, och hålla koll på sitt tillstånd mellan omstarter, beslöt jag att i stället använda en Raspberry Pi som registeransvarig.
Jag började testa detta bibliotek för att kontrollera motorerna, men sedan besluta att skriva det att göra det mer objektorienterat, och att ha några av funktionerna som Arduino biblioteket.
Den resulterande AX-12A Python-biblioteken för Raspberry Pi är på github.
Visar sig timingen mellan skicka ett kommando och få sitt svar är ganska kritisk och känslig.
Viss mängd tid spenderades tweaking förskjutningsvärden för att minimera antalet avbrutna kommandon, men det känns som det kan fortfarande finnas vissa problem med denna aspekt av biblioteket. Jag är fortfarande inte säker på vad som orsakar vissa kommandon att aldrig komma till motorerna (det kan ha något att göra med tidpunkten för Rx/Tx riktning signalen), men för nu kan jag minska antalet missade kommandon genom att fånga en timeout undantag i det seriella Python-biblioteket, och skicka kommandot.