BarBot/Components/ControlSystem: Difference between revisions

From Nottinghack Wiki
Jump to navigation Jump to search
added conveyor sensor signal and updated desriptions
 
(13 intermediate revisions by one other user not shown)
Line 37: Line 37:
|}
|}


====Cherry/olive conveyor (9 way 'D' skt)====
====Cherry / olive conveyor (9 way 'D' skt)====
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 71: Line 71:
|}
|}


====Stirrer (9 way 'D' skt)====
====Stirrer and umbrella dropper (9 way 'D' skt)====
{| class="wikitable"
{| class="wikitable"
|-
|-
! Pin no!! Signal!! Wire colour!! L298N (3)
! Pin no!! Signal!! Wire colour!! L298N (3/4)
|-
|-
| 2 || Motor +ve (swizzler) || Orange || OUT1
| 1 || Umbrella dropper || Orange || OUT1 (4)
|-
|-
| 3 || Motor -ve (swizzler) || Black || OUT2
| 6 || Umbrella dropper || Blue || OUT2 (4)
|-
|-
| 4 || Motor -ve (up/down) || Purple|| OUT3
| 2 || Motor +ve (swizzler) || Orange || OUT1 (3)
|-
|-
| 5 || Motor +ve (up/down) || White/black || OUT4
| 3 || Motor -ve (swizzler) || Black || OUT2 (3)
|-
| 4 || Motor -ve (up/down) || Purple|| OUT3 (3)
|-
| 5 || Motor +ve (up/down) || White/black || OUT4 (3)
|}
|}


====Umbrella dropper (9 way 'D' skt)====
====7 segment "days accident free" display (9 way 'D' skt)====
{| class="wikitable"
{| class="wikitable"
|-
|-
! Pin no!! Signal !!Wire colour|| L298N (4)
! Pin no!! Signal!!Wire color!!Arduino
|-
| 6 || Reset|| Purple ||28
|-
|-
| 2 || Solenoid|| Orange|| OUT1
| 7 || Clock|| White/blue ||29
|-
|-
| 3 || Solenoid|| Blue || OUT2
| 9 || Ground||Black||PSU 0V
|}
|}


Line 146: Line 152:
| 23 || Servo 5 || Orange || 50
| 23 || Servo 5 || Orange || 50
|-
|-
| 25 || Makerslide zero / limit switch || White/black || 52
| 25 || Spare / unused || White/black || 52
|-
|-
| 13 || Ground || Black || PSU 0V
| 13 || Ground || Black || PSU 0V
|-
|}
|}
 
