schemat układu pamięci

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 09 sty 2008, 21:11

Żeby mieć rozdzielność 1Om to będziesz potrzebował przetwornika 18-bit ale już przy 2 omach załatwisz wszystkie pomiary na 16-bitach, ale i tak będziesz musiał użyć zewnętrznego przetwornika
stratus pisze:Jeśli odbędzie się ponad 30 cykli zapisu/odczytu na rok to zdarzy się albo cud chyba że ten układ będzie służył jeszcze komuś innemu.
No to pamięć nie będzie krytyczna :)

stratus
-
Posty: 29
Rejestracja: 08 sty 2008, 14:40
Lokalizacja: z poligonu (Wodzisław Śląski)
Kontakt:

Post autor: stratus » 09 sty 2008, 21:34

No to mamy już: ATmega16 i EEPROM 1M.
Teraz pozostaje mi tylko szukanie sposobu podłączenia czujników.
Sposób podłączenia ATmega16 do EEPROM i do kompa jest na tej stronie LINK

Myślę że do poniedziałku znajdę odpowiednie schematy do podłączenia czujników.
O programie dla uC wole jeszcze nie myśleć :razz:
Wielkie dzięki za pomoc[/list]

[ Dodano: 2008-01-10, 16:08 ]
Znalazłem schemat układu bardzo podobnego do tego którego potrzebuje:
Obrazek

Pozostała tylko sprawa podłączenia pamięci EEPROM, czujnika ciśnienia i termistora (akcelerometr zastąpi potencjometr).
Co do czujnika ciśnienia to odpowiednie byłyby czujniki z tej strony LINK (niska cena :p).

[ Dodano: 2008-01-11, 18:33 ]
===========================================================

Według tych schematów czujnik przyśpieszenia jak i pamięć EEPROM mają być podłączone do wyjść SDA i SCL.
Jak to pogodzić ze sobą? Może czujnik podłączyć do wyjść PC.2(ADC2) i PC.3(ADC3) ?
Do którego wyjścia podłączyć i jak termistor. Bezpośrednio przez np. PC.0(ADC0) i PC.1(ADC1) czy użyć jakiegoś układu pośredniczącego np. przetwornika analog.-cyfrowego?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 11 sty 2008, 19:35

Jeżeli chcesz mierzyć spadek napiecia (a co za tym idzie wyznaczać wartość rezystancji) to dobrzeby było zastosować źródło prądowe wtedy przy znanym prądzie rezystancje wyznaczysz z prawa ohma.

Co do i2c to żeby móc odczytać dwa różne urządzenia na tej samej linii trzeba nadać im różne adresy. W PDF'ach od EEPROMu jak i układu który dołącza akcelerometr musisz znaleść jakie adresy mają te dwa układy. EEPROM zazwyczaj ma wejśćia A0, A1, A2 (lub podobne) które służą do ustawienia mu adresu. Zwierając do masy albo podłączająć do plusa ustawia się 1 albo 0 i potem odpowiednio otrzymuje się adres (szczegóły masz podane w PDF'ach tychże układów).

Termistory podłączasz do wejść przetwornika ADC0 i ADC1 (przykładowo) i mierzysz spadek na termistorze. Przetwornik to taki woltomierz który mierzy napięcia względem masy i w zakresie od 0 do napięcia odniesienia VREF (w PDF'ie atmegi w dziale o przetworniku jest podane co moze być napięciem odniesienia). Spadek napięcia nie może przekraczać napięcia odniesienia przetwornika bo wyjdzie poza jego zakres. Zatem musisz dopasować źródło prądowe tak aby przy najmniejszej rezystancji jaką uzyskasz mieć spadek na termistorze nie większy niż napięcie referencyjne.

stratus
-
Posty: 29
Rejestracja: 08 sty 2008, 14:40
Lokalizacja: z poligonu (Wodzisław Śląski)
Kontakt:

Post autor: stratus » 12 sty 2008, 17:59

Korzystając z Waszych rad zaprojektowałem ten układ:
Obrazek
Na razie są dołączone 2 czujniki (przyśpieszenie i temperatura) oraz pamięć EEPROM (nie wiem czy dobrze podłączona).
Czekam na Wasze uwagi.

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 12 sty 2008, 18:21

Sterowanie LED'em dałbym odwrotnie - tzn żeby zapalać go stanem niskim na porcie. Reset podciągnij do zasilania przez 10k na przykład. Poza tym 10k na LED'a to za dużo. Prąd powinien być 10mA zatem R=(5-2)/0.01=300om

stratus
-
Posty: 29
Rejestracja: 08 sty 2008, 14:40
Lokalizacja: z poligonu (Wodzisław Śląski)
Kontakt:

Post autor: stratus » 18 sty 2008, 13:15

Sterowanie LED'em dałbym odwrotnie - tzn żeby zapalać go stanem niskim na porcie
Czyli jak to zrobić?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 18 sty 2008, 13:20

Teraz masz katode na masie, daj anode do plusa a katode przez opornik do portu.

stratus
-
Posty: 29
Rejestracja: 08 sty 2008, 14:40
Lokalizacja: z poligonu (Wodzisław Śląski)
Kontakt:

Post autor: stratus » 21 sty 2008, 15:24

No i pojawił się kolejny problem...
Po przeanalizowaniu danych technicznych akcelerometrów ADXL okazało się, że najlepszy byłby ADXL78. Są w nim inne wyprowadzenia niż zakłada mój schemat.
Z tego co zrozumiałem ze schematu blokowego czujnika ma on już wbudowany wzmacniacz operacyjny. Nie ma wyjścia 0x jak ten na schemacie.
Czy mogę podłączyć przetwornik ADSL1100 w taki sposób: GND->VIN- i Xout->VIN+ :?:
Opis ADXL78

pozdrawiam

ODPOWIEDZ