Laser Cutter Safety Board                                      Latest change: 2019-08-13

Pin use of microprocessor and messages exchanged in the system.


Table 1: Pin / port use Arduino MEGA2560 on the Safety Board
Port
Pin , Target
Terminal
type / active
Remark
PA0
22, Chiller Crydom 9
Out / Low
Via Crydom PCB
PA1
23, Water Pump
Crydom 10 Out / Low Via Crydom PCB
PA2
24, Exhaust
Crydom 11 Out / Low Via Crydom PCB
PA3
25, Compresssor
Crydom 12 Out / Low Via Crydom PCB
PA4
26, Out 13
Crydom 13 Out / Low Via Crydom PCB, Spare
PA5
27, Out 14
Crydom 14 Out / Low Via Crydom PCB, Spare
PA6
28, Out 15
Crydom 15 Out / Low Via Crydom PCB, Spare
PA7
29, Out 16
Crydom 16 Out / Low Via Crydom PCB, Spare





PC0
37, Home X
T1-T2
In / H
Hit switch = open = high
PC1
36, End X
T3-T4
In / H
Hit switch = open = high
PC2
35, Home Y
T5-T6
In / H
Hit switch = open = high
PC3
34, End Y
T7-T8
In / H
Hit switch = open = high
PC4
33, Home Z
T9-T10
In / H
Hit switch = open = high
PC5
32, End Z
T11-T12
In / H
Hit switch = open = high
PC6
31, Air Pressure
T13-T14
In / H

PC7
30, Drive Power OK
T15-T16
In / H 24 Volt with voltage devider





PD0
21, 1-Wire T85..T88
In/Out
Temperature sensors
PD1
20, Lights
T7
Out / H
Via ULN, 24 Volt Relay switches 12V
PD2
19, Out T19
T9
Out / H
Via ULN, spare
PD3
18, Out T11
T11
Out / H
Via ULN, spare
PD7
38, Water Quality Drive
T71
Out
Square wave 5 Hz





PE5
3, Out T5
T5
Out / H
viaULN





PF1
A1, ID-Button Led
T80
Out / H






PG0
41, Beeper
T17-T18
Out / H
Self beeping device, pin 41 is +
PG1
40, Communication Led
-
Out / H
Blinks when ETH comm runs
PG2
39, Pilot Laser
T3 -T4
Out / H
via ULN
PG5
4, Enable Drive Power
T13
Out / H
via ULN





PH0
17, RXD2
4 pol header
In
From Winch Controller TXD
PH1
16, TXD2
4 pol header
Out
To Winch Controller RXD
PH3
Laser Test (force T53 low)
T53
Out
Also LaserIsON
PH4
ID-Button
T79
In / Out
Dallas 1-Wire





PJ0
15, WaterFlow, PCINT9
T23 / T24
In / pulses
Flow sensor needs +5V
PJ1
14, Enable LaserPower
T1- T2
Out / L
Via ULN





PK0 ADC8, Mains Interrupt PCINT9 T19-T20 In
From Optocoupler in Mains
PK1
ADC9, Start Job
T29
Out
To SMB
PK2
ADC10, Pause Job
T27
Out
To SMB
PK3
ADC11, Stop Job
T25
Out
To SMB
PK4
ADC12, Diagnostic
 -
Out

PK5
ADC13, Diagnostic  -
Out
PK6
ADC14, Diagnostic  -
Out
PK7
ADC15, Diagnostic  -
Out





PL0
49, Job Loaded
T49-T50
In / H From SMB
PL1
48, EM Stop
T51-T52
in / H 24 V from EM-Stop switch via devider
PL2
47, LaserIsON
T53-T54
In / L From SMB
PL3
46, CoverIsOpen1
T55-T56
In / H
Switch closes to GND when hit
PL4
45, CoverIsopen2
T57-T58
In / H
Switch closes to GND when hit
PL5
44, Inp T59
T59-T60
In
Spare
PL6
43, Inp T61
T61-T62
In Spare
PL7
42, Inp T63
T63-T64
In
Spare




 
MOSI
51, ETH
ETH
Out

MISO
50, ETH
ETH
In

SCK
52, ETH
ETH
Out

PB4
10, SEL ETH
ETH
Out
Via unused pin on Power header





ADC0


An in
Spare
ADC1
See PF1, ID-Button-Led



ADC2
PWM % Laser Power T75
An in After low-pass filter
ADC3
+5V from High Voltage Power Supply T73
An in
ADC4
Tube Voltage
T65
An in
ADC5
Tube Current
T67
An in
ADC6
Water Quality
T69
An in
ADC7
2.5 Volt Reference voltage

An in





Diagnostics




ADC12
Diagnostic pin 12

Out
ISR 1 kHz
ADC13
Diagnostic pin 13
Out
200 Hz Update ADC's
ADC14
Diagnostic pin 14
Out
not assigned
ADC15
Diagnostic pin 15
Out
not assigned