====Mixer servos (25 way 'D' skt)====
====Mixer servos (25 way 'D' skt)====
{| class="wikitable"
{| class="wikitable"
Line 192: Line 197:
|-
|-
| 23 || Servo 5 || Orange || 51
| 23 || Servo 5 || Orange || 51
|-
| 24 || Zero limit switch || White/black || 37
|-
| 12 || Ground || Black || PSU 0V
|-
|-
| 25 || Emergency stop switch || White/black || 53
| 25 || Emergency stop switch || White/black || 53
Line 226: Line 235:
! Pin no!! Signal !! Wire colour || Arduino / PSU
! Pin no!! Signal !! Wire colour || Arduino / PSU
|-
|-
| 1 || +5V supply || Red || PSU +5V
| 1 || +5V supply (Dashers) || Red || PSU +5V
|-
|-
| 9 || +5V supply || Red || PSU +5V
| 9 || +5V supply || Red || PSU +5V
|-
|-  
| 2 || +5V supply || Red || PSU +5V
| 2 || +5V supply || Red || PSU +5V
|-
|-
| 10 || +5V supply || Red || PSU +5V
| 10 || +5V supply || Red || PSU +5V
|-
|-
| 3 || Neopixel 0 (Dasher 0) || Yellow || 7
| 3 || Neopixel 0 (Dashers 24+24+24 LEDs) || Yellow || 7
|-
|-
| 11 || Neopixel 1 (Dasher 1) || White/purple  || 8
| 11 || Neopixel 1 (Optics 6 LEDs) || White/purple  || 8
|-
|-
| 4 || Neopixel 2 (Dasher 2) || Purple || 9
| 4 || Neopixel 2 || Purple || 9
|-
|-
| 12 || Neopixel 3 || Blue || 10
| 12 || Neopixel 3 || Blue || 10
Line 248: Line 257:
| 14 || Ground || Blue || PSU 0V
| 14 || Ground || Blue || PSU 0V
|-
|-
| 7 || Ground || Blue || PSU 0V
| 7 || Ground (Dashers) || Blue || PSU 0V
|-
|-
| 15 || Ground || Blue || PSU 0V
| 15 || Ground || Blue || PSU 0V
Line 298: Line 307:
| Cherry/olive conveyor start/stop || 38 || OUTPUT || Normally HIGH, pulse LOW for 10 msec to start, hold LOW to stop|| Yellow
| Cherry/olive conveyor start/stop || 38 || OUTPUT || Normally HIGH, pulse LOW for 10 msec to start, hold LOW to stop|| Yellow
|-
|-
| Cherry/olive conveyor end sensor || 39 || INPUT_PULLUP || LOW = item at end, HIGH = sensor clear|| Orange
| Cherry/olive conveyor end sensor || 39 || INPUT_PULLUP || LOW = sensor clear, HIGH = item at end of conveyor || Orange
|-
|-
| Lemon vendor start || 34 || OUTPUT|| Normally HIGH, pulse LOW for 10 msec to start || Purple
| Lemon vendor start || 34 || OUTPUT|| Normally HIGH, pulse LOW for 10 msec to start || Purple
Line 320: Line 329:
| Pololu stepper driver || 4 || OUTPUT || Enable || White/black
| Pololu stepper driver || 4 || OUTPUT || Enable || White/black
|-
|-
| Limit / zero switch || 52 || INPUT_PULLUP || LOW = at zero, HIGH = not at zero || White/black
| Optics 'D' type pin 25 (spare) || 52 || INPUT_PULLUP || Spare / unused || White/black
|-
| Zero limit switch || 37 || INPUT_PULLUP || LOW = at zero, HIGH = not at zero || White/blue
|-
|-
| Emergency stop || 53 || INPUT_PULLUP || LOW = pressed, HIGH = not pressed || White/black
| Emergency stop || 53 || INPUT_PULLUP || LOW = not pressed, HIGH = pressed || White/black
|-
|-
| Neopixel 0 (Dasher 0) || 7 || OUTPUT || Neopixel serial || Yellow
| Neopixel 0 (Dashers) || 7 || OUTPUT || Neopixel serial (72 LEDs) || Yellow
|-
|-
| Neopixel 1 (Dasher 1) || 8 || OUTPUT || Neopixel serial || White/purple
| Neopixel 1 (Optics) || 8 || OUTPUT || Neopixel serial (6 LEDs) || White/purple
|-
|-
| Neopixel 2 (Dasher 2) || 9 || OUTPUT || Neopixel serial || Purple
| Neopixel 2 || 9 || OUTPUT || Neopixel serial || Purple
|-
|-
| Neopixel 3 || 10 || OUTPUT || Neopixel serial || Blue
| Neopixel 3 || 10 || OUTPUT || Neopixel serial || Blue
Line 339: Line 350:
|-
|-
| Serial from RPi (via level shifter) || 17 (RX2) || INPUT_PULLUP || serial RX || Blue
| Serial from RPi (via level shifter) || 17 (RX2) || INPUT_PULLUP || serial RX || Blue
|-
| 7 segment display - Reset || 28 || OUTPUT || Normally LOW, pulse HIGH to reset display to zero || Purple
|-
| 7 segment display - Clock || 29 || OUTPUT || Normally LOW, pulse HIGH to advance display || White/blue
|-
|}
|}



Latest revision as of 11:49, 5 February 2019

Control System

General Description

The Barbot control system is based on an Arduino Mega 2560 and a Raspberry Pi. Power is from a PC ATX PSU.

Control box - internal layout
Control box - internal layout

Control box layout

Control box - internal layout
Control box - internal layout

Connector panel

Control panel with labels
Control panel with labels

Fuses

Control box - fuse layout
Control box - fuse layout

Platform (9 way 'D' skt)

