tank controller based on ESP32 WIFI chip. enables PID speed control as well as postion based control & measurements
- the
PlatformIO
plugin has a bug that add a unreadable char at the end of each file. It has been walked around by sendinglength-1
of the origin file to eliminate this problem, but still stupid.
I use this toy tank to do some experiments on Argos SDR platform. There're some requirements I'm considering:
- Accurate position track. As we do experiments on LTE, which includes a 3.5GHz band with wavelength of ~ 10cm, it's necessary for me to use the magnetic coding to compute the distance moved.
- Speed control. We do experiments for mobile scenario of MIMO & BF, it must move on a constant speed we defined.
- Easy config. To control the tank on your phone, just a few buttons and input window. You could just flash the firmware onto ESP32 and run it! (probably you need to indicate your WIFI SSID & password in the source code)
just implement a web server with POST and GET http supported.
not implement a WebSocket version though it might be better with bidirectional communication
using MATLAB AutotunerPID Toolkit
it has been ported to Arduino "https://playground.arduino.cc/Code/PIDAutotuneLibrary"
Arduino
ESP32 for Arduino
PlatformIO (on vscode), this is for embedding html file into firmware automatically