RTV forum PL | NewsGroups PL

Mierzenie wypełnienia sygnału z termometru SMT160-30 przy użyciu ATmega 2051

termometr SMT160-30

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Mierzenie wypełnienia sygnału z termometru SMT160-30 przy użyciu ATmega 2051

Soniyk
Guest

Thu Apr 08, 2004 9:30 am   



witam,

Jest sobie termometr SMT160-30, który mierzy temperaturkę w zakresie -45 -
130st. Dane o temperaturze wysyła w postaci wypełnienia okresu o
czestotliwości w granicach od 1kHz do 4kHz. Rozdzielczośc tego ukladu jest
0,1st. a wzór na obliczenie temperatury to 0.320 + 0.00470*t (t =
temperature in °C)
Jak mając zwykłego atmelka 2051 przy kwarcu 12MHz zmierzyć wypełnienie z
odpowiednią rozdzielczością? Już przy 1kHz okres sygnału to 1ms, więc jeśli
ogólnie licząc 1 cykl maszynowy proca to 1us to wychodzi 1000 cykli na okres
i już widac że nie zmieści się w rozdzielczości, a gdzie czas na wykonanie
programu. Czy dobrze myśle? Czy da się w ogóle atmelkiem jakoś zmierzyć to
wypełnienie?
--
Pzdr
S.

Przemek Kuchta
Guest

Thu Apr 08, 2004 11:20 am   



[quote:58c83e5735]Jest sobie termometr SMT160-30, który mierzy temperaturkę w zakresie -45
-
130st. Dane o temperaturze wysyła w postaci wypełnienia okresu o
czestotliwości w granicach od 1kHz do 4kHz. Rozdzielczośc tego ukladu
jest
0,1st. a wzór na obliczenie temperatury to 0.320 + 0.00470*t (t =
temperature in °C)
Jak mając zwykłego atmelka 2051 przy kwarcu 12MHz zmierzyć wypełnienie z
odpowiednią rozdzielczością? Już przy 1kHz okres sygnału to 1ms, więc
jeśli
ogólnie licząc 1 cykl maszynowy proca to 1us to wychodzi 1000 cykli na
okres
i już widac że nie zmieści się w rozdzielczości, a gdzie czas na
wykonanie
programu. Czy dobrze myśle? Czy da się w ogóle atmelkiem jakoś zmierzyć
to
wypełnienie?
[/quote:58c83e5735]
przesiądź się na 90s2313 jest duuużo szybszy. W 2051 częstotliwość jest
dzielona przez 12 czyli faktycznie pracuje z zegarem 1MHz. 2313 może
pracować z kwarcem 16MHz. W sumie uzyskasz 8 krotne zwiększenie prędkości
a co za tym idzie rozdzielczości.

--
PZDR
Przemek Kuchta
GG: 1231994

J.F.
Guest

Thu Apr 08, 2004 11:50 am   



On Thu, 8 Apr 2004 12:30:35 +0200, Soniyk wrote:
[quote:399e6aa525]Jest sobie termometr SMT160-30, który mierzy temperaturkę w zakresie -45 -
130st. Dane o temperaturze wysyła w postaci wypełnienia okresu o
czestotliwości w granicach od 1kHz do 4kHz. Rozdzielczośc tego ukladu jest
0,1st. a wzór na obliczenie temperatury to 0.320 + 0.00470*t (t =
temperature in °C)
Jak mając zwykłego atmelka 2051 przy kwarcu 12MHz zmierzyć wypełnienie z
odpowiednią rozdzielczością? Już przy 1kHz okres sygnału to 1ms, więc jeśli
ogólnie licząc 1 cykl maszynowy proca to 1us to wychodzi 1000 cykli na okres
i już widac że nie zmieści się w rozdzielczości, a gdzie czas na wykonanie
programu. Czy dobrze myśle? Czy da się w ogóle atmelkiem jakoś zmierzyć to
wypełnienie?
[/quote:399e6aa525]
Na dwa sposoby.
a) angazujesz do roboty liczniki i przerwania, mierzysz czas zera i
jedynki.
b) ustawiasz sobie przerwanie co np 10kHz, w przerwaniu sprawdzasz
stan, zliczasz zera i jedynki przez np 1 sekunde. czysta statystyka,
czy jak kto woli - metoda Monte Carlo Smile
Po sekundzie mozna by zmienic delikatnie czestotliwosc - zeby
przypadkiem nie nastapila synchronizacja z przebiegiem czujnika.
Albo nawet czesciej zmieniac.

