Buildlog Title: Lab robot conversion to laser cutter
Member Since: 2010-08-17
Saturday, April 20th 2013 - 6:50 AM
I have not messed with the laser cutter now for several months. One of the problems I was having is small movements were not translating well. I think this was a lot to do with the tuning of the servo drives and the "springiness" of the machine between the motors and the linear encoders. This would cause what should be little circles to come out with squarish sides.
The plan was to remove the X and Y motors and replace them and their drives with some brushless motors and drives. I have a small 200W Mitsubishi MR-J2S motor and drive and a Yaskawa 100W Sigma series II drive and motor that would work nice. They have good auto tuning and should eliminate the problem with the motion. The problem with this is I would have to pretty much redesign most of the electrical and mechanical aspects of the machine.
Before I go that far I decided to try sticking encoder directly on the machines to see if that made a difference. I had a 2500 line encoder for the X axis motor in my sensor bin and rounded up a little HEDS encoder for the Y motor. I had to make up some new cables and I had some extra lines from the Y axis head so I was able to wire it in pretty easily. The servo drives require a differential line driver input from the encoders, I found a small board with a line driver IC that I used to convert the single ended output to differential.
The encoders made a heck of a difference. The motors tuned much easier and the circles it makes are actually round now. I still have linear encoder feedback available for use in the future.
I still cant get the tiny Z axis servo to tune right though, every once in a while it starts oscillating for a second or two, if I drop the gain down on the motor it just becomes sluggish. I think it may just be too small for these drives to handle well.
I got a new lens for the laser cutter, 18x22mm focal length. I wanted to try something with a smaller spot diameter for higher power density. With the short focal length there was no way to make use of the nozzles I had bought for the other lens I was using (3" FL) so I made a new lens holder/nozzle for it last night.
I found an adapter of some sort lying around. It went from a 25mm thread to a 20mmx.7 internal thread. The 25mm thread was close enought to a 1" c mount where it screwed together just fine, the thread pitches were virtually identical. To back up the lens in the adapter I took some hollow aluminum and made some threaded rings with the 20mm thread in the adapter.
For the nozzle I needed something light. I didnt have any more solid 1" aluminum bar, but I did have some 1" titanium lying around. I cut the 20mm threads on the end (Ti threads very nice) and made a 18.1mm recess for the lens. I drilled down with a #7 drill and finally drilled the final orifice hole with a #60 drill. I opened up the area next to the lens with a 15/32 drill as well. I had just tapered the outside of the nozzle 45 up to about a 1/4" diameter area around the orifice but I was having an issue with the air flow causing the material to pull up against the nozzle, I cant remember what this effect is called, but I see it in plasma cutters a lot. To resolve this I made the outside of the nozzle more round.
After turning I put it on the mill and spot faced a land for the 10-32 gas fitting.
It works pretty well, I do need to space back the lens a but, the focal point is a bit further out than I would like. Nothing an o-ring cant fix.
For the nozzle I decided to go with a factory made nozzle. I found some Bystronic nozzles on ebay, $100 for 12. 1.5mm hole. I had to order a 10mm x.5 tap which showed up today. I made the nozzle holder out of a piece of aluminum and single pointed the threads to fit the C mount. The air assist comes from the side to a quick disconnect.
The laser is a Lightwave M210-HD-V06 Diode Pumped Solid State (DPSS) q-switched frequency tripled laser. The beam is 355nm, ultraviolet. 6 watts average power at 10khz rep rate, each pulse lasts about 30ns. Peak pulse power is probably in the 15 to 20kw range. These guys were around $60k new. They are used for micro machining, micro via drilling, SMD component trimming, wafer marking and cutting, glass cutting, and general marking.
One of the reasons these do so much more than a CO2 of ever 20x the power is because of the wavelength. First more metallic materials absorb this wavelength. Second is the spot size. at 355nm you can have a spot size 30 times smaller than a CO2 at the same focal length. Punch that into the beam calculator and you get some insane power densities.
Of course, all the optics are different. Mirrors are dielectric and lenses are fused silica or other UV friendly materials like MgF. And they are expensive, the lenses I have installed are almost $300 new from CVI.
This thing is getting close to being finished. Last night I tackled controlling the laser from mach3. First I tried using the step pulse output to control the laser. I couldnt get a stable enough pulse train out of the computer for the laser to be happy. Next I tried a 555 timer and some optos. Didnt get very good wave shape out of it to make the laser happy. Finally I just used a 555 timer driven by the output signal of the breakout board to drive the laser trigger input directly. That seems to work. Took a little tweaking of the duty cycle and frequency but it looks like it will work for now. I plan on using a uC to handle the frequency generation so mach can control the power but that can wait.
I made the first cuts with it tonight. I used some 1/16" stainless as the sacrificial material. I used the roadrunner file included with Mach3 as the sample. I did a search and replace that replaced all the z-.1 with M3s and z.2 with M5s to turn the laser on and off. The scaling of the road runner files was set to .1, so the whole thing was about 7/8" wide. It ran all pretty slow due to all the tiny segments in the code.
Next I need to put the sides on an a bunch of other little things.
I tried the chiller on a hot day in the shop and found a problem. The chiller uses an 800 watt heater to regulate the temperature. When under the control of the laser power supply there is too much gain in it's PID loop and the temperature shoots way up before dropping and stabilizing after at least a half hour. Since there is no way to adjust the PID loop in the power supply I had to do something on the chiller side. Somehow I needed to reduce the power going into the water. Thought about a resistor but that would be a waste and just get things hot. Then I remembered I have a few of these guys lying around:
They are a module in the same form factor as a standard SSR. The difference is instead of a signal in and on/off on the output these modules take a 4-20ma current loop and give you analog switching on the output side. I replaced the SSR with the module and installed a 5k pot with a 800 ohm series resistor to give me a 0-20ma current loop from the 24v signal from the power supply. This allows me to control the max power of the heater which stabilizes the loop much faster.
Then the start relay went out on the compressor. Lucky for me I had an extra lying around.
I decided to eliminate the cable tray that the Y axis cable lies in when it moves back and forth. It looked like it would cause trouble, especially when I add a hose for the gas assist. I had a piece of Kabel Schlepp cable chain the right size and made up a couple brackets to support that.
Next was getting the gas assist connected. I had a piece of tygon tubing the right length for the Y gantry through the cable chain. To get the gas to the X gantry I used a piece of thick 1/16" wall teflon tubing. I joined the two on the upper support by drilling and tapping a 10-32 hole though it and using Clippard fittings to connect the hoses on both side of the bulkhead. The teflon tube looped back along the back of the laser cutter and to a solenoid valve in the electronics bay and to a swedgelok 1/4" bulkhead fitting on the side. On the Z axis I drilled and tapped a blind 10-32 hole for another clippard fitting and used that to connect the tygon tubing to the coiled hose that will get gas to the nozzle.
I wanted something a little better than a generic power strip for the system. I had a old power distribution system out of a SGI computer system from some sort of semiconductor related piece of equipment. The unit has 10 plugs that are fed from a breaker box. The breaker box has an e-stop loop that trips the main breaker when the loop is broken or power is interrupted to the system. Ill tie this into a secondary estop that will allow me to kill the power quickly in the event of a power leak or something.
I still need to do something for the Z home switch and need to start finishing up the wiring.
Back of the chiller, know control max heater power and connector on right interfaces to the chiller.
The last few days have been major debugging. I got the machine back under computer control. When I did I found a bunch of issues. First the machine was moving pretty awful at low speeds in the X axis. Probably the tuning changed when I did my belt mod. Retuned that and it is pretty good. Next, the Z axis would just start vibrating randomly. I adjusted the aggressiveness of the tuning down and it seems to be happy now.
The biggest issue was the Y axis. The thing is like a tuning fork. Moving fast it was OK but going slow it would start resonating. The upwards portion of the Z axis also supports the Y axis encoder head. When the piece sticking up started vibrating it transferred down to the encoder head and made things go crazy. I noticed that is was all being supported by a rather thin piece of brass. I used the surface grinder to make a spacer that fit in the gap and glued it in place. This seems to support it and I am having a lot less issues but I was still not happy. Next I added another truck and a plate to tie them all together to the Y axis linear guides. This stiffened thing up quite a bit. I am pretty happy with it now.
I tried to etch something with the laser under power. A square. But it did not come out as a square. The X length as too short. I put a dial indicator on the axis and found it was not moving how far it was supposed to. It was not even returning to the same place. I used the servo software to issue a move command and it moved as it should, returning to the same place. So I was loosing step signals someplace. I pulled out my little scope and moved the axis and noticed the pulses were really short. Looked in the motor setting in mach and found the X axis was set at 0 milliseconds pulse length. Increased it and now it is happy. OOPS!
Next I tackled the limit switches for X and Y. X worked as it should. The signals from the Y axis would trigger a stop no matter where they were. Again with the scope. I found all sorts of noise going on in the lines. Looks like I was getting coupling from the motor power lines through the flat cables. I tried a small capacitor to filter it but it had little effect. Tried increasing the debounce and nothing there either. I finally ended up building a small circuit with a 74HCT14 schmitt trigger and a capacitor to filter out the noise. Works good, no noise now.
Still need to add a switch for the Z axis home.
Today a friend of mine came over and helped me get this thing around the house and back on it's stand in the garage. I went ahead and hooked everything and started to do some testing to figure out how to control the laser. While doing this I found my output power dropping. I looked at the diode temp and it was rising. The chillers could not keep up with the laser in the warm weather outside, about 85F. Not good. I had an old liquid to liquid heat exchanger I had pulled out of a dialysis machine a few years ago. I installed that in between the two chillers and then fed the other side of the heat exchanger from the output of and old Neslab RTE-5B recirculating bath chiller I have. That brought the temp down. Eventually I decided to try the neslab by itself after I saw the specs in the manual say it can cool up to a 400 watt heat load. It worked!
So I needed to modify the Neslab to be controlled by the laser power supply. Normally with one of these chillers they have a solenoid valve on the pressure refrigerant line that stops the flow when it reaches the desired temp. This chiller works a little differently. When it hits it's lower temp setpoint it turns on a heater which nullifies the cooling of the chiller. I added a SSR to the controls that allows the power supply to control the heater. Seems to work well. It does take some time to stabilize but when it does it is solid. Funny, this old chiller is 1/3rd the size of the fancy thermoelectric chillers and much, much quieter.
With my experiments on how to drive the laser I found another issue. I thought you could just set the frequency for the q-switch and use a TTL signal to drive it on and off. Nope. In external trigger mode you have to send it the frequency of the q-switch and control it that way. Kind of a pain. So my plan is to use a Teensy to make up a small frequency generator and drive the laser with that using something like an optoisolator to turn the signal on and off from the computer. The Teensy is overkill but it allows me to have a display for setting the frequency. The teensy is also a very stable pulse source too.
Couple pics. First is of the new plate to hold the third linear truck on the Y axis. Also you can see the spaces glued in place above it.
I finished the mirror mounts yesterday. The third mount was pretty straight forward. I used a cheap Newport flexure mount an machined a cavity in the support arm to mount it. Then I glued it in place. The mount is intended to take a 3/4" mirror. My mirrors are 1" so I machined a small piece of brass pipe into a mount which sits in the holder.
The final mirror was a little more complex. Since all the available mounting points were behind where the mirror and Z axis slide were I needed to pass the mirror support though the Z axis. I machined a mount that slipped over the bolts for the Z axis linear bearing and made it so it clamps on the mirror mount. It uses a simple flex clamp to grab on to the horizontal mirror mount support which holds a tiny New Focus kinematic mirror mount. The mirror is glued to the mount.
I needed something to support the lens assembly. If I used a C mount I could use existing C mount extensions to move my lens closer to the work. So I needed something with a C mount. I took an old Sony CCD camera that was broken and gutted it for the nose piece and the internal frame. It was the perfect size to mount o the slide. That was glued in place as well.
I still need to make the lens holder and nozzle and finish the electronics.
Here is the third mount. That is the mirror installed.
The final mirror and lens mount. The lens was temporarily mounted in a short C mount adapter. That is the mirror on the mount. It looks like a piece of glass, but at an angle you can see the coating that reflects the UV.
In the past couple days I got the first two mirror mounts installed and built a base for the beam expander mount. This will bring the beam up to the gantry. The machine had two aluminum end plates on the well area. I measured where the beam will need to pass through it and machined a 3/4" hole in the the plates. The plates themselves bolt to a piece of steel welded across the frame so I used one of the plates as a template to drill a 3/4" hole though it. 3/4" hole though 1/4" of steel with a cordless drill. Not what I consider fun.
The mirror mounts I used are a block unit like the ones I am selling over in the for sale section. They have 3/4" holes in and out so I took a piece of heavy wall brass pipe and turned it down to make a coupler between the plate and the mirror block. For the top mirror I took another mount and reengineered the mounting block to mount to the side and attached it with a couple 10/32 screws. I set the laser to it's CW mode where it just produces a constant beam. Without q-swithing this is less than 1mw. Using a piece of fluorescent paper I can trace out the beam and align the mirrors.
It looks like I am not going to use the beam expander. I loose about a watt though it, but since the beam has very low divergence I should not have to worry about it.
Next up is to figure out the gantry optics and final beam delivery.
I had tried the generic first surface mirrors that were in the mirror mounts. They didnt last very long at full power:
Laser running at night. The specular reflection off the black aluminum makes various material fluoresce. The laser is almost the same wavelength as a backlight, 355nm for the laser and 365 for a backlight.
A friend that runs a surplus shop got these from a company that uses them in their wafer marking and trimming equipment. We do trades back and forth so its hard to say how much I pay. We had a couple like this one but putting out less power (about 1 watt less) and we sold those for $2k. I also have a green version that is putting out about 7.2 watts @10KHz.
Cant do that with a CO2! This laser is very interesting. Many materials, especially metals, absorb this wavelength very well compared to longer wavelengths like standard YAG (1064nm, near-IR) and CO2 (10600nm, IR). The spot size of the laser is also much smaller, as much as 30 times smaller than the spot size from a CO2 laser. This means finer cuts and details as well as higher power densities. Combine all this with the Q-switching of the head which creates pulses in the range of 15kw, you get a very fun toy! And all this at about 6.5 watts average power at 10khz pulse frequency. This laser will mark just about any metal, steel, aluminum, stainless. Even tougher to mark metals like gold and silver. It will also cut glass!
Last night I started trying to figure out how I was going to integrate the new head into the machine. The area where I was going to mount the CO2 assembly looked too small but after measuring it appeared the head would just fit. I mean just, we are talking about 1/16" clearance. First problem I ran into was some steel flanges overhung into the area. Second problem there was a steel piece in the way of getting the head umbilical out of the laser well as well no access for the cooling lines. Initially I was going to use a saw but that would take forever so I rolled it outside and took the small Oxy-Acetlyene torch and cut the offending pieces out. Ground the remains clean and the head dropped in place. I drilled and tapped for the three mounting bolts. I did find it was not sitting down all the way on the well deck because it was formed in a press brake and had slightly radiused corners. Hit it with a hard wheel on a right angle grinder and that problem went away.
Next project is figuring out the optics. I wanted to keep it all internal to the machine but I think it will be much easier to go external and use an enclosed beam path. The remaining room in the laser well area is pretty tight, especially if I install a beam expander.
Chunk'o'aluminum used for a guide for the torch, yellow stuff is heat resistant blanket material to keep hot stuff away from wires. IMG_2416 by macona, on Flickr
Laser head installed. Piece of fluorescent paper was being used to trace the path of the beam. In Continuous Wave mode the laser puts out less than 1mw of UV light, still enough to see the beam with a piece of paper. IMG_2419 by macona, on Flickr
OK, after a year of doing nothing with the laser I have started back up on it. First thing I did was solve the rigidity issue. The one unsupported end of the short axis flopped around in the breeze with anything resembling a decent acceleration rate. It would be nice if mach supported S-curve accel and decel, but thats life. So what I did was tie both sides of the gantry together using timing belts on a common free running shaft. This makes it pretty rigid. I had to mill out a recess on the upright for the shaft bearing and then tig a cross member between the two rear supports and mill another hole for that bearing. Getting the two holes concentric with each other with no solid point of reference was, well, interesting. Lost of measuring with 1-2-3 blocks and I managed to get it figured out. For the belts I used the longest belts SDP-SI had and cut them down. It is cheaper this way than buying open ended belting by the foot. I used a splice kit to hold the belt down to the gantry. Idler wheels were made from aluminum and timing pulleys for the other end to tension the belts. Once the belts were installed and tensioned I glued them in place to help hold them. It seems like it will work, it made the gantry very rigid. Time will tell.
Work has been busy. We have been doing 45 hours weeks and now for the next month we are on 50's. The movie we are working on, Paranorman, has been officially announced so a line has been drawn in the sand. You can see a little about it at:
With that and other things, getting a new camera (Canon 60D), getting a new telescope, etc, my interest in the laser cutter has been derailed a bit.
So, I got the beam combiner installed with the laser diode. Set it up and got the red diode concentric with the CO2 beam. Also got the stock to reinforce the back support pieces and will also serve as bearing mounts for my stabilization idea. Attachements...
I have not been doing much on the laser lately. I got the optics. Mirrors, beam combiner, and lens. I also made up the mount for the laser tube. I turned one end of the mount into a optical breadboard so I can easily mount my steering optics and combiner. We had a batch of stuff going to anodizing at work so I sent it out with it to be anodized. I mounted the tube to one room to give me more room in case I ever want to try building/buying a beam expander.
Next step is to get the combiner optics mounted as well as the laser diode and get them running coaxial with the laser tube.
I ordered the laser tube and power supply combo from Cole Tech on ebay on Feb 24th, it shipped the 25th and DHL tried to deliver it the 28th. I got it on the 1st. Tube was intact. The only damage was to the power supply HV lead strain relief. A little glue will fix that. Did a quick rig up and did a couple short bursts and it looks like it is good to go.
I have decided to mount the tube and aiming laser to an aluminum base to build an optical rail of sorts. This will allow me to prealign the co2 and diode laser and drop the whole assembly in place when I am done. I will also mount two of the beam steering mirrors to the plate as well. Due to the design I am going to have to use 5 mirrors to the get beanm to the lens. Whee...
The rail is made from some 1/2" thick x 4" wide aluminum strip I had lying around. I still need to machine the tube mounts. There will be room for the red diode and beam combiner optics as well as room for a beam expander should the need arise.
I have also sorted out the cooling system for the most part. I have some small 18v stainless gear pumps from a Dialysis machine I took apart. Good flow and pressure. I also have a copper/stainless heat exchanger that was from the cooling loop on a LASIK machine. Combine that with a small reservoir and a flow switch that should complete things. Need to order a couple fittings as well.
The one thing that has kind of stumped me is getting rid of the rigidity issue I mentioned in the earlier posts. After looking at beefing up the riser support I have decided to abandon that idea. I put a indicator on the base near the linear guide trucks and measured movement down there when the beam was flexed. So I think even adding extra metal to strengthen the support will still leave me with a floppy axis. So I have decided to use two timing belts, one on each side of the X axis, attached to a common shaft. Hopefully this will tie in both sides together akin to a rack and pinion drive set up. I ordered the longest kevlar 5/16" MXL timing belts I could from SDP-SI and also two of the belt clamps. I will cut them to length with the clam attached to the gantry. One end of the machine will have bearing and pulleys on the common shaft and the other will have idler pulleys with tensioners. I have not decided what to use for the shaft. I want to keep the mass down but the stiffness up so it does not torque. I may use a piece of titanium rod I have had lying around.
Couple more pics from my iphone. First is of the cooling system parts, second is of the tube and power supply as well as the rail it will mount on.
Been spending the last week or so debugging things. X axis would just take off in the positive direction randomly. But only when commanded from the parallel port. If I send move commands in the control software via serial it moves how it should. Y axis would not hold position. If I move it falls short in the return to the original position.
It turned out both problems had a common theme... Noise.
X axis was getting noise in the step line when going in the positive direction. (Why positive only, I dont know) The noise was being picked up as step signals and the axis would take off until it tripped an internal overspeed limit. Luckily there is built in filtering. I adjusted it up to match the encoder filtering and everything started working as it should.
Y axis was a bit of a pain. First I had an issue with the multiplier. When I looked at the position status in the control software it was showing some odd position data, it was not multiplying right. Seems it does funny things when it is set in nvram and program code. Eliminated the multiplier in code and it moved pretty much as it should. Still it was not returning to the same spot after a move. If I rapid moved from 0 to 5 inches it would move further and then when I return back it would come up about 1/8" short. Weird thing was the slower I ran this test the more it would be off. Normally with an encoder you loose pulses and the motion is more than commanded. This was the opposite, it was receiving extra pulses while moving so it would come up short. I took my scope and put it on the lines from the pickup head to the interpolater board and found all sorts of noise. I disconnected the motor and a lot of it disappeared. I was getting all sorts of harmonics from the PWM from the motor drives. I tried using the built in filtering but it just wouldnt cut it. While the probe was connected I took a little ceramic .01 uf cap and put it from the signal line to the frame ground. That killed about 90% of the noise. I pulled the arm board off and soldered caps from each signal line to ground. I also solder in a couple 1uf caps near the connector to the encoder on the gantry board. That seemed to fix the problem, almost. It was moving the right distance in one direction but falling short in the other. I took the scope and put it on the TTL output of interpolator board. There was a strange glitch to ground in one channel and in only one direction. I then put the scope on the 1v p-p lines from the encoder. As I moved the axis one of the channels had a glitch where it would suddenly drop out for a few microseconds before resuming. I swapped out the reader head with a new one and that fixed the last remaining problem with the Y axis. It now moves exactly where it should, at least better than I can measure, or care to. 100 steps per mm, 2000steps per sec per sec acceleration, and will do over 1100ipm.
Now that I got that fixed I made up a plate to support the gantry board and guide the wires in the cable tray. Took some aluminum and milled it to the shape I wanted and mounted. I also yanked the hall effect cables from the cable bundle as they will not be needed.
Another thing I did was to stiffen up the Y axis. It was running on single truck on the small 10mm linear rail. The truck is preloaded but it is still lacking in stiffness. There is an auxiliary rail just below it with a couple more trucks. So I took some measurements and made a small plate to tie the two trucks together, I also milled away some of the part the truck mounted to to make up for the increased thickness. Tying these two together increased the stiffness substantially.
Now that it moves how it should I have found a problem that is causing me some problems. When the X axis moves the whole arm flexes. I have traced it down to the upright support that rises from the linear bearings. Much of it has been milled away for cable pass though and lightening. This has also made it pretty weak. Normally it would be fine because the original machine probably had S-curve acceleration and deceleration which helps a lot. Mach, EMC, and all the other cheap laser controls use a trapezoidal acceleration/deceleration curve that induces a lot of "jerk" into the machine which is very apparent in this set up. The far end wobbles back and forth like a leaf in the wind!
So, somehow I need to make things more rigid. So far I have two Ideas. One is to machine some plates to fill in the hollowed out areas on the X axis arm. Bolt through and probably epoxy them into place. Then Also make a heavy lid for the back side to box it in as well as I can. If that does not work Its on to plan 2. That is using a cable/belt and pulley system to drive the other side of the gantry. Another thing that might help is replacing the round rail guide system on the undriven side with some linear rails. That ought to give it a little more stiffness.
Now to a point where I need to get the laser and power supply. Also need to start scrounging up some mirrors. Its going to take more than I thought due to how I want to install the tube. Looks like I will need about 5 of them. Smaller than normal as well due to space constraints.
Here's a pic of the gantry board and support. The extra connectors are for things like home and limit switches.
So now that the motors are tuned it was time to get this thing talking to a PC. That took some doing. First I made up a cable to connect to a DB-25 for the parallel port. Then it was software time. These drives are unlike any drive I have used before. They use programming environment similar to C to program the advanced features where they store the program on flash. It took hours of going through the documentation to gather all the commands I needed to make up a program that would set the drive to pulse and direction mode. Also with the encoder of the Y axis the interpolator multiplied the resolution time 2 so it gives me a 10 micron resolution, 2.5 micron in quadrature. Thats about .00009" per step which is crazy for an application like this. Luckily there the a pulse multiplier built in. Setting that to 4x it allowed me to match the X axis resolution of 10 microns in quadrature, around .0008". It also allowed me to kick the speed up on the Y axis. It will now do about 1000ipm.
Once I got the commands figured I got things going with an old 3ghz P4 I had lying around. Here is the machine running the roadrunner program that is in mach at about 400ipm. The X axis is quite a bit slower than the Y, much more massive and a weaker motor but it still does pretty good.
Once that was done I attempted to tun the Y axis motor. It just would not tune. Complaining about the encoder and all sorts of stuff. One time I tried to tune it I got a weird noise from the motor and that was all she wrote. Looks like I fried a winding. Swapped drives to make sure and got the same result. So it was time to redesign. I was thinking of various other drive methods like belts and stuff. I went to a friends surplus store and picked up a couple small DC servos. One was a MicroMo/Faulhaber 3863 series motor. Just so happens it has the same hole pattern as the old maxon flat motor. I had to mill out the shaft hole a bit but it seems to work. I also had to turn the shaft down to 3mm from 6mm to install the old pulley. I ended up using a 5C collet in the lathe to drive the motor while the motor housing was held in the steady rest. The shaft was hardened so I used a nice polished carbide insert to shave it down. Put a dab of loctite on the shaft and put the pulley in place.
I had left extra pads for a connection to a DC servo in case I couldnt get the brushless motor to work. I installed a connector on the board and wired up the motor. Ran the configure routine and auto tune and it tuned perfectly. Stinking powerful motor. Rated over 200 watts. I do need to machine a touch from the end support to clear the motor still. You can see the motor (black) in this shot:
I made some more progress this week. It was too darn cold in the garage to do any work so I got a friend to help me bring the gantry inside. Now it sits on my living room floor.
I got the bottom plate with the electronics bolted down and the power supplies mounted and wired in. Checked connections and everything seems to be OK. Eventually found two little issues. The stock board that the encoder on the X axis connects to and where the flex flat cables (FFC) terminate to before going to the arm had pins 26 to 30 on one of the two connectors ending in the board. This killed my 5v power to the gantry among other things. I jumped the connectors with some 32 ga wire and that fixed that. Second problem was the connection for the brushless motor on the Y axis. I got the pin order backwards. 1 was at 11 and 11 at 1. Luckily I was able to peel off the back spacer of the FFC and fold it over. I made up cables to connect the arm board to the carriage. I used those silicone wires I had posted about earlier. Pretty much the perfect length. I also made up a cable for the encoder, used some nice renishaw 12 conductor double insulated encoder cable that I picked up off ebay years ago.
I then made up a cable to connect the RJ45 serial connectors on the drives to the serial port on a laptop and installed the software for the drives. I managed to get the X axis tuned using the auto tune function, moves pretty quick with a resolution of .01mm per step. I dont have the encoder on the Y but managed to get it working in a low res mode where it reads the feedback from the motors hall encoder.
The Z axis motor was not so kind to me. Its a little maxon gear head motor. .18 amps at 45volts, 32 count encoder on the back, 24:1 gear box on it. First problem is the drive would not accept the single ended input from the stock encoder. Most drives have differential signaling built in and will take a single ended encoder input. Not these. I tried cheating and it almost worked but there was a whole lot of noise in the signal and it would not work right. So I needed to change the single ended input into a differential signal. Normally you would use a line driver but I didnt have one. What I did have was a mechanically bad encoder with line driver outputs. I took the board out and there was a line driver chip. I removed all the other components and took the bandsaw to the extra circuit board. I wired a connector to the inputs of the line driver IC and put a connector for the servo drive on the other end so the board is between the motor encoder and the servo drive. Finally the drive is happy.
Still problems though. Seems the motor draws less current than the drive really likes to see. This means the auto-tune is not happy. So I spent about 2 hours tuning the drive manually. Looks like this should work now.
Next up is trying to figure out how to mount the Y axis encoder scale and come up with a better mount for the Y servo motor. This one is just too floppy.
Here are a couple pics. One with the electronics mounted to the machine and the other with the machine guts exposed at night. I think I used too bright of LEDs!
Finally got around to start wiring it up. After doing the servo re-retrofit on the Monarch 10EE I decided its time to ditch the old brushed glentek servos on the cnc mill and install some newer Mitsubishi AC Brushless servos on the mill. This should fix several issues I have had. Now I am waiting for boards for the conversion so I have nothing to do.
The servo connections for the encoders and stuff are a pain in the rear. the crimp on pins are a little over 3/16" long. Not designed to be hand crimped!
I too a set of the boards and set them up on the machine to ring things out to make sure I didn't screw up somewhere. I measured from ground to the ground on the x axis encoder, good, +24 to the encoder, good, same to the board arm, all good. Check continuity across gnd and +24, Uh-oh shows a dead short. After a bit of freaking out I found one of the flexible flat cables was loose in the connector and was pulled out at an angle shorting the two adjacent lines. Scared the crap out of me...
So most of the motor stuff is wired now. I still need to wire in the interpolator. But at this point I think I am ready to hook up the drives to power and start setting some of the parameters.
Did a little more work on the laser cutter. We are given the 24th to the 4th off so I have some time.
I picked up a Heidenhain IBV series interpolator for the encoder. The box that is comes in takes up way too much room so I popped out the board from the housing and am going to mount directly. The interpolator takes the analog sinusoidal quadrature output of the linear encoder and converts it to TTL quadrature. This will then provide feedback to the servo drive.
I laid out the boards today and mounted them and the servo drives as well. Now its time to start wiring. Whee...
Got the boards mostly finished today. Looks like its time to start putting things together.
Big board is the main interface board. It connects the servo drives to the motors. The gantry is connected by Flexible Flat Cables which connect at the top right. This connects power, motor power, limits, and encoder feedback. The board on the left is where the FFC's terminate in the X Axis arm. From here they go to High flex silicone cables to connect the arm to the Y axis arm through the two 16pin IDC headers. They connect the Z axis motor and encoder and the Y axis encoder which are both mounted to the Y axis connecting to the Small board on top. There the heidenhain linear encoder plugs into the DB15, limits to the two white connectors and the Z motor to the little 6 pin IDC header.
The extra pads on the boards are for options like a different type of encoder on the Y axis or moving the Y axis motor to the side of the machine.
The main board also handles the estop and power distribution. The big relay cuts power to the laser power supply and the +40v main buss to the servo drives in the eventof an estop condition.
Got the boards laid out. I attached screen shot of each of them
The main board breaks out the two 30 pin FFCs coming from the gantry and utilizes the existing linear encoder on the X axis. It also has a relay that will kill motor power to the servos in an estop condition and also can either kill power to the laser power supply or drop the enable line. The board uses mostly .1 spaced connectors except for a couple phoenix style connectors on the higher power section. The board is also meant to support different encoders for the Y axis with connection for an interpolation unit. Jumpers will bypass those connectors if it is not needed. The board is 4"x4"
The arm board takes the two 30 pin cable and breaks them out to two 16pin IDC right angle connectors. One for the Y encoder and one for the Y motor, Z mot, Z enc, and limits. The connection for Y motor and halls are grouped in the connector in case a fixed Y motor is mounted to the gantry itself. There is also a 8 pin FFC connector for the light bar that is on the machine already. The board is 1.77x 4"
The shuttle board has the DB-15 for the heidenhain encoders I have. Also a 8 pin connector for other encoders. Connectors with power for Y and Z homes are there. as well as a spare connector if we want to replace that little brushless motor with a brushed type. Also a connector for the existing maxon motor on the Z axis. Board is 2x2.5"
Getting some things slowly sorted out. I got some silicone rubber insulated high flex wires that will feed the Z axis and Y axis motors and encoders. They have micro D connectors on the end but I can work with that. I have a couple spare cable sets so I can use one for the connectors on the end. Lucky for me the cables have one female and one male. Otherwise I would have to replace the connectors are these guys are almost $100 each!
I got the encoder for the Y axis today. Heidenhain LS403 series scale and reader. This is an exposed scale so there will be no friction resistance like the normal enclosed glass scales. That little motor is going to need all the help it can get. The scale outputs a 1v peak to peak quadrature sinusoidal analog signal. I happen to have one of the Heidenhain sine to ttl interpolator boards which converts the signal to something I can use. I am not sure what the multiplication factor is with the board I have, guess I will find out! The sensor head also has magnetic limit switches built in which is pretty cool. The scales are used. Hoping one is still good. The encoder strips mount in an aluminum rail that is glued to the machine. This allows removal for replacement or cleaning. Heres the data sheet on the linear encoders:
I owned a lot of the equipment at TechShop so it mostly came home. The stuff that TechShop actually owned was auctioned off a couple weeks ago. A friend picked up the 80W Rabbit 12090 for $2200.
The servo drives showed up last week and I am now trying to figure out just how I want to do this. I had though of making a lifting table for the Z axis but now I am thinking of just putting the optics on the existing Z axis on the gantry. My only worry is the little Y axis motor will not have enough oomph, its only 30W. Ill just keep things light and see what happens. I can always throw in a small DC PM motor if I am not happy.
One thing of note. I will never use Steppers again if I dont have to. The price of PM servo drives has dropped to a point where they are completely in line with steppers. The drives from http://cncdrive.com are a good example.
Also trying to figure out what I want for a controller. The Rabbit we had used the MPC6515. It was not that bad but the software sucked eggs. There were always little issues in importing files. Once you got it in it was pretty decent and had a few advantages over the epilog software. But I am mostly looking at the controller from Full Spectrum. That looks right now to have the most promise. Though I have been around the block with new hardware that never lived up to expectations (Gecko G100, SmoothStepper).
I am probably going to install a 40W tube in the top of the machine and wrap the beam along the outside to the gantry. Since I believe the length of the tube is longer than the longest dimension of the enclosure I will probably have to install it diagonally. I have a bunch of kinematic mirror mounts lying around waiting for something like this and some real light ones that will be perfect for the flying head.
I think the next thing I really need to do is sit down and lay out boards that breakout the 30 pin flat cables that it uses to get power to the X axis encoder and up to the gantry. Also need to find a source of the FFC cables, 1mm pitch, 8 conductor, 40" Long.
Heres a pic of some of the controls. The two servo drives, Fuse holders, SSR and timer for the exhaust fan and some auxiliary relays.
Ever since TechShop Portland went under one of the things that you found was really useful was a laser cutter. We had two different ones. An Epilog Helix 45W machine and a Chinese built Rabbit with a 80 watt laser. The chinese made machine was actually pretty good. Not as polished as the Epilog but in some ways was actually superior.
So I decided to build one. Not going to start from scratch though. At my friends surplus store two Hamilton Starlet Microlab fluid handling robots showed up. Its kind of a light duty gantry robot that can do repetitive tasks. A company that builds electron microscopes and FIB machines had bought these to try and automate loading wafers into a SEM. Didnt work out. So they are basically brand new. Here is a video of one:
He had it for a couple months and there was zero interest in it. The software is proprietary and you have to go to them to take a class before they will even sell you the software. Even the company that made it would only offer a pittance for it. The other day it hit me that it would be perfect for a laser cutter. Its completely servo driven. Maxon motors throughout. Rexroth slides on the Y and Z axis and THK on the X. Travel in X and Y is a little more than 36" x24"
Pic of the main board. Uses dual Infineon processors. Nice 41v, 15A Astec power supply.
The encoder for the X axis, magnetic, .01mm resolution.
The Y and Z axis. The Y uses a little pancake style brushless motor from Maxon. 30W, 40v or so. It is coupled to a spinning nut that drives it along the leadscrew. The lead screw looks to be 7 starts, 1/2" per turn, 1/4" teflon coated.
I got a couple servo drives off ebay. They are made by Elmo. Pretty neat little drive, they will run either brushed or brushless motors and you can control them with step and direction pulse inputs in positioning mode. They also have dual loop support so you can have a encoder on the motor and a linear encoder on the axis.