Pin no Signal Wire colour Pololu / Arduino
1 +5V supply Orange PSU +5V
2 Stepper coil A Green Pololu
3 Stepper coil A Purple Pololu
4 Stepper coil B Yellow Pololu
5 Stepper coil B Blue Pololu
6 Serial TX to platform White/black 14 (TX3)
8 "Glass present" signal Grey 15 (RX3)
9 Ground Black PSU 0V

Cherry / olive conveyor (9 way 'D' skt)

Pin no Signal Wire colour L298N (1)
2 Stepper coil A Green OUT2
3 Stepper coil A Purple OUT1
4 Stepper coil B Yellow OUT4
5 Stepper coil B Blue OUT3
7 IR sensor Orange
8 IR LED Grey
9 Ground Black

Lemon vendor (9 way 'D' skt)

Pin no Signal Wire colour L298N (2)
2 Motor +ve Green OUT1
3 Motor -ve Purple OUT2
8 CAM switch White/black
9 Ground Black PSU 0V

Stirrer and umbrella dropper (9 way 'D' skt)

Pin no Signal Wire colour L298N (3/4)
1 Umbrella dropper Orange OUT1 (4)
6 Umbrella dropper Blue OUT2 (4)
2 Motor +ve (swizzler) Orange OUT1 (3)
3 Motor -ve (swizzler) Black OUT2 (3)
4 Motor -ve (up/down) Purple OUT3 (3)
5 Motor +ve (up/down) White/black OUT4 (3)

7 segment "days accident free" display (9 way 'D' skt)

Pin no Signal Wire color Arduino
6 Reset Purple 28
7 Clock White/blue 29
9 Ground Black PSU 0V

Big Syringe (9 way 'D' skt)

Pin no Signal Wire color BTS7960B
2 Motor +ve Red/brown OUT1
3 Motor -ve Black OUT2

Optic servos (25 way 'D' skt)

Pin no Signal Wire colour Arduino / PSU
2 Ground Black PSU 0V
15 +5V supply Pink PSU +5V
3 Servo 0 Yellow 40
16 Ground Black PSU 0V
4 +5V supply Pink PSU +5V
17 Servo 1 Green 42
5 Ground Black PSU 0V
18 +5V supply Pink PSU +5V
6 Servo 2 Blue 44
19 Ground Black PSU 0V
7 +5V supply Pink PSU +5V
20 Servo 3 Grey 46
8 Ground Black PSU 0V
21 +5V supply Pink PSU +5V
9 Servo 4 Purple 48
22 Ground Black PSU 0V
10 +5V supply Pink PSU +5V
23 Servo 5 Orange 50
25 Spare / unused White/black 52
13 Ground Black PSU 0V

Mixer servos (25 way 'D' skt)

Pin no Signal Wire colour Arduino / PSU
2 Ground Black PSU 0V
15 +5V supply Pink PSU +5V
3 Servo 0 Yellow 41
16 Ground Black PSU 0V
4 +5V supply Pink PSU +5V
17 Servo 1 Green 43
5 Ground Black PSU 0V
18 +5V supply Pink PSU +5V
6 Servo 2 Blue 45
19 Ground Black PSU 0V
7 +5V supply Pink PSU +5V
20 Servo 3 Grey 47
8 Ground Black PSU 0V
21 +5V supply Pink PSU +5V
9 Servo 4 Purple 49
22 Ground Black PSU 0V
10 +5V supply Pink PSU +5V
23 Servo 5 Orange 51
24 Zero limit switch White/black 37
12 Ground Black PSU 0V
25 Emergency stop switch White/black 53
13 Ground Black PSU 0V

Dashers (15 way 'D' skt)

Pin no Signal Wire colour Arduino
1 Motor common +ve Red/brown PSU +5V
2 Motor 0 -ve Yellow Dasher driver 0
3 Motor 1 -ve Green Dasher driver 1
4 Motor 2 -ve Blue Dasher driver 2
5 Cam switch 0 Purple 22
6 Cam switch 1 Grey 24
7 Cam switch 2 White/black 26
8 Cam switch common ground Black PSU 0V

LEDs / bling (15 way 'D' skt)

