Spisu treści:

Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD: 8 kroków
Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD: 8 kroków

Wideo: Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD: 8 kroków

Wideo: Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD: 8 kroków
Wideo: Płytka testowa AVR Atmega8 - Zrób to sam 2024, Listopad
Anonim
Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD
Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD
Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD
Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD
Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD
Płytka rozwojowa Atmega16/32 z wyświetlaczem LCD

Ta instrukcja pokazuje, jak zrobić własną płytkę rozwojową dla procesorów Atmega16 lub Atmega32. Internet jest pełen płyt rozwojowych domowej roboty, ale myślę, że zostało jeszcze miejsce na kolejną. Ta płytka była bardzo przydatna w moich projektach i właściwie zaprojektowałem i wykonałem ją do jednego z moich projektów. Co oferuje? - złącze ISP. - Regulowane napięcie odniesienia dla AREF z trymerem. - 8 diod połączonych PORTA z wyjmowanymi zworkami, dzięki czemu można używać diod LED również z innymi portami.- Kolczatki dla PORTA, PORTB, PORTC i PORTD.- Zmodyfikowana szpilka do ekranu LCD (4 bity)- Złącze portu szeregowego rs232- Wyjmowany moduł rs232- Regulowany 5VCzego będziesz potrzebować? (części do płyty głównej)- 1x procesor Atmega16 lub Atmega32- 1x kryształ (Twój wybór ile to będzie)- 2x kondensatory 27 pF na kryształ- 1x regulator napięcia 7805- 1x kondensator 47uF 16V- 3x kondensator 100nF- 1x DC-jack 2, 1mm lub 2,5mm (jakiekolwiek chcesz użyć)- 1x potencjometr 1K - 8x led (dowolny kolor)- 8x rezystory 330 Ohm- dużo kolców Części do modułu rs232- Max232 IC- 4x 0,1uF kondensatory - 2x led (zielony i czerwony) - 2x rezystory 330 Ohm - Spike bar - Złącze D9

Krok 1: Płytki drukowane

Płytki drukowane
Płytki drukowane
Płytki drukowane
Płytki drukowane

Istnieją obwody z obu płyt, a plik pdf zawiera pliki wydruku z tych płyt. Możesz wytrawić swoje deski z tych zdjęć. Plik zip zawiera wszystkie pliki Eagle z tych tablic. Możesz je dowolnie modyfikować.

Krok 2: Trawienie lub frezowanie

Trawienie lub Frezowanie
Trawienie lub Frezowanie
Trawienie lub Frezowanie
Trawienie lub Frezowanie

Istnieją dwa sposoby wykonania tych desek, trawienie lub frezowanie. Nie jestem chemikiem, więc skorzystałem z ostatniej opcji. Zrobiłem mój młynek z tych wspaniałych instrukcji, więc jeśli ktoś ma też nc-młynek i chce go użyć do zrobienia tych płyt, daj mi znać, a wyślę kody G.

Krok 3: Lutowanie

Lutowanie
Lutowanie
Lutowanie
Lutowanie

Zdjęcie poniżej pokaże nazwę komponentu i miejsce, w którym powinien się znajdować.

Krok 4: Testowanie

Testowanie
Testowanie

Zanim będziemy mogli przetestować naszą płytkę rozwojową, będziemy potrzebować kabla programatora AVR. Oto dobra instrukcja na temat kabla do programowania. Potrzebujemy tylko 6 przewodów. SCK, MISO, MOSI, RST, Ground i +5V i dlatego moje złącze ma tylko 6 pinów. WAŻNE! Sygnały SCK, MISO, MOSI i RST wymagają rezystorów 390 Ohm, które zwykle są wlutowane na płytce, ale chciałem zaoszczędzić trochę miejsca na płytce i dlatego rezystory są wewnątrz kabla. Bez tych rezystorów programowanie nie będzie działać. Musimy też wykonać kabel pomiędzy modułem rs232 a płytą główną. Na zdjęciu jest też kilka "przewodów testowych", które są naprawdę przydatne, gdy zamierzamy przetestować naszą płytkę.

Krok 5: Programowanie i prosty program testowy

Programowanie i prosty program testowy
Programowanie i prosty program testowy

