Wednesday 12 December 2018

Tim's XY Plotter Circuit Boards (Old)


Tim's XY Plotter Circuit Boards
(Old)
These are the Circuit Boards I Previously made for my XY Plotter here: Tim's XY Plotter.

To see how I make my own PCB's take a look at my Blog here: Tim's PCB (Plotted Circuit Board).

I am controlling the plotter with an Arduino NANO.




Pins currently used are:

Motors
14 (A0) = Stepper Motor 1 direction
15 (A1) = Stepper Motor 1 step
16 (A2) = Stepper Motor 2 direction
17 (A3) = Stepper Motor 2 step
19 (A5) = Enable Stepper Motors.

Stops
2 (D2) = X Stop
4 (D4) = Y Stop

Tools
9 (D9) = Servo 1
10 (D10) = Servo 2

3 (D3) = Spindle motor, Switch On/Off. (Router Unit)
11 (D11) = Stepper Motor Z direction. (Router Unit)
18 (A4) = Stepper Motor Step. (Router Unit)

5 (D5) = PWM normally off. (Laser Unit)
6 (D6) = PWM normally on.

The latest HEX file for my plotter is: Tims_Plotter_with_Bootloader.hex (old bootloader)

The firmware returns "ok" with carriage return and new line, on acknowledge of a command.
The commands it recognizes followed by a carriage return are:

G00 X<dec.number> Y<dec.number>
G00 F<dec.number>
G01 X<dec.number> Y<dec.number>
G02 X<dec.number> Y<dec.number> I<dec.number> J<dec.number>
G03 X<dec.number> Y<dec.number> I<dec.number> J<dec.number>
G04 P<number>
G90
uses
M03 L<number> as on/down (optional level)
M05 L<number> as off/up (optional level)
M18 motors of
M100 help
R01 as reset to home

The reason I am not using an of the shelf grbl shield. (one could be used with different pin configuration in the firmware)
Is because I thought at the time I would need the interrupt pins.
I messed up with that any ways.

My next version of the board will still be a custom one as I want to add Bluetooth and a 5 volt line from the 12 volt input.
Also I want to put the interrupts on the optical sensors, so I can modify the sensor locations to detect plot out of bounds.
Also I will be swopping a few pinouts that are using the IC2 pins so I can add pinout for an IC2 bus.
I'm also adding pins for a thermistor. (keep an eye on my laser temperature)

I am currently designing a new board that looks like this so far.


Scratch that, I have managed to get it onto a Board 70mm x 100mm (cheaper to buy)

I am currently in the process of making a new controller board, so it may be best to put a hold on making the current boards.
I will change things to take the new boards as soon as I have made and tested them.


My latest software to send plot files can be found here: Tim's XY Stepper Controller

So the first board is the Controller board. (My current Board)
The reason for the shape and size of it, is it was an off cut from one of my 3D printer upgrades.



I made it take 4 stepper drivers in case I want to add a motorized Z Axis. I think I will remove the extra 2 when I make the next version of this board.

Now that I have been using the plotter for a while I have a better idea of what I need, also I have made a tool that has the Motorized Z Axis on it.

The Plotter has 2 home stops for the X and Y Axis.

Some of the remaining pins not used by the motors and stops are accessible via ribbon cable to all 3 boards used on the plotter.

I have created the circuit with fitzing, here is the file: Controller Circuit Board.fzz

The second board has the optical sensors for the stops.
The printed PLA stops will need painting with non-transparent ink, as PLA is transparent to infrared light.
It also transfers the ribbon cable to the next board.



I have created the circuit with fitzing, here is the file: X End Circuit Board.fzz

The Last board goes on the Trolley.
This has the pinouts and connectors for the tools I attach to the plotter.



I made sockets that fit over the servo pins on the PCB so that the standard servo plug fits.

I have created the circuit with fitzing, here is the file: Trolley Circuit Board.fzz


Old fitment of the boards:

After making the Boards
The Controller board  fits at the top of the Z Axis assembly.

A 10 core Ribbon Cable drops from this Controller Board to the board at the end of the X Axis assembly.
4 core Ribbon Cables are connected from the drivers to the Stepper Motors. The  Driver on the left is for the Motor on the right, and vice versa. (the orientation of the plugs is by trial and error)
The Board on the end of the X Axis, sits on a support and spacer.

The board on the Trolley sits on 2 supports. Also has the X stop and sockets for the servo plugs sit on top of the board.

On the end of the X Axis, there is also a cable support for the cable to the Trolley.
Cables
Data is sent via USB cable to the Arduino NANO.
Power for the steppers is connected to the Power Socket.
Two 4 core ribbon are connected to the stepper motor drivers and are routed down to the stepper motors.
A 10 core ribbon cable (450mm approx.) connects to the board and routed down to the board on the end of the X Axis.

A 8 core ribbon cable goes from the board at the end of the X Axis to the board on the Trolley, (approx. 4mm) and is supported near the middle of the cable.






































No comments:

Post a Comment