adafruit motor shield v2 low torque

Adafruit Ethernet, Motor, Proto, Wave, Datalogger, GPS Shields - etc!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
ams_vu
 
Posts: 4
Joined: Fri Oct 03, 2014 6:18 pm

adafruit motor shield v2 low torque

Post by ams_vu »

Hi,

I am new to both Arduino projects and forum posts...but here goes:

I am currently trying to make a z-stage with user control through a matlab gui. Before moving to matlab, I had the z-stage working very smoothly using an arduino uno, easy driver and stepper motor. I could control speed, number of steps, etc. Then I purchased the motor shield to move to the matlab interface. Now, when I run the motor using the motor shield v2 library and matlab to microstep, even at the highest speed setting of 255, the motor seems to have very low torque and turns very slowly (eventually the motor also heats up). For the most part I am just using the commands stepperSpeed and stepperStep in matlab. Do you have any ideas as to what could be causing this?

I am happy to provide any additional information needed to answer the question.

Thank you for the help!

User avatar
adafruit_support_bill
 
Posts: 88142
Joined: Sat Feb 07, 2009 10:11 am

Re: adafruit motor shield v2 low torque

Post by adafruit_support_bill »

Some detail would be helpful
What motor?
What power supply?
What code are you using?

User avatar
ams_vu
 
Posts: 4
Joined: Fri Oct 03, 2014 6:18 pm

Re: adafruit motor shield v2 low torque

Post by ams_vu »

Thank you for the reply. The motor is a 42BYGH series (NEMA17). I am using a 12V power supply to the power terminal on the motor shield. I also have the USB plugged into my laptop to talk to matlab. As for the code, I have the motor_v2 library uploaded to the arduino. Then, in matlab I run the attached code. Note most of the code is just the structure of the gui. The part that deals with the arduino is essentially the following:

delete(instrfind({'Port'},{'COM3'}));
clear a;
global a;
a = arduino('COM3');

length = str2double(get(handles.length_Input,'String'))

if get(handles.direction,'Value') == 1
dir = 'forward'
else
dir = 'backward'
end

speed = floor(get(handles.speed_Slider,'Value'));
stepperSpeed(a,2,speed)

stepperStep(a,2,dir,'microstep',length)

Hope this helps and look forward to your reply.

User avatar
Franklin97355
 
Posts: 23939
Joined: Mon Apr 21, 2008 2:33 pm

Re: adafruit motor shield v2 low torque

Post by Franklin97355 »

The motor is a 42BYGH series (NEMA17)
Which one there are many. What is the current per phase, reesistance per phase and rated voltage?

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: adafruit motor shield v2 low torque

Post by adafruit_support_mike »

I'm afraid we don't have any in-house experience with Matlab. That tends to be used more in research labs, but is a bit pricey for the hobbyist's workbench.

Having the stepper motors get warm is normal though. Current flows through a stepper's coils even when the rotor is standing still (the magnetic fields hold the rotor in place), and sending DC current through a coil does generate heat pretty quickly.

As a guess, based on the way we've written the library for the Motor Shield, you may have told your control system that the motor has the wrong number of steps per rotation. You might also have it set on a high microstepping ratio rather than using full steps.

User avatar
adafruit_support_bill
 
Posts: 88142
Joined: Sat Feb 07, 2009 10:11 am

Re: adafruit motor shield v2 low torque

Post by adafruit_support_bill »

The motor is a 42BYGH series (NEMA17). I am using a 12V power supply to the power terminal on the motor shield.
That doesn't tell us what we need to know. As Franklin noted, there are many different models in the 42BYGH series and they have different electrical characteristics. We also need to know how much current your 12v supply is capable of supplying to the motor.

And the Matlab code you posted is not the code that actually drives the motor. If you post the code from the Arduino side, we can take a look at that.

User avatar
ams_vu
 
Posts: 4
Joined: Fri Oct 03, 2014 6:18 pm

Re: adafruit motor shield v2 low torque

Post by ams_vu »

I purchased the motor with the z-stage together and the only information provided with the motor is the following
42BYGH series (NEMA17) No:20090920 1.4A 1.8degrees HJ 42BYGHW823AB

Thank you adafruit_support_mike, I will take a look at the stepping more closely.
adafruit_support_bill wrote: We also need to know how much current your 12v supply is capable of supplying to the motor.

And the Matlab code you posted is not the code that actually drives the motor. If you post the code from the Arduino side, we can take a look at that.
I have hooked up an oscillascope to see the output from the origianl easy-driver set up and the signal that would be sent to the motor is just under 12V. As for the code running the Arduino side, I am just using the provided motor_v2 library without any changes.

I apologize if it feels like I am not being very clear, I just am really unfamiliar to all of this. Thank you for your continued help.

User avatar
adafruit_support_bill
 
Posts: 88142
Joined: Sat Feb 07, 2009 10:11 am

Re: adafruit motor shield v2 low torque

Post by adafruit_support_bill »

the only information provided with the motor is the following
42BYGH series (NEMA17) No:20090920 1.4A 1.8degrees HJ 42BYGHW823AB
As you can see, there are quite a few motors in that series. Although none of those numbers match any of the model numbers in the table, the 1.8 degree step angle and 1.4A/phase rating mean it could possibly be the 42BYGH250A
http://www.mecheltron.com/en/product/42 ... ping-motor

That motor does not appear to be compatible with the V2 motor shield. Since the phase resistance is only 2.2 ohms, the motor requires a current limiting driver. If you try to run it with 12v using the V2 motor shield, the motor will try to pull about 5.5A - which is likely to damage both motor and shield.
https://learn.adafruit.com/all-about-st ... he-stepper

The Synthetos boards are both current limiting and should be capable of safely driving your motor.
https://www.adafruit.com/search?q=synthetos&b=1

User avatar
ams_vu
 
Posts: 4
Joined: Fri Oct 03, 2014 6:18 pm

Re: adafruit motor shield v2 low torque

Post by ams_vu »

Thank you for the links and information! I will look into all of this to better understand the limits of my system and how to move forward. Do you happen to know if either of the Synthetos boards speak with matlab like the motor_v2? Or any suggestions for a simple gui platform for those boards in which I could specify speed, number of steps, and start/pause/stop?

User avatar
Franklin97355
 
Posts: 23939
Joined: Mon Apr 21, 2008 2:33 pm

Re: adafruit motor shield v2 low torque

Post by Franklin97355 »

These guys would know if anyone will http://www.synthetos.com/

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino Shields from Adafruit”