Następnie będziemy potrzebować programów "testowych" do testowania naszej płyty. WAŻNY! Musimy wyłączyć JTAG z PORTC, jeśli tego nie zrobimy, moduł lcd nie będzie działał, więc jest to konieczne. W systemie Linux możemy to zrobić poleceniem avrdude:avrdude -p m16 -c stk200 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m To polecenie wyłącza JTAG i ustawia wewnętrzny oscylator 8Mhz i używa go. Nasza tablica ma zewnętrzny kryształ, ale ludzie używają różnych rozmiarów kryształów, więc ta komenda jest bezpieczna dla wszystkich. Jeśli chcesz użyć zewnętrznego kryształu, tutaj jest strona do obliczania prawidłowych bezpieczników. WAŻNE! Zachowaj ostrożność przy programowaniu bezpieczników. Jeśli ustawisz nieprawidłowe wartości bezpieczników, twój procesor nie będzie działał. Jest sposób na odzyskanie go za pomocą zewnętrznego impulsu, ale miejmy nadzieję, że nie musisz tego robić =)Prosty program testujący:#include (avr/io.h)int main(void){DDRA = 0xff; // ustaw port jako outputDDRB = 0xff;DDRC = 0xff;DDRD = 0xff;PORTA = 0x00; // wyłącz wszystkie pull-upsPORTB = 0x00;PORTC = 0x00;PORTD = 0x00;}Nadszedł czas, aby włączyć płytę i wysłać ten mały program testowy do procesora z winavr lub innym, którego chcesz użyć. Teraz możemy to przetestować nasze porty działają poprawnie. Umieść jeden koniec przewodu na jednym z główek szpilek ledowych i dotykaj drugim końcem każdego skoku portu krok po kroku. Dioda powinna świecić za każdym razem. Jeśli nie świeci, to coś jest nie tak z lutowaniem. Pamiętaj też o teście, że każdy led działa.

Krok 6: Testowanie portu szeregowego

Testowanie portu szeregowego
Testowanie portu szeregowego
Testowanie portu szeregowego
Testowanie portu szeregowego

Jeśli wszystko działało idealnie, czas przetestować nasz moduł rs232. Istnieje mały program, który sprawdza, czy nasze TX i RX działają. Użycie w Linuksie:Utwórz plik o nazwie Makefile i skopiuj poniższy tekst w pliku. Kod Makefile zakłada, że używasz Atmega16, a twój kabel do programowania to stk200. twój port szeregowy /dev/ttyS0CC=/usr/bin/avr-gccCFLAGS=-g -Os -Wall -mcall-prologues -mmcu=atmega16 -std=gnu99OBJ2HEX=/usr/bin/avr-objcopy AVRDUDE=/usr/bin /avrdude: $(TARGET).hex $(AVRDUDE) -p m16 -P /dev/parport0 -c stk200 -u -U flash:w:test.hex%.obj: %.o $(CC) $(CFLAGS) $< -o $@%.hex: %.obj $(OBJ2HEX) -R.eeprom -O ihex $< $@clean: rm -f *.hex *.obj *.oPobierz załączony plik serial.c i wstaw w tym samym folderze, w którym znajduje się Makefile. Włącz płytkę rozwojową i umieść kabel między modułem rs232 a płytą główną. Diody na module powinny się teraz zaświecić. Umieść przewód testowy między pinem PA0 a pinem niektórych diod led. Użyj terminala i przejdź do folderu, w którym znajduje się test.c i Makefile. Podłącz programator ISP do płyty. Teraz nadszedł czas, aby wysłać nasz kod do procesora i dzieje się to za pomocą polecenia terminala: make Pobierz oprogramowanie o nazwie GTKterm(Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Uruchom GTKterm i sformatuj go z prędkością 9600Kbs, 8 bitów danych, 1 bit stopu, brak parzystości, brak przepełnienia. Jeśli wszystko działa, powinno napisać "działa!" na ekranie GTKterm po naciśnięciu przycisku „z” i przycisku „x” dioda na płycie powinna się włączyć, a po naciśnięciu „c” powinna zgasnąć.

Krok 7: Test modułu LCD

Test modułu LCD
Test modułu LCD
Test modułu LCD
Test modułu LCD

Teraz nadszedł czas na przetestowanie naszego modułu LCD. Dołączyłem świetne oprogramowanie do sterowania ekranem LCD. Pobrałem kod ze strony Scienceprog.com i trochę go zmodyfikowałem. Zaprogramuj procesor za pomocą tego kodu i podłącz moduł LCD do płyty. Połączenia pinów modułu LCD:1 = VSS(Uziemienie)2 = VDD(5V)3 = VO(Uziemienie)4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7Mój moduł lcd zawiera 2 złącza (patrz rysunek), ponieważ tekst idzie do góry nogami, jeśli umieścisz moduł tak, jak powinien. Odbiłem i przykleiłem nowe złącze na drugą stronę. Teraz działa w obie strony.

Krok 8: Niektóre filmy

Akcelerometry ściemniające

Zalecana: