Spannung messen mit dem Raspberry

Spannung messen mit dem Raspberry

Beitragvon Goldrausch » Sa 7. Dez 2013, 16:52

Nachdem ich es nun geschafft habe eine Temperatur mit dem Pi zu messen geht es weiter mit dem Pi eine Spannung zu messen.

Lauf folgender Anleitung: http://dl3ndd.de/ftpupload.html bin ich jetzt soweit, das die empfangenden werte in die Datei volt.txt geschrieben werden.

(Wenn ich ein 1,2 Volt Akku an den Eingang des AD Wandlers anschließe, wird der Wert 431 in die volt.txt Datei geschrieben

Aber nun komm ich nicht weiter, wie rechne ich den Wert z.B. 431 in die richtige Spannung um und wie bekomme ich die Werte in ein Diagramm ?
Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Re: Spannung messen mit dem Raspberry

Beitragvon DL3NDD » Sa 7. Dez 2013, 18:11

:D
Glückwunsch...da hast du schon ganz schön gewerkelt.

Goldrausch hat geschrieben:Aber nun komm ich nicht weiter, wie rechne ich den Wert z.B. 431 in die richtige Spannung um ?


die 431 ist die digitale Ausgabe des analogen Wertes (in deinem Fall 1,2V Akku).

Wir brauchen jetzt nur eine einzige Division um den Quotienten zu ermitteln.

431/1,2V= 360 Wenn wir jetzt den Wert aus der Volt.txt Datei durch 360 teilen ( 431/360=1,2V) , gibt´s die gewünschten 1,2 Volt.
Wenn die zu messende Eingangsspannung sich verändert, bleibt der Quotient immer gleich.

Damit das Skript read_mcp3008.py gleich den richtigen (umgerechneten Wert) in die Volt.txt schreibt
machen wir dort eine kleine Ergänzung. dritte Zeile von unten value=....../360

sudo nano read_mcp3008.py
...und die Zeile editieren, ...speichern nicht vergessen ctrl o ctrl x

Code: Alles auswählen
while True:
    print readAnalogData(ADC_Channel, SCLK, MOSI, MISO, CS)           

    f = open("volt.txt", "w");
    print f
    value = readAnalogData(ADC_Channel, SCLK, MOSI, MISO, CS)/360
    myString = str(value)
    f.write(myString + "\n")


Goldrausch hat geschrieben:wie bekomme ich die Werte in ein Diagramm ?


ach...muss hier nochmal editieren...
habe eben erst das andere Post von die gelesen mit der Temp-Grafik...sieht Klasse aus.
Ich studiere später mal den link dazu.
...aber ich denke, damit wirst du auch die Spannungsanzeige lösen können.

viel Erfolg weiterhin und berichte mal weiter hier.
Synology DS213+ als Web-FTP-und VPN Server, FT2000 SteppIr, homemade PA LDMOS
Benutzeravatar
DL3NDD
 
Beiträge: 900
Registriert: Sa 10. Nov 2012, 21:34

Re: Spannung messen mit dem Raspberry

Beitragvon Goldrausch » So 8. Dez 2013, 02:12

Am liebsten würde ich es auch so wie bei der Temperaturmessung machen, jedoch weiß ich noch nicht, was ich in den Skripten abändern muss.
Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Re: Spannung messen mit dem Raspberry

Beitragvon DL3NDD » So 8. Dez 2013, 09:48

Moin,
jetzt wird´s etwas schwierig für mich, weil das ein "Trockenkurs" für mich ist.
Ich kann das nicht auf die Schnelle hier ausprobieren.
Aber diese Anregung von dir mit MRTG ist super, werde ich auch irgendwann mal versuchen.
ok..dann mal zur Sache.

Goldrausch hat geschrieben:weiß ich noch nicht, was ich in den Skripten abändern muss


unter /home/pi/skripte/mrtg/.
das Skript update_mrtg_temp.sh
Wir müssen jetzt den Spannungswert aus der volt.txt da reinbekommen. Ich vermute mal deine Datei liegt in /home/pi/volt.txt
Wenn nicht, den Pfad anpassen.

Dann müsste es so aussehen.

update_mrtg_volt.sh

Code: Alles auswählen
#!/bin/bash
# Read Volt from sensor
tempread=`cat /home/pi/volt.txt`
temp=`echo $tempread | egrep -o '.{5}$'`
temp2=`echo "scale=2; $temp / 1000" | bc`
# Update database
echo $temp2
echo 0
echo 0
echo Volt


die scale Werte mußt du dann modifizieren, dass die Grafik paßt. auch tempread und temp in Volt ändern usw.

die Datei ausführbar machen
Code: Alles auswählen
chmod 774 /home/pi/skripte/mrtg/update_mrtg_volt.sh


!mach dir vor Änderungen Kopien der alten Skripte!

jetzt noch die mrtg.cfp modifizieren oder am besten drunter nochmal kopieren und ändern
(und natürlich die Entsprechenden Texte darin....) :

Code: Alles auswählen
Target[temp_wohnzimmer]: `/home/pi/skripte/mrtg/update_mrtg_volt.sh`



puhhh...wie gesagt ohne Gewähr...alles ohne probieren zu können hier.

Noch ein Tipp: :idea:

Wenn ich hier Versuche mach und dann nichts mehr geht habe ich ein SD Backup des funktionierenden System
auf der Festplatte, damit kannst du mit einer zweiten SD-Karte den alten Stand wieder herstellen.

http://www.chip.de/downloads/Win32-Disk-Imager_46121030.html
Synology DS213+ als Web-FTP-und VPN Server, FT2000 SteppIr, homemade PA LDMOS
Benutzeravatar
DL3NDD
 
Beiträge: 900
Registriert: Sa 10. Nov 2012, 21:34

Re: Spannung messen mit dem Raspberry

Beitragvon Goldrausch » Do 12. Dez 2013, 23:33

schade klappt leider noch nicht ganz, also die HTML Seite habe ich schon mal, jedoch wird die Spannung nicht ausgelesen.
Ich vermute das er die Datei volt.txt nicht lesen kann.

hier sind die Skripts:
/home/pi/volt.txt
Code: Alles auswählen
1.39458816533


/home/pi/skripte/mrtg/update_mrtg_volt.sh

#!/bin/bash
Code: Alles auswählen
# Read voltCH1
voltread=`cat /home/pi/volt.txt`

volt=`echo $voltread | egrep -o '.{5}$'`

volt2=`echo "scale=0; $volt" | bc`

# Update database
echo $volt2
echo 0
echo 0
echo volt


/etc/mrtg.cfg

Code: Alles auswählen
######################################################################
# System: DS18S20 Temperatur Sensor
# Contact: root
# Location: attached to Raspberry Pi
######################################################################

### DS18S20 Temperatur Sensor

TimeStrPos[temp]: RU
Target[temp]: `/home/pi/skripte/mrtg/update_mrtg_temp.sh`
Options[temp]: gauge,growright,nopercent,expscale,transparent
Title[temp]: Temperatur
PageTop[temp]:
MaxBytes[temp]: 125
Step[temp]: 60
Legend1[temp]: Gemessene Temperatur
LegendI[temp]: Temperatur
LegendO[temp]:
YLegend[temp]: Grad Celsius
ShortLegend[temp]: Grad °C

#################################################################

### Spannung
TimeStrPos[volt]: RU
Target[volt]: `/home/pi/skripte/mrtg/update_mrtg_volt.sh`
Options[volt]: gauge,growright,nopercent,expscale,transparent
Title[volt]: Spannung
PageTop[volt]:
MaxBytes[volt]: 125
Step[volt]: 60
Legend1[volt]: Volt
LegendI[pegel]: Volt
LegendO[volt]:
YLegend[volt]: Spannung
ShortLegend[volt]: Volt


Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Re: Spannung messen mit dem Raspberry

Beitragvon DL3NDD » Fr 13. Dez 2013, 08:41

also gut ist erstmal ...die Spannung wird in Volt ausgegeben 1.39458816533

Wenn ich mir das ansehen könnte hier das Problem liegen, beim Auslesen

#!/bin/bash

# Read voltCH1
voltread=`cat /home/pi/volt.txt`

volt=`echo $voltread | egrep -o '.{5}$'`

volt2=`echo "scale=0; $volt" | bc`

# Update database
echo $volt2
echo 0
echo 0
echo Volt

lösche mal die Klammern mit der 5

Der ausgelesene Wert ist eine Dezimalzahl mit unterschiedlicher Anzahl Dezimalstellen.
Synology DS213+ als Web-FTP-und VPN Server, FT2000 SteppIr, homemade PA LDMOS
Benutzeravatar
DL3NDD
 
Beiträge: 900
Registriert: Sa 10. Nov 2012, 21:34

Re: Spannung messen mit dem Raspberry

Beitragvon Goldrausch » Fr 13. Dez 2013, 15:13

Du bist genial, es hat wirklich an dem egrep -o '.{5}$ gelegen. :D

Jetzt möchte ich aber noch das, dass auslesen des AD Wandlers automatisch startet wenn der Raspberry gestartet wird. Wie schaffe ich das ?
Und auch ohne das die Bash belegt ist. Ich möchte nämlich auch noch eine weitere Spannung auslesen.
Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Re: Spannung messen mit dem Raspberry

Beitragvon DL3NDD » Fr 13. Dez 2013, 17:26

super :)

