İçindekiler:

LCD'li Atmega16/32 Geliştirme Kartı: 8 Adım
LCD'li Atmega16/32 Geliştirme Kartı: 8 Adım

Video: LCD'li Atmega16/32 Geliştirme Kartı: 8 Adım

Video: LCD'li Atmega16/32 Geliştirme Kartı: 8 Adım
Video: Full Duplex Communication between PC and AVR ATmega16 Microcontroller with LCD Display by ABLab 2024, Kasım
Anonim
LCD'li Atmega16/32 Geliştirme Kartı
LCD'li Atmega16/32 Geliştirme Kartı
LCD'li Atmega16/32 Geliştirme Kartı
LCD'li Atmega16/32 Geliştirme Kartı
LCD'li Atmega16/32 Geliştirme Kartı
LCD'li Atmega16/32 Geliştirme Kartı

Bu talimat, Atmega16 veya Atmega32 işlemciler için kendi geliştirme kartınızı nasıl yapacağınızı gösterir. İnternet, ev yapımı geliştirme kartlarıyla doludur, ancak bence, başka bir tane için yer kaldı. Bu pano projelerimde çok faydalı oldu ve aslında bir projeme hizmet etmek için tasarladım ve yaptım. Ne sunuyor? böylece led'leri başka portlarla da kullanabilirsiniz. - PORTA, PORTB, PORTC ve PORTD için spike barlar. - LCD ekran için modifiye spike bar (4 bit) - rs232 seri port konnektörü - Çıkarılabilir rs232 modülü - Regüleli 5V Neye ihtiyacınız olacak? (ana kart için parçalar)- 1x Atmega16 veya Atmega32 işlemci- 1x kristal (Kaç Mhz olacağı sizin seçiminizdir)- Kristal için 2x 27 pF kapasitör- 1x 7805 voltaj regülatörü- 1x 47uF 16V kapasitör- 3x 100nF kapasitör- 1x DC jakı 2, 1mm veya 2, 5mm (istediğini kullan) - 1x 1K potansiyometre - 8x led (herhangi bir renk)- 8x 330 Ohm dirençler- çok sayıda spike bar rs232 modülü için parçalar- Max232 IC- 4x 0, 1uF kapasitörler - 2x led (yeşil ve kırmızı)- 2x 330 Ohm dirençler- Spike bar- D9-konektör

Adım 1: Devre Kartları

Devre Kartları
Devre Kartları
Devre Kartları
Devre Kartları

Her iki panodan da devreler vardır ve pdf dosyası bu panolardan çıktı dosyalarını içerir. Bu resimlerden panolarınızı aşındırabilirsiniz. Zip dosyası, bu panolardaki tüm Eagle dosyalarını içerir. Bunları istediğiniz gibi değiştirmekten çekinmeyin.

2. Adım: Dağlama veya Frezeleme

Dağlama veya Frezeleme
Dağlama veya Frezeleme
Dağlama veya Frezeleme
Dağlama veya Frezeleme

Bu tahtaları yapmanın iki yolu vardır, aşındırma veya frezeleme. Ben kimyager değilim, bu yüzden son seçeneği kullandım. Değirmenimi bu harika talimatlardan yaptım, bu yüzden eğer birisi de nc-mill'e sahipse ve bu panoları yapmak için kullanmak isterse, bana bildirin ve G kodlarını göndereyim.

Adım 3: Lehimleme

Lehimleme
Lehimleme
Lehimleme
Lehimleme

Aşağıdaki resim, bileşenin adını ve gemide nerede olması gerektiğini gösterecektir.

4. Adım: Test Etme

Test yapmak
Test yapmak

Geliştirme kartımızı test etmeden önce AVR programlayıcı kablosuna ihtiyacımız olacak. İşte programlama kablosu hakkında iyi bir talimat. Sadece 6 kabloya ihtiyacımız var. SCK, MISO, MOSI, RST, Ground ve +5V ve bu yüzden konnektörümde sadece 6 pin var. ÖNEMLİ! SCK, MISO, MOSI ve RST sinyalleri, genellikle kart üzerinde lehimlenen 390 Ohm'luk dirençlere ihtiyaç duyar, ancak karttan biraz yer kazanmak istedim ve bu yüzden dirençler kablonun içinde. Bu dirençler olmadan programlama çalışmaz. Ayrıca rs232 modülü ile ana kart arasında bir kablo yapmamız gerekiyor. Ayrıca resimde bir çift "test kablosu" var ve bunlar kartımızı test edeceğimiz zaman gerçekten kullanışlı.

Adım 5: Programlama ve Basit Test Programı

Programlama ve Basit Test Programı
Programlama ve Basit Test Programı

