Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

ATTINY 2313 wewnętrzny komparator analogowy

pablo226
-
-
Posty:3
Rejestracja:6 gru 2006, o 08:40
Lokalizacja:warszawa
ATTINY 2313 wewnętrzny komparator analogowy

Postautor: pablo226 » 23 sty 2007, o 07:55

Witam
Jaka komenda włącza komparator analogowy w ATTINY 2313?
W starym AT2313 wystarczyła komenda Acsr.7 = 0 natomiast do sprawdzenia stanu na wyjściu komparatora używałem np. polecenia If Acsr.5 = 0 Then.....
W ATTINY 2313 wypróbowałem już Start Ac lecz bez efektu Do sprawdzenia używam również np. If Acsr.5 = 0 Then.....
Fuse bits mam ustawine

MDz
-
-
Posty:365
Rejestracja:29 mar 2003, o 13:35
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: MDz » 23 sty 2007, o 09:28

http://atmel.com/dyn/resources/prod_doc ... oc2543.pdf
-> str. 153.
W starym AT2313 wystarczyła komenda Acsr.7 = 0
Czyli Ok.
AnalogComparatorDisable =0 a to znaczy, ze zasilanie komparatora jest włączone.
...natomiast do sprawdzenia stanu na wyjściu komparatora używałem np. polecenia If Acsr.5 = 0 Then.....
ASCR.5 = ACO (Analog Comparator Output).
To też się nie zmieniło. Czyli Ok.

Po pierwsze:
Czy ustawiłeś PB0 i PB1 jako wejścia wysokoimpedanycjne (czyli bez pullup-a),tzn.:
DDB[1,0] = 00b, PORTB[1,0] = 00b ?

Po drugie:
Co masz na ACSR.6 = ACBG (Analog Comparator BandGap Select)?
Domyślnie powinno tam być 0, ale jeżeli Bascom przypadkiem wpisał jedynkę to na wejście AIN0(+) zostaje dołączone wewnętrzne napięcie odniesienia. A to w realnym układzie może przenieść próg porównania poza zakres zmian napięcia na wejściu AIN1(-).
W 90S2313 bit ACSR.6 był nieużywany (choć zastrzeżony).

Przy okazji możesz (choć nie musisz) wyłączyć wejścia cyfrowe na liniach PB0 i PB1:
[AIN1D, AIN0D] = DIDR[1,0] = 11b.

--
MDz

pablo226
-
-
Posty:3
Rejestracja:6 gru 2006, o 08:40
Lokalizacja:warszawa

Postautor: pablo226 » 24 sty 2007, o 08:59

Witam
Dzięki za rady lecz nadal komparator mi nie działa
to fragment programu


Config Portb = &B11111100
Portb = &B11111100
Config Portd = &B1110100
Portd = &B1101111
Do

Acsr.6 = 0
Acsr.7 = 0
If Acsr.5 = 0 Then
Gosub Temp_on
End If

Loop
End



Temp_on:

Portd.5 = 0
Waitms 500
Portd.5 = 1
Waitms 500
Portd.5 = 0
Waitms 500
Portd.5 = 1

Return

Fredy
-
-
Posty:141
Rejestracja:27 mar 2005, o 21:45
Lokalizacja:Małopolska

Postautor: Fredy » 24 sty 2007, o 21:16

Według mnie Acsr.6 = 0 nie ma sensu, tam chyba nic nie ma w tym rejestrze.
Czy podłaczyłeś napiecia do koncowek komparatora?

pablo226
-
-
Posty:3
Rejestracja:6 gru 2006, o 08:40
Lokalizacja:warszawa

Postautor: pablo226 » 26 sty 2007, o 11:50

Napięcia mam podane .
z identycznym pragramem chodzi stary 90S2313 i wszysko jest OK

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości