Pages: [1] 2   Go Down
Author Topic: Open source driver for stepper motor above 3A  (Read 2458 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

  I'm looking for open source driver for stepper motor above 3A (I'm building cnc router). What I've found so far:

  - https://github.com/synthetos/TinyG/wiki
  - http://www.synthetos.com/wiki/index.php?title=Projects:grblShield
  - http://www.schmalzhaus.com/BigEasyDriver/index.html
  - http://www.piclist.com/techref/io/stepper/linistep/index.htm

  But these drivers are below 3A. This one looks promising (up to 8A)

  - http://www.pminmo.com/mardus-kreutz

  but documentation is weak and I didn't find anything about connecting with arduino.

Emanuel
Logged

South Texas
Offline Offline
Edison Member
*
Karma: 8
Posts: 1025
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Might take a look at this - http://arduino.cc/forum/index.php/topic,84809.0.html

Uses an ATtiny2313 and AVRStudio4 for the final code.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

  Mardus-Kreutz driver uses Attiny2313 also. It looks more mature. But I can't figure out how to connect this to arduino. Anyway, I'm looking for something stable.

Emanuel
Logged

0
Offline Offline
Shannon Member
****
Karma: 215
Posts: 12525
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes those first 4 aren't anything like pokey enough - no single-chip solution will do 3A (the DRV8818 claims 2.5A but
really thats nonsense, it will glow red-hot at that current - 1A is more like it and you need a fan).

The last example is unipolar drive so that's useless...  You absolutely need a bipolar chopper drive for CNC steppers,
unless you don't want rapids!  Think 36 to 80V supply range and 1ohm or less motors to be realistic.

The only way to get 3A nice and cool running is with external MOSFET bridges - I've been working on a 6A design
with 4mOhm SOIC-8 MOSFETs and current hysteresis feedback, and its likely to be open sourced when I'm happy
it works well and have tested with various motors and supply voltages.  Even with 4mOhm MOSFETs it gets a little
warm at 3A - there's no way a DMOS device can manage at those current levels without water-cooling.

I am also working on a slightly simpler version using SOIC-8 dual MOSFETs, so watch this space.
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

  Thanks for your response. I'll be watching. In meantime, what do you think about this driver:

  - http://opencapitalist.org/steppernug-simple-stepper-motor-controller/
  - http://opencapitalist.org/store/steppernug-ose-v1-1-developer-edition/

Emanuel
Logged

0
Offline Offline
Shannon Member
****
Karma: 215
Posts: 12525
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

steppernug - 0.3ohms on resistance at 1.5A - will melt at 3A!  Look for 0.04 ohms or less on-resistance for 3A, 0.01 ohms for 6A...

(A plasma cutter has no cutting loads to worry about, so NEMA17's will do - any RepRap style design is unlikely to be
good for big NEMA23 or 34 motors)
« Last Edit: April 23, 2013, 05:43:58 pm by MarkT » Logged

[ I won't respond to messages, use the forum please ]

St. Louis, Missouri
Offline Offline
Sr. Member
****
Karma: 1
Posts: 279
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

That driver board uses step and direction signals which is the standard for stepper drivers. The AccelStepper library can provide these: http://www.airspayce.com/mikem/arduino/AccelStepper/.
Building high power stepper drivers is not an easy subject. I would reccomend using a commercially available driver and saving yourself a lot of grief. A good selection of affordable drivers can be found here: http://www.automationtechnologiesinc.com/products-page/kl-stepper-drivers.
But I have to wonder why you would want to use an Arduino to control a CNC machine when you can have a full featured control program for free. I use LinuxCNC for my machine: http://linuxcnc.org/. I run it on a hand-me-down P4 computer and it's great. But if you're intent on a minituarized solution there are a number of people working on a version for the Beagle board and Raspberry Pi. I've been told a ready to run distribution will be ready in a matter of weeks.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

  Yankee: I can use a board with LPT instead of arduino, but: 1) it uses usb for communication, so I can plug that into anything, 2) it's arduino smiley, if it brakes I can borrow one from my other project, it's quite universal module 3) grbl looks promising, I don't need real time kernel (I belive), codebase is rather small and simple.

  MarkT: so which motors can I use (max) with this driver or Big Easy Driver?
 
Emanuel
Logged

0
Offline Offline
Shannon Member
****
Karma: 215
Posts: 12525
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

With all MOSFET bridges you need to calculate the heat dissipation from the on-resistances - if the dissipation
is more than the available heat-sinking can cope with the current is too much.   Most H-bridges quote a
maximum that implies water-cooled heatsinking!   So an surface mount H-bridge with 0.35 ohm switches is quoted as
"2.5A max", despite the fact it will dissipate 4.4W (way beyond a surface mount chip using just the board traces to
dissipate heat)

Sometimes this confusion is because the chip is available in several styles of packaging, some with heat-slug and
some without.  Remember two switches are involved so that 0.3 ohm switches means 0.6 ohm total, so if you are
driving a 1ohm motor winding you're wasting 40% of the heat in the chip!
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

  I'm still looking for open source driver for stepper motor above 3A. Any progress in that in the community?

Emanuel
Logged

UK
Offline Offline
Tesla Member
***
Karma: 135
Posts: 7738
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Why not buy an off-the-shelf driver and save yourself a lot of trouble?

...R
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Total noob question:
Can't we pass the pulse signals from the Arduino/GRBL to drive more appropriately sized 'stepper drivers', like a Gecko drive?
I thought that was the idea.

Cheers
Logged

UK
Offline Offline
Tesla Member
***
Karma: 135
Posts: 7738
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Total noob question:
Can't we pass the pulse signals from the Arduino/GRBL to drive more appropriately sized 'stepper drivers', like a Gecko drive?
I thought that was the idea.

Cheers

YES. (seems much more sensible to me)

But I think the OP was interested in designing his own driver.

...R
Logged

0
Offline Offline
Shannon Member
****
Karma: 215
Posts: 12525
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Although its woefully under-documented I've a circuit at solderpad:
http://solderpad.com/markt/stepper-motor-controller/
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Total noob question:
Can't we pass the pulse signals from the Arduino/GRBL to drive more appropriately sized 'stepper drivers', like a Gecko drive?
I thought that was the idea.

Cheers

YES. (seems much more sensible to me)

But I think the OP was interested in designing his own driver.

...R

How about this?

http://www.ebay.com/itm/CNC-step-SIGNAL-BOOSTER-for-STEPPER-MOTOR-DRIVERS-/260359960560?pt=LH_DefaultDomain_0&hash=item3c9ea9b7f0

It's a signal booster and give some isolation between the Arduino and the stepper driver. Probably the only issue we face with getting a standard driver driven with the Arduino.
Logged

Pages: [1] 2   Go Up
Jump to: