• This Forum is for adults 18 years of age or over. By continuing to use this Forum you are confirming that you are 18 or older. No content shall be viewed by any person under 18 in California.

Induction brass annealer redux

750w makes a difference!

For those of you working on Arduino implementations, I'm making a shield for mine that breaks all the appropriate pins into headers for easy attachment of various sensors, relays, etc. If you're familiar with Eagle, you can download the full project here and check out a Bill of Materials: https://github.com/davexre/Annealer-PCB (the documentation here isn't 100% complete, yet, but it's a decent start). It's designed to be a normal Arduino Uno size shield, so it should plug right on top of the standard Arduino most folks are using.

I'm working on a second rev of the board to overcome some limitations in the first version (that won't affect most folks). I'm definitely interested in some feedback, if anyone's interested. One thing that pops to mind is which functions should be on the Arduino's external interrupt pins (2 and 3)? Right now, I have them broken out to auxiliary functions (which means they could be used any way you want, regardless of the label). The board I'm using supports external interrupts on all pins (but has other limitations), so I laid things out sort of pell mell initially. If there's a better pin assignment for Unos that you'd rather see, let me know!

And, I'm going to have some extras - I have to fab them 3 at a time. I need to get one of these assembled to make sure it actually works the way I expect it to, and that there aren't any other issues before I fab the next revision. Once I do that, I'll have 2 extras of the first revision that I'd be happy to send out to someone who needs them. Shoot me a PM, if you're interested.

Also, now that I have some experience with Eagle, I'm happy to help anyone get started, or to whip up a design for fabrication. The shields cost me less than $10/ea (pricing is based on size). If you have a wire wrapped or hand built board that you want to move into something cleaner, this is a great way to do it!

KpO96te.jpg

KGOauky.jpg
 
Dave,
It appears you have a number of places that might be considered “jumpers” with a default setting as in cur-bypass. If that’s what they are, I have thousands of very small SPDT switches that could be used. Just a thought.
 
Dave,
It appears you have a number of places that might be considered “jumpers” with a default setting as in cur-bypass. If that’s what they are, I have thousands of very small SPDT switches that could be used. Just a thought.

Good eye - yeah, that's exactly what they are. Solderable jumpers, with default settings. Switches could also make sense - the one advantage to a solderable jumper, in my mind, is that it never ends up set the wrong way accidentally. Once set, it stays put. I could've implemented it using traditional jumper caps, too. Wouldn't be a hard to change the design to accommodate a switch or jumpers, honestly - I could do one up that way, if you have a need?

On the link to the board design on GitHub, the README file has notes on all those jumpers, settings, etc. A person could easily design a little bit more compact shield just like this that only uses one reference voltage. The board I'm using actually has a 2V reference for the ADCs, so I decided to set the design up to allow it to also be used on 3.3 and 5v boards, thus most of the jumpers. On a regular 5v Arduino, you don't need most of that stuff.
 
I don’t have a need, I built a unit based on a Fluxeon board and designed a control board using a PIC to decode a 3 position thumb wheel switch for time (9.99 seconds max). It also controls turn-on of the annealer when a case is detected and opens the trap door. I did this 4 or 5 years ago (I think). It’s been posted somewhere on Accurate Shooter with pictures.
 
I don’t have a need, I built a unit based on a Fluxeon board and designed a control board using a PIC to decode a 3 position thumb wheel switch for time (9.99 seconds max). It also controls turn-on of the annealer when a case is detected and opens the trap door. I did this 4 or 5 years ago (I think). It’s been posted somewhere on Accurate Shooter with pictures.

I'm pretty sure I saw that at some point - it's been a hot minute, though... ha ha. Heck, my basic GinaErick annealer has been humming along using a Sestos timer for a couple years, now. I just wanted to play with Arduino, and this seemed like a cool way to start :-)
 
@davexre I ordered a "blank" (proto) shield with my DUE, in order to do exactly this!!

I started out that way, too, with a SparkFun Protoshield. It works well, but by the time I finished with it, it looks like someone soldered wire spaghetti onto a board. The PCB is my way of cleaning up that mess :-)
 
I have some references on post #43 on page 3 of this thread but my pictures are X'd out. Don't know why, they weren't xxx rated!
 
P = tMaxAv * (F + K * (tMaxAv-90)*0.1);

F = 0.48;
K = -0.016;
P => proposal in 10/s;
tMaxAv => time max current average in 10/s;

tMaxAv should be in a range from 6 to 13 sec (choose V ZVS accordingly)

@LR88

Thanks for sharing this formula... Just a few questions...

When you determined tMaxAv: The current will go up and peak, as soon as the current starts to drop, then you have your tMax… How much should the current drop away from "peak" before you grab the time? Do you use a % here? Say 5% drop from peak current?

You made the comment: tMaxAv should be in a range from 6 to 13 sec (choose V ZVS accordingly)

In other words, you are saying that one should adjust V of ZVS to achieve this time... Doe you only adjust this V once, and thereafter it will be fine for a variety of cases? Or will you have to adjust this voltage with different cases? If this is the case, then this is not ideal... But I understand that that this time range could also be "adjusted" using the case height in coil??

