Hello all, I recently made a project where I can drive two motors (brushed DC motor, bipolar stepper motor) with the Adafruit motor shield v2.3 to remotely control my telescope star tracker for "goto" functionality. I am having an issue where whenever I move the stepper motor, the USB connection between the entire rig and my PC drops out and causes many issues on the computer end. I remote control my DSLR camera as well through software called BackyardEOS made for astrophotography, and the software crashed whenever I move the stepper motor; to reset everything I have to go outside and replug the USB hub and power cycle the camera.
I am powering the stepper motor from a 12V battery source, which is also used to power the Arduino as well through the VIN jumper because I am using a long-distance USB connection that cannot reliably supply enough power and is only meant for data transfer. My thought is that perhaps there is an inductive spike happening every time the stepper motor kicks on which somehow is getting injected onto the 5V rail for USB? causing connection instability, however, this shouldn't be the case as the H-bridge drivers for the motors should prevent this kind of kickback inherently. Does anyone have any clues as to what's going on here? and has anyone else experienced this issue with the motor shield?
Here is the schematic:
USB Connection Issues When Using Motor Shield v2.3
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- fsbutko
- Posts: 15
- Joined: Wed May 18, 2016 3:09 pm
- adafruit_support_bill
- Posts: 88145
- Joined: Sat Feb 07, 2009 10:11 am
Re: USB Connection Issues When Using Motor Shield v2.3
The problem is that your Stepper is incompatible with the shield. With a phase resistance of 1.4 ohms, at 12v, it will be trying to pull 8.6A per phase (17.2A total!). In addition to endangering the driver chips on the shield, that is also probably causing the battery voltage to sag and disrupting power to the processor.
Steppers with super-low phase resistance are designed to work with current-limiting 'chopper' type drivers such as the DRV8833.
Steppers with super-low phase resistance are designed to work with current-limiting 'chopper' type drivers such as the DRV8833.
- fsbutko
- Posts: 15
- Joined: Wed May 18, 2016 3:09 pm
Re: USB Connection Issues When Using Motor Shield v2.3
I can't believe I missed this and it was obvious! I found another stepper that has a phase resistance of 6.8Ohms that would draw approximately 1.7amps, which is 30% over the nominal rated current for the TB6612 MOSFET drivers, but certainly not as bad as 8.5amps! It's tricky to find a 12V stepper NEMA17 size that has a phase resistance of around 10-12Ohms. Adafruit sells one that is rated at 350mA, however, I'm afraid this wouldn't give me the torque I need.adafruit_support_bill wrote:The problem is that your Stepper is incompatible with the shield. With a phase resistance of 1.4 ohms, at 12v, it will be trying to pull 8.6A per phase (17.2A total!). In addition to endangering the driver chips on the shield, that is also probably causing the battery voltage to sag and disrupting power to the processor.
Steppers with super-low phase resistance are designed to work with current-limiting 'chopper' type drivers such as the DRV8833.
- adafruit_support_bill
- Posts: 88145
- Joined: Sat Feb 07, 2009 10:11 am
Re: USB Connection Issues When Using Motor Shield v2.3
Current limiting drivers used to be only available in expensive, industrial grade equipment. But there are lots of low-cost options out there now - with motors to match. I suspect it is driven in part by the boom in DIY 3D printers.
For a wider selection of current limiting stepper driver breakout boards, I'd check out www.pololu.com.
For a wider selection of current limiting stepper driver breakout boards, I'd check out www.pololu.com.
- fsbutko
- Posts: 15
- Joined: Wed May 18, 2016 3:09 pm
Re: USB Connection Issues When Using Motor Shield v2.3
@adafruit_support_bill, one important realization I made however is that the schematic leaves out an important detail, my 12V supply is by default limited to 2A, so I was never passing more than 2 amps through the driver shield anyways let alone 8.5amps. However, 2 amps is still at the maximum peak rating for the TB6612. I failed to mention that when using a plain USB cable, I never had the issue, however recently I switched to using a USB over ethernet adapter which routes the USB over a differential signal for long distances. Something about the latter USB connection is less resilient to power brownouts which could be the cause in addition to over-driving the motor shield.
I may just have to probe the 12V and 5V rails on an oscilloscope to see what's happening every time I move the stepper motor.
I may just have to probe the 12V and 5V rails on an oscilloscope to see what's happening every time I move the stepper motor.
- adafruit_support_bill
- Posts: 88145
- Joined: Sat Feb 07, 2009 10:11 am
Re: USB Connection Issues When Using Motor Shield v2.3
The "Peak" rating for the TB6612 is limited to a few milliseconds at most. It is intended to handle DC motor startup current demands. The startup condition for a brushed DC motor is essentially the same as a stall condition - until the rotor actually starts moving.
Most stepping modes energize both windings simultaneously, so the 2A output of the power supply most likely got divided up enough to avoid damage to the TB6612 drivers.
Most stepping modes energize both windings simultaneously, so the 2A output of the power supply most likely got divided up enough to avoid damage to the TB6612 drivers.
Please be positive and constructive with your questions and comments.