PIC18F2550 deney kartı + usb bootloader

PIC18F2550 deneme geliştirme kardı diğer uygulamalardan farklı olarak “USB bootloader” özelliğinide bulunduruyor pic18f2550 ile uygulamak istediğiniz projelerinizde devrelerinizde büyük kolaylık sağlayacak.
“PIC18F2550 USB bootloader deneme test devresi” Projesini hazırlayan: Cenk Cemil UNUR İletişim: cenk.unur@gmail.com – Emeği geçen hazırlayan kişilere teşekkürler. Devreye ait proteus isis, ares dosyaları ve microchip yazılımları: pic18f2550-microchip-usb-bootloaderZIP
PIC18F2550 Uygulama Kartı UNUR PCB 2550 V1.01

Donanım;
- PIC 18f2550 I/SP microdenetleyici.
- 24Cxx EEPROM (I2C haberleşme ile)
- 20Mhz kristal.
- 6-15V besleme girişi.
- 5V 1A regüle çıkışı.
- USB desteği.
- ICSP programlama
- Pin header I/O terminal sistemi
Genel Özellikler ve Kullanımı
1-USB: PIC 18f2550 microdenetliyicisinin en önemli özelliği kendinden USB desteği sağlamasıdır. Bu sayede bilgisayarınız ile USB üzerinden hızlı bir haberleşme sağlayabilirsiniz.
2-24Cxx EEPROM : Kart üzerinde I2C seri haberleşme protokolü ile haberleşen bir eeprom bulunmaktadır.
3-ICSP: ICSP desteğine sahip bir programlayıcı ile microdenetleyicinizi yerinden sökmeden kart üzerinde programlayabilirsiniz.
4-5V Regüle: Kart üzerinde bulunan 7805 regüle entegresi sayesinde microdenetleyicinizin 5v beslemesi sağlanmıştır.
5-ICSP-I/O:J1 ve J2 jumperları sayesinde B6 ve B7 portları istenildiğinde ICSP programlama için veya I/O portu olarak kullanabilme seçimini sağlar.
6-LVP: J3 jumperı takıldığında ICSP ile programlamada düşük voltaj modunda programlama imkanı sağlar. (Düşük voltaj modununda programlamayı destekleyen programlayıcılar için.)
7-I2C –I/O: J4 ve J5 jumperları sayesinde B0 ve B1 portları istenildiğinde I2C heberleşme ile eeprom kullanımı veya I/O portu olarak kullanabilme seçimini sağlar.
8-USB-I/O: J6 ve J7 jumperları sayesinde C4 ve C5 portları istenildiğinde USB heberleşme veya I portu olarak kullanabilme seçimini sağlar.
9-Power Led: +5v beslemenin olup olmadığını gösterir.
10-Reset: Microdenetliyicinin MCLR ayağını eskiye çeker. Programdan reset aktif ise program resetlenir.
11-Power Out Terminali: Bu terminal üzerinde 4 çıkış bulunur. Bunlardan 2 tanesi GND (eksi), diğerleri ise;
+V : Karta klamensden girilen voltajın aynısı alınır.
+5V :Regüle devresi çıkışındaki voltaj alınır. ( max. 1A)
12-Port I/O Terminali: Microdenetliyicinin tüm portları pinheader terminal sistemi ile aktif kullanıma açık durumdadır.
ICSP BAĞLANTI

Yukarıda ICSP yöntemi ile programlamaya örnek bir bağlantı görülmektedir.
ÜST PCB