Thanks :)
 
I logged some data on 3 different cases (Norma 6.5x55, Norma .308 and Lapua 6.5x47) using Serial.print to print a row of comma separated values for every 1/10 second of the first second of a "normal" annealing. The rows contained Annealing target time (What I consider good) and the currents measured every 1/10 second.
I copy pasted the values into an online multiple regression analysis tool (http://www.xuru.org/rt/MLR.asp#CopyPaste) and started to fiddle with the data (too many columns, not enough rows). I had to remove some of the columns and decided to test what would happen if I only used 3 current measurements - and picked the ones made at 0.2, 0.6 and 1.0 second. The results were horrible, half of the calculated (predicted) target times were off by 3-4 tenths of a second. Then I decided to add info on caliber (diameter) and placement in coil (elevation of the bottom support of the case - the floor/table..) - and the errors of the predicted times compared to expected (the known good ones) were reduced to few hundreds of a second or a lot less. So, with the limited amount of data, and only having tested on 3 different types of cases, a model has been made, which as it seems right now, can predict with certainty, the "perfect" annealing time of any case among the three types I tested ;)
More testing to do in the weekend.
y is target time (ms)
x1 is expression for location in coil, I use some "riser" plates, in 3 thicknesses, 1, 2, and 3, 6 is 1+2+3, 7 is 2x3+1
x2 is caliber diameter
x3, x4 and x5 are currents measured at 0.2, 0.6 and 1.0 s
View attachment 1182187

You can't just add random values to make the formula work (or look pretty)... The case height that you have added should not be taken into consideration with this formula. The length of the case (which affects case height) should not make a difference, because theoretically the case neck will be at the same height in the coil for all different cases, irrespective of the case total length. From an engineering point of view, this is very wrong :) :) :)

If you need to add data to the formula, then you need to add variables that are directly associated with the annealing process... Things like case neck diameter, case neck thickness, shoulder distance from mouth etc.

But this is just my opinion ;)
 
The bigger problem is solving for a time that you "consider good". What AMP did is to determine "good" via metallurgical testing. They then found a way of solving for when that state was achieved in their annealer (likely based, in part, on monitoring current draw and backing off from the inflection point).
 
@LR88
You made the comment: tMaxAv should be in a range from 6 to 13 sec (choose V ZVS accordingly)

In other words, you are saying that one should adjust V of ZVS to achieve this time... Doe you only adjust this V once, and thereafter it will be fine for a variety of cases? Or will you have to adjust this voltage with different cases? If this is the case, then this is not ideal... But I understand that that this time range could also be "adjusted" using the case height in coil??

This is just some rambling - nothing incredibly scientific, just jotting down some thoughts.

I haven't done any real testing around this... but my guess would be that you can pick a rough "height in coil" for all the brass that you anneal, and - based on that height - find a working voltage that puts your tMaxAv for all (or at least most) of them within range. Basically, position each case so that the case mouth is always in a particular spot (even with a particular coil winding, or something). Unless you're only annealing cases of one basic length (ie, say medium capacity, short action rifle cases only), you're going to have to adjust height between calibers anyway, so it's one way to help control things, too.

I'd also guess that you might find an outlier or two, and have to adjust voltage based on that. I agree, that's not ideal, but it's a limit with the solution @LR88 proposes.

There might be another set of formula that can be devised that don't share that limitation (ie, that'll work for a greater range of times). Somewhere, I devised a graph of the times that LR88's formula created, and it didn't look like it totally went to hell below 6 seconds, but tMaxAv and the proposed anneal time do get awful close to one another (4 second tMaxAv predicts 2.47 second anneal time).
 
I’ll share mine. Just send a pm

Good day all,

So it probably took me around 4 days to work through the 103 pages...

First, thanks for everybody's contribution to this thread, especially @Gina1 and @Hollywood who started the initiative and who was willing to share their info.

When I got to around page 20, I already had made up my mind that I will use and Arduino with a touch screen... And as I worked through the thread I saw more and more people started going the PLC/Microcontroller route...

I do have a few questions... And I was set on the components needed... But nearing the end of the thread, I started to get confused again... Basically, one needs to decide if you will be doing a copper coil which is water-cooled, or the ferrite core which does not necessarily need water cooling and also makes use of a smalles power supply.

@oliverpsmile : Where did you buy your ferrite core from? Part number? And did you buy it already wound with Litz multistrand cable?

@SGK : I love your enclosure... You say it was custom build... How was it constructed? Is it a sheetmetal laser cutting and bending job? If so, are you willing to share the manufacturing details (CAD drawings and bending schedules).

@SGK : There has been a lot of mention that you should NOT drill two holes for the coil, but rather make a slot through the enclosure front panel (if you use a metal enclosure)… You have the 2 holes through the aluminum faceplate... No issues with this?

