I am using an 8 serial servo controller, it is powered by a 6 volt 7 amp gel battery like used in a power wheels car. I have 4 servos connected to it and they and they work fine. They turn on and off some double pull douple throw switches. The power being supplied through the switches are 12 volts dc. They also turn on 2 12 volt dc motors. Every thing works great until the motors are turned on, then i can not supply any more commands to the controller can have to remove power to the controller in order to even use it again. the servos butt up to the DPDT switches. Now if i only control the servos that flip the switches but not turn on the power to the motors, it seems to work ok. Also i have noticed that sometimes i will issue a command to one servo, but 2 or all of them jump or move to some other postion. I am also using the controller in SSC mode, the code i am using has work with these controllers many times, this is the first time with this problem. I have to assume the jumping around is not due to low power as i have a pretty big battery and it has a great charge. I have to believe that the 12 volts power lines or the motors are causing some problems…
LEDs are working fine as far as i can tell, I am using a usb to serial cable to the controller. In the program it is freezing on the line of code that is doing the “write” statement to the serial port. Now everything works fine up to the point the lever switch turns power on to the motors. What i mean is every servo in the diagram is working, i can have it in a loop to just flip the servos from right to left a 1000 times and not have any problems. the second i hit the switch to the lever switch (sends power to motors) the controller board will not take any more commands from the computer. the diagram is not much to look at and is not to scale. the board that has all the servos and DPDT switches actually sits right in between the motors. One thing that i have notices if i move the board with the controller and servos away from the motors the servos do not pace back and forth as much (they move left to right a few positons, kind of like if you did not have enough power) the DPDT switches only reverse polarity, the lever switch is what finishes the connection and makes the motors turn
“LEDs are working fine” doesn’t tell us what they’re doing. Does the green keep flickering with every serial packet even after the servos stop moving? Are red or yellow ever turning on?
In general, what you have should work (though it’s a terrible way to do motor control!). Are you sure everything is wired as you drew it? Perhaps you could post some pictures.
Trust me it is a horrible way to control motors, but being a noob in this area, i was not sure what to do. i had thought about using a relays, but if the motors stalled it said the amps would shoot up over 50 amps and i figured it would blow them. so i went this way. programming is my background just learning robots. If you know a way that i can control the motors with a motor controller and C# please let me know. It has to be cheaper and easier…
On the Lights it is yellow to start, once i start to give it commands it turns green with each command. It never turns red. when the lever switch gives power to motors it would freeze.
Also tonight i added some extenstions to the servos and moved the controller as far away as i could from the motors and everything worked fine. this was true even when i gave power to the motors. I did still have one servo still jerking back and forth when the switch was given power,but it still took valid commands and moved properly. Once or twice when the program did not freeze but the servos did, the green light did flicker with every time i gave it a command, but the servos would not move.
would adding capacitors to the motors help? another thing i read was adding a 4.7k ohm resistors to the signal and ground, for the servos, it was saying that would help with the moving back and forth. would you soldier this on the board at the pins? would that even help?
The caps on the motors should generally help. Regarding the servo controller, when it’s in this state you’re calling freeze, all the LEDs stay off, even if you keep sending data? Do the servos keep holding their positions, or are you able to manually move them?
The switch is not really different than a relay, and chances are, your switch won’t handle 50A, either. If that’s a worst-case number that shouldn’t get approached in normal operation, you could put a fuse in line to protect things in case the motors get stalled. In general, you want a motor controller or speed control (often called ESC for electronic speed controller in the hobby radio control world). A unit that can handle a 12V battery and high current can get expensive (lots of RC stuff runs at lower voltages, around 6-9V), but they’re easy to use since you can just plug it in instead of a servo. (By the way, we don’t carry anything that can do 50A.)
When it freezes up the servos are holding their positions, except the one on the longest extention, that one jitters but holds solid within the range of the jittering which is tiny. only once or twice the led was showing green with each command also in that case the app was not froze. The rest of the time no leds light up. i should be clear the program is what is froze, it never comes back from the write command to the serial port so i should not say the controller is froze. When this happens, i can’t tell if it is the usb to serial cable or the controller but it never takes the command, execute it or return control back to the program.
also
I did double check the stall on the motors is 85amp, i also took another look at a banebot motor controller and the best they have is one that that tops out at 45 amp, but did have motors like what you identified that would be better and could be used with their controller. thanks for getting me to look again. this will be controlled by the controller i have.
If it’s a program on your PC that’s been freezing, you’ve been giving us completely misleading information. The servo controller is just a slave device that should not be capable of making your program stop. It now sounds like the problem is with your program, and if you want to figure out what that problem is, we’d need to know a lot more about the details of the program.
I am confusing everyone, the code is trying to issue the write command to the serial port, but the controller is not accecpting it. It only did this when the motors were turned on. If the motors were never turned on then everything worked fine. I tried the placing of capacitors on the motors and that did the trick. It all seems to be working now. However you have peeked my interest in the ESC way. I have now purchased one for testing and have a question about it, but i will make another thread…
thanks for everyones help, i still feel like a noob, but not as bad
When you first apply power to your motors, the motors will briefly draw copious amounts of current, and this creates a huge and powerful magnetic field depending upon the size of the motors. What you need to do is extend your cables with the switches on, as far away from the motor as you can, well atleast 1 or 2 metres.
the caps will do fine aswell, get some distance from the motors as well. this will prevent any interferance caused from the motors. hope things worked for u