Rok akad. 2010/2011
Krzysztof Stachura
Wydział FMI – specjalność Informatyka stosowana
Rok II, sem. 3. – Studia stacjonarne, stopień II
Mikroprocesory i mikrokontrolery
Projekt – prostownik AVR
Ogólny opis funkcjonalności prostownika
Przedmiotem projektu jest prostownik do ładowania akumulatorów kwasowych/żelowych itp. oparty
na mikrokontrolerze AVR (ATMega16) z możliwością regulacji maksymalnego prądu oraz napięcia
ładowania.
Ogólna zasada działania jest taka, że prostownik ładuje stałoprądowo, najczęściej 0,1C (dla
akumulatora 42Ah
- prąd 4,2A). Jeśli akumulator osiągnie docelowe napięcie (np. 14,4V) to przełącza
się na ładowanie stałonapięciowe i je utrzymuje (przykładowo 14,4V).
Dodatkowo układ prostownika ma za zadanie mierzyć prąd i napięcie ładowania, oraz sterować
tranzystorem przez sygnał PWM aby określony parametr utrzymać. Wszystkie informacje odnośnie
stany pracy sygnalizowane są na diodach oraz dodatkowo na wyświetlaczu Nokia (model 3310).
PWM (Pulse-width modulation) metoda regulacji sygnału pr
ą
dowego lub napi
ę
ciowego, polegaj
ą
ca na
zmianie szeroko
ś
ci impulsu o stałej amplitudzie.
Cechy i parametry mikrokontrolera ATMega16:
·
Wysokowydajna architektura AVR.
·
RISC, 131 instrukcji (większość 1 cyklowe), nastawione na język C, mnożenie 3
cyklowe.
16kB pamięci flash programowanej w systemie (ISP) z funkcją Read-While-Write, trwałość do 10k
cykli kasuj/zapisz.
·
32 x8 rejestry robocze.
·
1kB pamięci SRAM.
·
512 pamięci EEPROM (100k cykli).
·
Programowalne blokady bezpieczeństwa pamięci programu i eeprom.
·
do 32 konfigurowalnych linii I/O.
·
Interfejs JTAG (IEEE 1149.1): testowanie, debudowanie w układzie, programowanie
pamięci w systemie.
·
Trzy elastyczne timery/liczniki z trybami porównania (Input/Output Compare).
·
Wewnętrzne i zewnętrzne programowalne przerwania.
·
Szeregowy interfejs USART (praca synchroniczna i asynchroniczna).
·
Interfejsy szeregowe TWI (kompatybilny z I2C) oraz SPI.
·
8kanałowy 10bitowy przetwornik ADC, z opcjonalnym trybem wejścia różnicowego
wraz z programowalnym wzmocnieniem (tylko w wersji TQFP).
·
Analogowy komparator w układzie.
·
Programowalny Watchdog z własnym oddzielnym oscylatorem .
·
Układ Power-On Reset (zapewnienie prawidłowego resetu po włączeniu zasilania).
·
Wewnętrzny programowany generator RC (1, 2, 4 lub 8MHz), który pozwala w wielu
przypadkach zrezygnować z podłączania zewnętrznego kwarcu.
·
Programowalny próg spadku napięcia zasilania (Brown-out detection).
·
6 trybów oszczędzania energii.
·
Zakresy napięć zasilania:
4,5 – 5,5 V dla ATMega16.
·
Dopuszczalna szybkość pracy:
0 – 16 MHz dla ATMega16.
·
Pobór mocy dla 3V przy 1MHz:
W stanie aktywnej pracy: 1,1mA,
Tryb Idle: 0,35mA,
Tryb Power-down: poniżej 1uA.
·
Wersje obudowy: 40pin PDIP, 44pin TQFP, 44pad MLF.
Wyświetlacz Nokia 3310
Piny:
1. VCC - Zasilanie (2,7V - 3,3V)
2. SCK - Sygnał zegarowy
3. SDIN - Sygnał danych wejściowych
4. D/C - Wybór Dane / Komendy
5. SCE - Wybór kości (chip enable)
6. GND - Masa
7. VOUT - Kondensator dla napięć wewnętrznych
8. RES - Sygnał resetu
Po linii SDIN wprowadzamy bity danych. Całe pole ekranu podzielone jest w poziomie na 6 wierszy po
8 pikseli każdy. Każdej kolumnie (Xi) danego wiersza (Yi) odpowiada jeden bajt pamięci, przy czym
zewnętrznemu pikselowi odpowiada zerowy bit (LSB). Wybierając numer kolumny i wiersza,
przekazujemy bajt do pamięci danych i jest on wyświetlany na ekranie w postaci kolumny 8x1. Po
zapisie bajtu automatycznie zwiększa się wskaźnik adresu kolumny lub wiersza w zależności od stanu
(Function Set, bit H). Jeżeli ponownie prześlemy bajt do pamięci danych, to ujawni się on w tym
wierszu (w tej kolumnie) z przesunięciem o jeden piksel w prawo (8 pikseli w dół). Jeżeli w trakcie
zapisu nastąpi koniec wiersza y=yi; x=101 to następuje przejście na następny wiersz y=yi+1; x=0.
Analogicznie dzieje się tak dla kolumn.
Schemat ideowy
Funkcje:
Wyświetlacz LCD:
- prezentuje informacje odnośnie aktualnego prądu ładowania oraz napięcia
- informacje o wypełnieniu PWM 0-100%
- konfiguracja max prądu oraz napięcia
Diody LED
- ograniczenie prądowe (czerwony)
- ograniczenie napięciowe (żółty)
- prąd oraz napięcie mniejsze od skonfigurowanego (zielony)