im quite new with this robot stuff but very interested to try.
recently i’ve purchased 4wd3 chassis with 4 ghm motors and tires.
i’d like to control it using pic16f877a n hv build my own h-bridge driver…
i wired 2 left motor in parallel and same for right motor and my program works fine for forward and reverse…
the problem is how to turn left and right?
i tried varying speed for left and right and tried reversing the motor direction for left and right but the robot stalled and refuse to move and turn…
I know this is what you believe you have, but double check the motor wiring to be sure the two right motors are in parallel and the two left motors are in parallel. It is an easy mistake to make.
To turn, you only vary the speed or reverse either the right or left side motors. Doing this will either get you a gradual turn or a spin in place rotatation kind of turn.
Do you have everything wired up according to the 4WD3 Assembly Guide? Check all of your wiring, especially of the control setup. Are both motors on each side always turning in the same direction? If not, they they are fighting each other, which would account for the stall when trying to turn.
The motors on each side must be wired in parallel. If you have the front motors wired in parallel and the rear motors wired in parallel, then this would also account for the stall when trying to turn because the front and rear motors would be fighting each other (turning in opposite directions). Double check your motor wiring - it sounds like you may have actually wired the front and rear motors in parallel instead of the right and left motors.
What type of battery are you using to power everything?
Are you sure the H-bridges can supply the needed current? It takes very little current to move forward and reverse, but turning in place draws significantly more current. To test this put a volt meter on the motor and see what is being applied by the H-bridge. If the H-bridge drops voltage when under load, then the voltage making it to the motor will drop too low.
i’ve found out that my robot stalled because i tested it on a carpet surface…
when i placed in on floor, i turn just fine…
i think its due to high friction on carpeted area as opposed to tiles/cement…
hmmm… how do i solve the surface problem?
should i change the tire?
is there anything i can do via programming?
The most readily obvious solution to me would be the physical one. Replace two of the tires - both fronts or both rears - with slicks. You’ll still get a contribution to the inline thrust of the motors, but they’ll be more prone to slide sideways during turns due to their lack of tread. In a way, they’ll operate similar to the “omniwheels as casters” design convention, but without as pronounced a difference between inline thrust and sideways sliding. They may also prove to have a bit more “bite” on very slick surfaces, though a normal accumulation of surface dust may offset this tendency (unless you run it in an extremely clean environment).
Also: I don’t know how the internals and external additions are mounted on your robot, but if you bias the weight towards the wheels with tread, it may tend to make the slick ones more prone to side-slip and give you more positive turning action.
Because it will work on a surface with less friction does not mean the H-bridge is working properly. If the H-bridge has too high of an on resistance it will not provide all of the current to the motors. The only way to know for sure is to measure the voltage on the motors when the robot is turning in place. Or measure the voltage on the motors with the wheels locked in place. This will tell you if the H-bridge is capable of delivering the full current to the motors.