Fryer MB-11 Bed Mill Retrofit
I have been working on getting the servos tuned and could use some advice. I have gotten what I feel is acceptable, but also feel like it could be better.
As a refresher, im using Dmm-Tech Dyn4 drives and 1kw servos on all 3 axis. These are running in torque mode as velocity mode is hopeless and cannot be tuned to be stable....
I have tried PCW's tuning suggestions from earlier on: forum.linuxcnc.org/30-cnc-machines/33016...rofit?start=10#97305 but that doesn't seem to work for me. I cannot increase the servo thread speed as it makes the system unstable and I get watchdog errors.
What I have had moderate success with is increase "P" only till oscillations then back it off a bit. The I add as much "D" as I can and still stay stable, and back it off a bit. Next I adjust FF1 and FF2 to stabilize the error as much as I can.
Well this method can seem to only get me so far. Reading the axis error in hal scope, the Y stays below +/- 0.0006 and the X seems to stay below +/- 0.0005.
I was hoping someone could suggest what speeds I should test the tuning at? Rapid speeds seem to be the most harsh...
Both of the following pictures are rapid jog speed of 258IPM.
Y Axis Hal Scope
X Axis Hal Scope
I have attached the current hal and ini file as well.
Lastly, I started creating a custom glade site panel to display some machine specific things. I have not linked it yet in hal, but I have the 0-10v output from the VFD going into one of the 7i77 analog inputs and will be displayed on the spindle load meter. The commanded speed comes from halui and the spindle rpm will come from a spindle encoder once I get that installed. Lube pump on is linked to some lube pump delay code to only activate the pump when the machine is moving. It stays running for 1 minute after the machine stops moving. Low Oil and servo faults are just connected to pins on the 7i77.
This is the screen in the simulator on my laptop.
I wanted to mount the Mini-ITX motherboard to the back plate, but was unsure how to stabilize the 5i25 PCI card. What I ended up doing was drilling the back plate for the mini ITX mounting pattern and then designing a stabilizer bracket for the PCI card and a mount for the SSD. It just slipped over one mount of the board and gets held down when the mounting screws for the motherboard are screwed down.
I just saw your ITX/5i25 bracket. Like! much better solution than the ugly sheet metal bracket I bent up to do the same job.
Would you mind posting your STL please? I would like to print one.
Since you have a touch screen, have you considered Gmoccapy for the GUI? It is very good.
Glad you like the bracket. Ive uploaded the files to Thingiverse. Here is the link. www.thingiverse.com/thing:2800306 Ive included the Fusion file if you need to make changes.
I have looked at Gmoccapy, but it needs some changes as well before I would be happy. I would be cleaner though as I could stash my faults and status behind a button and check them when I want.
Im less worried about the UI right now and just want to get the machine cutting! Hopefully today I will make the first cuts with it!
One of the things Im working on right now is re-wiring how the machine is powered up and shutdown, as well as how its enabled.
Im stuck at how I should enable and disable the machine. Currently my startup procedure is main power switch on cabinet, start Linuxcnc, release estop and press reset, then hit F2 on keyboard to enable then home button on the console. I have space on the console to add more buttons and could add and enable one. I was thinking of also adding a clear error button... Looking for suggestions here.
This week I was able to get the console Estop and reset switch working using a modified version of Rodw's estop latch code: forum.linuxcnc.org/10-advanced-configura...tches?start=10#93394
I modified the latch-ok input to be the normal operating state of the estop switch so that when the switch is out, the system is ok. I then connected the reset signal to to the "R" button on the console. I also wanted to estop output to activate when the system is good where Rodw's code activated the output when the system was in fault. To do this, I just added the physical output to the latch ok out line.
Here is the code, Hope it helps someone in the future.
# --- remote estop --- loadrt estop_latch count=3 addf estop-latch.0 servo-thread addf estop-latch.1 servo-thread addf estop-latch.2 servo-thread net latch-reset <= hm2_5i25.0.7i84.0.2.input-18 # Console Estop Reset Signal net latch0-ok-in hm2_5i25.0.7i77.0.0.input-04 # Console Inverted Estop Signal net latch0-ok-in => estop-latch.0.ok-in net latch0-out <= estop-latch.0.ok-out net latch0-out => estop-latch.1.ok-in net latch1-out <= estop-latch.1.ok-out net latch1-out => estop-latch.2.ok-in net latch-reset => estop-latch.0.reset net latch-reset => estop-latch.1.reset net latch-reset => estop-latch.2.reset net latch-out hm2_5i25.0.7i77.0.0.output-08 iocontrol.0.emc-enable-in <= estop-latch.2.ok-out # --- CONSOLE ESTOP SWITCH --- net console-estop <= hm2_5i25.0.7i77.0.0.input-04-not net console-estop => estop-latch.0.fault-in # --- CABINET ESTOP SWITCH --- net cabinet-estop <= hm2_5i25.0.7i77.0.0.input-05 net cabinet-estop => estop-latch.1.fault-in # --- SPARE ESTOP SWITCH --- net spare-estop <= hm2_5i25.0.7i77.0.0.input-06 net spare-estop => estop-latch.2.fault-in