Shop OBEX P1 Docs P2 Docs Learn Events
MC33926 Pololu Dual Motor Controller - Low DutyCycle = High Motor Speed ? — Parallax Forums

MC33926 Pololu Dual Motor Controller - Low DutyCycle = High Motor Speed ?

broboticbrobotic Posts: 3
edited 2012-01-15 20:13 in General Discussion
I just hooked up a MC33926 Dual Motor Controller and I am finding that when I send a low dutycycle (10%) the wheels spin very fast. If I send a high dutycycle (90%) the wheels spin slowly. Anyone know what might be causing this? I am new to this, so I could be missing something obvious. My current configuration is the following:

D1 and D2 are inactive (jumpered)
SLEW (Jumpered)
IN1 and IN2 is used for PWM

Thanks in advance,

Comments

  • ercoerco Posts: 20,259
    edited 2012-01-15 19:49
    Sounds backwards to me. Per Pololu, http://www.pololu.com/catalog/product/1213, Since this board is a carrier for the Freescale Semiconductor MC33926 H-bridge, we recommend careful reading of the MC33926 datasheet (1MB pdf).




    Are you sure your disable lines aren't active? This sounds much like what you describe:
    Disable input: when D1 is high, OUT1 and OUT2 are set to high impedance. A D1 PWM duty cycle of 70% gives a motor duty cycle of 30%. Typically, only one of the two disable pins is used, but the default is for both disable pins to be active.
  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2012-01-15 19:52
    Your PWM signal is inverted. You don't mention the microcontroller you're using, how you've interfaced it to the controller, etc. The specifics would be helpful in this case.

    -- Gordon
  • broboticbrobotic Posts: 3
    edited 2012-01-15 20:13
    Erco, Gordon, - Thanks for the responses. Based on the documentation you should be able to just use IN1 and IN2 for control (to use less pins), by setting both disable lines to inactive. I placed jumpers on both disable lines thinking that would do the trick, but that may be where my problem is?


    I'm using a gangster gadget - Propeller board, and I have the following setup:

    IN1 IN2 (motor2) = pin 5 and 6
    IN1 IN2 (motor1) = pin 7 and 8
    VDD and GND is connected to the MCU


    I'm using the PWM_32_v4.spin object, with the following example:
    'repeat DutyCycle from 0 to 1
    PWM.Duty(7,DutyCycle,5000) '' Ramp Duty cycle up from 0 to 100
    repeat 10000
    repeat 1000000 '' Hold at 100% for a little bit

    'repeat DutyCycle from 1 to 0
    PWM.Duty(7,DutyCycle,5000) '' Ramp Duty cycle down from 100 to 0
    repeat 10000
    repeat 1000000 '' Hold at 0% for a little bit

    Thanks again
Sign In or Register to comment.