Woodpecker CNC conversion

astfgl

astfgl
I purchased a third-hand 1200mm x 1200mm about 8 months ago. It's an Optima 1212, which is a 2008 vintage version of the Camaro 1212. The older version has ball screws and fully supported round rails and linear bearings on all axes. The only major difference is that the Y axis rails are under the bed rather than along the sides as in the Camaro picture. The ID plaque is attached below.

At first I tried using it with the original ARM DSP controller, which while it worked, was not very good and had some really annoying issues, including rust.

I replaced it with a parallel port breakout board and LinuxCNC. That worked very well, and I also took the opportunity to move the Y homing switch from the rear of the bed to the front. Waiting while the gantry moved the entire length of the bed at homing speed was really annoying for a hobbyist. Unfortunately, the PC I was using quickly succumbed to the environment in the shed, and it's replacement is already showing signs of following suit.

I decided to buy a G3 as being much more suited to my needs and environment. While expensive, it should survive much better and be easier for me to work with - I hope.

My next post will detail the re-wiring I undertook over the Easter long weekend. The G3 is currently sitting at the local DHL agent's depot to be picked up this afternoon, so there will be another update coming soon.
 

Attachments

  • Woodpecker-Label.jpg
    Woodpecker-Label.jpg
    214.7 KB · Views: 44

astfgl

astfgl
Refer to the attached photo below.

In the first conversion to PC control, I made some small changes. The interface wiring between the chassis and the DSP controller came through two multi-pin connectors to the lower left of the electrical cabinet door. A terminal board was located in the lower left of the cabinet, which I removed and replaced with my breakout board. A 5V 5A PSU (top right in photo) originally powered the DSP, and then the BOB. This BOB was then connected to the external PC with a standard parallel cable. The e-stop (stepper and spindle) and main power key switch were removed from the external DSP controller housing and fitted where the two I/O connectors used to mount, with a small acrylic adapter plate.

After removing the BOB, I used that space to install a 24V 5A DIN power supply for the G3 and any other future accessories. The interface cabling is now available on the 6 aviation style plugs on the top left of the photo. They took some time to drill and de-burr, as access to the rear of the steel panel is limited. Two extra holes are available for future needs and are blanked off with grommets.

Left to right, top to bottom, the first three plugs are X, Y and Z stepper pulse and direction signals. The fourth is X, Y, Z home switch and Probe/Zero signals. The fifth is inverter FWD, REV, VC (0-10V speed input), AVO (0-10V speed output) and GND. The sixth is 5V and 24V output from the cabinet PSUs.

In the cabinet, roughly left to right, are the 24V PSU, 240V contactor and circuit breakers, 3x stepper drivers, 70V/5V stepper PSU, 2.2kW inverter, 5V PSU (unused), massive choke / power conditioner, terminal blocks, cooling fan and chassis cabling loom plugs.

There's lots of live terminals in there, particularly on that choke module, so I'm extremely careful to have it unplugged when I'm working on it. it appears to all be done now, so as soon as the G3 arrives and the interface cabling checks out, the door will go back on.
 

Attachments

  • Woodpecker-Electrical-Cabinet.jpg
    Woodpecker-Electrical-Cabinet.jpg
    682.2 KB · Views: 42

astfgl

astfgl
My controller arrived on Wednesday, thanks to DHL "Express". Five days to do what Australia Post can do in two, and at three times the price.

I do not yet have an enclosure for the controller, as I want to retrofit the original mounting bracket/arm with a new all-in-one station which includes the G3, monitor, keyboard and mouse. In the meantime, I've bolted a length of DIN rail to the bracket and everything hangs off that with the keyboard, mouse and monitor on the bed. The wifi antenna fits nicely in the DIN slot.

I started by wiring the power and e-stop, with the keyboard, mouse and monitor connected. The first boot up was successful, and I cleared the passwords - I could see that was going to get annoying quickly.

Next was the X axis, which moved the stepper first time. Of course, it was the Z stepper that moved, but I still count that as a win. Investigation revealed that the stepper drivers are ordered Z-Y-X in the cabinet. When I removed the original interface board, the connectors were labeled, so I just put tags on the wires. In this second upgrade, I replaced the step/direction looms and just assumed the order would be left to right.

No problem, other than the new loom lengths are sized for the driver positions and the aero connectors are super glued in to the panel to stop them loosening - there's no room to get a spanner on the nuts, so they're just finger tight. The order of the connectors is now Z, Y and X. I'll label them and it won't worry me, but I'm sure it'll trigger some people.

Connecting the other two axes worked as well, and I could jog around.

