Hi we are having trouble getting the motors to turn both directions with the joystick. The motors are capable of moving in both directions, which was confirmed by switching the red and black cables. What is happening is when we connect the motor to port 2, the channel 1/2 jjoystick is supposed to move motor one direction when pushing stick up and the other when pushing the stick down, but we can only get it to turn one direction when pushing the joystick up it rotates the motor. When pushing it down it does nothing. When we push the joystick right again it rotates the same direction, but left nothing happens. We are using the default code. We have tried the following:
1. We updated firmware
2. We tried both simulink and easy c default code.
3. We tried different motors.
4. We tried different wires .
5. We tried a new cortex and joystick.
6. We re calibrated the joystick.

Is the default code meant to do this? Any help appreciated.
Quote 0 0
So, it appears that your motors are mechanically okay based off your information. Have you verified that you are reversing directions in your C-code? 

To change the direction of rotation of the motor, write LOW (0) or HIGH (1) to digital pin 8 (left motor). LOW will make the Zumo Robot move forward and HIGH will reverse it.   

Ex: writeDigitalPin(a, 8, 0); 

0 = forward 
1= backwards
Quote 0 0
I believe they are talking about a BEST robot using VEX Cortex, not a Zumobot.
Quote 0 0
Yes, we are talking about a BEST robot using a vex cortex. Thank you. The only thing left to try( that I can think of) is a new laptop. We were using a windows 8. Not sure if that makes a difference. I'm downloading the software on another laptop with windows 7 today.
Quote 0 0
I am not sure if changing the laptop will make a difference. I would try a few more things before going ahead to a new computer.

Some suggestions:
1) Have you tried the 3/4 joystick?
2) Also, have you tried a program that maps a motor block to a constant negative value (say, -100) and see if this forces the motor to spin in the opposite direction?
3) I am not sure if this will help but have you tried using a Motor Controller cable between the Cortex and the motor to check if that fixes the issue?
4) Do you see a similar behavior with a servo motor? Does a servo rotate in the range of -60 to 60 degrees?

If #2 suggestion gives you the same old behavior, then I would suspect there is some hardware issue.

Quote 0 0
The EasyC default code has been tested, so if that doesn't work, it must be hardware.

The MC#29 motor controller is an "H-bridge"  that should be able to provide both +/- and -/+ voltages, but it is possible to burn out one direction, while the other still works.

  Try swapping MC#29 motor controllers and see if that fixes the problem, or that the problem follows the bad MC#29 where ever you put it. 

  If so, you can ask your Hub for a replacement.   

  Please be very careful with loose motor wires, since touching these wires together will burn out the MC#29 motor controller easily.  
 - use heat shrink tubing over solder joints,
 - use strain-relief to keep motor wires from tugging on motor terminals,  
 - use the provided face-mount motor plates to keep the motors from spinning backwards and winding up the wires.

There is a PTC current limiter, but it takes a couple seconds to trip, while a dead short from touching wires together will burn out in less than one second.
Quote 0 0
OMG!! I had tried two different motor controller cables #29.  I just tried a third one and it works!!! Thank you so much!!
Quote 0 0
  But if you have two MC#29 that are bad in only one direction,
Some of these things are true:
- they were broken when you received them because your hub didn't test them well,
- previous team with that kit did not report a problem to prompt hub to check them,
- your robot wiring has a short and is burning out one side.  

When a previously working MC#29 starts working in only one direction,
its probably because of shorted wiring in your robot.  
Check all the wiring for stray strands of wire before you burn out any more.

Quote 0 0
Thanks. When we were having this problem we didn't even have a robot yet. We were just testing the programming with one motor.
Quote 0 0