Kart üzerindeki besleme ve I/O terminalleri üst pcb montaj sistemi için pinheader olarak tasarlandığından, şablona göre kendi çizim pcb leriniz veya delikli plaket üzerine kurduğunuz devreleri rahatlıkla çalıştırabilirsiniz.
Örnek uygulamalar (Usb Lcd, Servo Kontrol, Breadbord ile Çalışma)
Bootloader Nedir?
Bottolader microdenetleyicinize yüklenen bir programdır. İlk seferde bir programlayıcı ile bootloader programını microdenetleyicinize yüklersiniz. Bundan sonra asıl yüklemek istediğiniz programı microdenetleyicinize programlayıcıya gerek olmadan ve entegrenizi yerinden sökmeden arayüz programı ile USB veya RS232 üzerinden yükleme yapabilirsizin. Burda sizlere USB için hazırlanan bootloader hakkında bilgi verilecektir.
PIC 18F2550 ve 18F4550 serisi microdenetleyicilerde USB desteği bulunmaktadır. Arada herhangi bir dönüştürücü olmadan microdenetleyici ile bilgisayarınız arasında USB ile bağlantısı sağlanabilmektedir. Bu sayede program yükleme işleminizi USB üzerinden hızlı bir biçimde yapabilirsiniz.
USB Bootloader Kurulumu
1- MicrochipsBootloader klasörü C nin altına kopyalanır.

2- C:microchip_usb_bootloaderpic_firmware altındaki “mchpusb” isimli hex kodu PIC e yüklenir.

3- Devreye enerji verip USB bağlantısını yaptığınızda ilk seferinde bootloader dışında başka bir program yükü olmadığından devreniz bootloader modunda açılır. Bilgisayarınız devrenizi yeni donanım olarak görür ve sizden driver yüklemenizi ister.
4-C:microchip_usb_bootloaderpc_usb_driver yolunu göstererek sürücüyü yükleyin.
5- Bundan sonra yazdığınız programları bootloader ile yükleyebilmek için C: microchip_usb_bootloader Pdfsusb altındaki Pdfsusb çalıştırılır.


Bootloader Kullanımı

- 1- Devrenize enerji verip Bootloader butonuna basılı tutup Reset butonuna basıp bırakın.
- 2- Led1 sürekli yanmaya başladığında bootloader programı devrededir.
- 3- Bootloader butonu bırakın.
- 4- USB kablosunu takın.
- 5- Led-1 ve Led-2 yanıp sönmeye başladığında USB bağlantısı hazır demektir.
- 6- Pdfsusb programı çalıştırılır.

7- Board seçeneği boş gelir. Yandaki ok işareti tıklanır ve PICDEM FS USB 0 (Boot) seçilir.

8- Load HEX File tıklanarak yüklenecek hex dosyası seçilir.
9- Hex dosyası seçimi sonrası gelen uyarı mesajına Hayır denilir. EVET denilirse pic içindeki bootloader programı silinir. Programlayıcı ile yeniden yükleme yapmanız gerekir.

10- Program Device tıklanarak yükleme işlemi başlatılır.
11- Yükleme bittikden sonra Execute tıklanarak PIC resetlenir ve yüklenen programın çalıştırılması sağlanır.
Cenk Cemil UNUR
Yazar: gevv
Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 1959 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız; gevv















