Welcome! Log In Create A New Profile

Advanced

Stepper Motor Driver Redesign (V3.0?)

Posted by Protonite 
Stepper Motor Driver Redesign (V3.0?)
August 22, 2009 06:07AM
Hello there.

If you followed my other thread [dev.forums.reprap.org] about EMC you probably already know that i want make my own improved electronics.
In this thread i'll keep you posted about my progress, (almost like a blog) and of course try to get some community feedback to see if my ideas are messing with the bigger picture or if you guys have even better input. Keep in mind that i don't have a working robot as of now, so my ideas and improvements may be more from a theoretical nature and i always like input from the people who actually have a running system.

Now, to make it easyer for my design to get accepted, one thing that i want to do is keeping all the interfaces compatible with current gen3 reprap electronics. I think this is not a big problem. The interfaces seem to make sense as is and i don't see any immediate need to change something there.
Another important thing is to keep hardware price low, so even tho i'd like to use more layers in the PCB, two layers is the limit here. On a sidenote, i'll try to make the layout millable (track and gap size) and not put any vias underneath components. (You can make simple "wire thru hole contacts" for vias, much easyer when etching/milling the board at home.)

Another thing i have to keep in mind is the problems i've already picked up from the users of the current 2.3 release, and this is something i'd like to gather in this posting by editing a list. Let's get this one started now, and please keep me posted on problems i missed:

Problems with current V2.3-r1 electronics
- SMD electrolyte capacitors can be tricky to solder (especially on the hot plate). Using THT pads or use SMD tantalum capacitors to solve this problem.

end of list

The first part i'm looking at is the currently used driver circuit, the A3982.
Basically i do like this circuit, as it helps to keep everything simple and stupid. One IC, no firmware, easy to interface. Very nice. But, is there something better and maybe even cheaper out there? I did not invest a lot of time here to evaluate a ton of different substitutes, just invested about and hour or two checking the big semiconductor manufacturers current product lines. So far i've found some very interesting circuit from TI, the DRV8811 [focus.ti.com] .
What i like about this circuit, and why i would use this one?
- Same or better electrical characteristics (2.5A per coil, 38V voltage)
- Way better general circuit functionality (up to 1/8th microstepping)
- Allows you to set a lot more parameters (decay modes and timing)
- Availability: TI had no problem sending me 10 samples of the IC. smiling smiley Listed on Digikey in stock, unfortunately not on Farnell.
- Price: Cheaper than A3982. (Digikey single unit price: DRV8811 4.05$; A3982 5.81$)

So, i'd say this is the circuit i'll be using, unless someone has seen something better or points out some very specific needs i have to consider.

Another part i've already pointed at is improved EMC design. Not to much to tell you here, wait until i've drawn up some schematics to show you what i have in mind.

Some other stuff i'd like to change is SMD component sizes. Do think it would be a problem going one or two steps smaller than 1206 (0805 or 0603)? I am used to solder 0603 components by hand (getting into 0402 already), and if you use the hot plate, the difference between 1206, 0805 or 0603 should not really be that big of an issue to handle. The components should get pulled into position as long as the pad geometry is good.

And another thing that bugs me a little is that there is a 5V linear regulator on a lot of boards to supply logic circuits from the 12V line. As the current powersupply is an ATX type anyway, and we even have the standard molex plug supplying the 12V together with the unused 5V to the board, i think it's easy to see that this circuit is pretty much a waste of room, energy and money. As long as there is a low pass filter at the 5V input, you should not get interference picked up from the 12V power wire. From what i can tell now, the 100µF electrolytic capacitors can easily be replaced by something smaller (and probably cheaper). Just to tell you, the big capacitor sitting next to the power input connector (C10 i think) is almost useless anyway, as the layout from v2.3-r1 is just really bad. (Pad of capacitor not in the current path, instead it is connected with a "dead end track"!)

On a sidenote: I will not have internet access over the next two weeks except for the weekends (vacations). So, if you have any questions, don't expect to have immediate answers from me.


Edit 1+2+3: Added the part about 5V regulator, and some typos/sentences corrected.

