USB Connection Issues When Using Motor Shield v2.3

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
fsbutko
 
Posts: 15
Joined: Wed May 18, 2016 3:09 pm

USB Connection Issues When Using Motor Shield v2.3

Post by fsbutko »

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:
schematic.pdf
(78.98 KiB) Downloaded 9 times

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

Re: USB Connection Issues When Using Motor Shield v2.3

Post by adafruit_support_bill »

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.

User avatar
fsbutko
 
Posts: 15
Joined: Wed May 18, 2016 3:09 pm

Re: USB Connection Issues When Using Motor Shield v2.3

Post by fsbutko »

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.
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.

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

Re: USB Connection Issues When Using Motor Shield v2.3

Post by adafruit_support_bill »

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.

User avatar
fsbutko
 
Posts: 15
Joined: Wed May 18, 2016 3:09 pm

Re: USB Connection Issues When Using Motor Shield v2.3

Post by fsbutko »

@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.

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

Re: USB Connection Issues When Using Motor Shield v2.3

Post by adafruit_support_bill »

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.

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

Return to “Arduino Shields from Adafruit”