Kliment Conversations

From Open Source Ecology
Jump to: navigation, search

Contents

1

Great to hear from you, thanks for responding. You can see more about our work at this TED talk. Our immediate need is 2.5A and up for serious stepper motors for CNC Torch Table Prototype II (prototype I was shown in the TED talk)

http://opensourceecology.org/wiki/File:Table_Frame.JPG

I would like this to be 1-off producible via CNC circuit mill, such as the open source Shapeoko (I'd like to know if you know of any better off-shelf open source variants of a CNC circuit mill?). That is our preferred route for rapid prototyping, until the point where we stabilize a design. In any case, our goal is to make something designed for an off-shelf CNC circuit mill to enable full control of the technology by the user.

Interestingly, I looked up the driver chip and found this immediately - it appears to be open source -

http://www.thingiverse.com/thing:40540

With fully-assembled board available:

https://shop.germanreprap.com/en/Powerlolu-Stepper-Motor-Driverup-to-10A


Can you help us design a prototype driver equivalent of the above that we can mill with a CNC circuit mill? It appears that the component cost would be about $20 per channel in single units?

2

Yep, that's actually based on a design of mine called STOMP that is GPLv3 licensed, so yes, it is open source. I'm not entirely happy with the lack of link to source on the product page, but at least it's available. The 10A is optimistic, and the current is highly dependent on the current sense resistors, so it's not going to do anything like a 2A-10A range. You have to pick a fairly small range of coil currents and match the current sense resistor value to those. So I'll need to know what motors you plan to use it with. It's a very limited chip in that sense, but the price is right.

Can you help us design a prototype driver equivalent of the above that we can mill with a CNC circuit mill? It appears that the component cost would be about $20 per channel in single units?

Component cost can be less than that, the bulk of cost other than the chip and FETs are connectors. I can definitely try to make a single-layer version of it, but it's likely to end up using many jumpers. What sort of trace/space can you get on a shapeoko? Toner transfer might be a better way for prototyping with chips spaced this densely.

3

The datasheet of the A4989 specifies that the reference voltage (Vref) for the current limiter is 0.8-2.0V.

The current limit is I=Vref/(8*Rsens), where Rsens is the resistance of the current sense resistors. These convert the current flowing through the circuit to a voltage that is fed into the A4989's feedback circuit to drive the power control.

So if we use say 0.05 Ohm current sense resistors, as on that board, we have 0.4V of Vref per A of motor current, so we can use motors between 2A and 5A. This requires that the current sense resistor be able to dissipate 0.05 Ohm * (5A)² = 1.25W. The voltage across the current sense resistor may not exceed 1V, which limits its value as well (the maximum current is 1V/Rsens). So if we want to have, say 20A of motor current, then we would need to use extremely small value current sense resistors, for example 0.01 Ohm. We can then have 20A current limiting by setting Vref to 1.6V (1.6V/(8*0.01)(V/A)=20A). However, the driver would then be unusable for any coil currents below 10A (0.8V/(8*0.01)(V/A) = 10A). The resistors would then need a power rating of more than 4W and that 4W of heat will need to be dissipated somehow. Conversely, if we want the driver to run motors with 2.5A coil current, we would need 0.04 Ohm current sense resistors, which would then be unable to run anything over 6.25A.

When using very small value resistors trace resistance of the copper and the solder joints becomes a major issue, making the current control inaccurate. Irregular trace resistance is made worse by milling as it results in uneven surfaces and variable trace widths.

We had the Xylotex 425 oz in motorst - http://www.xylotex.com/Econo4Ax425.htm

These motors have a 2.5A max coil current. If you use microstepping, you would probably be better served by using a TI DRV8825-based driver for them. That way we can keep material costs at single Qs around the $12 mark. I have a design for those, but it's extremely compact and uses a double-sided board with lots of vias. I can send you a sample of this particular driver if you like so you can try and break it. Source is at https://github.com/kliment/cooldrv. I can look into making a millable design for it, but of course it's also a 0.5mm pitch eTSSOP so it's marginal on a mill.

I didn't find a reliable way to do toner transfer. Do you know how to do it?

Yes - using adhesive label backing paper in a laser printer and heat to do the transfer - either a hacked laminator or a clothes iron. The backing paper will fuse to the toner, but only on the surface, whereas the toner will bond fairly strongly to the copper. I've done this successfully with both flexible copper foil and rigid PCBs. 0.1mm trace/space is doable but marginal, and 0.15-0.2 is reliable. For the backing paper, you can buy printable sticker sheets and peel off the stickers.

For milling - .2 mm can be achieved with v-bit, and .5 mm with mill bit.

.2mm wide traces or .2mm between traces? .2 is marginal but sufficient, might give bad yields. The core problem is that the A4989 is a 38 pin TSSOP, with 0.5mm pitch. This means that the pads need to be 0.25mm wide or so, and have 0.25mm wide spaces between them. While you can do traces 0.25mm apart with a mill, and it works some of the time, doing many of them close to each other tends to delaminate the corners of the pads so the chip cannot sit on them flat for reflow. Since we have no solder mask on those boards either, it gets really unreliable to solder fine pitch stuff.

Are you familiar with Voronoi Toolpaths, and do you think that would help?

Voronoi toolpaths help dramatically in increasing speed - they minimize the area you have to mill. They don't help at all in terms of spacing traces closer.

4

Ok, so regarding milling - sounds like forget about it unless we can find a socket that allows us to space things out farther? Are 38 pin TSSOP sockets for spacing things out farther available on the market?

I believe so, I'll look into it. Here is the first one I found: http://www.proto-advantage.com/store/product_info.php?products_id=2200043 but if we're paying that much we might as well outsource the PCB.


Let's take this further on Skype, my handle is marcin_ose - what is yours? I will start using the opensourceecology IRC. Is there a way to recover past conversations if I log off or lose connection, i'm new to IRC?

I have an irssi instance running on a virtual private server (shell account) that is always logged in and that keeps logs. I connect to that, and that's how I have persistent conversations. For more info on this setup, see http://quadpoint.org/articles/irssi/

5

I believe so, I'll look into it. Here is the first one I found: http://www.proto-advantage.com/store/product_info.php?products_id=2200043 but if we're paying that much we might as well outsource the PCB.

Ok. This looks manageable. $7 for a solution - and we can get that down to pennies once we make that ourselves - or just outsource that part for mass fabrication.

If that is the case - that brings the A4989 back on the table? Or the trace resistance issue is a show-stopper? It would be nice to have a system that can do more than 2.5A.

I think we should sit down and evaluate pros and cons of the specific chip choice.

And what do you estimate that the performance would be like with the simple Pololu - 2.2A?

I ould I just get 2.2/2.5 of the max power? That is still quite acceptable, as the typical cutting speeds of say 70 ipm for 1/4" steel should not be a problem, and the 30 ipm of 1/2" steel will definitely not be a problem - correct?

I believe power is proporitional to v^3, so the speed with 2.2A compared to 2.5A driving the motor would be (2.2/2.5)^3 - or 68% of max - correct? That appears that it would give us plenty of speed if we have .68 of the max speed.

We can do that as a backup plan, but we do want to probably do the Powerlolu - as it would be a direct replacement of the Pololu - correct? That would allow us to use the same RAMPS module for higher power purposes. What do you think of this approach?

6

Ok. This looks manageable. $7 for a solution - and we can get that down to pennies once we make that ourselves - or just outsource that part for mass fabrication.

If we outsource that part we might as well outsource the whole thing and drop the milling idea, price difference is negligible.

If that is the case - that brings the A4989 back on the table? Or the trace resistance issue is a show-stopper? It would be nice to have a system that can do more than 2.5A.

The A4989 is definitely usable, it's just not going to reasonably do 10A. 2-5 should be no problem.


I think we should sit down and evaluate pros and cons of the specific chip choice.

And what do you estimate that the performance would be like with the simple Pololu - 2.2A?

The DRV8825 can just manage that. The pololus cannot - they blow up at 2 and are not really usable beyond 1.2.


Would I just get 2.2/2.5 of the max power? That is still quite acceptable, as the typical cutting speeds of say 70 ipm for 1/4" steel should not be a problem, and the 30 ipm of 1/2" steel will definitely not be a problem - correct?

I believe power is proporitional to v^3, so the speed with 2.2A compared to 2.5A driving the motor would be (2.2/2.5)^3 - or 68% of max - correct? That appears that it would give us plenty of speed if we have .68 of the max speed.

With microstepping, you have sqrt(2)/2 of max rated current in the coils, which fits the DRV8825 quite well. You don't want to be running them at max power as you lose precision positioning that way.


We can do that as a backup plan, but we do want to probably do the Powerlolu - as it would be a direct replacement of the Pololu - correct? That would allow us to use the same RAMPS module for higher power purposes. What do you think of this approach?

It is not a direct replacement - it has a very different pinout and power requirements. The cooldrv driver I linked you to earlier would be a direct replacement. The powerlolu has the same logic interface, but needs to be powered off-board.