Goldrausch hat geschrieben:Jetzt möchte ich aber noch das, dass auslesen des AD Wandlers automatisch startet wenn der Raspberry gestartet wird.


Ich verstehe das so, dass read.mcp3008.py nach dem Einschalten des pi gestartet werden soll

sudo nano read_mcp3008.sh

Code: Alles auswählen
#!/bin/bash
sudo python read_mcp3008.py


speichern nicht vergessen. Skript ausführbar machen !!

dann starten wir dieses Skript mit der rc.local.
die rc.local wird vom pi beim booten einmal ausgeführt.

sudo nano /etc/rc.local

Code: Alles auswählen
sudo read_mcp3008.sh

vor dem exit 0 einfügen

abspeichern

jetzt wird das auslesen nach dem pi-start begonnen
Zuletzt geändert von DL3NDD am Sa 14. Dez 2013, 11:56, insgesamt 2-mal geändert.
Synology DS213+ als Web-FTP-und VPN Server, FT2000 SteppIr, homemade PA LDMOS
Benutzeravatar
DL3NDD
 
Beiträge: 900
Registriert: Sa 10. Nov 2012, 21:34

Re: Spannung messen mit dem Raspberry

Beitragvon Goldrausch » Fr 13. Dez 2013, 19:09

irgendwie klappt das leider nicht, beim hochfahren kommt die Meldung:

