Auslesen 12Bit 8 Kanal ADC
Verfasst: Freitag 11. August 2017, 08:39
Hallo,
ich bin neu in der Python programmierung und muss für ein Projekt einen 12Bit 8 Kanal ADC (ADC 128S022)auslesen.
Also genauer gesagt ich möchte den ersten Eingang des ADC benutzen.
Nach dem ich das Programm soweit geschrieben habe und mit dem Oszilloskop die ganzen Flanken überprüft habe, habe ich nun
das Problem das mein Programm mir echt komische Werte ausgibt. laut Multimeter gebe ich dem Eingang 214 mV, jedoch schwankt mein Programm und zeigt mir zwischen 0,2 V bis hin zu 2,6 V etliche unterschiedliche Werte.
An was kann das liegen ?
Danke.
P.S. anbei mein Code:
ich bin neu in der Python programmierung und muss für ein Projekt einen 12Bit 8 Kanal ADC (ADC 128S022)auslesen.
Also genauer gesagt ich möchte den ersten Eingang des ADC benutzen.
Nach dem ich das Programm soweit geschrieben habe und mit dem Oszilloskop die ganzen Flanken überprüft habe, habe ich nun
das Problem das mein Programm mir echt komische Werte ausgibt. laut Multimeter gebe ich dem Eingang 214 mV, jedoch schwankt mein Programm und zeigt mir zwischen 0,2 V bis hin zu 2,6 V etliche unterschiedliche Werte.
An was kann das liegen ?
Danke.
P.S. anbei mein Code:
Code: Alles auswählen
import RPi.GPIO as GPIO
import time
import spidev
GPIO.setwarnings(False)
Vref = 3.3
Leistungsfaktor = 0.049
spi = spidev.SpiDev()
spi.open(0, 1)
spi.mode = 3
def adc_128S022():
spi.writebytes ([0x00,0x00])
adc = spi.xfer2([0x00,0x00])
adc_out = ((adc[0] & 0x0F) << 8) +(adc[1])
voltage = adc_out * (Vref/4096)
voltage = round(voltage,2)
print ("voltage : " , voltage , 'V')
p = round((voltage / Leistungsfaktor), 2)
print ('Erechnete Ausgangsleistung in mW : ', p)
time.sleep(1)
while True:
adc_128S022()