Compare commits

..

No commits in common. "main" and "dev/rpi-scripts" have entirely different histories.

17 changed files with 213121 additions and 224429 deletions

View File

@ -14,8 +14,8 @@ The project is intended for versatile use in prototyping and project development
- [Features Overview](#features-overview) - [Features Overview](#features-overview)
- [Designed PCBs](#designed-pcbs) - [Designed PCBs](#designed-pcbs)
* [1. Raspberry Pi Interface Board](#1-raspberry-pi-interface-board) * [1. Raspberry Pi Interface Board](#1-raspberry-pi-interface-board)
* [2. Power Supply Board](#2---power-supply-board--) * [2. **Power Supply Board**](#2---power-supply-board--)
* [3. LED Boards](#3---led-boards--) * [3. **LED Boards**](#3---led-boards--)
- [Raspberry Pi Usage](#raspberry-pi-usage) - [Raspberry Pi Usage](#raspberry-pi-usage)
* [Connectivity](#connectivity) * [Connectivity](#connectivity)
+ [LAN Connection (Ethernet)](#lan-connection--ethernet-) + [LAN Connection (Ethernet)](#lan-connection--ethernet-)
@ -33,21 +33,10 @@ The project is intended for versatile use in prototyping and project development
# Photos # Photos
#### Photo of all Hardware Components ### Photo of all Hardware Components
### All components: <p align="center">
<img src="doc/photos/all-components.jpg" alt="All Components (Disassembled)" width="65%"/> <img src="doc/photos/all-components.jpg" alt="All Components (Disassembled)" width="75%"/>
</p>
### Assembly:
<img src="doc\photos\all-connected.jpg" alt="" width="65%"/>
### Finished Project:
<img src="doc\photos\final_diagonal-view.jpg" alt="" width="65%"/>
<img src="doc\photos\final_back-view.jpg" alt="" width="65%"/>
<img src="doc\photos\final_right-view.jpg" alt="" width="55%"/>
### Detail views with annotations:
<img src="doc\photos\interface-board_top_annotated.jpg" alt="" width="65%"/>
<img src="doc\photos\supply-raspberry_annotated.jpg" alt="" width="65%"/>
--- ---
@ -134,7 +123,7 @@ This board connects to the Raspberry Pi via a 40-pin ribbon cable and provides p
--- ---
## 2. Power Supply Board ## 2. **Power Supply Board**
Creates different voltages from supplied 24 V. Supply for the Raspberry Pi interface board as well as several terminals for variable use (connect sensors, devices, etc., to the housing). Creates different voltages from supplied 24 V. Supply for the Raspberry Pi interface board as well as several terminals for variable use (connect sensors, devices, etc., to the housing).
### Photo ### Photo
@ -173,7 +162,7 @@ Creates different voltages from supplied 24 V. Supply for the Raspberry Pi inter
--- ---
## 3. LED Boards ## 3. **LED Boards**
Small PCBs with LEDs, resistors, and mounting holes for housing indicators. Small PCBs with LEDs, resistors, and mounting holes for housing indicators.
### Photo ### Photo

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 965 KiB

After

Width:  |  Height:  |  Size: 644 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 634 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 925 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 5.2 MiB

After

Width:  |  Height:  |  Size: 5.0 MiB

File diff suppressed because it is too large Load Diff

View File

@ -20682,8 +20682,8 @@
(uuid ba9864a2-9440-440d-9e0e-185ff1944daf) (uuid ba9864a2-9440-440d-9e0e-185ff1944daf)
) )
(rectangle (rectangle
(start 185.42 19.304) (start 185.674 21.59)
(end 327.66 71.628) (end 340.614 62.23)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@ -20742,7 +20742,7 @@
(uuid dd1f625c-0b44-4a09-8c25-a317aedb9dff) (uuid dd1f625c-0b44-4a09-8c25-a317aedb9dff)
) )
(rectangle (rectangle
(start 265.43 374.904) (start 265.43 377.19)
(end 419.1 401.32) (end 419.1 401.32)
(stroke (stroke
(width 0) (width 0)
@ -20881,7 +20881,7 @@
) )
(text "TODO Next Version:" (text "TODO Next Version:"
(exclude_from_sim no) (exclude_from_sim no)
(at 186.944 24.384 0) (at 187.96 27.94 0)
(effects (effects
(font (font
(size 3 3) (size 3 3)
@ -21187,9 +21187,9 @@
) )
(uuid "84ac86f1-ded3-4c76-9073-63fc3cf06f2f") (uuid "84ac86f1-ded3-4c76-9073-63fc3cf06f2f")
) )
(text "\n- Digital inputs: Isolate GND (separate GND terminal for opamp diodes) \n- Fixed voltage digital inputs (24V) with voltage divider + protection diode,\n since some 24V sensors might consider 5V as low\n- Pulldown R analog input (currently leds randomly on when input unused)\n- UART: Add RX TX leds\n- Add diode to prevent backfeeding when USB supply connected too\n- Pin Assignment: Swap PWM1 with DIG-IN_4 so pwm outputs are on \n different RPI pwm-channels if thats an issue\n- Re-evaluate LED board open drain outputs (8x DO, 2x PWM): \n When connecting large voltage e.g. 48V motor \n the led reverse voltage might be too high in off state? \n -> Add additional normal diode in series + use 5V?" (text "\n- Digital inputs: Isolate GND (separate GND terminal for opamp diodes) \n- Fixed voltage digital inputs (24V) with voltage divider + protection diode,\n since some 24V sensors might consider 5V as low\n- Pulldown R analog input (currently leds randomly on when input unused)\n- UART: Add RX TX leds\n- Add diode to prevent backfeeding when USB supply connected too\n- Pin Assignment: Swap PWM1 with DIG-IN_4 so pwm outputs are on \n different RPI pwm-channels if thats an issue"
(exclude_from_sim no) (exclude_from_sim no)
(at 188.468 47.498 0) (at 188.214 43.688 0)
(effects (effects
(font (font
(size 2.2 2.2) (size 2.2 2.2)
@ -21199,7 +21199,7 @@
) )
(uuid "8a94cde1-aaa6-43bd-af0b-e4bcab9cf597") (uuid "8a94cde1-aaa6-43bd-af0b-e4bcab9cf597")
) )
(text "- Footprint: Digital-in TVS diodes too large -> rotated footprint, increased drill dia\n- Footprint: Increased Pitch Buzzer\n- Footptint: Diodes PWM increased drill dia\n- Swap Labels for PWM1 <-> PWM2 and Relay1 <-> Relay2 \n so order is from left to right in housing" (text "- Footprint: Digital-in TVS diodes too large -> rotated footprint, increased drill dia\n- Footprint: Increased Pitch Buzzer\n- Footptint: Diodes PWM increased drill dia"
(exclude_from_sim no) (exclude_from_sim no)
(at 268.732 391.414 0) (at 268.732 391.414 0)
(effects (effects
@ -21213,7 +21213,7 @@
) )
(text "Changelog since V0.1_milled:" (text "Changelog since V0.1_milled:"
(exclude_from_sim no) (exclude_from_sim no)
(at 268.732 379.476 0) (at 267.97 383.032 0)
(effects (effects
(font (font
(size 3 3) (size 3 3)
@ -21593,7 +21593,7 @@
) )
(uuid "0331c16b-5758-473f-a67b-2e002ab8e3c2") (uuid "0331c16b-5758-473f-a67b-2e002ab8e3c2")
) )
(label "LED_relay-1" (label "LED_relay-2"
(at 93.98 151.13 270) (at 93.98 151.13 270)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -21637,7 +21637,7 @@
) )
(uuid "0ab8b66b-4d17-4fd5-a38b-f83f08b2ec0a") (uuid "0ab8b66b-4d17-4fd5-a38b-f83f08b2ec0a")
) )
(label "OUT_PWM_2" (label "OUT_PWM_1"
(at 349.25 162.56 180) (at 349.25 162.56 180)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -21648,7 +21648,7 @@
) )
(uuid "0bd5742d-7ba4-4479-a80c-1ee5cea413f8") (uuid "0bd5742d-7ba4-4479-a80c-1ee5cea413f8")
) )
(label "OUT_PWM_1" (label "OUT_PWM_2"
(at 201.93 134.62 0) (at 201.93 134.62 0)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -21714,7 +21714,7 @@
) )
(uuid "185f1f17-890a-4f10-9a7c-2f0767033a4c") (uuid "185f1f17-890a-4f10-9a7c-2f0767033a4c")
) )
(label "OUT_Relay_1" (label "OUT_Relay_2"
(at 81.28 176.53 0) (at 81.28 176.53 0)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -21736,7 +21736,7 @@
) )
(uuid "19d2fdf1-c2eb-4766-8ad7-9a50b1939595") (uuid "19d2fdf1-c2eb-4766-8ad7-9a50b1939595")
) )
(label "OUT_Relay_2" (label "OUT_Relay_1"
(at 24.13 176.53 0) (at 24.13 176.53 0)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -21780,7 +21780,7 @@
) )
(uuid "1ff60aa4-0d81-4339-b49d-3fd2ff5efbe0") (uuid "1ff60aa4-0d81-4339-b49d-3fd2ff5efbe0")
) )
(label "LED_relay-2" (label "LED_relay-1"
(at 36.83 151.13 270) (at 36.83 151.13 270)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -21824,7 +21824,7 @@
) )
(uuid "275fa1ae-c507-47b7-8fa7-a3cc9eac96ba") (uuid "275fa1ae-c507-47b7-8fa7-a3cc9eac96ba")
) )
(label "OUT_PWM_2" (label "OUT_PWM_1"
(at 22.86 241.3 0) (at 22.86 241.3 0)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -22044,7 +22044,7 @@
) )
(uuid "4b9f7c68-4da1-4f54-825b-8a53798277d6") (uuid "4b9f7c68-4da1-4f54-825b-8a53798277d6")
) )
(label "OUT_Relay_2" (label "OUT_Relay_1"
(at 168.91 370.84 180) (at 168.91 370.84 180)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -22352,7 +22352,7 @@
) )
(uuid "7ec43d3d-7313-4c06-bb36-68e6a49f56d3") (uuid "7ec43d3d-7313-4c06-bb36-68e6a49f56d3")
) )
(label "OUT_Relay_1" (label "OUT_Relay_2"
(at 168.91 375.92 180) (at 168.91 375.92 180)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -22836,7 +22836,7 @@
) )
(uuid "c4bca113-1b1e-4671-b975-22570e208d4b") (uuid "c4bca113-1b1e-4671-b975-22570e208d4b")
) )
(label "LED_relay-1" (label "LED_relay-2"
(at 149.86 149.86 270) (at 149.86 149.86 270)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -23067,7 +23067,7 @@
) )
(uuid "f741a6a5-d2bb-45d2-aea4-c5e8655f8408") (uuid "f741a6a5-d2bb-45d2-aea4-c5e8655f8408")
) )
(label "LED_relay-2" (label "LED_relay-1"
(at 152.4 149.86 270) (at 152.4 149.86 270)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -23111,7 +23111,7 @@
) )
(uuid "fc1b143a-8bbf-4f06-bd8c-7ca0267ec646") (uuid "fc1b143a-8bbf-4f06-bd8c-7ca0267ec646")
) )
(label "OUT_PWM_1" (label "OUT_PWM_2"
(at 22.86 251.46 0) (at 22.86 251.46 0)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
@ -28773,7 +28773,7 @@
(justify right) (justify right)
) )
) )
(property "Value" "Relay2" (property "Value" "Relay1"
(at 70.866 143.51 90) (at 70.866 143.51 90)
(effects (effects
(font (font
@ -36917,7 +36917,7 @@
(justify right) (justify right)
) )
) )
(property "Value" "PWM2" (property "Value" "PWM1"
(at 169.164 226.314 90) (at 169.164 226.314 90)
(effects (effects
(font (font
@ -37123,7 +37123,7 @@
(justify right) (justify right)
) )
) )
(property "Value" "PWM1" (property "Value" "PWM2"
(at 169.164 261.874 90) (at 169.164 261.874 90)
(effects (effects
(font (font
@ -38202,7 +38202,7 @@
(justify right) (justify right)
) )
) )
(property "Value" "Relay1" (property "Value" "Relay2"
(at 128.016 143.256 90) (at 128.016 143.256 90)
(effects (effects
(font (font

View File

@ -43313,7 +43313,7 @@
) )
) )
(gr_text "FIXME: Power supply barrel connector wrong polarity -> reroute" (gr_text "FIXME: Power supply barrel connector wrong polarity -> reroute"
(at 94.91 137.52 0) (at 94.05 133.4 0)
(layer "Cmts.User") (layer "Cmts.User")
(uuid "d06dcb3d-61f7-46b5-ab9d-a35c29a9f224") (uuid "d06dcb3d-61f7-46b5-ab9d-a35c29a9f224")
(effects (effects

View File

@ -9,19 +9,16 @@
[Unit] [Unit]
Description=Start Python GUI for IO-control and monitoring after startup Description=Start Python GUI for IO-control and monitoring after startup
# note: when using After=graphical.target: it only starts after successful network connection...
After=display-manager.service After=display-manager.service
Wants=display-manager.service Wants=display-manager.service
[Service] [Service]
Environment=DISPLAY=:0 Environment=DISPLAY=:0
ExecStart=/usr/bin/python3 /home/pi/git/rpi-interface-board/rpi-scripts/gui/main.py
# note: some delay is needed for DISPLAY :0 to be available
ExecStart=/bin/bash -c "/bin/sleep 6 && /usr/bin/python3 /home/pi/git/rpi-interface-board/rpi-scripts/gui/main.py"
WorkingDirectory=/home/pi/git/rpi-interface-board/rpi-scripts/gui WorkingDirectory=/home/pi/git/rpi-interface-board/rpi-scripts/gui
User=pi User=pi
Group=pi Group=pi
Restart=no Restart=always
[Install] [Install]
WantedBy=default.target WantedBy=default.target