python: can´t open file ´read_mcp3008.py`: [Errno 2] No such file or directory
Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Re: Spannung messen mit dem Raspberry

Beitragvon DL3NDD » Fr 13. Dez 2013, 21:43

das bedeuted wohl die .sh Datei und der Eintrag in rc.local funktionieren aber die
read_mcp3008.py wird nicht gefunden.

Diese sollte in /home/pi liegen. Wenn sie woanders ist oder du
vielleicht sie auch noch in einen extra Ordner gesteckt hast...auf jeden fall muss der Pfad angepasst werden
in der read_mcp3008.sh.

Schreib mal wo sie sich befindet.
Synology DS213+ als Web-FTP-und VPN Server, FT2000 SteppIr, homemade PA LDMOS
Benutzeravatar
DL3NDD
 
Beiträge: 900
Registriert: Sa 10. Nov 2012, 21:34

Re: Spannung messen mit dem Raspberry

Beitragvon Goldrausch » Fr 13. Dez 2013, 22:57

die read_mcp3008.py Datei befindet sich im /home/pi Verzeichniss
Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Re: Spannung messen mit dem Raspberry

Beitragvon DL3NDD » Sa 14. Dez 2013, 07:55

ok...hab´s gefunden

sudo nano /etc/rc.local

sudo python read_mcp3008.py entfernen

Code: Alles auswählen
sudo /home/pi/read_mcp3008.sh


vor Exit 0 einfügen abspeichern

jetzt sollte es gehen

falls nicht, heute Nachmittag bin ich wieder zu Hause. Dann hole ich meinen zweiten pi und
probiere das, sollte aber jetzt gehen.
viel Erfolg
Synology DS213+ als Web-FTP-und VPN Server, FT2000 SteppIr, homemade PA LDMOS
Benutzeravatar
DL3NDD
 
Beiträge: 900
Registriert: Sa 10. Nov 2012, 21:34

Re: Spannung messen mit dem Raspberry

Beitragvon Goldrausch » Sa 14. Dez 2013, 14:00

funktioniert leider immer noch nicht, es kommt immer noch diese Fehlermeldung:

python: can´t open file ´read_mcp3008.py`: [Errno 2] No such file or directory
Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Re: Spannung messen mit dem Raspberry

Beitragvon DL3NDD » Sa 14. Dez 2013, 14:47

ich bin später zu hause, da probier ich das.
hast du hauch in der rc.local drauf geachtet dass es sich um die .sh Datei handelt?

sudo /home/pi/read_mcp3008.sh
Synology DS213+ als Web-FTP-und VPN Server, FT2000 SteppIr, homemade PA LDMOS
Benutzeravatar
DL3NDD
 
Beiträge: 900
Registriert: Sa 10. Nov 2012, 21:34

Re: Spannung messen mit dem Raspberry

Beitragvon Goldrausch » Sa 14. Dez 2013, 15:40

ja es ist die .sh Datei in der rc.local
Goldrausch
 
Beiträge: 26
Registriert: Sa 5. Okt 2013, 00:22

Nächste

Zurück zu Computer Hardware-Anwendungen-Programmierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

cron