Next was the home switches and touchoff socket, connected to inputs 1, 2, 3 and 4 with 5.6k pullup resistors. I removed the covers from the X and Z steppers to access the micro-switches and move them manually to check the inputs triggered correctly. While I was there, I took the opportunity to change the spades from NO to NC, as the machine had always been wired as NO for some reason. The Y switch is under the bed and I didn't feel like crawling in there today.

With the homing switches working and the steppers moving - though very slowly - I set up homing on Z, then X and finally Y. I already knew the ballscrew pitch, microstepping and motor steps from the LinuxCNC conversion so that was all straightforward, though a couple of axes needed reversing.

I started playing with the axis setup to get a smooth feed rate and acceleration. It's different on each axis, and needs slightly different values than I had with LinuxCNC to decelerate the homing motion before running into the physical limits of the machine. There's more work to be done there, and I need to test it under load.

Finally I connected the spindle control loom, which worked except there's no CCW movement. The original controller did not have a reverse capability, so I'm assuming that the inverter is only programmed for the forward input.

Tomorrow I'll get the spindle working in reverse, though I don't know if I'll ever need that, tune the axes some more, and get the touchoff input working.
 

Attachments

  • Woodpecker-G3-Testing.jpg
    Woodpecker-G3-Testing.jpg
    285.4 KB · Views: 35

astfgl

astfgl
The spindle was straightforward, as the VFD was configured for two line mode 2 which uses the FWD input for Stop/Run and the REV input for Forward/Reverse. Changing F0.5 from 1 to 0 put it back in the default mode 1 where the FWD and REV inputs each command both run and direction.

The zero/touchoff input was already wired in with a pullup, so all I had to do was configure the logical input and probe speed.

Tuning the axes is a little scary with a large machine like this one. There's a lot of mass being thrown about, and the steppers are deceptively powerful. I started off with conservative settings, which turned out to be too conservative. The acceleration I set was much too low and I was crashing the X and Z axes when homing. I started to increase the acceleration and then the speed to what I thought were silly values, but the machine didn't miss a step even with me pushing against each axis as hard as I could.

I'll do some more work on it today and try to find a stable speed that's not too terrifying.
 

astfgl

astfgl
I did some more tuning of the axes today, pushing as hard as I could against the X and Y axes, and lifting and pushing down on the Z. I tried different combinations of feedrate and acceleration until the stepper skipped, then backed off. I didn't take it right to the edge, subtracting about 15% from the point where it could push me around without skipping.
AxisFeedrateAccelerationPitchPPR
X120001000103200
Y100001200103200
Z5000500103200

The ballscrews are all two-start, the steppers are 1.8 and the drivers are set to 16 microsteps. The Y axis has a much bigger stepper, so even with the extra weight of the gantry it still moves fast.



My cheap toolsetter is still in quarantine, so I think that's all the configuration I can do right now. I think the next job is to design a standalone housing for the Masso, monitor, etc.
 

astfgl

astfgl
Not much progress in the router over the past couple of days, though I did crawl under the chassis and swap the Y axis home switch to NC.

I've been weighing my options about how to mount the G3 and KVM, and decided not to build a "hutch" style unit like Peter shows in his videos. Rather, I'm going for a commercial articulated arm with mounts for the monitor and keyboard/mouse. The keyboard tray only fits a mouse if you use a compact keyboard, but that's all that is required anyway. There's mounting position on the arm half way between the monitor and keyboard which is in the perfect spot for a small enclosure to fit the G3. If that does not work for some reason, my fallback position is to simply hang it off the back of the monitor mount.

I've put together some schematics of my setup, please feel free to point out any mistakes I've made.
 

Attachments

  • MassoG3-Power.gif
    MassoG3-Power.gif
    10.7 KB · Views: 38
  • MassoG3-Steppers.gif
    MassoG3-Steppers.gif
    43.6 KB · Views: 41
  • MassoG3-Home.gif
    MassoG3-Home.gif
    15.4 KB · Views: 46
  • MassoG3-Spindle.gif
    MassoG3-Spindle.gif
    13.3 KB · Views: 43

astfgl

astfgl
No posts for a week, but there's been lots of work. I made my first test cuts last weekend and found the Y axis was creeping in the plus direction in a very consistent manner. I first noticed the effect as stepping on the front wall of a pocket, and then a series of identical parts spaced along the X axis were slowly moving away.

The dial indicator was set up again, and confirmed that moving y150 y0 returned to zero plus 0.25mm. Repeating the motion repeated the error exactly, an extra 0.25mm for each movement. Shorter or longer motions resulted in proportionally the same error.

Listening carefully, I could detect a slight roughness of the motion in the +Y direction at some points in the middle of the movement. The -Y movement had no matching roughness - it was as smooth as silk. Changing the zero along the ballscrew moved the roughness along with the new zero, implying that the ballscrew and rails were not at fault.

