When the motor is connected to the motor pins of the motorshield, the voltage drops to zero. When the motor isnt connected the voltage is at the normal level. The motorshield is properly- connected with the arduino, because the right voltage is measured on motorpins. And when the power suply is directly connected to the motors, then they work fine. The motor is the following: 12V 5310 TPM "CIM" Geborstelde Gelijkstroommotor - RobotShop
You didn't post enough information to support our help with this problem. Please post a complete, detailed wiring diagram and identify all the parts, not just the motor.
Was the shield plugged into the Arduino correctly?
Does the shield support two motors?
Was the motor connected to the correct motor shield pins?
Does the sketch address the correct motor pins?
This is the circuit diagram. The dc motor is connected to +M and -M. The source is connected to +B and - B of the motorshield (BTS7960).
This is the code for the program:
// Pin definitions
const int R_PWM = 9;
const int L_PWM = 10;
const int EN = 11;
// Motor speed (0 - 255)
int motorSpeed = 200;
void setup() {
pinMode(R_PWM, OUTPUT);
pinMode(L_PWM, OUTPUT);
pinMode(EN, OUTPUT);
}
void loop() {
// Enable motor driver
digitalWrite(EN, HIGH);
// Motor forward
analogWrite(R_PWM, motorSpeed);
analogWrite(L_PWM, 0);
delay(2000);
// Motor stop
analogWrite(R_PWM, 0);
analogWrite(L_PWM, 0);
delay(2000);
// Motor reverse
analogWrite(R_PWM, 0);
analogWrite(L_PWM, motorSpeed);
delay(2000);
// Disable motor driver (optional, if you want to turn off the driver completely)
// digitalWrite(EN, LOW);
// delay(2000);
}
The problem is that everything is normally connected properly, because a voltage is measured across the motor pins of the motorshield. But when the motor is connected to this, the voltage drops. The motor also does not run through the motorshield, but when connected directly to the source it does. The current cannot be measured by the motor since the voltage becomes zero when the motor is connected. The current is normally okay since the motorshield can pass 43A and the motor, only has 2.7A No Load Current. So the peak current will also be below 43 A. Only the motor is loaded with a 1kg wheel.
Thanks for the response I have added some additional info.
One more tip... when posting code/sketch, be sure to format it and click the < code > button and paste it where it says "type or paste code here" It will look like this:
// Pin definitions
const int R_PWM = 9;
const int L_PWM = 10;
const int EN = 11;
// Motor speed (0 - 255)
int motorSpeed = 200;
void setup() {
pinMode(R_PWM, OUTPUT);
pinMode(L_PWM, OUTPUT);
pinMode(EN, OUTPUT);
}
void loop() {
// Enable motor driver
digitalWrite(EN, HIGH);
// Motor forward
analogWrite(R_PWM, motorSpeed);
analogWrite(L_PWM, 0);
delay(2000);
// Motor stop
analogWrite(R_PWM, 0);
analogWrite(L_PWM, 0);
delay(2000);
// Motor reverse
analogWrite(R_PWM, 0);
analogWrite(L_PWM, motorSpeed);
delay(2000);
// Disable motor driver (optional, if you want to turn off the driver
// completely) digitalWrite(EN, LOW); delay(2000);
}
Does this "Blokkeerstroom: 133 A" mean the motor draws 133 Amperes?
"Blocking current" ?? is that translated to "holding current?" - but 133A... other similar motors are 3.6A with twice the torque.
Looks like the seller is not paying attention to the details!
"Stall Current: 133 AMPs"
Driver may be cutting out on overcurrent surge.
https://www.andymark.com/products/2-5-in-cim-motor
"Block current" refers to the current that flows through a direct current motor (DC motor) when the rotor is blocked and cannot rotate. When a DC motor starts or when the load suddenly increases, the current flowing through the motor can temporarily increase to the block current. This happens because there is much lower resistance in the stator-rotor circuit when the motor is not rotating.
Maby current or voltage limitation: The motor shield may not be able to supply the required current (133A in the case of block current) or voltage to start the motor. Check the specifications of the motor shield to see if it meets the motor's requirements.
Could this be the problem?
Can you explain your project so that I can help you
The project is a tennis ball shooter where 2 spinning wheels shoot the tennis ball away. The final goal is to shoot into six buckets spaced 12m apart (placed in a triangle). This should allow us to control speed of the motors to shoot into the different buckets. The system is controlled with an arduino.
Post a real annotated schematic, not a frizzy. I use that part and it appears there are not enough connections. Also use code tags when posting your program, it makes it readable for all of us.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.