The initial test session with Bart the robot was a bust. But after reviewing the manual, we realized that a few jumpers needed to be set. These jumpers mark a control board as the end of the daisy-chain, and the end unit is where the NMC protocol’s roll-call procedure started. Bart probably had a few other NMC modules in his prime, and one of them would have been the end because neither of the current-day modules were configured as such. Since neither knew to act as the end unit, there was no module to respond to the start of the roll-call procedure, and NMC communication fails.
Once we marked our current-day motor control module as the end of the chain, the NMC roll-call was successful and our NMC test program was able to communicate with the boards. We were able to obtain readings from the encoder, and see it respond as we rotated the wheels by hand. That got us excited, and the first few motor commands we sent resulted in motor movement which got us even more excited.
Sadly, that initial enthusiasm was dampened by further experimentation. We tried to understand how the motor commands translated to actual motor movement but our experimentation returned very confusing results. The motors would work well on one move, and when we tweaked what we thought was a single small variable, it does something completely and unpredictably different.
Eventually we fell back to sending the same command over and over, and confirmed that the controller does not do the same thing in response. Same command sent repeatedly would result in wildly different speeds each time. Sometimes it even tries to spin the motor in the opposite direction resulting in an error condition and reset.
And every time we experienced a reset, the board would not consistently reconnect to the computer software. We would frequently have to disconnect and power cycle everything before we could resume experimentation.
Our hypothesis is that these control boards were left on Bart – and not salvaged for his successor – because they were malfunctioning. It’s just as likely something on the board degraded in the past 17 years. Either way, an unpredictable motor control board won’t do Bart any good. These closed-loop motor controllers would have been fantastic if we could get them running, so it was worth a bit of time and money to try them out. But now that we have our answer, it’s time to leave them behind.