Dokładność pomiarów ADS1110 i AT90S2313

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
Mortan
-
Posty: 20
Rejestracja: 04 sie 2008, 15:13
Lokalizacja: Kielce

Post autor: Mortan » 29 gru 2008, 21:57

AD7730 zamówiłem u gościa na Allegro - 30zł z wysyłką.
ads1110 można zasilać napięciem 6V, ale mogą być problemy z translacją napięć adc <-> uC
Będę próbował jeszcze. Ale zamówiłem coś lepszego - ADS7825 z zakresem pomiarowym do 10V :wink:

[ 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
Mam dwa pytania.
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) ; L
nie działa.
2) 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?

ODPOWIEDZ