3 AXIS CNC PLOTTER FROM DC MOTORS AND OPTICAL ENCODERS
Introduction: 3 AXIS CNC PLOTTER FROM DC MOTORS AND OPTICAL ENCODERS
I had one Dell printer that stops working and I disassembled it into small components. This printer head frame has 2 DC motors and 2 optical encoders which are still in good condition & can be reused to build XY axis for the CNC plotter.
Today, I'd like to share how to build 3 axis CNC plotter from this printer, as well as, how we can control a DC motor plus its optical encoder by P.I.D through 2 signals: STEP & DIRECTION. In this project, DC motors can be simulated as same as stepper motors and we can control them via GRBL firmware for CNC application.
I was inspired by <PERSON> on his GitHub: https://github.com/cswiger/dcservodrive. He had a good idea to turn step/direction signals into DC servo motor position control.
Let's get started.
Update on October 10, 2020 at STEP 15: Better pictures with hatch fill extension.
Step 1: THINGS WE NEED
Main components:
* 1pcs x Arduino Uno R3.
* 1pcs x Arduino Mega 2560.
* 1pcs x Arduino CNC Shield V3 GRBL.
* 1pcs x Arduino L293D Motor Shield.
* 1pcs x Stepper Motor Driver A4988.
* 1pcs x Old Printer Head Frame with 2 DC motors plus their optical encoders. I used old printer head frame from DELL printer, one optical encoder is linear type and the other is rotary type.
* 1pcs x Old CD/DVD Burner Writer Rom Player Drive.
* 4pcs x R10K (Or 2pcs x R5K).
* 1pcs x R150.
* 2pcs x XH2.54mm – 4P 20cm Wire Cable Double Connector.
* 2pcs x XH2.54mm – 2P 20cm Wire Cable Double Connector.
* 1pcs x Single/ Double Sided Printed Prototyping Board.
* 2pcs x 2.54mm Pitch 40 Long Pin Single Stackable Shield Female Header.
* 2pcs x Male & Female 40pin 2.54mm Header.
* 1pcs x Aluminum Flexible Shaft Coupling, Inner Hole Size: 10mm x 10mm.
* 1pcs x Power Supply 12/24 VDC
* 1pcs x Power Supply 5 VDC.
* 2 meter x 8P Rainbow Ribbon Cable.
* Some small cable ties.
Softwares:
* GRBL firmware.
* Inkscape.
* Universal Gcode Sender.
Step 2: CIRCUIT DIAGRAM
In my circuit diagram, the X and Y stepper motor driver are not plugged on the Arduino CNC shield. 949
The STEP and DIR signals of both X and Y axis on CNC Shield are used to control 2 x DC motors.
The schematic with PDF high resolution is HERE.
Step 3: DC MOTOR AND OPTICAL ENCODER IN THE PRINTER
Details of printer components are described below:
1. DC MOTORS: There're 2 DC motors for X & Y axis as follows:
* X axis DC motor: RS-455PA-17150
* Y axis DC motor: RS-385SH-14180
Through my searches on internet, perhaps these motors belong to the MABUCHI MOTOR manufacturer. But I could not find out the specifications of these motors on MABUCHI MOTOR website according to the order number written on the motors body. I only saw two DC motors equivalent to my printer motors, as follows:
2. OPTICAL ENCODERS: There’re 2 kinds of optical encoders in DELL printer as follows:
* X axis linear optical encoder
- Optical sensor and control board: It is not clear, part number maybe J15 (0947).
- Encoder strip: H-06/1PM326727.
* Y axis rotary optical encoder:
- Rotary disc: 1782CPR/300LPI (B-12).
- Optical sensor: H30 (0942).
- PCB board nameplate: 94V-O/ KY033H/ BJ4500F01CP4-1.
Notes:
* In the case of rotary encoders, resolution is specified as the cycles per revolution (CPR), some manufacturers use terms like “counts per revolution” (also abbreviated CPR) or pulses per revolution (PPR). 552