J.

Soniyk
Guest

Thu Apr 08, 2004 3:22 pm   



-- > >Jest sobie termometr SMT160-30, który mierzy temperaturkę w
zakresie -45 -
Quote:
130st. Dane o temperaturze wysyła w postaci wypełnienia okresu o
czestotliwości w granicach od 1kHz do 4kHz. Rozdzielczośc tego ukladu
jest
0,1st. a wzór na obliczenie temperatury to 0.320 + 0.00470*t (t =
temperature in °C)
Jak mając zwykłego atmelka 2051 przy kwarcu 12MHz zmierzyć wypełnienie z
odpowiednią rozdzielczością? Już przy 1kHz okres sygnału to 1ms, więc
jeśli
ogólnie licząc 1 cykl maszynowy proca to 1us to wychodzi 1000 cykli na
okres
i już widac że nie zmieści się w rozdzielczości, a gdzie czas na
wykonanie
programu. Czy dobrze myśle? Czy da się w ogóle atmelkiem jakoś zmierzyć
to
wypełnienie?

Na dwa sposoby.
a) angazujesz do roboty liczniki i przerwania, mierzysz czas zera i
jedynki.


tak, ale jak pisałem nie da się chyba zmierzyć tego czasu z wystarczającą
dokładnością a własciwie rozdzielczością



Quote:
b) ustawiasz sobie przerwanie co np 10kHz, w przerwaniu sprawdzasz
stan, zliczasz zera i jedynki przez np 1 sekunde. czysta statystyka,
czy jak kto woli - metoda Monte Carlo Smile
Po sekundzie mozna by zmienic delikatnie czestotliwosc - zeby
przypadkiem nie nastapila synchronizacja z przebiegiem czujnika.
Albo nawet czesciej zmieniac.


a tu nie rozumiem, to mi wygląda na pomiar częstotliwości a nie
współczynnika wypełnienia


pzdr
s.

Marek Dzwonnik
Guest

Thu Apr 08, 2004 3:46 pm   



Użytkownik "Soniyk" <elektronik@gower.pl> napisał w wiadomości
news:c53u7a$19$1@news.onet.pl


Quote:
b) ustawiasz sobie przerwanie co np 10kHz, w przerwaniu sprawdzasz
stan, zliczasz zera i jedynki przez np 1 sekunde. czysta statystyka,
czy jak kto woli - metoda Monte Carlo :-)

a tu nie rozumiem, to mi wygląda na pomiar częstotliwości a nie
współczynnika wypełnienia

Próbkujesz stan linii np. 10 tys. razy i zliczasz ile razy trafiłes "1" (N).
Następnie wyliczasz współczynnik wypełnienia
m = N/10000.
Jedyne czego musisz być pewien, to tego że nie wystąpiła synchronizacja
pomiędzy częstotliwością próbkowania a częstotliwością wyjsciową generowaną
przez SMT160. Teoretycznie, w złośliwym przypadku, mógłbyś uzyskać 10tys.
jedynek trafiając z momentem próbkowania dokładnie tuż po narastającym
zboczy przebiegu mierzonego. Stąd manewry ze zmienną, bądź wręcz losową
częstotliwością próbkowania.

--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')

J.F.
Guest

Thu Apr 08, 2004 7:43 pm   



On Thu, 8 Apr 2004 18:22:18 +0200, Soniyk wrote:
Quote:
Na dwa sposoby.
a) angazujesz do roboty liczniki i przerwania, mierzysz czas zera i
jedynki.

tak, ale jak pisałem nie da się chyba zmierzyć tego czasu z wystarczającą
dokładnością a własciwie rozdzielczością

Ustawiasz jeden licznik liczacy. Osobno wyzwalasz przerwanie zboczem.
W przerwaniu odczytujesz licznik. Mozna liczyc na w miare stale
opoznienie od zbocza do odczytu licznika. Uzyskujesz rozdzielczosc
1us. Klopotliwe bedzie tylko wyzwalanie na kazdym zboczu.

Mozna tez skorzystac z zewnetrznego bramkowania licznika -
bedzie dokladniej, ale naklad programowy tez wiekszy.

J.

elektroda NewsGroups Forum Index - Elektronika Polska - Mierzenie wypełnienia sygnału z termometru SMT160-30 przy użyciu ATmega 2051

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map