Welcome! Log In Create A New Profile

Advanced

Arduino Firmware to Control Galvanometer Drivers

Posted by marinusdebeer 
Arduino Firmware to Control Galvanometer Drivers
April 01, 2018 02:06PM
Hi,

I am building a CNC Laser Engraver that is operated by galvo mirrors. Kind of like this: [www.instructables.com]. But instead of it being a laser show I want to engrave metal. Also it must take an image as an input and turn that into g-code (I already have that software) once it is converted it needs to be sent to an arduino which will analyze the g-code and send the corresponding signals to the servo drivers.

GRBL only works with stepper motors..

Any help is appreciated,
Marinus
VDX
Re: Arduino Firmware to Control Galvanometer Drivers
April 01, 2018 04:19PM
Hi Marinus,

we can discuss this here too -- quoting the last post from LPF:

"... for XY-galvos I'm using the E1701D from HAlaser - [halaser.de]

And did some "tinkering" with this super-cheap cinese galvos, an Easylase LC USB and programming a flow-plugin for BeamConstruct ..."


Viktor
Re: Arduino Firmware to Control Galvanometer Drivers
April 01, 2018 04:42PM
@VDX, is 11 and a half bits (1 part in 3072) sufficient resolution for the galvo? What "step" rate do the galvo axes need to be driven at?

I understand that standard servo-type galvo drivers use 0-10V differential inputs. The SAM4 processors used in the Duets have 2 on-chip DACs, so I have been wondering whether they could be used to drive galvos via a couple of op amps.


Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet.
VDX
Re: Arduino Firmware to Control Galvanometer Drivers
April 01, 2018 04:57PM
... depends on your working area - for lasermarking 100x100mm is a common size -- so: 100mm/3072 = 32,55 microns between two "pixels" ... not so precise - but could be enough for a DIY setup.

For the "step-rate" or marking speed - common scanning speeds are from 1m/s to 10m/s -- for 1m/s and 30microns per "step" this will be something like 34kHz ...

Edited 1 time(s). Last edit at 04/01/2018 05:01PM by VDX.


Viktor
Re: Arduino Firmware to Control Galvanometer Drivers
April 01, 2018 05:02PM
Quote
VDX
... depends on your working area - for lasermarking 100x100mm is a common size -- so: 100mm/3072 = 32,55 microns between two "pixels" ... not so precise - but could be enough for a DIY setup ...

Thanks!

What sort of hardware do folks typically use to drive galvos from a microcontroller then? External 16-bit DACs are readily available, but I would have thought that getting sufficient data rate over SPI would be difficult. I2C would be even worse. [EDIT: I just saw your addendum about scanning speed. I guess SPI is practical after all with around 14 bits resolution, especially if DMA is used.]

Edited 1 time(s). Last edit at 04/01/2018 05:13PM by dc42.


Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet.
Re: Arduino Firmware to Control Galvanometer Drivers
April 01, 2018 05:09PM
PS - how easy is it to focus a laser spot to better than 30um? Obviously impossible using a CO2 laser; but possible for near-IR diode lasers perhaps?


Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet.
VDX
Re: Arduino Firmware to Control Galvanometer Drivers
April 01, 2018 05:55PM
... actually only possible with fiberlasers ... or single-mode laserdiodes with only some ten to hundred Milliwatts, not with the high-power multimode diodes sad smiley


Viktor
Re: Arduino Firmware to Control Galvanometer Drivers
April 02, 2018 06:13AM
Thanks. So for DIY use, it sounds like a resolution of 1 part in 3072 would be adequate.


Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet.
Re: Arduino Firmware to Control Galvanometer Drivers
April 03, 2018 03:25AM
When we'd drive galvo motors from the DAC-audio-ports of the Duet, would we need a stereo amplifier? How much current is needed for the galvos?
VDX
Re: Arduino Firmware to Control Galvanometer Drivers
April 03, 2018 08:10AM
... not much for a driver with voltage input -- but up to 3 or more Amperes for common galvos, if you have to drive it directly ...


Viktor
Re: Arduino Firmware to Control Galvanometer Drivers
April 03, 2018 12:44PM
Quote
VDX
... not much for a driver with voltage input -- but up to 3 or more Amperes for common galvos, if you have to drive it directly ...

Sounds like a job for a switching regulator chip then.

Do common galvos provide position feedback for use with servo drivers, or are they driven open loop?

Edited 1 time(s). Last edit at 04/03/2018 12:44PM by dc42.


Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet.
Re: Arduino Firmware to Control Galvanometer Drivers
April 03, 2018 02:57PM
My saved links for Galvos... hope they're useful. I don't think any of them are particularly laser-cutter specific though.

[youtu.be]
[www.instructables.com]
[www.instructables.com]
[laserpointerforums.com]
[www.fab-favreau.com]
[hackaday.com]
[www.photonlexicon.com]
[www.laserfx.com]
Re: Arduino Firmware to Control Galvanometer Drivers
May 05, 2018 02:53AM
From the research I have done, it seems that 12bit DACs will not work, and you need to use 16bit DACs. Someone in the Marlin development has already started created code to drive Galvos:

[github.com]

And from what I seen it is not to difficult to hook up the DACs to the Arduino, or atleast so it seems.

And an interesting read:

[forums.reprap.org]

Edited 1 time(s). Last edit at 05/05/2018 03:10AM by minifiredragon.
Sorry, only registered users may post in this forum.

Click here to login