Rotary CNC Laser Engraver
I created an inovative laser engraver mashine with equipment available on my faculty. Because I was really pleased with the result I wanted to share the process and the final creation.
Fundamental principal of the device is quite inovative. Instead of a standard X-Y CNC machine programing and design, it uses two rotational movementf of two gears. For this to work, proper kinematic transformations have to be applied so that the inner coordinates of a device move the motors accordingly to the "world" coordinates. Only then can standard programing in XY coordinates be used for preparing vector images for engraving in software such as CadToMotion and others. Kinematic transformation that ensures proper transformation and applies also to this type of a device is primarily used for programing SCARA robots.
Mechanism uses two rotational movements; the first rotational axis moves the workpiece and the second axis moves the laser light source in the transverse direction. Although the motions along both axes are rotational and consequently nonlinear, the movement of the mechanism is in external coordinates, ie the Cartesian coordinate system and it's performed with the help of kinematic transformation. Generation of motion trajectories, positional control of both servomotors and real-time calculation of kinematic transformation is performed with an industrial motion controller TRIO.
When planning the design of the mechanism the principles were: simple, innovative, efficient and easy to manufacture. Both axes are identical and made on the basis of a rotary plate with a diameter of 200 mm with external cycloid gearing (m = 0.3), which is driven by a servomotor via a second gear. To reduce the undesired effects of play and friction, the drive motor is mounted movably and the required contact force between the gears is determined by the coil spring pressure.
Parts and Functionality
Motors
I used two DC servomotors from the manufacturer ESCAP type D2R 11 219P B 100Y. These are high-dynamic DC motors with permanent magnets and a rotor without an iron core. The motor operates in a closed loop system through which it receives information about the actual position by an encoder. The motors are connected to the output of a servo amplifier with 12 V power supply and their rated power is 15 W. The motors have a gear mounted on the shaft with a module m = 0.3 and have 19 teeth, which allows the transfer of power from the motor to a larger gear. An optical incremental encoder with 100 pulses per revolution is mounted on the motor shaft, through which the measurement of speed and position was performed.
Motion controller
An industrial motion controller is used to control the servo motors, with which we communicate via a personal computer in the MOTION PERFECT software tool. The controller has analog and digital inputs and outputs. Ethernet connection, motor (preliminary connection to the power supply), laser (with independent 5V power supply) are all connected to the controller.
Laser
The laser is connected to a switching power supply with an output voltage of 5V and a switching circuit is added, which switches on the laser beam with a signal from the digital output of the controller. The power of the laser is 1W and it's wavelength is 405nm, which belongs to the visible spectrum of light and is perceived as the blue-purple color of the beam. Firstly the optimal focal length must be set, because only then the beam engraves the perfect line.
Gear
Two gears with a diameter of 206 mm and a thickness of 3 mm were used out of a lightweight material called Forex. A gear attached to the upper part of the structure has 624 teeth and a second one at the lower part has 629 teeth. Laser is attached to the upper gear and work surface to the lower gear. As the gears rotate, the laser engraves on the workpiece.
Bearings
Four IGUS polymer flange plain bearings, type FM-0608-08 were used. With them I mounted both large gears and two aluminum brackets for the servomotor. I used these bearings because they are easier to install and are comparable to classic ball bearings. Also, these bearings reduce the weight of the device itself.
Motor brackets
I designed two aluminum brackets for the motor. On one side there are holes for attaching the motor and on the other the bracket is mounted and attached to the housing. This method allows the motor to be pressed against the gear by a spring, which helps to effectively adjust the motor gear to any tolerances of the large gear. As a result, the teeth do not jump over each other and the wear of the gears is reduced.
Construction Planing
Left image shows how device works and moves. It's a little hard to imagine at first, but this mechanism can be imagined as a SCARA robot, where first arm of a robot is a link between the centers of gears and the second link or an arm of a robot, is the distance from axis to the laser. When imagined this way we can than use the transfromation so that motion controller can move motors in "world" ie. X-Y coordinates.
I used Solidworks to model the device. It was very important that the distance between gear's centers is equal to gear diameter divided by 2, because only in this case it gives maximum area for laser to work with.
Construction
From a 10 mm thick acrylic glass plate three rectangles were cut. Two rectangles with measures:140x90 mm and one with 193x120 mm.
Then, according to the documentation, holes and threads for screws were made in all three rectangular components. The components are screwed together with screws and both the motor and the gear are fastened with screws to the basic structure.
When the housing was completed, two identical circular disks with a diameter of 206 mm were cut out of Forex, which are the basis for making gears. This material is very soft, so Iused a simple (and in this case effective) method of making the teeth of the gear - with pressure I imprinted the gear teeth by carefully sliding the motor gear around the Forex disks. At the end both gears are reinforced in the center with glued plates made of harder acrylic glass and mounted with sliding bearings.
Construction Completed
Final steps were attaching the laser and it's cables, which were sticked to the center of a gear, not to be in the way of the movement.
On the two aluminum plates, which serve as the brackets of each of the motors, are drilled the corresponding holes to which the motor is attached and one hole on each so that the plates are mounted and attached to the housing. Two compression springs push the motors with a small sprocket towards the large gear in order to keep good teeth connection as much as possible.
Initialization Program
I wrote the code in Motion Perfect 4.4. The main function was FRAME, which can be defined and adjusted for any kinematic transformation, in my case that was SCARA robot.
Program step by step
• With the program above the reference position is determined with the DAC function that brings on a motor, just enough voltage that is causes it to move.
• During this movement, two elements on the gears block further movement causing the gears to stop moving always at the same point, thus defining the reference position.
"SERVO" mode is switched off, which means that the motor will not increase the torque in the end position to withstand the load or there could be some serius damage done to housing and motors.
• Now the reference position can be defined with DEFPOS command. In this position the virtual hands of a “robot” are straightened - this is one of the requirements of the FRAME transformation.
Straightened positions means that the Scara robot's arms are completely vertical. From this point we move to the work position.
• The last part of the program determines the parameters for the FRAME command. The first two parameters are the length of the robot's arms or in our case the radius of the gears.
The next two are the accuracy of the rotation angle in radians, which is determined by the ratio of the number of teeth on the large gear and the gear on the motor and further multiplied by 4 to compensate for pulse values of the incremental encoder resolution (eg: (400 * 624/19) / 2 * PI). 2 * pi is used to obtain the value in radians.
• The last definable parameter is to determine the positions of the second motor. I had the option of choosing whether the motor is located in the first joint of the "robot" or at the bottom, where it's stationary. After experimentation and some reflection, I found that in order for the device to function properly, a proper solution is to define that second motor position is in the joint of the two "arms" in case of a SCARA robot.
• I inserted all these parameters into the TABLE that defines the entire FRAME command and activated it using Frame=1.
Preparing Image for Engraving
I drawed some quick objects in Adobe Illustrator and exported it in .DXF format.
When I exported the image, I transferred it to the CAD2Motion program, where I firstly turned the image correctly, as our coordinate system is rotated (y -x) compared to the coordinate system (x y) in the program, this is because I wanted to engrave the image rotated to the front of the device.
Last step in the program was to adjust the size of the entire image so that it could fit on the little tile.
Before the program could be copied I had to determine the speeds of working and free movements and acceleration/decelerations. These could then be added to the start of each sequence(for individual forms and shapes of an image). Then I generated the code (programing language: Basic) from the Cad2Motion software and pasted it in the main program which now consists of different sequences. Example of one of the sequences is in displayed above.
Final Result
When the device was finally put to work it worked almost perfectly. The only thing to adjust were the parameters of a PID regulator, because as seen in the image above, laser didn't draw a very smooth line, but a rather "shaky" line.
After all parameters of the regulator were adjusted the mechanism worked like a dream and the best part could finally begin.