Whoever uses Mach3, this strangeful designed VisualBasic program?
A better choice today is using GRBL embedded into an Arduino board (or simply its ATmega328 microcontroller).
A Mach3 plugin skeleton without MFC for outputting wave data to a suitable (mostly USB) device. It's not tested!
The plugin opens a system wave device expecting three channels (one for each X, Y, and Z axis) — or more for rotational axes, and will output data with following characteristics:
A microcontroller is obviously necessary. For it, 8-bit types with built-in USB interface, like AT90USB162, are sufficient. For more performance, necessary for parallel kinematics like this one, a 32-bit controller like AT91SAM7S should be used. Also, when encoders and therefore feedback loops (with PI controller) are used, a 32-bit controller should be used.
For built-in safety, a disrupting waveform data stream will lead to an emergency stop, which is mostly intended.
An emergency stop removes power from all motors and activates all available brakes. The exception from this rule are motors or solenoids holding a load that will otherwise fall down and make additional damage. References are lost, and a synchronization movement is necessary in front of next positioning.Incoming invalid data, such as 80h-centered sound data, must be ignored by that firmware, to prevent inadvertent movements by a mis-configured media player.
A normal stop speeds down the motors as fast as possible, then holding them for some microseconds to ensure braking, and later reduce or remove power. References are kept.
See also: USB2LPT and CNC
![]() | Name | Last modified | Size | Description | |
---|---|---|---|---|---|
![]() | Mach3Usb.zip | 2013-04-05 13:57 | 10K | The source code | Browse archive |
![]() | usbif.jpg | 2013-07-31 17:20 | 27K | Abbildung (Foto) | |