The first test was changing the velocity, with no effect. Next was the acceleration, with no effect. Swapped the X and Y plugs on the Masso, with no effect.

Next was the ballscrew mounts and bearings, followed by the stepper motor and the spider coupling. All were solid with no detectable movement or slipping.

I have a spare identical stepper driver which came with the machine, so I swapped that and the problem went away. Swapped back to the original driver, and the problem reappeared.

I have no idea what fault in the driver could cause an error in only one direction, and generally in the middle of the movement where the velocity is constant. The fault was not there before the conversion, as the last job on LinuxCNC was a series of 11 pockets along the X axis, and they came out perfectly in line.

In any event, it's fixed now and a replacement spare driver is on order - the DM860H appears to be closest match to the ones I have. The internal circuitry is very different, but the specs are close.
 

breezy

Arie
Staff member
@astfgl,

Interesting fault, good job on finding it. Strange it was in one direction only.

I had a similar "missed steps" fault in one direction only, which turned out to be a slipping pulley on the X stepper.
I have no idea what fault in the driver could cause an error in only one direction, and generally in the middle of the movement where the velocity is constant.

When the driver changes the direction of the motor it changes the phasing of one winding using a electronic circuit known as a H bridge, what could be happening here is that one transistor out the four is failing. This is an assumption only, not fact.

Regards,

Arie.
 

astfgl

astfgl
With every four full steps the H-bridges are reversing the current flow at least once depending on the driving style.

Being a microstepping (16 sub-steps) driver on a 2-phase stepper motor, it's using PWM to pulse the coils thousands of times per second - the two H-bridges are getting a workout to make the phase relationship between the two sets of coils position the rotor at the required step or inter-step position. That's true even with the motor powered but holding in place.

If one or more of the transistors (or FETs?) had failed, the fault should be apparent all the time as microstepping would not work at all in that phase quadrant. The gantry can still push me around without missing steps, one of my tests was to put bodyweight pressure on the gantry in all movement directions and combinations, and the error was still the same 0.25mm no matter if I was pulling or pushing or both.

The controller is about 2009 vintage, and there's electrolytics, SMD caps, resistors and diodes. There's lots that could be cracked, dry or shorted and contribute to instability of the IM2000S and it's supporting components.

I have a spare motor as well (lots of spares!) and if I have time in the future I can set it up with an arduino driving it and see if I can replicate the fault.
 

astfgl

astfgl
Lots of work over the last week. My monitor/keyboard arm arrived and I immediately threw away the desk mount and replaced it with a fabricated box section mount that bolts to the side of the CNC in place of the original controller support. The base swings through about 270 degrees and the end by 180, plus there's about 40cm of up and down movement. The box section has a steel sleeve welded in the top end, bored out oversize, and a polyurethane bushing for the sprung arm to rotate inside.

The temporary mount for the Masso is a piece of polycarbonate with various holes drilled through. Once I'm happy that this is the design I want, I'll make a proper box to enclose it and position the plugs, etc better. It'll still be made of polycarbonate, as I have quite a lot of scraps.

Making the cables took a surprisingly long time. Each is 1.3m long, five 5 conductor and one 4 conductor, and all are female-female, as the panel mount connectors are all male.

It's all together again, and worked first time. I made the same test cuts I had so much trouble with a couple of weeks ago, and they came out perfect.
 

Attachments

  • KVM-arm.jpg
    KVM-arm.jpg
    142.3 KB · Views: 39

furals

furals
Hi , love the rework on the woodpecker.

I have a question I've broken some of the ribbon cable conection to the controller.

did you keep any of these when converting?

regards

Mark
 

Attachments

  • IMG_0782.jpg
    IMG_0782.jpg
    79.7 KB · Views: 54

timcki

New member
Not much progress in the router over the past couple of days, though I did crawl under the chassis and swap the Y axis home switch to NC.

I've been weighing my options about how to mount the G3 and KVM, and decided not to build a "hutch" style unit like Peter shows in his videos. Rather, I'm going for a commercial articulated arm with mounts for the monitor and keyboard/mouse. The keyboard tray only fits a mouse if you use a compact keyboard, but that's all that is required anyway. There's mounting position on the arm half way between the monitor and keyboard which is in the perfect spot for a small enclosure to fit the G3. If that does not work for some reason, my fallback position is to simply hang it off the back of the monitor mount.

I've put together some schematics of my setup, please feel free to point out any mistakes I've made.
I know this post is a couple of years old but wanted to say thanks for the pictures, I am a visual thinker and this helps a lot!!
 
Top