Serial Use




Serial 0
0, 1: Programming, serial diagnostics



Serial 1
not used



Serial 2
16, 17: Communication wth Winch Controller



Serial 3
not used








Timer Use




T0 - 8 bit
System


Required by System
T1 - 16 bit
1 kHz interrupt


General dispatcher
T2 - 8 bit
not used



T3 - 16 bit
PWM for Manual Laser Power


64 kHz
T4 - 16 bit
not used



T5 - 16 bit
not used





Table 2: Message from GUI-Safety to Arduino on Safety Board
Type: UDP over ETH.
Byte
Naam
Range / meaning Remark
0
Command_General
bit 0  Beep
bit 2  Manual PWM
bit 3  Laser Test
bit 4
bit 5
bit 6
bit 7 
Multiple for beep-beep-beep
To relay switching PWM
Switch Laser ON
spare
spare
spare
spare
1
Command_Crydoms
bit 0 Chiller
bit 1 Water Pump
bit 2 Exhaust
bit 3 Compressor
bit 4 Out 13
bit 5 Out 14
bit 6 Out 15
bit 7 Out 16




Spare
Spare
Spare
Spare
2
Command_UNL
bit 0 Enable laser
bit 1 Pilot Laser
bit 2 Out T5
bit 3 Lights
bit 4 Out T9
bit 5 Out T11
bit 6 Enable Drive Power
bit 7 n.c.


spare

Spare
Spare

   
3
Command_Job
bit 0  Start Job
bit 2  Pause Job
bit 3  Stop Job
bit 4
bit 5
bit 6
bit 7 



Spare
Spare
Spare
Spare
4
Command_Winch
char ('O')  Open Cover
char ('C')  Close Cover
Commands are routed to Serial2 on Arduino



Table 3: Message from Arduino on Safety Board to GUI_Safety
This message is sent as reaction on an incoming message with ID = "?"
Type: UDP over ETH.

Byte
Name
Range / meaning Remark
0
Status General
bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 7 Mains Power goes down

1
Status Outputs Crydoms
Readback from Arduino PINA
bit 0 Chiller
bit 1 Water Pump
bit 2 Exhaust
bit 3 Compressor
bit 4 Out 13
bit 5 Out 14
bit 6 Out 15
bit 7 Out 16




Spare
Spare
Spare
Spare
2
Status Outputs ULN device
Readback from Arduino pins
bit 0 Enable laser
bit 1 Pilot Laser
bit 2 Out T5
bit 3 Lights
bit 4 Out T9
bit 5 Out T11
bit 6 Enable Drive Power


Spare

Spare
Spare 
 
3
Status Inputs C
Read from Arduino PINC
bit 0 Home X
bit 1 End X
bit 2 Home Y
bit 3 End Y
bit 4 Home Z
bit 5 End Z
bit 6 Air Pressure
bit 7 Drive Power Is On

4
Status Inputs L
Read from Arduino PINL
bit 0 Job Loaded
bit 1 EM Stop
bit 2 Laser Is On
bit 3 Cover Is Closed1
bit 4 Cover is Closed2
bit 5 Inp T59
bit 6 Inp T61
bit 7 Inp T63





Spare 
Spare
Spare
5
Status Job Control
Readback
bit 0 Start Job
bit 1 Pause Job
bit 2 Stop Job
bit 3
bit 4
bit 5
bit 6
bit 7



Spare
Spare
Spare
Spare
Spare
6
Status Winch
"O" : Cover is fully open
"o"  : Opening Cover
"C" : Cover is closed
"c"  : Closing Cover
"M" : Stopped somewhere in Middle
"E" : Error, Overcurrent.
"N" : Not available






No answer from Winch Controller
7, 8
Tube Voltage
ADC value
9, 10 Tube Current
ADC value
11, 12 PWM Power
ADC value
13, 14 Water Quality
ADC value
15, 16 Water Flow
Pulses per 5 second

17, 18 +5V High Voltage Power Supply ADC value
19, 20 2.5 V Reference
ADC value
To calculate 5V of Safetyboard
21, 22 Temperature Tube Input
°C * 10
= Temperature in Buffer vessel
23, 24 Temperature Tube Output
°C * 10
What comes out of the Laser Tube
25, 26 Temperature Cooling
°C * 10
What comes out of the Cooler
27, 28 Temperature Heatsink
°C * 10
Cooler Air Out
29 .., 32
TotalUsedLaserTime
seconds
4 byte value
33 .. 40
Button ID
8 bytes

41
Button ID validation
0xFF  = No button read
0xCC = CRC error
0x00  = Valid ID

42
RoomCRC

CRC over 43 .. 46
43, 44
Room Temperature
°C * 10
45, 46
Room Hygro
% relative




Table 5: Connections on Safety Board.
Terminal
Function
type / range
To / From
Remark
T1
Enable_Laser
Out, OC-UNL, Low =Laser PSU Enabled
HVPSU