Selam,
Bende PIC ve AVR ile ilgili deneme modüllleri yapıyorum! Burdaki gibi güzel olacak inşallah PIC ve AVR ile denemeyeceğimiz hiçbir devre kalmıyacak?
Sağlıcakla,
Selam.
Devre şemasında bulunan USB konnektörünün VCC si bağlanmalı
kaynak:
http://www.sprut.de/electronic/soft/usboot/usboot.htm
iyi çalışmalar
Selamlar. ISIS şeması neden çalışmıyor?
Duplicate part referance: J5 [J5]
Simulation failed due to netlist compiler error(s) hatalarını veriyor.
Yardımcı olur muunuz? Teşekkürler..
Bu devre beslemeyi nerden alıyor ki usb kablosunu takmadan ledler yanıyomuş bootloaderde
Derseniz ki harici besleme diye – - bu da demektir ki şemalarda uyumsuzluk var
Bu devrei yapıp deneyen var mı :)
Merhabalar devre hakkındaki yorumlar ve soruları şu şekilde cevaplayayım..
USB connektörünün besleme ucunu bilerek bağlamadım. Biliçsiz kullanım sonucu USB portunun zarar görmemesi için. Bu nedenle devreyi harici beslemeli olarak tasarladım. Ama küçük bir modifiye ile kart USB den beslenerek çalışabiliyor.
ISI şemasında devre tasarımı için hazırlandı simülasyon kulanım için değil. Bu nedenle aktif olmayan elemenlar kullandım. bunları iptal edip denerseniz olur.
Devreyi incelediğinizde devreyi beslemek için beslemenin bağlanacağı bir klamens olduğunu göreceksiniz. buradan 12v verdiğiniz taktirde devre üzerindeki 7805 sayesinde entegrenin 5v beslemesi sağlanmış olur.
Selamlar,
Öncelikle yardımlarınız için teşekkür ederim.Yaklasık iki haftadır 18f2550 entegresine bootloader kurarak program atmaya çalışıyorum.
Ben ccs c kullanıyorum.
1- Devrenize enerji verip Bootloader butonuna basılı tutup Reset butonuna basıp bırakın.
2- Led1 sürekli yanmaya başladığında bootloader programı devrededir.(LED 1sürekli yanmıyor flaş yapıyor)
3- Bootloader butonu bırakın.
4- USB kablosunu takın.
5- Led-1 ve Led-2 yanıp sönmeye başladığında USB bağlantısı hazır demektir.(Ama Led-1 ve Led-2 yanıp sönmeye baslıyor )
6- Pdfsusb programı çalıştırılır.
Elimde iki adet 18f2550 pic var.İkisi ilede denemeler yaptım.
Özellikle sormak istedigim, hazırladıgımız program satırlarında normalden farklı olarak usb yi tanıtıcı satırlarında bulunması gerekiyormu.
Bootloader ile programı atıyorum, linkte anlattıgınız tüm sekmeleri yerine getiriyorum,Ama pic e yükledigim programı calıstıramadım.
Aynı hex dosyasını pic e direk yükledigimde problemsiz olarak calısıyor.Ama isin içine bootloader girince programı çalıstıramadım.
Yardımcı olabilirseniz cok sevinirim.
Teşekkürler. ALP AYDOGAN
Cenk arkadasimiza çok teşekkürler,
Mail den gönderdiği programı bootloader la yükledim ve çalıştı.
Ama ben’m yazdığım kodu bir türlü çalıştıramadım. Kod asağıda yazdım yardımcı olabilecek kişilere şimdiden teşekkür ederim.
#include #fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOPUT,NOWRT,NODEBUG,NOCPD #use delay(clock=48000000) #include "stdlib.h" #include #include #use fast_io(b) void main() { set_tris_b(0x00); basla: output_b(0x01); delay_ms(50); output_b(0x00); output_b(0x02); delay_ms(50); output_b(0x00); output_b(0x04); delay_ms(50); output_b(0x00); output_b(0x08); delay_ms(50); output_b(0x00); output_b(0x10); delay_ms(50); output_b(0x00); output_b(0x20); delay_ms(50); output_b(0x00); output_b(0x40); delay_ms(50); output_b(0x00); output_b(0x80); delay_ms(50); output_b(0x00); output_b(0x40); delay_ms(50); output_b(0x00); output_b(0x20); delay_ms(50); output_b(0x00); output_b(0x10); delay_ms(50); output_b(0x00); output_b(0x08); delay_ms(50); output_b(0x00); output_b(0x04); delay_ms(50); output_b(0x00); output_b(0x02); delay_ms(50); output_b(0x00); goto basla; }Teşekkürler.
Söylenenleri uyguladım,çalışıyor,ancak basit programlarda(led yakma,söndürme),her program için güvenmeyin,yoksa benim gibi gün boyunca hatasız programda hata arar durursunuz.
Bootloader bende de çalışmadı…