-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
Kitwn
Call me stupid, but what exactly do you adjust to make the gantry square once the whole sequence has finished? What is the purpose of step 4? Do you have separate cotrol of the two X distances in 6?
Hi Kit,
Quick answer, once the sequence is finished the gantry is square.
So the normal single motor home search (used by everything from gbrl on your 3d printer, mach3 and the DDCS) is:
1. Drive axis until home switch activates (at which point you have likely gone past it)
2. Retract axis very slowly until home switch releases (you are now at 'home').
In a setup with two motors one driving each side of the gantry adjust the switches/inductive targets so that when each respective release point is reached the axis is square.
Challenge now is to 'trick' the controller that is executing the single motor home search algo above into locating the point where both switches exactly release.
This is what the logic I described does. Step 4 is required during retraction as when a motor's home switch releases that motor is at 'home', whilst the remaining motor isn't yet there so requires more steps. My board never generates steps, it only suppresses steps if required. So in this case DDCS still believes it needs further retraction so continues to generate retraction steps, however my board only passes these onto the motor that has not yet reached 'home'. When this motor does finally activate it's switch both motors are at 'home' and my board signals this to the DDCS.
If your question was due to believing that because at step 2 both motors have activated their home switch and the DDCS has been signalled meant that the motors were at 'home' then this is not true. It wouldn't work as you may have overshot due to the momentum of the gantry and the angular momentum in the screw and it is highly unlikely the hysteresis of two switches is identical. This is why everyone does the very slow retraction until release which avoids both these problems.
This whole process will re-square a machine that has gone out of square. The machine only goes out of square if a driver misses some steps due to noise, a motor stalls or if someone turned a ballscrew by hand when the machine was off.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Nice work devmonkey!!
Really interesting build!
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
Kitwn
Call me stupid, but what exactly do you adjust to make the gantry square once the whole sequence has finished? What is the purpose of step 4? Do you have separate cotrol of the two X distances in 6?
Ok your Stupid.:hysterical: . . .But so am I because I'm not seeing it either.?
To me it's just homing each axis separately, waiting until both inputs go high and backing off until both go low then moving both to a set distance.! It's not doing any individual axis correction and as the switches don't move it's not corrected anything.? Yes, you can square the gantry by offsetting switches using this method, which is how mach3 etc do it but so can any homing system really.!
If you want a true squaring system then it needs to drive each motor separately and adjust to a set distance. For instance, the CSlabs squaring system gives you options to measure the offset between the switch triggers and gives you the option to apply a correction to a set distance or let the system do it automatically. In which case it drives both motors until the first switch goes high then backs both off until it goes low, then it drives the opposite motor until switch goes high measures the difference and moves that axis only the measured difference. It's strange to watch as it does a little dance and the gantry is then aligned to the first switch.
If you want to apply an extra offset to twist either side then you can set a +/- distance for either side which it will apply after homing. It then backs both off a set distance if required.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
devmonkey
Challenge now is to 'trick' the controller that is executing the single motor home search algo above into locating the point where both switches exactly release.
This is what the logic I described does. Step 4 is required during retraction as when a motor's home switch releases that motor is at 'home', whilst the remaining motor isn't yet there so requires more steps. My board never generates steps, it only suppresses steps if required.
I do a similar thing with the Cslabs IP-M controller that doesn't home each axis individual. I just do it using a modified macro which basicly homes twice and controls the drive enable using an output connected to a relay...! . . Simplizzzs
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
JAZZCNC
Ok your Stupid.:hysterical: . . .But so am I because I'm not seeing it either.?
To me it's just homing each axis separately, waiting until both inputs go high and backing off until both go low then moving both to a set distance.! It's not doing any individual axis correction and as the switches don't move it's not corrected anything.? Yes, you can square the gantry by offsetting switches using this method, which is how mach3 etc do it but so can any homing system really.!
If you want a true squaring system then it needs to drive each motor separately and adjust to a set distance. For instance, the CSlabs squaring system gives you options to measure the offset between the switch triggers and gives you the option to apply a correction to a set distance or let the system do it automatically. In which case it drives both motors until the first switch goes high then backs both off until it goes low, then it drives the opposite motor until switch goes high measures the difference and moves that axis only the measured difference. It's strange to watch as it does a little dance and the gantry is then aligned to the first switch.
If you want to apply an extra offset to twist either side then you can set a +/- distance for either side which it will apply after homing. It then backs both off a set distance if required.
Hi Jazz,
When you say any homing system can do this, the DDCS cannot as you proved yourself, infact no system can unless it is aware there are two motors on a single axis, i.e it has axis slaving, my board allows me to use the DDCS with two motors to square the gantry.
I also have the correction offset logic so you don't have to manually move the switches but currently no way to update these offsets without reloading the arduino as I haven't coded it yet. So in this test they were hard coded to zero, I thought this was the simplest way to explain how it works...LOL
Cheers, Joe
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
devmonkey
Hi Jazz,
When you say any homing system can do this, the DDCS cannot as you proved yourself, infact no system can unless it is aware there are two motors on a single axis, i.e it has axis slaving, my board allows me to use the DDCS with two motors to square the gantry.
Well I'm not sure how I have proved this my self.? but yes I agree if the system isn't designed to slave motors independently then it can't, but most systems like Mach3 or Linux CNC that use slaved motors independently can which is more what I was meaning. Your system appeared to just be doing what they do, but they don't Auto square the gantry to a set amount, they just move to switches that you set to square the gantry. (actually, I think Linux CNC can now.!).
Anyway good job all the same, I wasn't knocking your efforts just didn't see any auto squaring(offsetting) going on only hitting switches.!
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
JAZZCNC
Well I'm not sure how I have proved this my self.? but yes I agree if the system isn't designed to slave motors independently then it can't, but most systems like Mach3 or Linux CNC that use slaved motors independently can which is more what I was meaning. Your system appeared to just be doing what they do, but they don't Auto square the gantry to a set amount, they just move to switches that you set to square the gantry. (actually, I think Linux CNC can now.!).
Anyway good job all the same, I wasn't knocking your efforts just didn't see any auto squaring(offsetting) going on only hitting switches.!
I'm attempting to use the standalone DDCS controller for this machine Jazz rather than a PC. Before making this custom board I read Boyan's thread on these controllers here:
http://www.mycncuk.com/threads/10187...ion-controller
I was just quoting your posts in that thread where you tested one of these controllers and proved that it was not possible to slave motors and this obviously being a problem for machines with >1 motors per axis. Here you go:
http://www.mycncuk.com/threads/10187...5579#post85579
Quote:
Originally Posted by
JAZZCNC
Maybe your miss understanding what was meant.? It was me who said doesn't work and I'm talking about Slaved axis. As in two motor/drives on separate outputs working as one axis.
That controller is exactly the same one I have and it DOESNT allow slaved motors. This video is just showing it working as 3 + 1 which the controller will do no problem. The fact they have twin screws means they are using dodgy practise of using one output to control two drives or even worse one drive to control two motors.?
IT DOESNT SLAVE TRUST ME.!!!!
I'm using the 4-axis version with much newer firmware but it still doesn't support slaving, hence the creation of this board to add the capability without the operator or the controller needing to know it is there, it just works passively in the background when required. The 4th axis is obviously then still available to use as a 4th axis as well.
For me the most important function is (re)squaring the gantry before every job, I think you are more concerned with setting up the initial squareness without moving targets. To be clear none of the methods implemented in any of the controllers perform auto squaring they all require some square reference setup on the machine to search for, whether that reference is the actual switch actuation point or some other position offset from it. Just like none of them support auto tramming or auto planaring (new word).
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
devmonkey
I'm using the 4-axis version with much newer firmware but it still doesn't support slaving, hence the creation of this board to add the capability without the operator or the controller needing to know it is there, it just works passively in the background when required. The 4th axis is obviously then still available to use as a 4th axis as well.
So if you still have 4th axis spare then you must be controlling 2 drives with 1 output.?
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
JAZZCNC
So if you still have 4th axis spare then you must be controlling 2 drives with 1 output.?
Yes, that is the whole point of this board I made, it enables the use of a single axis controller output and single home input to safely drive and also correctly home/resquare a dual motor axis with dual home switches. The controller executes its normal procedures without any knowledge that there are two motors and two switches.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
JAZZCNC
Ok your Stupid.:hysterical: . . .But so am I because I'm not seeing it either.?
Actually that should be "Ok you're Stupid' but the grammar police will let you off just this once:excitement:
What confused me was the homing being set by the release of the switch. I only speak LinuxCNC which sets the homing on the (second) activation of the switch after the gantry has backed off and run in again slowly. An upgrade to version 2.8 includes the ability to have two separately controlled motors with their own switches to square the gantry. Then it runs off the switches by a set distance which can be slightly different for the two sides to fine-tune the squaring.
Quote:
Originally Posted by
devmonkey
Yes, that is the whole point of this board I made, it enables the use of a single axis controller output and single home input to safely drive and also correctly home/resquare a dual motor axis with dual home switches. The controller executes its normal procedures without any knowledge that there are two motors and two switches.
That's basically what my board was designed to do but I opted to create all-new step pulses while the controller believed the machine was stationary. It also acted as the splitter for sending the pulses from one output axis of LinuxCNC to two motor drivers during normal operation. 'Great minds', eh?
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
Kitwn
That's basically what my board was designed to do but I opted to create all-new step pulses while the controller believed the machine was stationary. It also acted as the splitter for sending the pulses from one output axis of LinuxCNC to two motor drivers during normal operation. 'Great minds', eh?
Great minds! I just wanted the controller to stay in control at all times so I figured this approach was simpler and possibly a bit safer and it squares the axis as part of the controllers normal homing process. Not sure on the pros/cons of detection on approach vs retraction so long as it is done super slow I don't think it matters, may make more of a difference with mechanical switches.
I did notice a problem with my board yesterday, it was generating a spurious step every few seconds and you could hear them as faint ticks on the stepper whilst it was running. This was due to common mode noise on the step differential line, and is because I didn't bother to put a differential line receiver on the input lines, rather both the +ve and -ve signal are referenced to GND on the arduino. It was fixed by debouncing the inputs over 1 cpu cycle 62.5ns, i.e. reading them twice. However I think I will make a new board in a few days that properly terminates the differential signals, works well enough as it is to to get the machine working now. Any thoughts on the pros/cons of using a opto to terminate the differential signal like the stepper drivers do vs a proper line receiver?
The next step is work out how to bury these proximity sensors in the machine, the Z will be a bit tight and I may need to source a much smaller switch.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Not sure on the debouncing bit. Sounds like you have short duration spikes of noise but would need an o'scope to check. Some sort of filtering, ferrite beads or capacitors for example might sort it out but I haven't the experience with line receivers to advise you.
We've discussed opto-couplers at length in the past (wasn't Doddy involved?) and I have been experimenting with a Long Bendy Optical Coupler (LBOC) recently but that will be for another thread.
Kit
-
Re: Joe's 1000x600x200 steel and aluminium router started
Someone mention Optos? Great for killing line noise, but in this case my usual mantra of propagation delay through the Opto applies (but only because I've been bitten by Optos in the past). Arguable you should use a reverse-connected diode to avoid reverse-biasing the LED in the opto.
If you have noise on the line you really need to deal with it electrically, rather than through software, particularly with a finely crafted LUT solution as you have (I'm not taking the piss - it's a good solution here, mimicking one solution used by FPGAs for logic representation.... I'll be honest, when you first mentioned this project I was thinking it'd be a brilliant first-project for anyone looking to get into FPGAs, a Cyclone IV board will go cheap at around £20... but that sends the chat into a completely different direction and isn't really for this site) - in that case you could have easily configure for differential inputs. Anyway, as-it-is, I suppose my own view is clear from driving the spindle-encoder on the lathe - I use the MAX487 chips, on tuppeth-ha'peny Arduino RS485 interface boards to provide 120R differential drive/sinks as my weapon of choice.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Hi Doddy,
Yeh an FPGA would be an excellent choice although I don't have any non-BGA parts here and didn't want send out for 4 layer board to be made. Lattice have some TQFP parts that could be used but I haven't got any. I have some 485 line drivers though left over from running DMX lighting throughout my house, thanks for reminding me!
On the noise issue, it is being caused by the 328p sampling the differential pair wrt ground without removing the common mode noise (which will always be there). If I'm right it would be completely eliminated by properly terminating the pair with a line receiver.
The LUT does work nicely, I use an 8 bit address space at the moment, 6 input bits and 2 bits of state. I moved all my code into a loop that executes at startup, this iterates through the address space and writes the 8 bit output [2 bits of updated state as the FSM transitions, 6 bits of compressed output] into a 256byte block of memory aligned on 256byte memory boundaries. This removes the need to hand craft a LUT, all you are really doing is executing your logic for every possible input and caching the result.
Then the actual runtime programme loop written in assembler reads the input port directly into the lower byte of the indirect addressing register pair, debounces, merges in the 2 bits of state, immediately does the lookup, this is made very easy by keeping the LUT is aligned with a 256 byte memory boundary.
The assembler the decompresses the output bits, writes them out and updates the state bits. Repeat ad-nauseum.
-
5 Attachment(s)
Re: Joe's 1000x600x200 steel and aluminium router started
All home switch fixings are now done, it is amazing how long the little jobs take, this was a whole afternoon. Milled up a little block to hold the Z switch, decided it would be better outside of the axis rather than inside regards adjustment. Then had to drill two very awkward 12mm holes in the X bearing plates with a portable drill, for this I had to mill up a drill guide, still easier than dismantling the gantry.
Attachment 28370 Attachment 28371 Attachment 28372 Attachment 28373 Attachment 28374
-
Re: Joe's 1000x600x200 steel and aluminium router started
Last of the tedious mechanical bits I think, energy chain carriers.
Attachment 28375 Attachment 28376 Attachment 28377 Attachment 28378
Next job soldering cables, lots of it, and bolting the machine stand to the floor.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Question for Doddy,
I've scoped the common mode noise and it isn't sufficient to cause a phantom step to be read at the 328p. I think the phantom steps I was detecting that I have 'fixed' by debouncing the read are actually being caused by reflections and/or induced voltage spikes as the differential pair switches. If this is correct placing a termination resistor across the pair as you do for rs485 should help do you concur?
Cheers, Joe
-
Re: Joe's 1000x600x200 steel and aluminium router started
How do people usually wire the alarm outputs of the drivers?
My plan was to place these in series with the estop but this wont actually work for me. Reason being estop unlatches the relay that switches the main contactor that switches AC into the driver PSU, this means that the drivers are unpowered until reset is pressed latching the relay, however the relay wont latch as the drivers are unpowered therefore cannot switch on their open collector alarm outputs breaking the estop circuit.
The only thing I can think of is to add another relay in series with estop, via the normally closed contact and then have the driver alarms open this relay, this has the downside that you don't know if the alarm circuit is intact until it doesn't work.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
devmonkey
Question for Doddy,
I've scoped the common mode noise and it isn't sufficient to cause a phantom step to be read at the 328p. I think the phantom steps I was detecting that I have 'fixed' by debouncing the read are actually being caused by reflections and/or induced voltage spikes as the differential pair switches. If this is correct placing a termination resistor across the pair as you do for rs485 should help do you concur?
Cheers, Joe
I guess you know a bit about signal theory - you're trying to match the characteristic impedance of the transmission line at both ends - just randomly throwing resistors on won't be as effective as a properly matched terminator - and yes, as per 485. What's the driving system?, have a look at that and match it.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
Doddy
I guess you know a bit about signal theory - you're trying to match the characteristic impedance of the transmission line at both ends - just randomly throwing resistors on won't be as effective as a properly matched terminator - and yes, as per 485. What's the driving system?, have a look at that and match it.
Just taken the DDCS apart again, the differential outputs are all driven by a standard quad differential line drivers, AM26LV31, no resistors at the transmitting end. I'm driving this through a 2m db37 cable, not twisted pair, or if it is it is highly unlikely the right pairs are twisted. Still these are EIA-422 spec drivers same as max485, etc, so I reckon I wont go wrong with 120 ohms.
It DDCS has a really nice board, has an onboard FPGA, Altera cyclone3 that does all the realtime stuff. I've taken a few photos whilst it is open.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Section 9.1 of the TI data sheet - recommends 100R, you're not far off. It's a fast switching device - most differential drivers (not design for high speed) will have deliberately slow slew-rates to limit EMI. But, it is what it is.
-
7 Attachment(s)
Re: Joe's 1000x600x200 steel and aluminium router started
Progress update:
Stand is bolted to the floor and machine is clamped to the stand. I cut some little bits of angle and use M8 bolts for the clamps. So first the stand was levelled as best a possible with some composite slate tile shims and bolted to the floor. Then the machine was levelled on top of the stand (it has an M12 bolt threaded into the bottom of each corner) and checked that each bolt was bearing weight (attempting to avoid twisting the machine), then finally it was lightly clamped at 4 points to the stand.
Attachment 28401 Attachment 28402
I cut all the cabling to length and took it indoors to solder all sensors and motors, this took a few hours and rather a lot of heatshrink.
Next I fitted all the motors and sensors to the machine and started work on the enclosure.
A few trips to screwfix to further increase my holesaw collection, then an unpleasant afternoon drilling fan, exhaust, switch, indicators and gland ports in the steel enclosure. Now mounted to the wall and cabling fed through. Will do final wiring tomorrow and maybe the first machine moves!
Attachment 28403 Attachment 28404 Attachment 28405
That ugly slot next to the glands is for the DB37 control cable to go to the DDCS control box.
Finally both drag chains were fixed.
Attachment 28406 Attachment 28407
-
Re: Joe's 1000x600x200 steel and aluminium router started
That machine is really starting to take shape. Nice work.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
devmonkey
How do people usually wire the alarm outputs of the drivers?
My plan was to place these in series with the estop but this wont actually work for me. Reason being estop unlatches the relay that switches the main contactor that switches AC into the driver PSU, this means that the drivers are unpowered until reset is pressed latching the relay, however the relay wont latch as the drivers are unpowered therefore cannot switch on their open collector alarm outputs breaking the estop circuit.
The only thing I can think of is to add another relay in series with estop, via the normally closed contact and then have the driver alarms open this relay, this has the downside that you don't know if the alarm circuit is intact until it doesn't work.
I have wired fault outputs in series and taken that to a "servo fault" input on the motion controller. Partly for the reason you give - can't put power on the drivers via the safety relay until there is power on the drivers - and partly because I classify "fault" signals into two categories. Personal safety - when you hit estop you really want it to stop NOW so that is a safety relay task (mine cuts driver power, driver enable, and signals motion controller), and machine issue - driver fault, limit switch - and I'm happy that motion controller firmware can be trusted for that. Does DDSC have "driver/servo fault" input(s)?
-
Re: Joe's 1000x600x200 steel and aluminium router started
My solution is similar to Neale's. The UB1 board I use has a simple safety-relay circuit, so the first 10 or so inputs can be linked to close a relay. My driver's fault signals feed into this, alongside my VFD's fault signal and a signal from my e-stop circuit. The driver's enable line is linked to the relay output, so if one drive faults the drives remain powered but not enabled. Same happens if the VFD drops out, or I hit the e-Stop button (but that also has the effect of killing the power to the drivers directly).
-
1 Attachment(s)
Re: Joe's 1000x600x200 steel and aluminium router started
Thanks guys, lots of inspiration here.
The DDCS has two estop inputs but one is difficult to access on the MPG port. I have an idea how to sort this now. Currently I use the output of the safety relay to switch the low side of the contactor coil and also signal low to the DDCS estop input which is configured to go into emergency stop if this signal is high. I was looking to integrate the alarms on the estop switch side of the safety relay but this is wrong, instead I can put them on the output side. Take a resistor to +24v then series the NC alarm outputs via the same safety relay contact to ground. Take the DDCS estop input from the resistor.
With this configuration the alarms will only estop the DDCS not the contactor, but when the safety relay is tripped both DDCS and contactor will estop. Million dollar question, do I need a diode to prevent current flowing from emitter to collector through the alarm NPNs into the DDCS input when the safety relay is open? My analogue electronics is extremely rusty.
Attachment 28416
-
Re: Joe's 1000x600x200 steel and aluminium router started
Analogue is easy, just work out where the current will flow. Ohm's Law plus Superposition Theorem equals The Answer.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Good news machine is moving, very nicely indeed, I will post some video tomorrow.
I have a question about a potential issue I've discovered with the 24v dc smps I'm using for powering the controller and proximity switches. The unit is a high quality double insulated (no earth connection) TDK-lamda din rail SMPS and I've used them in automation projects before. However this is the first time I've noticed this issue.
Basically you get a slight tingle (barely noticeable electric shock) when touching both DC ground and mains earth.
I believe this is down to the 'Y' capacitor used in the SMPS to reduce EMI, it is a small capacity capacitor that couples input to output (when there is no earth connection) and is required by all SMPS to meet EMI regulations, however it has the nasty side effect of raising the DC output to around half mains voltage wrt mains earth. The capacitance is tiny so it isn't dangerous.
I noticed it whilst leaning on the earthed machine and holding the shield of my db37 cable which is connected to dc ground.
I've checked the unit with a megger to prove to myself it is properly isolated.
So do other people see this, does it matter? What do other people use for the 24v side of their systems? I might substitute it for a small power supply with an earth connection (class1??).
EDIT:
Just ordered a class1 meanwell unit MDR-60-24, this has an earth connection and the datasheet shows it's 'Y' capacitor is connected to it.
https://www.meanwell.co.uk/pub/media...DR-60-SPEC.PDF
Cheers, Joe
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
devmonkey
Good news machine is moving, very nicely indeed, I will post some video tomorrow.
I have a question about a potential issue I've discovered with the 24v dc smps I'm using for powering the controller and proximity switches. The unit is a high quality double insulated (no earth connection) TDK-lamda din rail SMPS and I've used them in automation projects before. However this is the first time I've noticed this issue.
Basically you get a slight tingle (barely noticeable electric shock) when touching both DC ground and mains earth.
I believe this is down to the 'Y' capacitor used in the SMPS to reduce EMI, it is a small capacity capacitor that couples input to output (when there is no earth connection) and is required by all SMPS to meet EMI regulations, however it has the nasty side effect of raising the DC output to around half mains voltage wrt mains earth. The capacitance is tiny so it isn't dangerous.
I noticed it whilst leaning on the earthed machine and holding the shield of my db37 cable which is connected to dc ground.
I've checked the unit with a megger to prove to myself it is properly isolated.
So do other people see this, does it matter? What do other people use for the 24v side of their systems? I might substitute it for a small power supply with an earth connection (class1??).
EDIT:
Just ordered a class1 meanwell unit MDR-60-24, this has an earth connection and the datasheet shows it's 'Y' capacitor is connected to it.
https://www.meanwell.co.uk/pub/media...DR-60-SPEC.PDF
Cheers, Joe
Why leave the 24V supply floating wrt earth? Take the 0V connection to the control box star point and all will be well. Can't see any reason not to ground it. That's what would normally be done - my control box has a 24V smps and a 5V+12V smps and all the 0V connections go straight to the star earth.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Should add the noise is coming from the stepper drivers as it only happens when the stepper is moving, so basically the EMI filter in the 24v smps is filtering what comes into it and coupling it to the 24v DC output which causes the DC output to float relative to mains earth because the neutral and earth are coupled at the electricity company's box in the street. I will fit an EMI filter in front of the toroidal stepper PSU to suppress noise returning back up the supply and into the 24v SMPS (and the rest of the house).
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
Neale
Why leave the 24V supply floating wrt earth? Take the 0V connection to the control box star point and all will be well. Can't see any reason not to ground it. That's what would normally be done - my control box has a 24V smps and a 5V+12V smps and all the 0V connections go straight to the star earth.
Is that really recommended? Doesn't it defeat the purpose of the galvanic isolation?
-
Re: Joe's 1000x600x200 steel and aluminium router started
Not quite sure what the issue is here. If the output of a psu - any psu - is left floating them you can guarantee what volts you will see between the terminals but volts wrt ground is undetermined. It will be somewhere between earth and full mains depending on leakage, transformer internal coupling, EMI filler leakage and so on. Take one terminal to ground and everything is now properly referenced to that - no more tingles!
I don't see that the EMI filter effectiveness or anything else will be affected. In fact, electrically, you are in a much better position because at the moment I would be worrying about the effect of stray voltages on sensitive components. If that "tingle" happens to occur around any high-impedance inputs...
The reason for leaving the outputs floating is that someone might want a -24V supply so in that case they would ground the +'ve output pin. There might be other reasons but that's one good one.
-
Re: Joe's 1000x600x200 steel and aluminium router started
I was thinking that the galvanic isolation (floating DC) is there to prevent a current path between AC live and DC, and that when using a probe you temporarily defeat it. I think also galvanic isolation prevents ground loops should a secondary piece of equipment grounded equipment like a PC be connected, not a consideration here.
But as you say you might get a tingle.
-
Re: Joe's 1000x600x200 steel and aluminium router started
There are a few reasons for the galvanic isolation. That's actually just a posh name for saying that there are no connections from the live/neutral terminals to the output terminals. I mentioned one reason for this earlier - so that the same smps could be used as a +24V source or a -24V source with one output terminal grounded. Another reason (and someone else mentioned this in a post a little while back) for industrial equipment is that if the 24V supply rails are floating with respect to ground, then you can put in fault detection mechanisms that check if either rail does get shorted to ground under fault conditions; the machine can then be stopped before any magic smoke is emitted. Or, maybe, you have a motor speed controller that needs a 24V supply, but is connected to the mains supply to the motor with no isolation. However, if neither smps output terminal is grounded, you really need to make sure that none of the control electronics wiring or terminals are touchable (due to the whole thing floating at some undetermined but possibly dangerous voltage with respect to ground).
On a practical note, this also means that a simple electrical touch-off system for tool height setting is not going to be easy as this depends on the touchplate being connected to one controller input and being shorted to ground by the tool tip via spindle/machine frame, etc. If the controller is not referenced to ground, then this ain't going to work, or you will need to isolate the spindle from the machine frame and provide an additional connection to it - which will all be floating at "it tingles a bit" voltages.
All these issues disappear if you just take the SMPS 0V connection to ground. I cannot see any downside to this.It is what just about any other home-built machine does.
External, e.g. PC, connections? Valid point, and might be an issue in an industrial environment where different bits of kit are connected to different supplies. In a domestic situation where all the equipment is probably connected to the same ring main, this is a non-issue. In addition, an RJ45 ethernet connection will be galvanically isolated and I believe that the USB connection spec calls for galvanic isolation as well.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Quote:
Originally Posted by
Neale
There are a few reasons for the galvanic isolation. That's actually just a posh name for saying that there are no connections from the live/neutral terminals to the output terminals. I mentioned one reason for this earlier - so that the same smps could be used as a +24V source or a -24V source with one output terminal grounded. Another reason (and someone else mentioned this in a post a little while back) for industrial equipment is that if the 24V supply rails are floating with respect to ground, then you can put in fault detection mechanisms that check if either rail does get shorted to ground under fault conditions; the machine can then be stopped before any magic smoke is emitted. Or, maybe, you have a motor speed controller that needs a 24V supply, but is connected to the mains supply to the motor with no isolation. However, if neither smps output terminal is grounded, you really need to make sure that none of the control electronics wiring or terminals are touchable (due to the whole thing floating at some undetermined but possibly dangerous voltage with respect to ground).
On a practical note, this also means that a simple electrical touch-off system for tool height setting is not going to be easy as this depends on the touchplate being connected to one controller input and being shorted to ground by the tool tip via spindle/machine frame, etc. If the controller is not referenced to ground, then this ain't going to work, or you will need to isolate the spindle from the machine frame and provide an additional connection to it - which will all be floating at "it tingles a bit" voltages.
All these issues disappear if you just take the SMPS 0V connection to ground. I cannot see any downside to this.It is what just about any other home-built machine does.
External, e.g. PC, connections? Valid point, and might be an issue in an industrial environment where different bits of kit are connected to different supplies. In a domestic situation where all the equipment is probably connected to the same ring main, this is a non-issue. In addition, an RJ45 ethernet connection will be galvanically isolated and I believe that the USB connection spec calls for galvanic isolation as well.
I get your point on the convenience of probing Neale, however if you don't connect DC ground to AC ground and you are using an SMPS there is no current path to AC ground at all, there is no shock risk. You get the tingle from the Y capacitor in the SMPS EMI filter there are usually two, one coupling AC live to DC+ and the other AC neutral to DC-, the capacitors are not allowed to be big enough to carry enough charge to hurt you and they are required to fail to open circuit. If you take any 5v USB charger and hold the shield whilst touching AC ground you will get the same tingle.
I'm not against connecting AC ground with DC ground but it does come with the risk that an AC live fault in the machine enclosure will fry all your electronics as there is a current path between AC live and DC ground. My last machine didn't have this connection so when probing a temporary DC ground connection was placed on the spindle then removed afterwards. I'm not sure which is more correct.
-
4 Attachment(s)
Re: Joe's 1000x600x200 steel and aluminium router started
Progress update. Today was spent putting some controls in a box and attaching it to the machine. I used an old TV mount and made some crude alterations to it with the welder.
Attachment 28423 Attachment 28424 Attachment 28425 Attachment 28426
I also soldering up the MPG connections which was a massive pain in the rear.
First moves:
https://youtu.be/u7VPziPBhRg
-
Re: Joe's 1000x600x200 steel and aluminium router started
Great when it reaches that point - gives you the drive to get it finished!
Seems a little slow when jogging with the MPG - is that a "settings" thing? Mine winds back and forth a bit faster, but there's also a "step size" switch on the MPG that effectively changes jogging speed.
-
Re: Joe's 1000x600x200 steel and aluminium router started
Yep the DDCS lets you configure the step size per MPG tick for each of the three speeds on the MPG but I haven't configured it yet, so it is defaulted to 4 microns or something ridiculous. Sounds rough on the lowest setting as it is below the precision of the machine.
Still got to rig up the home switches and solder all the cable shields on, then I can tune the config. Also need to dig out my old VFD and see it it still works, it may have been exposed to the elements.
Then cut the plate for the bed and get the machine to drill itself....
Before going much further I will run some complex toolpaths in the air so see if the DDCS is any good, I have no reason to believe that it isn't but want to know sooner rather than later if I need to switch to a PC, hopefully it will be fine.
-
2 Attachment(s)
Re: Joe's 1000x600x200 steel and aluminium router started
I ended up fitting the tiny hiwin grease nipples to the HG15 carriages, these are a pain. Today I knocked up an adaptor from a piece of aluminium, it works but only about 50%.
Attachment 28429 Attachment 28430
I've read the hiwin instructions for moving the grease point to the side of the carriage by piercing one of the blind holes in the green plastic molding, has anyone tried this? It would greatly simplify greasing my Z axis.
-
3 Attachment(s)
Re: Joe's 1000x600x200 steel and aluminium router started
VFD is working, quite surprised by this as it has been 'outside' for a couple of years. DDCS is controlling the spindle on/off and speed.
Today I cut the 20mm plate for the bed. The blank weighed 80kg which is too much to safely manoeuvre around the table saw so I just my very old and rough circular saw, lots of fluid, lots of smoke, but it did a pretty good job.
Attachment 28447 Attachment 28448
I took the edge off with a chamfer bit in a wood router, the bed sitting in place:
Attachment 28449
I took the a rough height map with a DTI clamped to the Z. As expected from bringing the rails into plane with laser and epoxy I have around 1-1.5mm total error (this was the frame error before pouring epoxy). The cross members of the frame are also not perfectly in plane and would require a little shimming under the bed.
I'd rather have the bed closer to planar that this, although the eventual spoil board skimming will fix it, so I'm contemplating attaching some shimming material to the cross members and surfacing this then bolting the bed plate down on top.
Another thought is to float the bed plate on some rubber washers and compress them until the DTI reads zero everywhere.