T2
+5V



T3
PilotLaser
Out, OC-UNL, Low = Laser ON
To Pilot Laser

T4
+5V +5 V to Laser Module


T5
Out T5
Out, OC-UNL

Spare
T6
+5V


T7
Lights
Out, OC-UNL, Low = Lights ON
 against +12V

T8
+5V


T9
Out T9
Out, OC-UNL
   Spare
T10
+5V


T11
Out T11
Out, OC-UNL
 
 Spare
T12
+5V


T13
Enable Drive Power
Out, OC, Low = Enable
Drive Power Circuit

T14
+24 Volt PSU

From 24V PSU

T15
+24 Volt DP

To Drive Power Circui, EMST switch
T16
+24 Volt DP

To Drive Powerrelay K1-21






T17
Beeper +
Out, Arduino output High = beep
To beeper on front panel
Self Beeping
T18 GND GND Beeper
To beeper on front panel
T19 Mains Interrupt
In, Pullup to +5V
From Optocoupler in Mains

T20
GND Mains Interrupt

From Optocoupler in Mains
T21
n.c.

Spare
T22
GND


T23
Water Flow Detect
In,
From Water flow Detector

T24
GND


T25
Stop Job
Active Low
To SMB

T26
GND

 
T27
Pause Job
Active Low To SMB
 
T28
GND to SMB


T29
Start Job
Active Low To SMB
 
T30
GND


T31
+5Volt In

From Power Supply 5V / 12V

T32
GND

From Power Supply 5V / 12V





T33
Home-X
Open = Hit, Pullup to +5V Home Switch X
X-LEFT
T34
GND Home-X

Home Switch X
T35
End-X
Open = Hit, Pullup to +5V End Switch X X-RIGHT
T36
GND End-X

End Switch X
T37
Home-Y
Open = Hit, Pullup to +5V Home Switch Y
Y-NEAR
T38
GND Home-Y

Home Switch Y

T39
End-Y
Open = Hit, Pullup to +5V End Switch Y
Y-FAR
T40
GND END-Y

End Switch Y

T41
Home-Z
Open = Hit, Pullup to +5V Home Switch Z
Z-DOWN
T42
GND Home-Z

Home Switch Z

T43
End-Z
Open = Hit, Pullup to +5V End Switch Z
Z-UP
T44
GND End-Z

End Switch Z
T45
Air Pressure
Active Low, Pullup to +5V
Air Pressure Detector

T46
GND Air Pressure

Air Pressure Detector
T47
DrivePower IS ON
 +24 Volt = ON
From Drive Power Circuit
Also DP-Led
T48
GND








T49
Job Loaded
Active Low, Pullup to +5V From SMB

T50
GND


T51
EM Stop OK
EM Stop OK
+ 24V from EM Switch via devider

T52
GND


T53
Laser Is ON
Active Low, Pullup to +5V From Smoothie Board
T54
GND


T55
Cover Is Closed1
Active Low, Pullup to +5V Cover Open Switch left
Hit = Closed
T56
GND
Cover Open Switch left

T57
Cover Is Closed2
Active Low, Pullup to +5V Cover Open Switch right
Hit = Closed
T58
GND
Cover Open Switch right

T59
INP T59
Active Low, Pullup to +5V
Spare
T60
GND


T61
INP T61
Active Low, Pullup to +5V
Spare
T62
GND


T63
INP T63
Active Low, Pullup to +5V
Spare
T64
GND







T65
Tube Voltage
Analog in 0 .. 5 V
From Resistor Chain 700 MegOhm

T66
GND


T67
Tube Current
Analog in 0 .. 5 V From High Voltage PSU,  shunt
T68
GND
GND High Voltage PSU
T69
Water Quality Sense
Analog in 0 .. 5 V From Water Quality Sensor

T70
GND


T71
Water Quality Drive
Out: 5 V square wave
To Water Quality Sensor
T72
GND


T73
+5V High Voltage PSU
Analog in 0 .. 5 V From High Voltage PSU
T74
GND


T75
PWM Out , Measure
  To HVPSU

T76
GND


T77
PWM In

From SMB
 
T78
GND ID-Button + Led



T79
ID Button Center, 1-wire



T80
ID-Buttton Led
active high







T81
GND

Temperature Sensors

T82
GND

Temperature Sensors
T83
GND

Temperature Sensors
T84
GND

Temperature Sensors
T85
1-Wire
Clock / Sense
Temperature Sensors order
T86
1-Wire Clock / Sense Temperature Sensors does
T87
1-Wire Clock / Sense Temperature Sensors not
T88
1-Wire Clock / Sense Temperature Sensors matter
T89
+5Volt

Temperature Sensors
T90
+5Volt
Temperature Sensors
T91
+5Volt
Temperature Sensors
T92
+5Volt
Temperature Sensors