Forum: PC-Programmierung Raspberry PI Phyton Skript AD


von Florian (Gast)


Lesenswert?

Hallo

ich benutze folgendes Phython Script, das einwandfrei auf dem Raspberry 
PI 3b funktioniert:
1
import piplates.DAQCplate as DAQC
2
3
while True:
4
  print DAQC.getADC(0, 0)
5
  print DAQC.getADC(0, 1) 
6
  print DAQC.getADC(0, 2)


Da hier die 3 Werte zu unterschiedlichen Zeitpunkten ermittelt werden, 
habe ich es umgeschrieben:
1
import piplates.DAQCplate as DAQC
2
3
while True:
4
  aData= DAQC.getADCall(0)
5
  print aData[0]
6
  print aData[1]
7
  print aData[2]

Dies funktioniert zwar auch, aber so werden mitunter total abwegige 
Werte angezeigt. Hat jemand eine Idee warum?

von Florian (Gast)


Lesenswert?

ich bin inzwischen einen SChritt weiter. ich habe bemerkt, dass bei der 
zweiten Variante zuverlässige Werte ausgegeben werden, solang ich nur 
das eine Skript laufen lassen. Sobald ich im Hintergrund was anderes 
mache oder auf dem Desktop Fenster verschiebe, wird nur Mist ausgegeben. 
Kann sich jemand einen Reim drauf machen?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Was ist das Für ein AD-Wandler und wie wird er gemultiplext? Das Foto 
der Platine auf pi-plates ist leider ziemlich undeutlich. Wird einfach 
der ADC im Microchip-Controller benutzt? Am Analog-Eingang sieht die 
IC-Beschriftung wie "4051" aus, das könnte eine Variante des CD4051 
Analogschalters sein.

von Florian (Gast)


Lesenswert?

https://pi-plates.com/wp-content/uploads/2014/11/ppDAQC.jpg

unten links TB2 sind die Analogeingänge.
warum gehst du davon aus, dass das Problem am Shield liegen würde? 
DIeses arbeitet doch unabhöngig davon, was ich gerade am RasPhi mache...

von Florian (Gast)


Lesenswert?

ich denk ich hab die Ursache gefunden. Ich habe bemerkt, dass das phyton 
skript eine CPU Auslastung von etwa 50% verursacht. Ich habe dann in der 
Schleife ein time.sleep(0.1) eingefügt. Nun beträgt die Auslastung von 
unter 2%. Das Problem ist nun verschwunden, es werden ausschließlich 
zuverlässige Werte ermittelt.

Gruß
Flo

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das Foto ist wenigstens hoch genug aufgelöst.Ein Schaltplan wäre 
natürlich schöner, aber der ist vermutlich streng geheim.

http://www.ti.com/sitesearch/docs/universalsearch.tsp?searchTerm=lv4051a#linkId=1&src=top
SN74LV4051A 8-Channel Analog Multiplexers and Demultiplexers datasheet
Der kann immer nur einen Eingang auf den AD-Wandler durchschalten. Also 
können das keine gleichzeitigen Werte sein.

Anscheinend steckt der ADC im PIC16F1517. Rechts noch ein vierfach-OP 
LMV324, links ein Schieberegister 74HC595 und ein Ausgangstreiber, eine 
SMD-Version des bekannten ULN2003. Dazu eine Menge Eingangsschutzdioden 
im 3-pin-Gehäuse, vermutlich nach GND und VCC geschaltet, sowie 
Vorwiderstände und Kondensatoren als Eingangs-RC-Tiefpass. Ein paar LEDs 
noch oben. "Gebacken in Georgia" von WallyWare inc.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.