Elektronik / Programlama test devreleri/

PIC18F2550 deney kartı + usb bootloader

Sponsorlu Bağlantılar

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 Uygulama Kartı UNUR PCB 2550 V1.01

18f2550-ISP-microdenetleyici-PCB

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

ICSP-baglanti

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

ÜST PCB

usb-boot-loader-ust-pcb-2

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)

USB-LCD Servo-kontrol Breadbord-calisma

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.

Microchips-Bootloader

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

microchip_usb_bootloader_pic_firmware

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_bootloader\pc_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.

microchip_usb_bootloader_Pdfsusb

microchip_usb_bootloader

Bootloader Kullanımı

usb-bootloader-kullanimi

  • 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.

picdem-usb-demo-tool

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

PICDEM-FS-USB-0-Boot

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.

Load-HEX-File

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

“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 deney kartı + usb bootloader

Dosya indirme LINK listesi (TXT formatında) link-10658.zip şifre-pass: 320volt.com

  • aykut54

    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,

  • walat

    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

  • caci

    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..

  • Naci

    Alıntı – caci :
    1- Devrenize enerji verip Bootloader butonuna basılı tutup Reset butonuna basıp bırakın.
    4- USB kablosunu takın.
    .

    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ı :)

  • cenk

    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.

  • Alp AYDOGAN

    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

  • 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;
    }
  • HaLiL

    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.

  • pea

    Bootloader bende de çalışmadı…

  • veysel

    bootloader butonu 18f4550 için hangi bacağa bağlanacak peki. yada bu butonu istediğimiz yere bağlamak için nasıl bir değişiklik yapılması gerekiyor ?

  • digiteng

    ben de notebook var.dolayısı ile rs232 yok.burada anlatılanlar ile 18f2550 ye usb üzerinden hex yükleyip sonra da pic programlayıcı olarak kullanabilir miyiz…saygılarımla…

  • Hakkı

    Ben bu devreyi yaptım ama bootloader kısmını halledemedim. çalışmıyor. yukarıda bootloader butonu demişsiniz ama devrede bootloader butonu yok. ben RB4 pinine bootloader butonu bağladım.anlatıldığı gibi yapıyorum ama olmuyor. bootloader her programda çalışmıyor mu?

  • Cenk

    Bootlaoader butonu için bu programda C2 ayağı kullanılıyor. Şemayı incelerseniz bağlantı şeklini görebilirsiniz.

  • Hakkı

    Peki bootloader ile yükleyeceğimiz dosyaya özel bir komut eklemek gerekiyor mu? picbasic pro kullanıyorum

  • mahmut

    hakkı arkadaşın sorusunu ccs c dili için sormak istiyorum ?

    kendi programımıza ek bir komut eklemek gerekiyor mu ?

  • hakann

    64bit driver var mı acaba ?

  • Cenk UNUR

    http://www.picproje.org/index.php/topic,28709.msg195797.html#msg195797

    Linkte proton ve CCS C için eklenmesi gereken komutlar anlatılıyor. Ancak picbasic pro ile deneme yapmadım amam Proton ile hemen heme aynı sayılır.

    64bit için driver aşağıdaki linkte var bir deneyin.

    http://www.dosya.tc/server2/3wcP1b/Drivers64.rar.html

  • hakann

    Dosyayı tekrar upload edermisiniz?

  • gökhan türkay

    64bit driverı hotfile veya benzeri sağlam sitelerden upload edebilecek bir kişi var mı

  • hakann

    Sayın gevv,

    Rica etsek siz paylaşabilirmisiniz?

  • Cenk

    Arkadaşlar tüm dosyaları bu linkten indirebilirsiniz. İçinde 64bit driver da var.

    Microchip usb bootloader (64bit Drivers, Pdfsusb, pic firmware) http://yadi.sk/d/AdUpI-AO4ODEW