CNC coil winding - Page 1
Forum section: electronics / projects

author: miguelvp
author_rank: Super Contributor
timestamp: July 12, 2014, 12:03:39 pm
content: Nice and clever like always!

author: max_torque
author_rank: Super Contributor
timestamp: July 12, 2014, 12:17:59 pm
content: hmm, i think i might want to wear gloves, just in case the wire gets knotted up! OK, there isn't much power (or inertia) there, but with a fine wire i suspect it could still cut up the ends of your fingers a bit!

author: SeanB
author_rank: Super Contributor
timestamp: July 12, 2014, 12:25:42 pm
content: Nice, good repurposing. When you first showed the CNC I thought you were going to use the spindle motor, but using the steppers instead made more sense. You probably could get the speed up higher with a series resistor to the motor at the expense of torque, or drop the current through it if the CNC allows it.A good holder for the larger reels is a paper towel dispenser, just remove the tear bar and pop the reel onto the rod. Cheap and when not in use for that just place the paper towel roll and the tear bar back to use it for cleaning hands and such. Last one I got was at the scrapyard. 30 seconds of straightening and it works again. Another I cut down ( it was designed for a large wide roll) to fit a standard garage roll and it does that perfectly.

author: amyk
author_rank: Super Contributor
timestamp: July 12, 2014, 01:15:12 pm
content: Try to beat this!

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 12, 2014, 01:30:36 pm
content: Quote from: max_torque on July 12, 2014, 12:17:59 pmThis thin stuff will just snap

author: jaxbird
author_rank: Frequent Contributor
timestamp: July 12, 2014, 03:00:30 pm
content: Very niceDo you bake or glue the coils when done? or just use them as is?Personally I really don't like the MACH3 UI, drivers etc., but it does get the job done.LinuxCNC/EMC2 got less features, but nicer UI, however you will need to deal with Linux, which might or might not be a problem.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 12, 2014, 03:58:24 pm
content: Quote from: jaxbird on July 12, 2014, 03:00:30 pmI'll probably put a drop of superglue or hotmelt on the ends - the PCB will have been populated before winding, otherwise I might have given it a spray or dip with something.QuoteI'm amazed that in 2014, the apparently most popular CNC driver is still dicking about with parallel port pins, and there are surprisingly few USB driven alternatives. I bought a Smoothieboard but haven't got around to playing with it yet - a bit disappointed they didn't put a USB host port to hang one of the cheap MPGs off.Jobs so far have been below (or have been splittable to below) under the 500 line limit of the trial version. No way I'd buy the full version when there are hardware solutions for less money.QuoteBut that's still a crude parallel port solution. MCUs that can generate accurate stepper pulses cost peanuts - I'm amazed nobody has done a simple, cheap motion controller - it doesn't even need to handle G-code itself, as that can be done on the PC, sending packetised motion commands to USB.

author: nessatse
author_rank: Regular Contributor
timestamp: July 12, 2014, 07:41:38 pm
content: Quote from: mikeselectricstuff on July 12, 2014, 03:58:24 pmParallel port is just the common option for linuxCNC because its easy, cheap and generally reliable. LinuxCNC is way more than a simple 3-axis step controller, in fact it can handle up to 9 axes. There are many add on step generators and other controllers that work with linuxCNC, just visit their website and see. That being said, there are good reasons why USB is not very popular in motion control, the main one being latency. You have to give the controller some form of intelligence to counteract latency and delays in order for it to perform smoothly, but by doing that your motion control program loses some control. This complicates things like coordinated axis motion and also perhaps more importantly latency for emergency stop for example. Not too much of a problem for a desktop cnc, but when you e-stop a 10 ton mill, you don't really want it to complete your previous command first.None of these problems are insurmountable, they are just not as simple as they may appear at a glance.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 12, 2014, 07:56:36 pm
content: Quote from: nessatse on July 12, 2014, 07:41:38 pmNot an issue if done properly. If the thing at the far end of the USB is handling timing, then as long as it can be kept fed, latency isn't an issue.QuoteExactly. But it's not hard to achieve thatQuoteUnless you have a closed-loop system, not really. It is easy for the controller to deal locally with things like endstops and tool sensing.Quotee-stop should be done in hardware, shutting off drive to motors.QuoteIf the e-stop on your 10 ton mill is relying on software, you are an idiot.A PC with an operating system is simply the wrong tool to do realtime motion control.