Ardından, kartımızı test etmek için bazı "test" programlarına ihtiyacımız olacak. ÖNEMLİ! PORTC'den JTAG'ı devre dışı bırakmalıyız, bunu yapmazsak lcd modülü çalışmaz, bu yüzden gereklidir. Linux işletiminde bunu avrdude komutuyla yapabiliriz:avrdude -p m16 -c stk200 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m Bu komut JTAG'ı devre dışı bırakır ve 8Mhz dahili osilatörü kurar ve kullanır. Tahtamızda harici kristal var, ancak insanlar farklı boyutta kristaller kullanıyor, bu nedenle bu komut herkes için güvenlidir. Eğer harici kristalinizi kullanmak istiyorsanız, doğru sigortaların hesaplanması için site burada. ÖNEMLİ! Sigorta programlama konusunda dikkatli olun. Yanlış sigorta değerleri ayarlarsanız, işlemciniz çalışmaz. Harici darbe ile kurtarmanın bir yolu var, ama umarız bunu yapmak zorunda kalmazsınız =)Basit test programı:#include (avr/io.h)int main(void){DDRA = 0xff; // portu çıktı olarak ayarlaDDRB = 0xff;DDRC = 0xff;DDRD = 0xff;PORTA = 0x00; // tüm pull-up'ları devre dışı bırakınPORTB = 0x00;PORTC = 0x00;PORTD = 0x00;}Kartı açmanın ve bu küçük test programını winavr veya ne kullanmak istiyorsanız işlemciye göndermenin zamanı geldi. Şimdi bunu test edebiliriz portlarımız düzgün çalışıyor. Telin bir ucunu ledlerin pinhead'lerinden birine koyun ve adım adım her bağlantı noktasının yükselmesini diğer uçla temas ettirin. Led her seferinde parlamalıdır. Parlamıyorsa, lehimlemede bir sorun var demektir. Her ledin çalıştığını da test edin.

Adım 6: Seri Bağlantı Noktasını Test Etme

Seri Bağlantı Noktasını Test Etme
Seri Bağlantı Noktasını Test Etme
Seri Bağlantı Noktasını Test Etme
Seri Bağlantı Noktasını Test Etme

Her şey mükemmel çalıştıysa, rs232 modülümüzü test etmenin zamanı geldi. TX ve RX'imizin çalıştığını test eden küçük bir program var. Linux'ta Kullanım:Makefile adında bir dosya oluşturun ve aşağıdaki metni dosyaya kopyalayın. Makefile kodu, Atmega16 kullandığınızı ve programlama kablonuzun stk200 olduğunu varsayar. seri bağlantı noktanız /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 *.o Seri.c dosyasını indirin ve koyun Makefile'ın bulunduğu klasörde. Geliştirme kartınızı çalıştırın ve rs232 modülü ile ana kart arasına kablo koyun. Modül üzerindeki ledler şimdi yanmalıdır. PA0 pini ile bazı led pinleri arasına test teli koyun. Terminalinizi kullanın ve test.c ve Makefile dosyasının bulunduğu klasöre gidin. ISP programlayıcıyı panoya bağlayın. Şimdi kodumuzu işlemciye gönderme zamanı geldi ve terminal komutu ile oluyor: GTKterm(Serial Port Terminal) adlı bir indirme yazılımı yapın. Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm GTKterm'i başlatın ve 9600Kbs hızında biçimlendirin, 8 data bit, 1 stop bit, parite yok, taşma yok. Her şey çalışıyorsa "works!" yazmalı. GTKterm ekranında "z" tuşuna bastığınızda ve "x" tuşuna bastığınızda kart üzerindeki led yanmalı, "c" tuşuna bastığınızda sönmelidir.

Adım 7: LCD modül Testi

LCD-modül Testi
LCD-modül Testi
LCD-modül Testi
LCD-modül Testi

Şimdi LCD modülümüzü test etme zamanı. LCD ekranı kontrol etmek için harika bir yazılım ekledim. Kodu Scienceprog.com'dan indirdim ve biraz değiştirdim. İşlemciyi bu kodla programlayın ve lcd modülünüzü karta takın. LCD modülü pin bağlantıları:1 = VSS(Toprak)2 = VDD(5V)3 = VO(Toprak)4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7My lcd modülü 2 konektör içerir (resme bakın), çünkü modülü olması gerektiği gibi yerleştirirseniz metin yukarı doğru gider. Yeni konektörü diğer tarafa yansıttım ve yapıştırdım. Şimdi her iki şekilde de çalışıyor.

8. Adım: Bazı Videolar

Dimmer ivmeölçerler

Önerilen: