Będę próbował jeszcze. Ale zamówiłem coś lepszego - ADS7825 z zakresem pomiarowym do 10Vads1110 można zasilać napięciem 6V, ale mogą być problemy z translacją napięć adc <-> uC
[ Dodano: 2009-01-01, 18:26 ]
Mam jeszcze jedno pytania. Chciałbym wyniki pomiarów odczytywac na ekranie komputera z szybkością 240 próbek na sekundę. Wykorzystuje do tego Timer0. I teraz jak to zrobić, aby 240 razy na sekundę (co ok 4,1666666666...ms) program przeskoczył do etykiety i wykonał pomiar. Czy przetwornik zdąży dokonać pomiaru jeśli będzie ustawiony ten sam czas na przeskok i ten sam czas na przetworzenie pomiaru?
Czy może znacie jakiś inny lepszy sposób na ten program?
[ Dodano: 2009-01-01, 23:37 ]
Napisałem taki program:
Kod: Zaznacz cały
Dim Znak As Byte
Dim Pomiar1 As Byte , Pomiar2 As Byte
Dim Napiecie As Long
Dim L As String * 8
''''''TIMER 0 - co 4ms zmierz wynik z ADS1110
Config Timer0 = Timer , Prescale = 64
Enable Interrupts
Enable Timer0
On Timer0 Program
Stop Timer0
Timer0 = 0
''''''''''''''''''''''''''''''''''''''''''''''''
Do
Znak = Waitkey()
If Znak = 13 Then Start Timer0
If Znak = 27 Then Stop Timer0
Loop
End
Program:
Timer0 = 6 'bo 256 - 250 = 6
I2cstart
I2cwbyte &B10011011 'Adres Do Odczytu
I2crbyte Pomiar1 , Ack 'Odczyt Pomiaru
I2crbyte Pomiar2 , Nack
I2cstop 'Bit Stopu
Napiecie = Pomiar1 * 256 'Przekształcenie
Napiecie = Napiecie + Pomiar2
Napiecie = Napiecie / 16
L = Str(napiecie)
L = Format(l , "0.000") 'wyświetl
Print L
Return
1) Co zrobić aby pomiar być ciągle nadpisywany w jednej linijce, a nie robiła mi się kolumna wyników?
Polecenie
Kod: Zaznacz cały
Print Chr(13) ; L2) Nie wiem o co chodzi z tą szybkością pomiarów w ADS1110, niby da się w przetworniku ustawić 15, 30, 80, 240sps, ale napisałem taki program i też wszystko jest chyba wporządku. Na jaką szybkość jest ustawiony w tym wypadku przetwornik?