In addition to the CAN Motor PCB, we have developed two other PCBs with Maxon PWM motor support. The PWM PCBs have different form factors from the CAN PCB but share most core features, such as FSR and torque sensor support. The main difference is that one of the PCBs is designed to control a single Maxon motor, while the other is designed to control two.
Files necessary for manufacturing each PCB are located within their respective links: “Maxon Dual Motor PCB Files” and “Maxon Single Motor PCB Files”.
Note that currently support for Maxon motors is intended mainly for end-user customization of the OpenExo platform. We have designed two PCBs which support Maxon motors and have integrated these into the software. There are currently no designs for OpenExo configurations which use the Maxon motors. Thus, if you wish to use the Maxon motors you will need to design your own transmission approaches and end-effectors. Stay tuned for future updates regarding hardware support for these motors.
Motor drivers (also called servo controllers) convert motor commands from the Teensy into current flowing through the motor windings. The Maxon PCBs support the following motor drivers: ESCON 50/5 and ESCON 50/8. Additional motor drivers might also work with the PWM PCBs, given appropriate design modifications. For information on configuring these motor driver boards, refer to the “Configure Maxon Driver Boards”.
Under extreme load conditions, ESCON motor drivers may report errors and pause motor operation. The motor will not resume operation unless reset externally. To ensure smooth operation, Maxon motor support in OpenExo includes a built-in reset utility that requires no user input.
Objective: Re-enable the Maxon motors after error messages.
How it works:
The code is located in Motor.cpp:
void MaxonMotor::maxon_manager(bool manager_active)
Teensy 4.1 scans the ESCON motor driver’s digital output pin. When an error occurs, the “Ready” pin of the ESCON motor driver will toggle to Digital High. Teensy 4.1 detects the error, stops scanning for motor errors and starts counting the elapsed time (t_since_error).
Starting t_since_error = 2 milliseconds, Teensy 4.1 sends the disabling digital signal to the ESCON motor driver’s enable pin.
Starting t_since_error = 10 milliseconds, Teensy 4.1 sends the enabling digital signal to the ESCON motor driver’s enable pin.
At t_since_error = 30 milliseconds, Teensy 4.1 resumes scanning for ESCON motor driver errors and goes back to Step 1.