Pin no Signal Wire colour Arduino / PSU
1 +5V supply (Dashers) Red PSU +5V
9 +5V supply Red PSU +5V
2 +5V supply Red PSU +5V
10 +5V supply Red PSU +5V
3 Neopixel 0 (Dashers 24+24+24 LEDs) Yellow 7
11 Neopixel 1 (Optics 6 LEDs) White/purple 8
4 Neopixel 2 Purple 9
12 Neopixel 3 Blue 10
5 Neopixel 4 Green 11
13 Neopixel 5 Red/blue 12
14 Ground Blue PSU 0V
7 Ground (Dashers) Blue PSU 0V
15 Ground Blue PSU 0V
8 Ground Blue PSU 0V

Arduino Mega 2560 Connections

Signal Arduino pin pinMode Signal type Wire colour
Optic 0 40 OUTPUT servo Yellow
Optic 1 42 OUTPUT servo Green
Optic 2 44 OUTPUT servo Blue
Optic 3 46 OUTPUT servo Grey
Optic 4 48 OUTPUT servo Purple
Optic 5 50 OUTPUT servo Orange
Mixer 0 41 OUTPUT servo Yellow
Mixer 1 43 OUTPUT servo Green
Mixer 2 45 OUTPUT servo Blue
Mixer 3 47 OUTPUT servo Grey
Mixer 4 49 OUTPUT servo Purple
Mixer 5 51 OUTPUT servo Orange
Dasher 0 cam switch 22 INPUT_PULLUP switch to ground Purple
Dasher 0 driver 23 OUTPUT LOW = motor off, HIGH = motor on Green
Dasher 1 cam switch 24 INPUT_PULLUP switch to ground Grey
Dasher 1 driver 25 OUTPUT LOW = motor off, HIGH = motor on Purple
Dasher 2 cam switch 26 INPUT_PULLUP switch to ground White/black
Dasher 2 driver 27 OUTPUT LOW = motor off, HIGH = motor on White/purple
Cherry/olive conveyor start/stop 38 OUTPUT Normally HIGH, pulse LOW for 10 msec to start, hold LOW to stop Yellow
Cherry/olive conveyor end sensor 39 INPUT_PULLUP LOW = sensor clear, HIGH = item at end of conveyor Orange
Lemon vendor start 34 OUTPUT Normally HIGH, pulse LOW for 10 msec to start Purple
Stirrer start 36 OUTPUT Normally HIGH, pulse LOW for 10 msec to start Blue
Umbrella dropper 32 OUTPUT Normally LOW, pulse HIGH for 500 msec Orange
Big Syringe BTS7960B 5 OUTPUT PWM Yellow
Big Syringe BTS7960B 6 OUTPUT PWM Purple
Platform "glass present" 15 (RX3) INPUT_PULLUP LOW = no glass, HIGH = glass present Grey
Platform illumination control 14 (TX3) OUTPUT serial (TX to platform only) White/black
Pololu stepper driver 2 OUTPUT Step Green/yellow
Pololu stepper driver 3 OUTPUT Direction Yellow
Pololu stepper driver 4 OUTPUT Enable White/black
Optics 'D' type pin 25 (spare) 52 INPUT_PULLUP Spare / unused White/black
Zero limit switch 37 INPUT_PULLUP LOW = at zero, HIGH = not at zero White/blue
Emergency stop 53 INPUT_PULLUP LOW = not pressed, HIGH = pressed White/black
Neopixel 0 (Dashers) 7 OUTPUT Neopixel serial (72 LEDs) Yellow
Neopixel 1 (Optics) 8 OUTPUT Neopixel serial (6 LEDs) White/purple
Neopixel 2 9 OUTPUT Neopixel serial Purple
Neopixel 3 10 OUTPUT Neopixel serial Blue
Neopixel 4 11 OUTPUT Neopixel serial Green
Neopixel 5 12 OUTPUT Neopixel serial Red/blue
Serial to RPi (via level shifter) 16 (TX2) OUTPUT serial TX Green
Serial from RPi (via level shifter) 17 (RX2) INPUT_PULLUP serial RX Blue
7 segment display - Reset 28 OUTPUT Normally LOW, pulse HIGH to reset display to zero Purple
7 segment display - Clock 29 OUTPUT Normally LOW, pulse HIGH to advance display White/blue

Raspberry Pi Connections

Signal RPi pin Wire colour
+3V3 1 Yellow
+5V 2 Red
Ground 6 Black
TXD (to Arduino via level shifter) 8 Purple
RXD (from Arduino via level shifter) 10 White/purple