Edited 3 time(s). Last edit at 08/22/2009 07:40AM by Protonite.
Re: Stepper Motor Driver Redesign (V3.0?)
August 23, 2009 02:42PM
Just rechecked again how much the difference between a 2-Layer and 4-Layer PCBs is these days, because having 4 layers would definately make some very compact and clean electronics and i would help a lot with reducing EMI problems...
I was using PCBCore to get the following numbers:
(order of only 5 boards, 50x100x1.6mm)
From what i could tell, tooling-costs pretty much explode quite a bit when you go into multilayer (~40$ for 2-layer to 150$ for 4-layer)
Unit price on the other hand does not change that much with more layers, from ~8$ to ~11$ per board.
If i could squeeze out a bigger order, the unit price would of course drop quite a lot, to ~5$ per board, and the tooling-charges would split up to 3$ per board, giving an 8$ price. Think that would be quite okay for a 4-layer PCB, just need to find enough customers to get a big order going... Just to complete the information, the same 50 units order would result into a ~2$ board price, and with the tooling costs included we would stay below 3$ per unit.
(thats about the price the makerbot shop sells there bare pcbs for the stepper driver v2.3)

I've checked out some other prototype pcb services i know from work, but could not find anyone who can compete with the asia prices so far. On the other hand, i have no idea how the quality and delivery looks like with asian manufacturers.
If i would go with an european manufacturer it would probably be Würth, as i already know them from work and so far they always had very competitive pricing and delivered an outstanding quality.

Conclusion: Double the number of layers costs roughly twice as much for the board. On the other hand, with 4 layers the board surface could be minimized, and EMI problems can be reduced to an absolute minimum, so there is some increased value in this technology. But there is of course the downside of cutting out all the guys who would like to mill or etch a board at home. (Hm... make a sandwich of two 2-layer boards if you want to make one yourself? confused smiley And of course, the guys who just want to use the gerber files to send off to a local manufacturer would have to deal with the higher prices too.

Hm... this is getting a bit nasty. Think i could just make this stuff as i want it to be, and share it with you as "deluxe edition", for those lucky guys who don't care too much about the pcb prices. For me, this would be the best solution. smoking smiley
Re: Stepper Motor Driver Redesign (V3.0?)
August 24, 2009 03:54AM
Hey Protonite,
I've just got back from a wedding over the weekend so this is the first chance i've had to read through this and the other thread.

I agree with you totally that the addition of a 5V regulating circuit, when just using the 5V output of the ATX is sufficient, well there goes the two honking big electrolytics. I don't see a purpose to having tantalums, cause from where I see it, they'd be just redundant anyways, just use a 1uF ceramic on the 12V line to remove any (if any) ripple, the 100nF will still need to be there.

I hand solder virtually every day 0402 parts, while this isn't a problem for me, I know from feedback that even 0603 are too small for most people, so i'd say 0805 is the best for size and handling.

That chip you suggested looks good, but will be impossible to solder down the heatsink pad manually, not everyone wants to setup a hot plate, eg me for one (even though I have easy access to one at work), other than that it looks pretty darn good.

Please keep the board at double sided, if 4 layered, and too much heat when reflowing is easy to permanently damage the board beyond repair, see my remark above.
I would prefer seeing a single sided board, this would allow most people to just go to a local electronics store and buy the bits and etch their own board, but i'd completely understand if you don't want to do that.

Lastly, I though about this for quite a while, and was going to pass the idea by Vik in an email cause he wants to setup RepRap kit sets here in NZ. Considering that everyone will need at least 3 driver boards for X, Y and Z axes, it would be better to just have one board with 3 driver circuits on, running off the same power source. I am thinking of doing this with L297/L298 combo as they are just easy to come by.
Might also be an idea to have it within the same dimensions as the motherboard, so that the board plugs in to the motherboard and rests on top of it.

Some minor track rerouting and you'd remove any negligible EMC interference that wouldn't comply with international regulations.


just my feedback from what i've personally seen on the board too.
Re: Stepper Motor Driver Redesign (V3.0?)
August 29, 2009 05:58PM
Thanks for your input Grogyan.

Currently i am still considering 0805 or 0603 component sizes. I still prefer the 0603 size, because i think anyone who can place and solder the DRV8811 can handle these sizes of discrete components too. 0805 may be the better choice for the bigger audience tho, so i'm still not really shure about this. The final decision will probably come in when i have a basic schematic and can go into component placement. There are some easy ways to swap the footprints and see how it works with both sizes. (I'm using professional CAE tools)

