Interfacing Issues
- pillagendatron
- Mar 8, 2022
- 1 min read
Friday, March 4th, 2022
The servos that move the suction arm are controlled using PWM. Originally, they were connected directly to the Jetson Nano, but that computer was not able to provide sufficient resolution to correctly set the position of the arm.
The solution was to control the horizontal servo with an Arduino, which can produce a much more reliable PWM signal. To communicate between the Jetson Nano and the Arduino, a parallel interface was used between GPIO pins, and a handshake was used to synchronize the devices.

As it turns out, this also did not work! The Jetson Nano was not setting its GPIO pins to a high level of 3.3V, instead setting them to ~1.5V, which resulted in some indeterminate behaviour. To fix this problem, the parallel interface was removed and replaced with a serial I2C interface. This greatly improved the reliability of the servo control and reduced the number of wires needed!

Comments