Motors, Microcontroller and Speed Controller are all working together.
After a 3-day headache, with the help of a coworker, we finally got the motors to run with the Arduino UNO. I finally have a further understanding of how this works.
The picture above has 2 VICTORS daisy-chained together powered by a 12VDC power supply. We’re trying to test 2 different types of motors since we’re still not sure which one to use in the final design. Preferably, I like the one with the face mount.
In any case, here’s the basic diagram of the wiring:
I recommend not following the program code because that analogwrite command is not the correct PWM signal that the VICTOR controller wants.
What I’ve found out is that VICTOR controllers wants “Standard RC” type PWM. It turns out that PWM is a commonly misused word in the microcontrollers world. So instead of PWM, VICTORs actually want PPM (Pulse Position Modulation). Many thanks to MITers for clearing this issue up.
In any case, if you’re trying to use VICTORs as speed controllers and you want to interface it with the Arduino, treat the VICTOR as a Servo and send a servo.writeMicroseconds(#val) from 1000us to 2000us where 1500us is the neutral point.
Also, the source of the problem I’ve been having the past few days was very trivial (as it always is). The PWM cable doesn’t line up properly in the VICTOR, so you really have to make sure there is a secure contact. How do you make sure? Wire everything correctly and test it with a working servo code.
Anyway, now I can move on from the electronics and programming, and continue working on the final mechanical design.