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 | ||