the MC33926 works great with the Uno but the with the 101 it moved once and since then says fault. (demo program) I think the problem is, that there is no PWM on pin 10. I only need one motor but I need more than two interrupts. Is it possible to make the board work with the 101? Or is my 101 just broken?
It sounds like you are using the Pololu Dual MC33936 Motor Driver Shield for Arduino (not the Dual MC33926 Motor Driver Carrier version). You are correct about pin 10 not outputting PWM signals on the Arduino 101. According to the Arduino 101’s product page on the Arduino website, only pins 3, 5, 6, and 9 provide PWM output, so you will need to remap M2PWM pin to a different pin (by default the Arduino library for the Pololu Dual MC33926 Motor Driver Shield defines pin 10 as M2PWM). It should be possible to make the dual MC33926 Arduino Shield work with the Arduino 101 in this way, but we have not tried.
Thank you for the quick reply!
I was a bit confused because the documentation says, that the PWM pins can’t be remapped.
I have also encountered another strange behaviour. I am using a 37Dx73L 131:1 motor but I can’t set it faster than 350. At anything above 350 the motor moves for a second and then the board shuts down. I am powering the board with 12V and I would expect the board to just send the full 12V to the motor at speed 400. The current reading at 350 doesn’t exceed 50mA.
It is not clear to me if you got the dual MC33926 motor driver shield to work with the Arduino 101. Are you using the motor driver shield or just the Arduino 101 to control your DC motor? Can you elaborate what you mean by “the board shuts down” (e.g. no LEDs light up)? You mentioned that your motor’s current draw does not exceed 50mA when setting the motor to run close to its max speed, which is quite low for a 37D motor. What kind of power supply are you using? Can you post pictures of your setup clearly showing how everything is connected?
I am still using the Uno. I made a video of the setup:
Often the motor just stops working. Especially on higher speeds. Strangely letting the slider go to the right is way more stable than going to the left. If it stops going to the left, going to the right is often still possible.
First I thought the problem is the step-up-down converter (later I want to power the slider with a lead battery) but it stays the same if I power the board directly.
Then I thought the very long wire to the left end switch might pick up electro magnetism from the motor but it stays the same if I disable the end switches.
I have the feeling it gets worse if the board runs longer. So, it might be an overheating problem but the current readings never exceed a 100mA.
AHH Sorry! Please disregard the last post. I tested everything thoroughly for a second time. Turns out the end switches are the problem. I still doesn’t work stable above 350 but I don’t need these speeds anyway. How can I shield the wires of the end switches from motor interferences? The wire to the left end switch is 250cm long. So, basically a very big antenna.
If you have access to an oscilloscope, you could try to verify that the end switches are causing the issue by monitoring their input signal? If the switches are producing false input signals, then you could try adding a stronger pull-up or pull-down resistor to them to see if that solves the problem. You might also consider adding a filter, either in hardware or software, or using ferrite beads on the wires. If you suspect noise from the motors is part of the issue, you could also try some of the tips from the “Dealing with Motor Noise” section in the Application Note: Using the Motor Driver on the 3pi Robot and Orangutan Robot Controllers guide.
Thank you! Adding a ferrite ring greatly improved the stability. It’s not a 100% yet but workable. By stronger pull down resistor, do you mean a higher resistance or a stronger pull down? Right now I am using 10k. So, maybe 4.7k?
I am using the motor driver to do some neat experiments with perspective:
Thanks for sharing your video with us! Looks like a cool project.
By “stronger pull-down resistor”, I mean lower resistance. The 10K ohm pull-down resistor that you are using is already a strong pull-down, but you could use a 4.7K ohm to see if your setup becomes more stable.