Optimum Optimill MH50V CNC conversion

More
2 years 11 months ago #284504 by tommylight

This is my first LinuxCNC build so any feedback is very welcome both regarding the hardware and the software setup as I'm sure that I still have much to learn.
You will have to wait a bit for that till we find where our jaw dropped and put it back! :)
Magnificent work, thank you.
The following user(s) said Thank You: rodw, Unlogic

Please Log in or Create an account to join the conversation.

More
2 years 11 months ago #284533 by Unlogic
I finished the e-stop setup today integrating the ABB SSR10 safety relay with LinuxCNC. All it took was a slight modification of the example DSS posted in this thread .

My setup now behaves as follows:
  1. If LinuxCNC is not running the safety relay is stuck in e-stop and cannot be reset
  2. E-stop on the safety relay can be triggered both using the physical buttons and using software
  3. The only way to reset the e-stop is using the physical button
Here is a video showing how it works:


Here is the HAL code is added to the custom.hal file:

loadrt estop_latch
loadrt oneshot count=2

addf estop-latch.0     servo-thread
addf oneshot.0         servo-thread
addf oneshot.1         servo-thread

setp oneshot.0.width 1
setp oneshot.1.width 1

#Automatic e-stop reset in UI
net reset-trig oneshot.0.in                      <= hm2_7i96s.0.7i84.0.0.input-00
net reset-ui   oneshot.0.out                     => halui.estop.reset

#Latching e-stop function
net estop-loopout iocontrol.0.emc-enable-in      <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out     => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable  => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in          <= hm2_7i96s.0.7i84.0.0.input-00-not

#When e-stop is detected momentarily break e-stop circuit to trigger safety relay requiring external reset
net relay-in oneshot.1.in                        <= estop-latch.0.fault-out
net relayout oneshot.1.out-not                   => hm2_7i96s.0.7i84.0.0.output-00


I removed the following lines from the HAL file generated by PNCconf:

# --- ESTOP-EXT ---
net estop-ext     <=  hm2_7i96s.0.7i84.0.0.input-00


The trick to make this work which took a while to figure out was to use an inverted output on the oneshot component (oneshot.x.out-not). That enables me to use an output on the Mesa 7i84 board to power the e-stop loop which goes to the safety relay. When an e-stop is triggered by LinuxCNC it momentarily breaks the e-stop loop causing the safety relay to trigger just as if I had pressed a physical button. It also has the added bonus of preventing the e-stop from being reset if LinuxCNC is not running.
 
The following user(s) said Thank You: tommylight, pommen, DSS

Please Log in or Create an account to join the conversation.

More
2 years 11 months ago #284557 by DSS
Everything is so well thought out. A nice clean build so far. I never would guess this is your first LinuxCNC conversion/build ! I look forward to following along.
The following user(s) said Thank You: Unlogic

Please Log in or Create an account to join the conversation.

More
2 years 11 months ago #284615 by Unlogic
Thanks for the kind words, I think the trick is careful planning and trying to cut as few corners as possible.

Still I had to do some unorthodox solutions in order to fit everything in the enclosure and still have space left for an eventual 4th axis servo drive. I had forgotten to take the size of the EMI filters into consideration when first planing the layout.

I solved this by raising one of the DIN rails on standoffs milled from a piece of extruded aluminum. This allowed me to "hide" the smaller EMI filters under neath the DIN rail. This also simplified the wiring a bit since the servo drives needs two power feeds. One permanent and one going through the e-stop controlled contactors but both of them needs to go through the EMI filter.

 

The gigantic EMI filter for the VFD was a bit trickier to hide so I made a shelf out of aluminum so that I can mount the VFD on top of the filter.

 

 

 

The VFD isn't installed yet as I'm planing to reuse the one that came with the mill and I'm still using the mill in manual mode so it will have to wait until the conversion is done before it can be moved over.

 

Please Log in or Create an account to join the conversation.

More
2 years 11 months ago #284617 by Unlogic
The Delta B3 servos I'm using have 24-bit encoders and support up to 16777216 steps per revolution which is probably totally overkill for my purposes. This can be changed on the drives using the "electronic gear ratio" settings (P1.044 & P1.045) to pretty much whatever one wishes.

But being a rookie I don't really have a good reference here. What would be a suitable number of steps per revolution for a setup like mine with 5mm pitch ball screws driven with a 1:2 reduction using 750w servos.

I've currently set it 1000 steps per revolution but maybe that's a bit too crude?

Please Log in or Create an account to join the conversation.

More
2 years 11 months ago #284645 by PCW
1000 steps per turn  is 5u per step which is pretty crude
I would chose a number around 10x higher
The following user(s) said Thank You: Unlogic

Please Log in or Create an account to join the conversation.

Time to create page: 0.729 seconds
Powered by Kunena Forum