author: jaxbird
author_rank: Frequent Contributor
timestamp: July 12, 2014, 08:59:24 pm
content: Quote from: mikeselectricstuff on July 12, 2014, 03:58:24 pmI feel part of the problem is that there are no standards on how the USB interface should work. So if you go for a piece of USB hardware you will be locked into a specific piece of software.And of course, that all the cheap CNC machines seem to come with only parallel port option.I had a look at the GRBL (Arduino based and built around the core of the 3D printer controller code) but beyond very basic G-CODE it's not useful. It's too slow trying to do all the G-CODE parsing and realtime operation in the little mcu. And it's lacking basic features like jog, realtime feed speed control etc.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 12, 2014, 09:29:56 pm
content: It's funny -- PCs used to be good for real-time applications, because they were essentially real-time. People still want the convenience of a user-friendly (or at least, accessible) operating system -- not to mention the ready availability and price of consumer electronics, but current technology is so many orders of magnitude beyond what is appropriate for those applications, people try to force it anyway and end up with crappy solutions.What's really needed is a cheap, small, low power, high I/O, not-very-brainy platform. Arduino is close, but probably not brainy enough for most purposes -- hardly enough processing power, let alone memory, to deal with something like an OS. RPi is exactly the opposite: just a little too powerful for its own good. It has the accessibility (runs Linux, common HID peripherals) and some IO (SPI, GPIO), but lacks the real time aspect. It's a stripped down PC, not an old PC.I guess on the plus side, Pentiums (or 486, or..) are cheap and plentiful? Runs Win95, a modern enough user experience (can even be connected to the internet -- though that's probably not recommended; that said, are bots even targeting anything as archaic as Win95?), the bus is generally real time (a Pentium has cache, and may have a PCI bridge, but you'll still get data out within microseconds of when the processor says so), it's powerful enough to do anything you could ever want with motion -- maybe not image processing, but come on, it ran Quake; even without the optimizing talents of Carmack and Abrash, you've still got a lot of capability.Or if you don't mind DOS, a 386 or below (little or no cache -- what you program is what's on the bus) only gets easier to interface; but networking gets proportionally harder, until you're practically writing a "this is what we do and when" communication / translation / scripting / sequencing program, at which point you don't have much advantage over something like an Arduino, where you're probably writing the software fresh for every slightly different application.I wouldn't recommend anything PII or above; the Northbridge and all the bus bridges add latency already, even if it's just PCI (which, in and of itself, isn't a nightmare to interface -- FPGA-on-PCI cards are probably still available?).I suppose the other ideal would be -- well let's get a computer that's new but the same power. A Cortex M0 or M4 would be pretty kickin' against a 486 or something like that, and they usually come with enough memory to at least run something like DOS, and enough peripherals to build more than a basic computer-as-we-know-it (graphical display, keyboard, optional mouse, disk IO -- say, SD card in this case). Dev kits with this are available, but has anyone really went to the extent of making one with all the hardware, plus a good OS for it? And is it cheap enough to be worthwhile?That should really be the direction the CNC community should look at. No clue if there's enough interest from other fields to really get things going like the Arduinos and stuff. It would also be enough for, well, an older cellphone -- enough to be functional, but no apps, no internet. Who would want that? Likewise, modern phones are too advanced, too locked down and too specialized (no GPIO or ports, beyond inappropriate standards like USB or BlueTooth).Tim

author: TerminalJack505
author_rank: Super Contributor
timestamp: July 12, 2014, 09:55:25 pm
content: How do the inexpensive USB digital I/O boards (for example) achieve a frequency of 5MHz? Is the PC not directly controlling the I/O?Personally, I'd like to be able to have VHDL or Verilog run on a PC controlling an external digital I/O device and have it meet fairly low real-time requirements.You'd think that in this day and age that would be easy-peasy for a PC. But knowing how bad USB is regarding latency I'm guessing it isn't.

author: nessatse
author_rank: Regular Contributor
timestamp: July 12, 2014, 09:56:44 pm
content: I suspect there isn't really a great demand for that kind of hardware in the cnc community. LinuxCNC runs on a real time kernel and it seems to do a good job on old hardware (PIII and PIV at least, not too sure about anything older) and there are plenty of hardware stepgens and servo controllers available if you want to go beyond the simple parallel port interface. I run it on a old PIV and easily get 30K steps/sec without any problems.Forget about arduinos (underpowered) or the RPi (well, where do I start...), something like the BeagleBone Black is a very suitable candidate, and if I am not mistaken, linuxCNC has already been ported to it

author: Kremmen
author_rank: Super Contributor
timestamp: July 13, 2014, 06:07:52 pm
content: Quote from: TerminalJack505 on July 12, 2014, 09:55:25 pmDepends but if we are still talking about motion control then no, the PC is not _directly_ outputting the individual steps. The stepping is encoded in some kind of description that achieves time compression. One that i am famiiar with is a Bézier-like 3D curve representation where you transmit motion in packets. The duration of the movement is specified - usually varying within a few milliseconds - and the coefficients of motion in each axis direction; velocity, acceleration, 2nd, 3rd etc derivatives so that you can have a nearly arbitrary motion profile during the interval.QuoteThat is the usual way it is done - a processor calculating the trajectory and a FPGA generating the steps. The popular Mesa motion boards do exactly this combined with LinuxCNC. USB though is apparently a bit problematic due to the latency issues. Those can be overcome as witnessed by some existing systems that do connect using USB but it is not ideal for this kind of use.

author: calexanian
author_rank: Super Contributor
timestamp: July 14, 2014, 05:34:36 am
content: Quote from: amyk on July 12, 2014, 01:15:12 pmIs it my imagination or does parts of that look sped up? Also those coils will be dipped in varnish after the ferrite cores are inserted and taped.

author: jahonen
author_rank: Super Contributor
timestamp: July 14, 2014, 07:11:26 am
content: Quote from: mikeselectricstuff on July 12, 2014, 03:58:24 pmMy understanding why parallel port is still insisted, is that LinuxCNC (don't know about mach but I suspect that is similar) is always a feedbacked system. It does not work so that some step sequences is first calculated and step pulses generated afterwards.So even with seemingly simple open-loop system, where one could calculate all steps necessary before actually executing them, like with stepper motors, there is an artificial realtime feedback coming from the step generator software. So it reads the virtual position that step generator has generated so far and adjusts the step frequency accordingly in some fixed sampling interval. I believe that this is done at 1 kHz rate by default. So in essence, the stepper support is bodged in place of the real world servo feedback coming from the real world, instead of working out the G-code execution to steps in some completely different way.So in order to the feedback to work, this reading of current position and writing new frequency to step generator would need to take much less time than 1 ms, with guaranteed latency. Not so easy with USB, although not absolutely impossible. With highspeed USB, microframes could be used at 8 kHz rate, (125 µs latency minimum). Another reason is that LinuxCNC can't use kernel drivers at all since it is a realtime system which executes in completely different way than normal linux applications. So in order to use USB, one would have to use realtime-only compatible drivers.Regards,Janne

author: H.O
author_rank: Frequent Contributor
timestamp: July 14, 2014, 12:40:38 pm
content: Hi guys,Mach3 originates from around 15years ago. At that time it was said to be impossible to get a PC with a Windows OS on it to generate anything above a kHz or two with acceptable timing using the LPT-port. External motion control hardware (from vendors like Galil etc) was ridiculously expensive.The original author of what is now Mach3, Art Fenerty, came up with a solution on how to take control of the timer chip on the motherboard and generate interrupts at the Ring 0 level (highest priority). At the time the software was called Master5 (which later became Mach1, Mach2 and Mach3) and the highest possible step rate was 8192Hz. With the increased performance of PC's this has been increased to 100kHz in steps during the years.During the years the discussions on "external" step generation hardware has been numerous. Products have evolved and died (the G100 from Geckodrive for example). Should it be RS232, IEE1284, USB or Ethernet, should it be "dump" or "smart" or somewhere in between, what should be handled by the firmware in the devices and what should be handled by the software on the PC. Will it handle rigid tapping, will it do lathe threading, will it support the macro/script language built into Mach3, what's the "latency" on stuff like feedhold and feed override? How (or IF even) does it handle backlash compensation? How well does it handle short segment motion (3D contouring etc)? The list is close to endless.I am sure that a suitable system can (and will be) produced but again, Mach3 was, from the beginning, never meant to be used with external hardware, and it was never designed to be closed loop. It was specifically developed to take advantage of the LPT-port with the unique driver/hack that Art Fenerty developed. The fact that it does now support external hardware is a little bit of an afterthought and has kind of been shoehorned in there.With that said there are PLENTY of external motion hardware for use with Mach3. The Smoothstepper (USB or Ethernet) is probably the most "famous" but there are products fromVital Systems,Dynomotion,CS-LabsandCNCDriveto name a few. There's also a plugin for a couple of different Galil products. My personal advice for anyone looking at using an external motion Control hardware with Mach3 is to carefullt investigate what features are and what features aren't supported. In some cases the hardware may allow features not possible with the the LPT-port (rigid tapping for example) while in other cases the hardware can't support features available with the LPT-port. In either case going with an external hardware device your're stuck with two vendors.Now it looks like Mach4 is finally comming out, at least into the beta stage, and this is a complete rewrite of the core software and is designed to be used with external hardware from the get-go (though a LPT-port driver is being developed for it).And for the record, I have no personal attachment to Mach3 (Artsoft / Newfangled Solutions) or any of the other vendors mentioned above, I've just been using the software and following the development for the last ~14 years./Henrik.

author: tszaboo
author_rank: Super Contributor
timestamp: July 14, 2014, 04:56:22 pm
content: I've heard that you are making stuff for RFID? I've used Motorola cards before for RFID, 125Khz. You open it with a hot air gun (the glue drops before the plastic melts) ant they had really nice coils inside, I'm not sure about the number of turns, I dont think it was 100. And they were perfect for RFID, suprise (well, that was more like expected)!