For soldering the thermal pad, i think this should not be a huge problem. I'll layout some big enough thermal vias into the pad, so you can easily heat up the pad from the other side of the board with a regular soldering iron and make the connection from the copper to the pad by hand (you can do this after hot plate / reflow soldering the rest of the board if you want to). For industrial fabrication this would not work very well, because most of the solder would flow away from the pad into the vias, but when you can add solder by hand you can just fill up the vias and have quite a good connection to the pad. The only thing to keep in mind here is to go as low as possible with the soldering iron temperature, and do it fast, or you could end up with a damaged circuit. I've done this before for some DC/DC converter circuits, and it did work pretty well.

The the heat required for a 4-layer board is definately a good point. Didn't really think about that. I never used the hot plate soldering so far, either i do it by hand, or in a reflow oven, so i have much more control about temperatures. Single layer isn't really an option for me. Could work if done very carefully but imho, 2 layers should be the minimum for this type of circuit. I do etch 2 layer boards quite often in our small lab where i work. It's not that hard to do, as long as you have a good technique to align both sides to eachother. ( I predrill some 0.3mm holes as position markers before i do the positioning and exposure)

The the last point i want to pick up is the three axes in one idea. You can save quite some connectors (cheaper) and you only have one board for the basic movement of the xyz axes, so this is definately a good concept. Everyone needs these three axes anyway, and if you need some more, you still have the option of using up to 4 Extruder Controller Boards for a special toolhead-design. The connection to the Mainboard would be a lot easyer if you'd have just one larger connector for all the control signals. As i want to stay fully compatible with the old electronics, i'll still use the three 10-pin headers and try to add an optional connector where all the signals are connected to, so we could adapt the mainboard later on. Stacking of the boards is a nice idea too, but from what i can tell you'd need some special connectors to bypass the height of the arduino baord option of the mainboard, for the people who use the seperated controller. Not that easy to get these connectors, and they can get expensive. (I think Samtec (http://samtec.com/) makes such special connectors, but i did not check.)
Another possible option would be to just include the main controller and the interfaces on the same board as the three basic stepper drivers. Would cut deeply into the modular aspect the reprap has seen so far, but because of the parallel stepper driver interfaces and the basic need for a controller and these three axes it looks like a probable way to go from my point of view.

So, there come the question again for my project. Go with compatibility to the current gen3 electronics, or start my own path from ground up and just do whatever i'd like to have for my own robot... I'll think about that next week while i'm serving in military service. Not much else to do anyway... winking smiley (Of course, if suddenly decide to do my own thing, i will share it with the reprap community!)
Re: Stepper Motor Driver Redesign (V3.0?)
August 30, 2009 03:28AM
Leave it at as a separate board, as having one board do most stuff would be very expensive for the casual user how just maybe wants a second 3 axis board.

As for my recommendation to use 0805 over 0603 still stands.

Through hole vias is definitely one way to go, but its not a good idea, as the user will need a very chunk soldering iron to heat up such a large ground plane, though as a solution to that problem, and I haven't check on this, whether its possible to just use a heat sink compound or a conductive heat sink compound to make that thermal connection.

You don't need any special connectors to bypass the height of the Arduino board (though i'm using the Sanguino electronics), just use standard IDE header inline header connectors like those used on the Sanguino 1.2 motherboard. What is important when making it stackable is determining the board to be compatible to stack, and my suggestion is using the Sanguino 1.2 motherboard.

Its always best to have something to work easily with something else, so while the V1.2 driver board is old, it should work alongside with 2.3 and yours, V3.0.

