Ziel ist es, die Gasventile und den Prozess komfortabler steuern zu können. Dazu ist eine Steuer- und Bedieneinheit mit vielen D/A-Wandlern, vielen A/D-Wandlern sowie einer Reihe digitaler Anschlüsse vonnöten. Ein gefundenes Fressen für einen Raspberry Pi mit etwas Zusatzhardware.
Der Raspberry (hier Pi 2) mit 7-Zoll-Touch-Display passt wunderbar in ein Bopla RCP2000-Gehäuse. Insgesamt nicht wirklich billig, aber industrie- und reinraumtauglich.
Zusätzliche Befestigungsteile für das Display:
Vorteile:
Als erstes benötigt man eine Internetzugang via WLAN-SSID „tu-chemnitz.de“, damit man überhaupt etwas herunterladen kann.
Guckt man in die eduroam-linux-TUC.sh, steht da ein Aufruf von NetworkManager drin. Also aufrufen:
$ sudo apt-get install network-managerDanach läuft das Skript ohne Fehlermeldung durch, aber eduroam funktioniert trotzdem nicht.
$ sudo bashDann die von eduroam-linux-TUC.sh (siehe oben) erzeugte öffentliche Schlüsseldatei an einen vernünftigen Ort kopieren:
# cd .cat_installer/ # cp ca.pem /etc/wpa_supplicant/
Windows-Esel aufgepasst: .cat steht hier nicht für Sicherheitskatalog (*.cat) sondern für's Anhängen (concatenate)!In demselben Verzeichnis liegt auch eine weitere nützliche Datei herum. Die hängt man an die /etc/wpa_supplicant/wpa_supplicant.conf an, um sich Editierarbeit zu sparen.
# cat cat_installer.conf >> /etc/wpa_supplicant/wpa_supplicant.confDann habe ich von Hand folgende Dateien wie folgt editiert:
network={ ssid="eduroam" key_mgmt=WPA-EAP pairwise=CCMP group=CCMP TKIP eap=PEAP ca_cert="/etc/wpa_supplicant/ca.pem" identity=URZ-Kürzel subject_match="radius.tu-chemnitz.de" phase2="auth=MSCHAPV2" password=Gerätepasswort anonymous_identity="anonymous@tu-chemnitz.de" }Sollte da noch ein anderer Eintrag mit ssid="eduroam" drin stehen, herauslöschen von network={ bis }!
... allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf ...
# rebootWenn alles richtig ist, wurstelt das WLAN-Icon etwas herum: Erst startet es eduroam, dann geht irgendwas schief (vermutlich wegen der falschen Uhrzeit), dann startet web-psk, und nach einigen 10 Sekunden wieder eduroam, diesmal erfolgreich.
Ich vermute mal, dass der olle NetworkManager gar nicht gebraucht wurde oder wird.
Eagle-Dateien siehe ZIP-Datei: Schaltplan und Board sind als Vektorgrafik betrachtbar.
Diese realisiert 8 D/A-Wandler mit Ausgangsspannung 0..5 V sowie 7 npn-Digitalausgänge mit ULN2003.
Die D/A-Wandler werden hierzu vom Raspberry selbst per Pulsweitenmodulation realisiert, auf der Platine befinden sich nur noch 8 Tiefpassfilter 2. Ordnung sowie Verstärker, um von 3,3 V auf 5 V zu kommen. Die Wannenbuchse dient zum Anschluss der original (?) vorgefundenen MFC-Verteilerplatine. Istwerte werden kurzerhand nicht ausgewertet. Vorläufig.
Ein unscheinbares Bohrloch dient zur Befestigung einer gefundenen DC/DC-Wandlerplatine, hier von 24 V Schaltschrankspannung auf 5 V für den Raspberry sowie diese Schaltung. Die Micro-USB-Buchse des Raspberry bleibt somit frei, und wegen der kurzen Leitungslängen ist eine stabile 5-V-Versorgung ohne Warngrafik oben rechts im Bild gegeben.
|
|
Using hardware: PWM PW increments: 10us Initializing channel 0... Traceback (most recent call last): File "./gui.py", line 26, inGoogle, google, google — Keine Chance, weiterzukommen.servo.set_servo(21,4000) File "build/bdist.linux-armv7l/egg/RPIO/PWM/__init__.py", line 212, in set_servo File "build/bdist.linux-armv7l/egg/RPIO/PWM/__init__.py", line 97, in init_channel RuntimeError: rpio-pwm: Page 0 not present (pfn 0xa100000000023383)
Nächster Versuch: pigpio. Das funktionierte schließlich: Installation (einige Minuten):
wget abyz.co.uk/rpi/pigpio/pigpio.zip unzip pigpio.zip cd PIGPIO make -j4 sudo make install sudo ./pigpiodAber vermutlich hätte es auch ganz sauber ein
sudo apt-get install pigpio python-pigpio python3-pigpiogetan.
Mit python ging's dann weiter:
import pigpio p=pigpio.pi() p.set_mode(21,pigpio.OUTPUT) #21 = erster PWM-Kanal, siehe Tabelle oben p.set_PWM_dutycycle(21,64)Nach dem Tiefpass und Verstärker kommt mit 64 ¼ Fullscale, also 1,25 V heraus. Damit lassen sich nun die Massenflussregler steuern.
Pardon, Reinfall! Es ist Software-PWM. So'n Quatsch! 🪦 Gestorben. Die Maschine wurde IMHO verschrottet.
Keinesfalls mit Raspberry Pi sondern damit! Das ist faktisch ein Arduino Leonardo mit Portexpandern, Potenzialversatzstufen und einem Triac-Block. Mittels WebUSB und einer maßgeschneiderten Webseite lässt sich so die gesamte Hardware komfortabel zum Laufen bringen — und das sogar mit einem Smartphone. Oder doch noch einem Raspberry Pi als reiner Web-Browser. Zudem kann man damit stundenlange Prozessabläufe ablaufen lassen, ohne dass man einen Absturz oder ein dazwischen funkendes Update befürchten muss: Ein AVR-Mikrocontroller (hier: ATmega32U4) ist für seine Robustheit und Leistungsstärke (relativ für 8 Bit) mittlerweile geradezu berühmt geworden. Selbst wenn es nur für Software-PWM reichen sollte: Zeitverhältnisse lassen sich auf 8-Bit-Controllern hinreichend exakt berechnen und einhalten.