Time Synchronous movement of stepper motors utilizing ESP32 microcontrollers
Examensarbete på kandidatnivå
ith the Internet of Things an increasing number of devices features micro proces sors with wireless communication capabilities. Devices ranging from toothbrushes to door locks utilizes wireless communication for a wide range of applications. This the sis is focused on developing a wireless communication module for the open source NinjaStep stepper motor driver. The application is developed as a submodule in the NinjaStep firmware. The NinjaStep firmware is developed for the ESP32 mi croprocessor and this project utilizes Espressif’s ESP-NOW wireless communication protocol. In the future commands is to be received from a G-CODE parser and put in a command queue in the master unit which holds the commands of all system entities. To ensure synchronous movements all units must be running the same internal clock which is distributed from the master unit. To ensure millisecond ac curacy an internal phase locked loop style clock regulator was planned but due to time constraints it could not be realized. In short, the finished project features a CLI setup sequence.This includes defining units as master/slave, searching for nearby drivers and adding or removing units from the system as well as displaying a system list. Queues include a system wide command queue which holds all parsed G-CODE commands for further distribu tion. It further employs a driver unique work queue storing wirelessly distributed commands for execution. In addition, the system has functionality to distribute timestamps to enable internal clock sync.
ESP32 , Espressif , ESP-NOW , NinjaStep , Wireless , Stepper Motors