@SGK , @jthor , @dulcimer , @ernest , @mktacop : Are you guys willing to share your native files for the 3D printing designs? (should I rather PM to request these)… All of your tables are different, but never the less, all of them nice designs (hope I didn't miss anybody)

Then, in the first part of this 103 page thread, there was an improvement by making use of the adjustable current limiting of the more expensive power suppliers... The idea was to limit the current on smaller cases to move away from the sub 3 second annealing times... This idea then faded away and wasn't referred to later on... Is this still a good idea to implement? The current limit (and setting) could easily be implemented in the Arduino code.

@mktacop : Where did you buy the separate water reservoir / pump? Do you have some details on these please (part numbers) ?

There was also some discussions on the dropping of cartridge through the trap door, but I'm not sure a firm decision was made. Do you leave the case in the coil, power down the coil, then drop the case? Or do you simply drop the case and power down the coils simultaneously?

Is it fine asking all these questions in one post? Or should I rather split them up into several posts? :)


Once I have some answers, I will then start searching for the parts online and start to order them...

THANKS AGAIN for everybody's contributions to this thread :)
 
You can't just add random values to make the formula work (or look pretty)... The case height that you have added should not be taken into consideration with this formula. The length of the case (which affects case height) should not make a difference, because theoretically the case neck will be at the same height in the coil for all different cases, irrespective of the case total length. From an engineering point of view, this is very wrong :) :) :)

If you need to add data to the formula, then you need to add variables that are directly associated with the annealing process... Things like case neck diameter, case neck thickness, shoulder distance from mouth etc.

But this is just my opinion ;)

Well, it’s what regression analysis is about ;) Examining the relationship between variables (how randomly picked they may seem). The placement in coil - or the “expression” has some significance and attributes to the model. You could say the placement implicitly contains information about case dimensions (amount of brass - not only the neck or shoulder part) which determines heat distribution.
 
No hard conclusions - yet - been occupied by work and waiting for some new litz wire to test (the strands in the one I’m using now are too thick, and too few - building up heat)
Been following your build on IG for awhile, and it's a big inspiration! What would you say is the duty cycle of the build as it currently stands? Do you think it's ready for a case feeder and some automation?
 
Been following your build on IG for awhile, and it's a big inspiration! What would you say is the duty cycle of the build as it currently stands? Do you think it's ready for a case feeder and some automation?
With the former power supply (36V) I was close to 50% duty cycle. I annealed batches 50-100 cases on multiple occasions one after another in a continuous stream (the servo was set to move slowly and provided the pause). After I changed to a 48V power supply, anneal times are reduced dramatically, but the coil (wire) gets hot real quick. The wire I use is now not real Litz. It's multi stranded copper, but the strands are not individually isolated (by enamel or other means). I have ordered some different wires to test - individual strands ranging from 0.05mm to 0.1mm and number of strands between 1000 and 4000. Current duty cycle is less than 25%. With the new wire(s) coming, I hope to reach 50% duty cycle again (having read Fluxeons claims regarding their "flux concentrated" coil - Litz wire with 1700+ strands of 40AWG?).
I am already working on an automatic feeder (a case collator run by a 12V low RPM motor). I have added a duty-cycle setting/protection to the arduino and a relay for the feeder motor. The relay opens triggered by detection of a case in feeder arm (vibration sensor in the "floor") and closes when anneal cycle has finished. The duty cycle parameter is used to make sure x time has passed since last anneal. With duty-cycle of 25% or less it's actually even more ready for automation. (You don't have to manually feed and be annoyed waiting for coil to cool)
 
Been following your build on IG for awhile, and it's a big inspiration! What would you say is the duty cycle of the build as it currently stands? Do you think it's ready for a case feeder and some automation?
Received a small collection of different litz wires in the mail box yesterday.
Decided to try with a piece of one consisting of 4000 strands x 0.05mm (should be below skin depth in the 100-200kHz range).
Been through hell trying to strip the insulation/enamel and tin the ends. Gave up on the soldering iron and after having a go with a dremel and a brass brush I made an improvised soldering pot of the lower part of a fired 308 case (old primer still in), which I heated using the annealer ;) a few times 10 seconds, holding the case with some heavy duty pliers which were affected by the annealer as well and worked as a long lasting heat reservoir enabling me to dip the ends of the wire in the liquid solder for 20-30 seconds.
What a difference!!! Just ran 50 308 cases one after the other at 50% duty cycle setting and no heat problem at all. Literally! Before the wire would be too hot to touch after a few cases. Now it's luke after 5 minutes and 50 cases. The ferrite heats up a little but in no way uncomfortable to touch. Before the heat would travel through the wire to the terminals on the ZVS board making the terminals hot. Now I don't feel any heat at the terminals.
 

Upgrades & Donations

This Forum's expenses are primarily paid by member contributions. You can upgrade your Forum membership in seconds. Gold and Silver members get unlimited FREE classifieds for one year. Gold members can upload custom avatars.


Click Upgrade Membership Button ABOVE to get Gold or Silver Status.

You can also donate any amount, large or small, with the button below. Include your Forum Name in the PayPal Notes field.


To DONATE by CHECK, or make a recurring donation, CLICK HERE to learn how.

Forum statistics

Threads
165,672
Messages
2,200,485
Members
79,039
Latest member
J.FISHER
Back
Top