Go Down

Topic: Open source driver for stepper motor above 3A (Read 2771 times) previous topic - next topic

emanuelk

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

kf2qd

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.

emanuelk

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

MarkT

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.
[ I won't respond to messages, use the forum please ]

emanuelk

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

MarkT

#5
Apr 24, 2013, 12:42 am Last Edit: Apr 24, 2013, 12:43 am by MarkT Reason: 1
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)
[ I won't respond to messages, use the forum please ]

Yankee

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.

emanuelk

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 :), 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

MarkT

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!
[ I won't respond to messages, use the forum please ]

emanuelk

Hi,

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

Emanuel

Robin2

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

...R

captbill

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

Robin2


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

MarkT

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

captbill



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.

Go Up