One thing I would do, though this is just my own belief, is to use more ethernet connectors, so from the board to the actual motor should also be an ethernet connector. I realize that the wires of the motor won't fit into an ethernet connector, it is however not difficult to chop the wires off about 50mm from the motor and point to point solder (use heatshrink to cover the individual connections) the ethernet cable to the wires of the motor. This has the extra advantage of suppressing EMI even further as ethernet cable is both shielded ans is a set of twisted pairs, besides looking a whole lot neater.

I dunno what your thoughts are for EMC, though I can say that where I work, we tend to use surface mount filters (essentially a ferrite cored choke with the ferrite grounded), and it appears to be the main EMC, further EMC is done by having a shield covering the whole electronics, but for what we do I think that would be over the top.

Filters and more use of ethernet cable will likely bring down any real barriers to EMC.
Re: Stepper Motor Driver Redesign (V3.0?)
August 30, 2009 01:12PM
Rather then three to a board, how about two?

That way at the most you have spare axis for futher experimentation.
Re: Stepper Motor Driver Redesign (V3.0?)
August 30, 2009 02:42PM
That would be pointless, if you plan on doing experimentation then you just get an individual board.

Also the extruder board supports a stepper so that would be the 4th driver
Re: Stepper Motor Driver Redesign (V3.0?)
August 30, 2009 08:06PM
I though part of the discussion was multiple controllers on the same board to reduce parts count for the interconnects.
Re: Stepper Motor Driver Redesign (V3.0?)
September 03, 2009 03:12PM
Thanks a lot for the mention of the drv8811, just ordered 5 samples smiling smiley As for the idea of all the motor drivers on the same pcb, I don't think its worth it at this point in reprap's development. Firstly, the extra connectors aren't terribly expensive, and I've found three smaller boards are easier to mount to the reprap than one big one. Its also easier to have a hot spare for tinkering, and be able to upgrade to newer electronics slowly. Its probably fine if you intend to make a reprap and not experiment too much, but personally I have 5 different stepper drivers I'm constantly improving, which would be much more complicated with a single board. While of course everyone has different needs, I can't see a single board being a suggested reprap idea in the near future.
Re: Stepper Motor Driver Redesign (V3.0?)
September 03, 2009 05:01PM
Well about single driver boards, if you buy them from MakerBot they are often out of stock, because people always have to buy 3, hence the suggestion of 3 on 1 board.

I forgot to reply earlier about the 2 on 1 board, good thing I didn't, as I have a good point for the spare driver, that being that it gets used on the auto head changer when one is designed for Mendel.

Its my opinion that such a feature should be kept on the extruder board, when the board is redesigned to support auto head changing, as well as having the ability to support up to 2 solenoids as well as its current features.
1 solenoid for the extruded plastic and 1 solenoid for locking and releasing extrusion heads

Features i'd like to tackle after i've built my printer
I have a really good idea of how i'd like to see an auto head changer that could work, but i've digressed, main thing to remember is that the cartesian robot needs 3 driver boards which I feel would be far more useful than maybe supporting a feature that may be a year away from being implemented

My apologies for the long post
Re: Stepper Motor Driver Redesign (V3.0?)
September 12, 2009 05:05PM
Guys

The 5v regulator was in part promoted but the original design spec. Which was that the machine should be able to run from a 12v car battery. Principally so it could be used in far flung places where power other than solar or automotive was rare to non existent.

I understand your thoughts re the 5v regulator per board and have wondered for some time if it would be worth while replacing all those regulators with a board to board 5v rail.

Having one switching and well filtered 5v PSU and supply rail for all would make a lot of sense in terms of economy and efficiency.

On SMD it is worth considering that whilst certain IC's etc are practically SMD only and that folk can hand solder at a push. The amount of effort it takes particularly for the non-practiced is quite high.

If this is extended to the whole board by shrinking the default SMD foot print for the discreet components the likely hood of mass acceptance will be reduced.

WHilst I like SMD and see no reason at all why more use of SMD cannot be made, I would be cautious of reducing the default foot print to something that makes the board design less accessible to those learning the art.

Thoughts for what they are worth.

Cheers

aka47


Necessity hopefully becomes the absentee parent of successfully invented children.
Sorry, only registered users may post in this forum.

Click here to login