Elektronik / Mikrodenetleyici Projeleri/

Usb uygulamaları ccs c18 pic18f4550 pic18f2550

Sponsorlu Bağlantılar

Daha önce Ahmet ATAR`ın hazırladığı “Adım Adım USB ve Uygulamalar” adlı çalışmasını paylaşmıştım USB PIC haberleşme konusunda sanırım en kapsamlı Türkçe kaynak. Elektro tekno forumlarından “tmcone” bu projenin devamı niteliğinde çok güzel, projeler, bilgiler paylaştı faydalı olması dileği ile. Emeği geçen herkese teşekkürler

PIC18F4550 USB Uzaktan Kontrol

Aşağıda vereceğim uygulama internet üzerinden evinizdeki ya da başka bir yerdeki Server makineye bağlanıp USB portlardan birine bağlı Cihaz ile evinizdeki herhangi bir aygıtı kontrol etmenizi sağlıyor. Önceden indirdiğiniz USB Paket içindeki ADIM ADIM USB makalesinde Ana devre şeması verilmişti. Bu devreye aşağıda vermiş olduğum devreyi ilave etmeniz yeterli.

Ana devre

pic18f4550-test-devresi

usb uzaktan kontrol cikis

Yukarıdaki şema sadece birtek cihaz için verilmiştir.Aynı devreyi ek 3 cihaz için daha kurup PIC’in RB1, RB2 ve RB3 portlarına bağlamalısınız.

Server programın görüntüsü

usb remote comtrol server program

Bu program’ı ilk çalıştırdığınızda eğer USB Cihaz PC’nize bağlı değilse, program bağlantı için hiç bir yapılandırma yapmaz ve USB Cihaz’ın bağlanmasını dinlemeye başlar. USB Cihaz PC’ye takıldığı anda Server program bunu algılar ve USB Cihaz ile arasında bağlantı açar.Aynı zamanda program soket bağlantısınıda yapılandırır ve 8090 numaralı portu dinlemeye alır. Bir bağlantı geldiği zaman bunu kabul eder ve bağlantı sağlanan Client programdan komut beklemeye başlar. Normalde Server ve Client arasında 4 byte veri taşınır. Bu dört byte’daki komut yapısı aşağıdaki gibi düşünülmüştür;

unsigned char CmdBuffer[4];

CmdBuffer[0] = Aygıt İndex'i (Örneğin 0 - 0.Cihaz, 1 - 1.Cihaz gibi)
CmdBuffer[1] = Aygıt On/Off (Örneğin 1 ise aç, 0 ise kapat gibi)

Server program Client programdan yukarıdaki yapıda bir komut aldığında bunu önce ekrana yazar ardından PIC’e gönderir.PIC ise bu yapıyı değerlendirerek PORTB’ye bağlı rölelerden seçileni kapar yada açar.

Client Programın görüntüsü

usb remote comtrol server cliend

PIC18F4550 Usb HID Lcd & Led Uygulaması (CCS)

Bu uygulama Usb HID sınıfı kullanmaktadır. Hid sınıfının en önemli özeliklerinden birisi harici sürücü yüklemenize gerek olmamasıdır; sistem tarafından otomatik yükleme gerçekleştirilir. Basit bir LED ya da LCD uygulaması gibi gözükse de gerek pic tarafındaki usb konfigurasyonu gerekse de Pc programı ele alınırsa önceki uygulamalarımdan daha karmaşıktır. Bu sınıf kullanılırken dikkat edilmesi gereken noktalar vardır ; ilgili bilgilere usb spesifikasyonlarından ulaşabilirsiniz.

Sınıf: HID Generic
PC Program: Visual C++ 2005
Derleyici: CCS C

İsis simülasyon görüntüsü

Devre şeması
PIC18F4550 Usb HID Lcd Led Uygulamasi CCS

PIC18F2550 USB Step Motor Uygulaması (C18)

PIC18f2550 Usb Step Motor Uygulamasi, USB uygulamalarında birden fazla komutun nasıl gönderebileceğini step motor kontrol örneğiyle göstermektedir. Uygulamada bipolar step motorlar yalnız ya da birlikte tam adım sürülmektedirler. Aynı zamanda Usb ADC uygulaması da desteklenmektedir. (Bunun için AN0 ve AN1’e pot. bağlayınız).

Uyarı: Bu uygulama sadece ögretici niteliktedir; denenmemiştir.

Not: Simulasyon sırasında aşırı işlemci kullanımından dolayı pic 48 Mhz yerine 1 Mhz de çalıştırılmaktadır.

Sınıf: MCH PUSB Generic Driver
Transfer: USB 2.0 Kesme ( Interrupt )
PC Program: Visual C++ 2005
Derleyici: Microchip C18

İsis simulasyon görüntüsü

Devre şeması
PIC18f2550 Usb Step Motor Uygulamasi

PIC18F2550 USB ADC Uygulaması

Usb bağlantısının karmaşık yapısına rağmen USB uygulamalarının kolayca gerçekleştirilebileceğini göstermek amacıyla bir örnek hazırladım. Microchip USB kütüphanesinden yararlanılmıştır. Ekte pic kodları, simulasyon dosyaları ve pc programı kodları bulunmaktadır. Herkese yararlı olması dileğiyle..

Sınıf: MCH USB Generic Driver
Transfer: USB 2.0 Yığın ( Bulk )
PC Program: Visual C++ 2005’te hazırlandı.
Derleyici: CCS C

İsis simülasyon görüntüsü

Devre şeması
PIC18f2550 Usb ADC uygulamasi

Yazıda bulunan tüm projelere ait dosyalar: Usb uygulamaları ccs c18 pic18f4550 pic18f2550

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

  • ilker kayaoglu

    Gerçekten çok güzel projeler. Ellerinize sağlık

  • aykut doyran

    pic e başlayalı çok yeni oldu böyle projeleri görünce hevesleniyorum ve ufkum açılıyor çok teşekkürler emeği geçen herkese…

  • mustafa arıcı

    s.a
    ben ISIS 7 Professional kullanıyorum. sizin ekteki ISIS dosyalarını açtığım zaman .DSN dosyası eksik diye hata veriyor. bunu nasıl çözebilirim.
    Şimdiden teşekkürler.
    Saygılarımla

  • FxDev

    Gerçekten güzel uygulamalar ;)

  • Nuri

    Paylaşımınız için teşekkurler güzel döküman hazırlamışsın

  • onur

    Merhaba ben onur

    oncelikle paylasim icin tessekkurler.

    PIC18F4550 Usb HID Lcd & Led Uygulaması (CCS) ile ilgili bir problem var

    usb trace v1.0.3.1 ile giden gelen bilgi duzgunmu diye bakinca
    surekli
    USBD_STATUS_BUFFER_OVERRUN
    STATUS_INVALID_PARAMETER
    hatalari geliyor.

    bunu duzeltmek icin

    64 yerinde 65 yazili idi. 64 olmali.(64 byte array 0 to 63 olur.)

    byte gelen_paket[64]; //gelen paket
    byte gond_paket[64]; //göderilecek paket

    usb_get_packet(UcNokta1, gelen_paket, 64); //paketi oku
    if(usb_put_packet(UcNokta1, gond_paket, 64, USB_DTS_TOGGLE))

    bunu duzeltince problem kalmaz.

    bu uygulamada 2-3 byte kullandiginiz icin sorunu farketmeyebilirsiniz fakat
    daha uzun bisi gonderdiginizde problem olur.

    bilen bilmeyen kodu kullanacagi icin paylasmakta fayda gordum.
    saygilarimla.

  • ORHAN

    Hocam çok teşekkürler. Benim gibi bir çömezin işine çok yarayacak devreler :)

  • tayfunca

    hocam mükemmel iş ellerine sağlık

  • Lütfü

    emeği geçen arkadaşıma teşekkür ederim..

  • mk

    link ölü

  • Mehmet

    Devreler gerçekten çok güzel ama kaynak dosyalarını indiremiyırum yardımcı olurmusunuz. Şimdiden çok teşekkürler.

  • Link kontrol edildi sorun yok

  • Mehmet

    Sorun hala var Free User sekmnesinden rapide girilince hata veriyor. Tekrar kontrol edermisiniz.

  • Verdiği hatada ülkemize ayrılan tüm slotların dolu olduğunu ve daha sonra tekrar denememiz gerektiğini söylüyor ya da öyle bir şey :) şuan imkanım yok unutmazsam sabah dosyaları farklı bir servise yükleyip alternatif link eklerim iyi çalışmalar

  • Mehmet

    Akşama doğru düzeldi sağol. Bizim ülkeye özel bir hata bu galiba :D

  • Muzdarib

    Arkadaşlar Usb HID nin kullanımı ile ilgili yardımcı olabilecek varmı ??
    acill

  • Seçkin ALAN

    Teşekkürler hocam.

  • seKKaki

    merhabalar,
    PIC 18F4550 için usb bağlantısı ve rs232 bağlantısı hakkında bana bilgi verebilir misiniz.

  • emre

    çok güzel elinize sağlık ama dosyayı indiremiyorum acaba hotfile yada başka bir yere upload yapmanız mümkün mü ?

  • @Emre link yenilendi

  • emre

    İlgilendiğiniz için çok çok teşekkür ediyorum. Kolay gelsin

  • Anıl

    Linki tekrar yeniler misiniz?

  • link sağlam bir iki denemede açılıyor geçici bir problem

  • Anıl

    Anladım Teşekkürler

  • turkuas

    Arkadaşlar ben son örnekteki ADC uygulamasını yaptım gayet de güzel çalışıyor ama windows 7 de çalışmıyor, windows 7 64 bit versiyonunda bunu nasıl çalıştırabilirim, bir bilgisi olan var mı? Sadece yeni driver yüklesem yeter mi yoksa tüm yazılımı yenilemem gerekiyor mu?

  • Seyhomer

    Arkadaşlar merhaba;

    Bilgisayardan gönderdiğim data kısmında biraz sıkıntı varda.Bilgisayardan PIC e 18f4550 ye 2 byte ın üzerinde gönderdiğim verilerin hiç biri görünmüyor. Sadece ilk 2 byte i PIC üzerinde görüyorum sizde sıkıntı nedir bir bilginiz var mı acaba ?

    Teşekkürler

  • onur karakaya

    link kırık yardım lütfen

    • dosyalar için yeni linkler eklendi

  • onur karakaya

    ilginiz alakanız için teşekkür ederim. şimdiden iyi yıllar

  • Osman

    Çok güzel bilgiler elinize sağlık. Ben “PIC18F4550 Usb HID Lcd & Led Uygulaması (CCS)” simülasyonunu çalıştırdım ama lcd ekranına bir görüntü gelmiyor aynı anda UsbHID uygulamasını çalıştırdım fakat oradada cihaz bulunamadı mesajı geliyor ve form görüntüsü aktif hale geçmiyor. Yapmak istediğim simülasyon çalışırken lcd ekranda görüntüyü almak. Yardımcı olursanız sevinirim.

  • emredgn

    Merhaba arkadaşlar
    Simülasyonda nasıl deneyeceğiz bilgisi olan varmı