Skip to content

6 axis robotic arm controller - last mbed compiler version of software

Notifications You must be signed in to change notification settings

jebradshaw/AxisController_20220609_Last

Repository files navigation

AxisController_20220609_Last

6 axis robotic arm controller - last mbed compiler version of software

image

The Axis Class has 3 dependencies (MotCon, LS7366LIB, and PID). The class encapsulates the required functionality of controlling a DC motor with encoder feedback through pin assignments, an SPI bus, and a pointer for the limit switch source. The LS7366 encoder interface IC off-loads the critical time and counting requirements from the processor using an SPI bus interface for the class. The Axis class then uses a state machine to perform trapezoidal movement profiles with a Ticker class. Parameters can be adjusted through the serial interface using a FT232RL USB to serial interface IC for computer communication. The MotCon class is a basic class that defines a PWM output pin and a single direction signal intended to control an H-Bridge motor driver IC. I used an MC33926 motor driver for each motor which are rated at 5.0-28V and 5.0 amp peak, with an RDSon max resistance of 225 milli-ohms. This part also has 3.0V to 5V TTL/CMOS inputs logic levels and various protection circuitry on board. I also liked this particular motor driver chip because you can use a PWM frequency of up to 20KHz, getting the frequency out of the audio range.

image

Above is the prototype for the controller. Originally, a PCF8574 I/O expander was used to read the limit switches by the I2C bus. This has now been re-written to use 6 external interrupts directly for the limit/homing switches. Six motor driver breakout boards using the MC33926 motor driver chip were used to drive the motors. I use the mbed online compiler to generate the .bin file, use bin2hex to convert it and upload the hex file using Flash Magic to the processor with the serial bootloader. I prefer to use the FT232RL usb to serial converter IC for PC comms due to the high level of reliability and USB driver support (typically already built in Windows 7+). I've started putting this on a PCB and hope to finish by the end of the month (Dec 2015). Well 3 months later, I've completed the first PCB prototype. A few minor errors but it's working!!

image Express PCB Artwork

image Inner Power Layer Breakup for motor current

image First Prototype

image

image

image

image

image

image

Python script for converting mbed .bin output to intel hex format (no bin2hex 64K limit) https://pypi.python.org/pypi/IntelHex Example batch script for speeding up conversion process for FlashMagic (http://www.flashmagictool.com/) programming of board

Serial Interface at 115200 (8N1) baud using a virtual COM port (USB to serial converter). Uses FTDI driver for FT232RL chipset (built into Windows 7+). Command Set can be obtained by sending a question mark ‘?’.

About

6 axis robotic arm controller - last mbed compiler version of software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published