Category Archives: EMC

AXIS with PyVCP jogwheel

By popular demand, an example where a PyVCP jogwheel is hooked up to AXIS: The files needed to make this work are in here: axis_jogwheel.tar

Mesa 5i20 breakout boards

In 2006 I made optoisolator cards for the cnc-mill project, but now with the lathe I am using servo-drives and a VFD which mostly already have optoisolated inputs, so I will use these very simple breakout boards instead. There are two pitch-standards for the screw-terminals, an imperial one with a pitch of 5.08 mm (i.e. [...]

Servo setup with m5i20 and EMC2

By popular demand, a schematic which roughly shows the electrical connections of our cnc-mill setup. Most of it fits inside one box (also shown here). The m5i20 I/O connectors are on the left, followed by the optoisolator cards. E-stop chain in the middle, servo-amplifiers and motors to the right. Jog wheel at the bottom. The small [...]

EMC2 test run

The servos are now almost ready to go on the mill. Some dry-running of EMC2, the servo electronics, and the VFD today. I’ve made this pyVCP panel for AXIS which displays the commanded and actual spindle RPM, the spindle current (in some uncalibrated unit), the PID outputs and following errors for X/Y/Z. The jog-pendant box [...]

toggle2nist

EMC uses ‘nist-logic’ for most IO, meaning there is one on-switch/signal to switch a thing on, one off-switch/signal to switch it off, and one indicator-signal to tell you the state. To connect momentary-on pushbuttons to EMC you need at least the toggle component, but I’ve found that it doesn’t work that great with things that [...]

idb – Inverse Deadband component for EMC2

Due to the open-loop response of my servo motors I found I need ‘inverse-deadband’ on the PID output to achieve a ‘tight’ PID loop. The idea is that since the motors don’t respond to DAC outputs between around -0.2 to +0.2 it’s not a good idea to use this interval of the DAC. I’m mapping [...]

PID Tunig

For a few weekends now I have been ‘dry-running’ the servo electronics that are going to replace stepper motors on the cnc mill. So far the servos are working in closed loop, I can control the VFD forward/reverse and set the RPM, I can read in a spindle-encoder to verify the RPM and also do [...]

Hard disks are not forever

Just had a 2-3 year old SATA drive fail on me. If you’re reading this, go and take backups of critical data. Do it. Now. This is the cnc-mill controller machine so hopefully no critical data was lost. Some notes on the EMC2 install process, just in case I need to do it all over [...]

Variable diameter/pitch threading

John Kasunich doing some variable diameter and pitch threading on an EMC2-controlled lathe. Nice!

Spinning the DC Servos

Some good steps towards driving our cnc-mill with DC-servos taken today. I got the pico-systems servodrives wired correctly, the new 50 kHz PWM m5i20 configuration loaded onto the fpga, and updated my pyvcp test panel a bit. I’m using three 19″ rack enclosures. The lower one has a 1.8 kVA transformer, the middle one houses [...]