JOG-WHILE-PAUSED

A very useful new feature added to my LInuxCNC config: JOG-WHILE-PAUSED based on M60 remap and Gmoccapy modifications.

I have designed a sharedvar class to exchange data between Gmoccapy and the Python code called by REMAP.
The native pause buttons is fully handled.
Everything looks like a standard M0 behavior, except you have access to all functions as for manual mode during pause.
There is an automatic machine state save/restore included in my modified M60.

http://blog.f1oat.org/linuxcnc/

Laser sweeping mechanism

Here is an old project now almost finished: a stepper motor based laser sweeping mechanism to be used with DAVID-Laserscanner. The design has been done with ViaCAD 2D/3D. CNC G-Code file generated with CamBam.

Planetary Gear Box V28

The stepper motor is used with a planetary gear box of 1:100 ratio. This gives a resolution of 0.018°.

The electronics is based on:

  • Arduino Uno
  • Adafruit motorshield
  • Custom board for laser and light control

The different parts before machining the box:

20130324_232808_800x600

The mechanical elements has been machined with a CNC-6040 router.

20130929_101639_1024x768

20130929_190653_1024x768

Next step is the machining of the Laser support axis.

Full project description here: http://blog.f1oat.org/david-laserscanner-laser-sweeping-mechanism/

 

 

Installing the Webcam on the CNC-6040

The webcam is mounted along the Z axis. It moves on X and Y, but not Z.
My first idea was to install the webcam on the spindle mount so that it can be moved down to a short distance from the workpiece (too have a large image). However, as the spindle motor height can be adjusted in the mount, it was difficult to find a safe and suitable position for the webcam. So, I went back to the Z axis solution.

20130831_171726

Next step is the vertical alignment of the webcam with Z axis. I used piece of paper (with some writings) attached to a arm  mounted in the spindle. Thanks to this configuration, I can move the target up and down. Then  I tuned adjustments screws of the webcam so that the crosshair center remain on the same point of the target for any Z position. When this is achieved, the webcam axis is perfectly vertical.

20130831_181339

Here, the target at bottom position as seen by the webcam

20130831_181503

And the same target at top position. No noticeable drift => the alignment is ok.

20130831_181507

Next step is the measurement of the offset between the webcam crosshair and the spindle.
I have used a small V-Cutter tool to make a very small hole in a AU4G workpiece. The X/Y position is recorded. The hole as been filled with black color thanks to a soft pencil.

20130831_192751

Then I have moved the X/Y axis to get this hole at the center of the crosshair. The delta with the recorded position is the offset to be configured in LinuxCNC.

20130831_192659

The optical resolution of the webcam at this distance is about 0.1mm per point. I have tried few pointings and achieved an accuracy better than 0.05mm. Surprisingly, that is better than pixel resolution. I think that is possible because we can see when the hole stands between 2 pixels.