Ein neues Projekt ist gerade fertig dokumentiert worden. Das Baumscheiben-Radio:
Schneiders Bastelbude
Blog über private Bastelprojekte
Mittwoch, 2. Januar 2019
Montag, 24. Juli 2017
Schwalbe Kräuterbeet
In diesem Post geht es um den Aufbau einer Schwalbe als Kräuterbeet.
Über die Jahre türmen sich die Ersatzteile, die ich ja doch nicht wieder verwenden würde. So kam die Idee diese innerhalb der Wohnung als Deko mit Lichtfunktion zu nutzen, oder eben als Kräuterbeet im Garten.
Letzteres wurde es dann, denn so konnten alle Teile genutzt werden, ohne die Teile zu zerstören. Wichtig war mir, dass alle Teile nach wie vor an einer Schwalbe genutzt werden könnten, ohne weitere Bohrungen etc zu setzen.
Über die Jahre türmen sich die Ersatzteile, die ich ja doch nicht wieder verwenden würde. So kam die Idee diese innerhalb der Wohnung als Deko mit Lichtfunktion zu nutzen, oder eben als Kräuterbeet im Garten.
Letzteres wurde es dann, denn so konnten alle Teile genutzt werden, ohne die Teile zu zerstören. Wichtig war mir, dass alle Teile nach wie vor an einer Schwalbe genutzt werden könnten, ohne weitere Bohrungen etc zu setzen.
So wurde zunächst ein Holzgestell gebaut, dass die Blechteile tragen wird.
Im Anschluss daran dann die Blechteile gereinigt und lackiert.
Nach der Montage wurden dann noch Blumenkästen bearbeitet und fertig!
Mittwoch, 2. November 2016
LEGO NESPI | Temperaturabhängige Lüftersteuerung - Software Tutorial
Software für die temperaturabhängige Lüftersteuerung:
Die Software für die temperaturgesteuerte Lüftersteuerung basiert auf mehreren Skripten, die ich aus unterschiedlichen Quellen zusammengefasst habe.
Die Schritte, die zur Implementierung notwendig sind, kann man in X Schritte unterteilen:
1. Python-Script aktualisieren
2. GPIO-Steuerung über Python ermöglichen mit RPIO
3. Anlegen der Verzeichnisse und Kopieren der Scripte/ Berechtigung setzen
4. Test der Hardware mit Software mit Hilfsscripts für direkte Ansteuerung
5. Verankerung der Software als Autostart (Cronjob)/ Gewährleistung des Programmlaufs
6. Programmtest durch Belastung Stresstest/ Abbruch nach Direktansteuerung
1. Python Unterstützung aktualisieren
Zunächst wird durch folgende Befehle gewährleistet, dass die Python-Enwticklungsumgebung installiert wird:
Folgende Befehle in der Konsole ausführen oder per SSH auf den Pi schalten:
2. Installation RPIO (Ansteuern der GPIO Pins durch Python-Scripte)
Durch die Verwendung eines älteren RPI.GPIO Standes wie hier beschrieben erhielt ich Fehlermeldungen, daher rate ich zum Gebrauch dieses frischen Scripts bei einem Pi3.
3. Verzeichnisse und Daten anlegen
Durch folgende Befehle wir im /home Verzeichnis der Ordner für das Lüfter-Script erzeugt:
Was macht das Script?
Zunächst erfolgt eine Abfrage, ob das Script bereits ausgeführt wird. Wird es bereits ausgeführt, wir der Neustart des Scripts abgebrochen. Es soll ja nur ein Mal gleichzeitig laufen.
Die Temperatur wird derzeitig alle 20 Sekunden abgefragt. Ist die Temperatur über 60° wird der Start des Lüfters initiiert. Der Lüfter läuft dann so lange, wie die 20 sekündliche Abfrage zurückmeldet, dass 55° noch nicht unterschritten sind.
Der Lüfter startet also über 60° und kühlt solange, bis 55° wieder unterschritten werden. Trotzdem läuft der Lüfter erst bei Überschreiten der 60° an, also nicht wundern, warum der Lüfter bei bsw. 58° nicht arbeitet.
Alle Aktivitäten werden in einem Logfile abgelegt:
/home/luefterscript/control_fan.log
Jetzt die fertige Scriptdatei:
/home/luefterscript/
kopieren.
ODER:
An dieser Stelle die Datei temperaturscript.sh selbst anlegen und folgendes Script einfügen (Markieren und per Rechtsklick in der Konsole einfügen, speichern und beenden):
4. Test der Hardware
Der Test der Hardware erfolgt durch direkte Ansteuerung des GPIO Pins 21 durch ein Python Script. Die beiden Dateien: gpio21on.py und gpio21off.py können wieder heruntergeladen und in /home/luefterscript abgelegt werden, oder händisch erzeugt werden:
Anschalten des Lüfters mit eigenem Script für Testlauf:
speichern und beenden des Scripts.
Abschalten des Lüfters nach Testlauf:
Den Scripts werden die ausreichenden Rechte zugewiesen durch:
Sollte bis dahin der Testlauf erfolgreich sein, ist die Hardware richtig konfiguriert und das automatische Script kann nach der Ausstattung mit ausreichenden Rechte in die Automatisierung gehen.
Wir geben der temperaturabhängigen Lüftersteuerung die ausreichenden Rechte durch:
Nun ein Test, ob das Script läuft durch:
Sollte das Script bereits laufen erscheint folgerichtig:
Beenden kann man die Funktion nun mit STRG+z
5. Automatisierten Start und Kontrollfunktion des Programmlaufs
In meiner häufig zitierten Quelle wird der Autostart mit /etc/inittab beschrieben, was aber aufgrund der aktuellen Raspbian Version nicht mehr funktioniert. Daher habe ich weitere Möglichkeiten in betracht gezogen und folgende gewählt:
Inhalt:
/etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
#
*/10 * * * * root /home/luefterscript/temperaturscript.sh
@reboot root /home/luefterscript/temperaturscript.sh
# Luefterautomatik
Wichtig sind die am Ende eingefügten Zeilen zum Luefterscript. Die */10 * * * * .. Zeile sorgt dafür, dass alle zehn Minuten eine erneuter Start des Scripts eingeleitet wird. Das Script selbst ist mit einem Schutz versehen, das checkt, wenn es bereits läuft und dann keinen Neustart ausführt.
Die weitere Zeile mit @reboot sorgt für einen Initialstart beim Booten des Systems. Damit ist ein Erststart angelegt und eine Abfrage, falls unter irgendwelchen Umständen dass Script beendet wird ein Neustart des Scripts alle 10 Minuten abgefragt wird.
6. Belastungstest
Wenn das Script ordnungsgemäß arbeitet wir der Lüfter bei über 60° anspringen. Da der Pi3 aber nur unter bestimmten Belastungen die 60° übersteigt versuchen wir mit einem Stresstest die Belastung zu erhöhen und einen Temperaturanstieg herbeizuführen.
Dazu solltet ihr euch sysbench wie hier beschrieben besorgen und dann folgenden Stresstest ausführen:
Das sollte möglichst aus einer SSH Konsole heraus passieren. Bei Bedarf auch mehrere parallel.
In einer weiteren Konsole könnt ihr dann mit folgendem Befehl die Temperatur auslesen, damit ihr wisst, ob euer Lüfter bereits laufen sollte:
Die Software für die temperaturgesteuerte Lüftersteuerung basiert auf mehreren Skripten, die ich aus unterschiedlichen Quellen zusammengefasst habe.
Die Schritte, die zur Implementierung notwendig sind, kann man in X Schritte unterteilen:
1. Python-Script aktualisieren
2. GPIO-Steuerung über Python ermöglichen mit RPIO
3. Anlegen der Verzeichnisse und Kopieren der Scripte/ Berechtigung setzen
4. Test der Hardware mit Software mit Hilfsscripts für direkte Ansteuerung
5. Verankerung der Software als Autostart (Cronjob)/ Gewährleistung des Programmlaufs
6. Programmtest durch Belastung Stresstest/ Abbruch nach Direktansteuerung
1. Python Unterstützung aktualisieren
Zunächst wird durch folgende Befehle gewährleistet, dass die Python-Enwticklungsumgebung installiert wird:
Folgende Befehle in der Konsole ausführen oder per SSH auf den Pi schalten:
$
sudo apt-get install python3-pip
$
sudo apt-get install python-pip
2. Installation RPIO (Ansteuern der GPIO Pins durch Python-Scripte)
Durch die Verwendung eines älteren RPI.GPIO Standes wie hier beschrieben erhielt ich Fehlermeldungen, daher rate ich zum Gebrauch dieses frischen Scripts bei einem Pi3.
$ git clone
https://github.com/limuxy/RPIO.git $ cd RPIO $ sudo python setup.py install
3. Verzeichnisse und Daten anlegen
Durch folgende Befehle wir im /home Verzeichnis der Ordner für das Lüfter-Script erzeugt:
$
sudo mkdir /home/luefterscript
$
cd /home/luefterscript
Was macht das Script?
Zunächst erfolgt eine Abfrage, ob das Script bereits ausgeführt wird. Wird es bereits ausgeführt, wir der Neustart des Scripts abgebrochen. Es soll ja nur ein Mal gleichzeitig laufen.
Die Temperatur wird derzeitig alle 20 Sekunden abgefragt. Ist die Temperatur über 60° wird der Start des Lüfters initiiert. Der Lüfter läuft dann so lange, wie die 20 sekündliche Abfrage zurückmeldet, dass 55° noch nicht unterschritten sind.
Der Lüfter startet also über 60° und kühlt solange, bis 55° wieder unterschritten werden. Trotzdem läuft der Lüfter erst bei Überschreiten der 60° an, also nicht wundern, warum der Lüfter bei bsw. 58° nicht arbeitet.
Alle Aktivitäten werden in einem Logfile abgelegt:
/home/luefterscript/control_fan.log
Jetzt die fertige Scriptdatei:
temperaturscript.sh
herunterladen und per WinSCP auf euren Pi in das Zielverzeichnis:/home/luefterscript/
kopieren.
ODER:
An dieser Stelle die Datei temperaturscript.sh selbst anlegen und folgendes Script einfügen (Markieren und per Rechtsklick in der Konsole einfügen, speichern und beenden):
$ sudo nano /home/luefterscript/temperaturscript.sh
#!/usr/bin/env bash # ~ RaspBerry PI ~ # fan control script # ----------------------------------------- # Author: Bagheera # Created: 28.12.2013 # Last change: 31.12.2013 # Version 1.2 # ----------------------------------------- # 1.2: 31.12.2013 # - traps for common signals added # - commentary # - logfile beautification # # 1.1: 30.12.2013 # - logfile changed # - logturn added # - verbose by global setting # # 1.0: 28.12.2013 # - control_fan.sh created # ----------------------------------------- # 1.3: Author: Snydeaps # Aenderung des GPIO von 14 auf 21 # Aenderung Logfile Ordner auf luefterscript #------------------------------------------ # 1.4: Author: Snydeaps # Aenderung Verhindern des Parallellaufs mehrerer Prozesse test -n "$DEBUG" && set -x cmd="$(basename "$0")" lockfile="/var/run/$cmd" exec 9<>"$lockfile" flock -n 9 || { echo "ERROR: already running $(cat <&9) - exiting." >&2 exit 1 } echo $$ >&9 echo "running as $$" sleep 5 echo "finished $$" VERBOSE=1; # show info on console (0=no; 1=yes) MAX_THRESH=60; # start above xx degrees MIN_THRESH=55; # stop below xx degrees SLEEPER=20; # scan every xx seconds LOGTURN=6; # log temp every LOGTURN * SLEEPER seconds # logfile destination LOGFILE="/home/luefterscript/control_fan.log"; # prepare signal trap function function finish { echo $(date '+%F %T %Z') "## 0:CONTROL: Script about to stop" >> $LOGFILE echo $(date '+%F %T %Z') "## 2:GPIO_INIT: Stopping fan" >> $LOGFILE echo "0" > /sys/class/gpio/gpio21/value echo $(date '+%F %T %Z') "## 2:GPIO_INIT: Unexport of GPIO port 21" >> $LOGFILE echo "21" > /sys/class/gpio/unexport echo $(date '+%F %T %Z') "## 0:CONTROL: Going down... bye bye" >> $LOGFILE exit; } # trap exit trap finish EXIT # initialize GPIO port 21 if [ ! -e "/sys/class/gpio/gpio21" ]; then echo $(date '+%F %T %Z') "## ==================================================================" >> $LOGFILE echo $(date '+%F %T %Z') "## 0:CONTROL: Starting up..." >> $LOGFILE echo $(date '+%F %T %Z') "## 1:CONFIG: Maximum threshold $MAX_THRESH C" >> $LOGFILE echo $(date '+%F %T %Z') "## 1:CONFIG: Minimum threshold $MIN_THRESH C" >> $LOGFILE echo $(date '+%F %T %Z') "## 1:CONFIG: Scan interval $SLEEPER sec" >> $LOGFILE echo $(date '+%F %T %Z') "## 1:CONFIG: Log temperature interval $(($SLEEPER*$LOGTURN)) sec" >> $LOGFILE echo $(date '+%F %T %Z') "## 2:GPIO_INIT: Export of GPIO port 21" >> $LOGFILE echo "21" > /sys/class/gpio/export echo $(date '+%F %T %Z') "## 2:GPIO_INIT: Direction: out" >> $LOGFILE echo "out" > /sys/class/gpio/gpio21/direction echo $(date '+%F %T %Z') "## 2:GPIO_INIT: Port 21: init value 0" >> $LOGFILE echo "0" > /sys/class/gpio/gpio21/value fi i=0; while [ true ]; do # get current recalculated temperature and fan status cpuTemp=$(cat /sys/class/thermal/thermal_zone0/temp) cpuTemp=$(($cpuTemp/1000)) fanState=$(cat /sys/class/gpio/gpio21/value) # echo current temperature to logfile if logturn met i=$(($i+1)) if [ $i -eq $LOGTURN ]; then echo $(date '+%F %T %Z') "## 0:CONTROL: Current temperature: $cpuTemp C" >> $LOGFILE i=0; fi # do some info stuff [ $VERBOSE -eq 1 ] && echo -e "CPU: \033[36m$cpuTemp\033[0mC | FAN: $fanState | THRESHOLD: $MIN_THRESH-$MAX_THRESH" # too hot and fan not running? start! if [ $cpuTemp -gt $MAX_THRESH ] && [ $fanState -eq 0 ]; then echo "1" > /sys/class/gpio/gpio21/value [ $VERBOSE -eq 1 ] && echo -e "====> [ \033[32mON\033[0m ]" echo $(date '+%F %T %Z') "## 0:CONTROL: Starting fan ($cpuTemp C)" >> $LOGFILE fi # everything cool and fan running? stop! if [ $cpuTemp -lt $MIN_THRESH ] && [ $fanState -eq 1 ]; then echo "0" > /sys/class/gpio/gpio21/value [ $VERBOSE -eq 1 ] && echo -e "====> [ \033[31mOFF\033[0m ]" echo $(date '+%F %T %Z') "## 0:CONTROL: Stopping fan ($cpuTemp C)" >> $LOGFILE fi sleep $SLEEPER done
4. Test der Hardware
Der Test der Hardware erfolgt durch direkte Ansteuerung des GPIO Pins 21 durch ein Python Script. Die beiden Dateien: gpio21on.py und gpio21off.py können wieder heruntergeladen und in /home/luefterscript abgelegt werden, oder händisch erzeugt werden:
Anschalten des Lüfters mit eigenem Script für Testlauf:
$
cd /home/luefterscript
$ sudo nano
gpio21on.py
In die gpio21on.py hinein:
#!/usr/bin/python
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)
GPIO.output(21, False)
speichern und beenden des Scripts.
Abschalten des Lüfters nach Testlauf:
$ sudo nano
gpio21off.py
#!/usr/bin/python
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)
GPIO.output(21, True)
Den Scripts werden die ausreichenden Rechte zugewiesen durch:
$
sudo chmod +x gpio21on.py
$
sudo chmod +x gpio21off.py
Lüfter anschalten:
$
sudo python gpio21on.py
Lüfter abchalten:
$
sudo python gpio21off.py
Sollte bis dahin der Testlauf erfolgreich sein, ist die Hardware richtig konfiguriert und das automatische Script kann nach der Ausstattung mit ausreichenden Rechte in die Automatisierung gehen.
Wir geben der temperaturabhängigen Lüftersteuerung die ausreichenden Rechte durch:
$
sudo chmod +x /home/luefterscript/temperaturscript.sh
Nun ein Test, ob das Script läuft durch:
$
sudo su
$
sudo env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/dru LOGNAME=dru /home/luefterscript/temperaturscript.sh
Sollte das Script bereits laufen erscheint folgerichtig:
root@retropie:/home/pi# ERROR: already running 510 - exiting.
Ist dies jedoch der erste Test, so läuft das Script an und das Logfile wird erstellt. Alle 20 Sekunden bekommt man nun einen neuen Temperaturwert.
Beenden kann man die Funktion nun mit STRG+z
5. Automatisierten Start und Kontrollfunktion des Programmlaufs
In meiner häufig zitierten Quelle wird der Autostart mit /etc/inittab beschrieben, was aber aufgrund der aktuellen Raspbian Version nicht mehr funktioniert. Daher habe ich weitere Möglichkeiten in betracht gezogen und folgende gewählt:
$
sudo su
$
sudo nano /etc/crontab
Inhalt:
/etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
#
*/10 * * * * root /home/luefterscript/temperaturscript.sh
@reboot root /home/luefterscript/temperaturscript.sh
# Luefterautomatik
Wichtig sind die am Ende eingefügten Zeilen zum Luefterscript. Die */10 * * * * .. Zeile sorgt dafür, dass alle zehn Minuten eine erneuter Start des Scripts eingeleitet wird. Das Script selbst ist mit einem Schutz versehen, das checkt, wenn es bereits läuft und dann keinen Neustart ausführt.
Die weitere Zeile mit @reboot sorgt für einen Initialstart beim Booten des Systems. Damit ist ein Erststart angelegt und eine Abfrage, falls unter irgendwelchen Umständen dass Script beendet wird ein Neustart des Scripts alle 10 Minuten abgefragt wird.
6. Belastungstest
Wenn das Script ordnungsgemäß arbeitet wir der Lüfter bei über 60° anspringen. Da der Pi3 aber nur unter bestimmten Belastungen die 60° übersteigt versuchen wir mit einem Stresstest die Belastung zu erhöhen und einen Temperaturanstieg herbeizuführen.
Dazu solltet ihr euch sysbench wie hier beschrieben besorgen und dann folgenden Stresstest ausführen:
$
apt-get install sysbench
sysbench --test=cpu --cpu-max-prime=20000 run
Das sollte möglichst aus einer SSH Konsole heraus passieren. Bei Bedarf auch mehrere parallel.
In einer weiteren Konsole könnt ihr dann mit folgendem Befehl die Temperatur auslesen, damit ihr wisst, ob euer Lüfter bereits laufen sollte:
$
vcgencmd measure_temp
Ist die Temperatur über 60° sollte der Lüfter laufen und erreicht die Temperatur wieder unter 55° sollte der Lüfter stoppen.
Dienstag, 1. November 2016
LEGO NESPI | Lego Case Tutorial
Anleitung für ein LEGO Raspberry Pi3 Gehäuse im NES-Look:
Im Netz kursieren diverse Anleitungen und Bausätze für ein LEGO Case im NES-Look.
Ein fertiges Set zu bestellen kam für mich nicht in Frage, da der Bestellvorgang auf dieser Seite aus Spanien sehr schwierig ist und am Ende auch nicht geklappt hat.
Ohnehin fand ich beim Scrollen auf dieser Seite eine Anleitung und ein fertiges Modell eines Lego-Gehäuses, das frei erhältlich ist.
Mein Modell sollte neben den bereits erhältlichen Modellen noch die Funktion eines Aktivkühlers übernehmen. Der Lüfter sollte an der oberen Seite montiert werden und frische Luft von oben in das Gehäuse ziehen und auf den Passivkühler des Pi3 pusten.
Dazu musste das bestehende Modell mit dem Lego Digital Designer angepasst werden.
Der Umbau betrifft drei größere Umfänge:
1. Der Belüftungsschacht auf der oberen Seite. Hier war wichtig, dass die Öffnung der Klappe nicht beeinflusst wird. Wichtig war auch, dass die Optik der Oberfläche nicht zu stark unterbrochen wird. Dazu war es ein Problem, geeignete Steine zu finden, die eine Montage des Lüfters ermöglichten, ohne Steine zu modifizieren oder zu beschädigen.
2. Der Platz für den Lüfter auf der Innenseite musste geschaffen werden. Dazu wurde in Summe eine Reihe Steine addiert.
3. Der Zugang zur SD-Karte sollte verbessert werden. Seit dem Modell Pi3 ist keine Push-Push Halterung der Karte mehr vorgesehen. Daher muss man durch ziehen der Karte die Karte entfernen können. Dazu habe ich eine Mulde in den Boden eingesetzt.
Hier der fertige Umbau in der aktuellen Version Rev4. Die nächste Version Rev5 ist in Planung und soll neben einem transparenten Eckstein für die Aktivitäts LED auch einen LEGO ON/OFF Switch erhalten.
Anleitung des LEGO Bausatzes und Bauteile bestellen:
Bauanleitung exportieren:
In Lego Digital Designer durch F7 in den Bauanleitungsmodus wechseln, Mit STRG+H die Anleitung erstellen lassen und im folgenden Fenster den Zielort angeben.
Die fertigen Dateien:
Anleitung als PDF
LXF Modell (LDD Export)
(Archiv: Rev2 für flachen Lüfter)
Bauteile bestellen:
Generell hat man zwei Möglichkeiten die Teile zu bestellen.
1. Bricklink.com
2. Lego Steine und Teile / Lego Shop vor Ort
Beide Varianten haben ihr Vor-und Nachteile.
1. Bricklink.com
Account erstellen und anmelden. Dann zur Wanted-List
Upload wählen.
Unter "Upload a file from your computer" -> "Drag a file here" die .LXF Datei einfügen. "Add to" sollte auf "Create New Wanted List" stehen. Dann rechts unten den neuen Namen der Liste definieren. Bsp. "Nespi" . Durch diese Mehode erspart man sich das Anlegen einer Teileliste im CSV oder XML Format
Wenn die Datei akzeptiert wurde:
Über Verify Items gelangen wir zur Teileliste:
Bestätigen mit "Add to wanted list" dann folgt die Bestätigung:
Mit der Einstellung "By Fewest Stores" kann man unter Umständen Versandkosten sparen. Ich musste jedoch für ein CASE immer bei mindestens zwei Stores bestellen, was oft dazu führt, dass die Versandkosten die Kosten der Steine übersteigen.
Mit fertig montiertem Lüfter (Abbildungen zeigen noch Rev2).
Im Netz kursieren diverse Anleitungen und Bausätze für ein LEGO Case im NES-Look.
Ein fertiges Set zu bestellen kam für mich nicht in Frage, da der Bestellvorgang auf dieser Seite aus Spanien sehr schwierig ist und am Ende auch nicht geklappt hat.
Ohnehin fand ich beim Scrollen auf dieser Seite eine Anleitung und ein fertiges Modell eines Lego-Gehäuses, das frei erhältlich ist.
Mein Modell sollte neben den bereits erhältlichen Modellen noch die Funktion eines Aktivkühlers übernehmen. Der Lüfter sollte an der oberen Seite montiert werden und frische Luft von oben in das Gehäuse ziehen und auf den Passivkühler des Pi3 pusten.
Dazu musste das bestehende Modell mit dem Lego Digital Designer angepasst werden.
Hier ein Bild von der Situation vor dem Umbau (Origialdatei von Andre Rinas) |
Der Umbau betrifft drei größere Umfänge:
1. Der Belüftungsschacht auf der oberen Seite. Hier war wichtig, dass die Öffnung der Klappe nicht beeinflusst wird. Wichtig war auch, dass die Optik der Oberfläche nicht zu stark unterbrochen wird. Dazu war es ein Problem, geeignete Steine zu finden, die eine Montage des Lüfters ermöglichten, ohne Steine zu modifizieren oder zu beschädigen.
2. Der Platz für den Lüfter auf der Innenseite musste geschaffen werden. Dazu wurde in Summe eine Reihe Steine addiert.
3. Der Zugang zur SD-Karte sollte verbessert werden. Seit dem Modell Pi3 ist keine Push-Push Halterung der Karte mehr vorgesehen. Daher muss man durch ziehen der Karte die Karte entfernen können. Dazu habe ich eine Mulde in den Boden eingesetzt.
Hier der fertige Umbau in der aktuellen Version Rev4. Die nächste Version Rev5 ist in Planung und soll neben einem transparenten Eckstein für die Aktivitäts LED auch einen LEGO ON/OFF Switch erhalten.
Anleitung des LEGO Bausatzes und Bauteile bestellen:
Bauanleitung exportieren:
In Lego Digital Designer durch F7 in den Bauanleitungsmodus wechseln, Mit STRG+H die Anleitung erstellen lassen und im folgenden Fenster den Zielort angeben.
Die fertigen Dateien:
Anleitung als PDF
LXF Modell (LDD Export)
(Archiv: Rev2 für flachen Lüfter)
Bauteile bestellen:
Generell hat man zwei Möglichkeiten die Teile zu bestellen.
1. Bricklink.com
2. Lego Steine und Teile / Lego Shop vor Ort
Beide Varianten haben ihr Vor-und Nachteile.
1. Bricklink.com
Account erstellen und anmelden. Dann zur Wanted-List
Upload wählen.
Unter "Upload a file from your computer" -> "Drag a file here" die .LXF Datei einfügen. "Add to" sollte auf "Create New Wanted List" stehen. Dann rechts unten den neuen Namen der Liste definieren. Bsp. "Nespi" . Durch diese Mehode erspart man sich das Anlegen einer Teileliste im CSV oder XML Format
Über Verify Items gelangen wir zur Teileliste:
Bestätigen mit "Add to wanted list" dann folgt die Bestätigung:
Mit "Buy all" geht es weiter:
Nun auf "Find stores" -> "Auto Finder":
Ab hier ist der Bestellprozess abhängig von der Kombination der Shops und Bezahlmethode. Das überlasse ich vollständig euch.
Zusammenbau nach Anleitung:
LEGO NESPI | Temperaturabhängige Lüftersteuerung - Hardware Tutorial
Tutorial für die Hardware der Lüftersteuerung
Die Hardware der Lüftersteuerung ist relativ simpel gestrickt. Insgesamt benötigt man folgende Teile:
Die fertige Schaltung sieht folgendermaßen aus (GPIO Bild und Schaltung):
Optional:
Einen Test der Hardware kann man provisorisch nach installierter Software vornehmen.
Hierzu wurden mit Krokodilklemmen die nötigen Verbindungen geschaffen:
Als Layout für die Platine hat sich für mich ein 4x4 Lochbild als zielführend herausgestellt. Da mir nur 1x4 Buchsenleisten zur Verfügung standen habe ich das Layout darauf ausgelegt:
Das fertige Layout sieht folgenermaßen aus:
Die Hardware der Lüftersteuerung ist relativ simpel gestrickt. Insgesamt benötigt man folgende Teile:
- Passivkühler (Beispiel Aukru)
- Aktivlüfter (Camac -Rev2, Sunon Rev4 beide bei I= 0.2A)
- Transistor (Bisher BC547) -> Derzeitig nur 0,1mA Durchsatz Update zu Rev5
Die fertige Schaltung sieht folgendermaßen aus (GPIO Bild und Schaltung):
- Breadboard (Beispiel Lochrasterplatine)
- kurze Kabel
- Buchsenleisten oder Dupont Stecker mit Kabeln zur ordnungsgemäßen Befestigung
- Lötkolben mit Zubehör zum Löten
Einen Test der Hardware kann man provisorisch nach installierter Software vornehmen.
Hierzu wurden mit Krokodilklemmen die nötigen Verbindungen geschaffen:
Als Layout für die Platine hat sich für mich ein 4x4 Lochbild als zielführend herausgestellt. Da mir nur 1x4 Buchsenleisten zur Verfügung standen habe ich das Layout darauf ausgelegt:
Das fertige Layout sieht folgenermaßen aus:
Die Platine dann mit den Verbindungskabeln ausgestattet und mit dem Lüfter verbunden:
Auf dem Pi angesteckt sieht es so aus:
Abonnieren
Posts (Atom)
Baumscheibenradio - Internetradio mit den Raspberry Pi Zero W
Ein neues Projekt ist gerade fertig dokumentiert worden. Das Baumscheiben-Radio :
-
Anleitung für ein LEGO Raspberry Pi3 Gehäuse im NES-Look: Im Netz kursieren diverse Anleitungen und Bausätze für ein LEGO Case im NES-Look...
-
Ein neues Projekt ist gerade fertig dokumentiert worden. Das Baumscheiben-Radio :