Pic Ve USB - Sorun var Lütfen Yardım

Başlatan DannyZ, 19 Kasım 2007, 22:34:06

DannyZ

Merhaba arkdaşlar. piccoder.co.uk sitesinde verilen Basic USB - Using Microchip Stack and C#.Net örneğini değiştirerek bi proje yaptım kendime. Bu aynı zamanda benm okul projem. Ama bi sorun çıktı ve çok az vaktim kaldı. Okuum ztn geçen sene bu pic projesi yuzunden uzamıştı bu senede kritk durumda. Çok sevaba gireceksiniz çözüm bulursak :'( Şimdi benm yapcağım pcde C# ile yazdığım programda led1i yak dicem pcie bağlı 1. led yanacak 2.sini yak dicem 2 . yancak. sonra potanstyometreyi oku dicem A portundaki potansiyometreeyi okuyacak. Pic tarafında MicroC kullandm. Gelelim soruna. Proteus 7.2 de sanal usb driver ile aşağıda resimde verdiğim  proteus çizimi C# programı ile çok güzel bi ileitşim kuraiblior. Protuesda Usb jakını takınca, yeni donanım buluyor. MicroChipin bu örnekte kullanılan sürücsünü yüklüorm herşey tamm. C#tan basıyorum led yak die proteusta led yanıor. Ancak ben bunun devresini aynen yaptm. Devrede tık yok Buarada k128 Usb programlayıcı aldım. onunla yüklüorm. Dedim heralde lehimerlim kötü oldu gittim elektronikçiye baskı devre şeklinde yaptırdım gene tık yok. En son PortD deki ledi yakan bi program yazdım en basitinden onu yükledim yine tık yok. NEdir sourn anlamdım. baya vakit harcadık bu şekilde. Şimdi aklıma bide programlaycıının program yükelyemediği sorusu gelio, nederee haklıyımdır. yükleme yaparken verify felan herşey normal gözüküo bi hata vermio yane. NEdir sizce sorun ? teşekkürler. Baya uzun yazdım kusra bakmayın. Kuyruğu sıkışmış kedi gibiyim şuan. Okul uzatmak kötü bi duygu anlıosunuzdur beni umarm. Teşkkrler şimdiden

Somethings are better left unsaid...

ferdem

Alıntı yapılan: "DannyZ"En son PortD deki ledi yakan bi program yazdım en basitinden onu yükledim yine tık yok

Öncelikle, projeniz çok güzel, tebrikler. Mesele hallolur sıkıntı etmeyin. Port D deki ledi yakan programı çalıştırmayan PIC ten ne beklenir :) PIC in bozuk olması olası bir durum. PIC ten şüpheleniyorsanız başka bir PIC le denemek veya programlayıcınızdan şüpheleniyorsanız programlayıcınızı başka PIC lerde bir test etmek yapılacak ilk iş gibi görünüyor.

Tüm devreyi bir anda baştan sona kurup bakalım çalışıyor mu şeklinde yapmaktansa(böyle yapmıyor olabilirsiniz) PIC li kısmı kurup bir led yaktırıp PIC in çalıştığına emin olun hatta bu led orda hep dursun ve PIC çalıştığı sürece bir işaret olarak hep yansın. Sonra adım adım kontrollü bir şekilde ilerletmelisin ki sonunda hayal kırıklığı olmasın.

USB konusunda ne yazık ki hiç tecrübem yok ancak devreyi kurduktan sonra en basit iletişimi test edip sonra C# ta yazdığın programın talimatlarını gönderirsin derim, her şey adım adım yani :)

İyi çalışmalar dilerim.

buiba

proteus microlarin konfigirasyon ayarlarini pek dikkate almaz ve her halikarda programi simule eder,ancak gercekte durum farkli bu nedenle kullandiginiz picin programlama sirasindaki ayarlarina dikkat edin.!

DannyZ

Merhaba ilginiz için çok teşekkrler. öncelikle şunu söliim pici değiştirmekle kalmayıp, hani benm yaptğm devre pek sağlıklı lehimler içermiodur dierekten bir elektronikçiye sıfır malzemelerle pic de dahil, yeni baştan baskı  devre yaptırdık. Programlayıcıyı da başka bir picle deneme zahmetine girmedim o sıralar biraz stresliydim aklıma bile gelmedi açıkçası. şimdi konyada bi arkaşda yolladm pic ile uğraşan bi elektronikçisine göstereck. 2. olarak da picin congirusayonunu yanlış yapabilceğim konsunda da çok durdum. USB için keskin ayarlar gerekiyor yani biri değişik olsa çalışmayabilior. Ama led yakmak için picin configurasyonunun çok fazla bir etkisi olmasa gerek die düşnüorm. Sonuçta saçma sapan bi zamanlama hatasıyla da olsa yine de lede akım gelmesi gerekmesmi?
Somethings are better left unsaid...

SpeedyX

*Güç kaynağınız stabil besleme veremiyor olabilir,
devrenizde pic e yakın kondansatör var mı? (<1uF+100nF)

*Osilator duzgun çalışmıyor olabilir, mesela kristal çalışıyorsa bile dış çevreden etkileniyor olabilir.
Örneğin kristalin yakınından 220 AC geçiyorsa kristal etkilenir..

*MCLR pini gibi bir pin gerektiği gibi bağlı olmayabilir.

*Potansiyometrenin vcc ucundan kaç volt veriyorunuz? Belkide işlemci daha ilk çalıştırmada yanıyor?

*Konfigurasyon ayarları işi karıştırıyor olabilir ama bir led yakamamasıda ilginç.

Olmazsa biz bir hex verelim, breadboard a kurup bir led yaktırın görün?

halukece

Buarada k128 Usb programlayıcı aldım. onunla yüklüorm.


Galiba çok uzak kalmışım. k128 ler 18f4550 programlıyor mu?
Bundan 2-3 ay önce hala denediğimde son çıkan firmware'er hala bi işe yaramıyordu. :D
Bende K149D vardı. En son askerliğin ortasında deneme yapmıştım yazın  :D Dur biraz bakayım bari.
Programlıyıcından bir emin ol bence.
Sonra da arkadaşın dediği gibi çalışan bir hex ile programlayıcını, pic'i, devreni, güç kaynağını, lehimlerini bir denemiş olursun.
Kolay gelsin. ;)

ilker_32

Alıntı yapılan: "halukece"
Buarada k128 Usb programlayıcı aldım. onunla yüklüorm.

k128 ler 18f4550 programlıyor mu?
Malesef programlamıyor  :lol:

arslan74

Alıntı yapılan: "ilker_32"
Alıntı yapılan: "halukece"
Buarada k128 Usb programlayıcı aldım. onunla yüklüorm.

k128 ler 18f4550 programlıyor mu?
Malesef programlamıyor  :lol:

Diypack26 veriyonu kullanırsanız onda 18f4550 pic var. Eski versiyonlarda yok sadece.

lojikmemo1

Arkadaşım öncelikle kolay gelsin.
Senin reçete bence şu olmalı.
Programı pic'e atarken sigortalar a dikkat etmelisin çok fazla sigota var ve bunlar karışabiliyor.
Devreni PC ye takınca PC ne cevap veriyor cihazı bulabilyor ve hid'i yüklüyor mu? Daha önce bende böyle şeyler yaptım  soruma cevap verirsen inşallah kısa sürede çözeriz.
İnsanlara Akılları Ölçüsünde Söz Söyleyiniz.

DannyZ

Merhaba arkadaşlar. Önce şunu söliim devre hem bnm usb programında hem de led yakma programında hiçbir tepki vermior. PCye takmayı bi kenara taktım yani. takınca ztn hiç bişi olmuor. Sİmulasyon çalışmasına rağmen. Yani pic ve pc rogramlarının doğru, ayarların yanlış olduğunu yada programlama yapılamadığından şüpheliyiz

Şöle sırayla cevaplamaya çalışıyım eksik anlattıklarımı
1- Gücü ben direkt usb üzerinden alıorm. BU proteusda güç girişleri gözükmediği için böle göstermelik bi VCC ve ground bağladım. Normalde Usbden gelior ve devre üziernde Vcc ile GND arsın bira det değerinin tam hatırlamadğım uF+ nF şekliden 2 kondasntr var.

2- Devre tamamen PCye bağımlı çalışmakta. Başka güç kaynaklarından etkilenmesi muhtemel diil saniorm.

3- MCLR pini internetteki bütün örneklerde 10k olarak gösterilmiş. Ztn configurasyonda MCLR yi disable ediorm

4- Tüm programları önce proteusta deniorm öyle pice atıorm. Yani neden hala bi led yanmıor anlıabilmiş deilim. Dediğim gibi nerdeyse benden çok gezdi pic. gitmediği şehir girmediği elektronikçi kalmadı. Hadi ben biraz tecrübesizim. Bu kdr elektronikçi var pic testerları var. Onlar nie bişi bulamıo. Ki ben onlara abi sadece led yakamadığımı sölüorm. Onu bile çözemedik. Buarada size sormak istediğim birşey daha var. Bende birde Junior Pic Programmer var internette IC_progun yeni versiyonlari ile bu programlayıcı sayesinde 18F4550 programlayabileceğimi yazmışlar. Satan kişiye de sordum bir sorun çıkmaması lazım dedi. Yalnız IC-Prog u açıp 18F4550yi seçince congiurasyonu HEX kodları şekliden Config1-Config7 ye kadar 7 farklı şekilde istior

CONFIG1: 0E24
CONFIG2: 1E38
CONFIG3: 0100
CONFIG4: 0081
CONFIG5: C00F
CONFIG6: B0E8
CONFIG7: 400F   bu şekilde yani. 20Mhz krsitalle usb 2.0 yapıcam

Ben şu ayarları kullandm
Device Info:
I have a 20MHz external oscillator, so settings are as follows:
Full Speed USB CLock Source Selection: Clock src from 96MHz PLL/2
CPU System Clock Postscaler: [OSC1/OSC2 Src: /1][96MHz PLL Src: /2]
96MHz PLL Prescaler: Divide by 5 (20MHz input)

yani MicroPro 2.6 da şöyle seçim yaptm
Somethings are better left unsaid...

nonstradam

Low voltage program ve brownout detect seçeneklerini disable yaparsan sorunun büyük ihtimalle çözülecektir.

MCLR pinine 10K lık bir dirençle +5V bağladıysan MCLR ide enable yapabilirsin ama yapmasanda bir sorun çıkmaz.

Low voltage program enable olursa Pic in RB5 pinine +5V gelince PIC programlama moduna geçer ve program koşmayı bırakır. dolayısıyla hiç bir programın çalışmaz.

brownout detect i enable de bırakırsan RA5 pini brownout voltage kısmından ayarladığın voltaj altına düşerse PIC reset te kalır ve programın yine koşmaz. senin şemanda RA5 pinine hiç bir şey bağlı değil ve brownout voltage ın 2.0V a ayarlı ve brownout detect i enable de bırakmışsın. RA5 pinin boşta olduğundan yani 2.0V un altında olduğundan PIC resette kalıyor ve led bile yakamıyorsun.

arkadaşlarında söylediği gibi protoeus bu seçeneklerle pek ilgilenmez ve programı çalıştırır ama gerçek devrede işler biraz değişir.

bu bahsettiğim iki seçeneği disable edersen sorunun çözülür diye düşünüyorum.

başarılar...

DannyZ

Arkadaşlar dedikleriniin hepsini denedik ama yine de hala tepki alamıyoruz. Ancak şöyle b drum var. 20 Mhz yerine 4Mhz bağladık led yakma progrmaımı z çalıştı. Usb programını da yükledik ama plug edince status ldleri d0 d1 yanıyor. ancak donaım bulundu demiyor windowsta. Ne yapmam gerekiyor bundan sonra. 4mHz için Fuses ayarlarını nasıl ayarlamalıyım?
Somethings are better left unsaid...

dentaytr

4550 okadar hassas bi modelki şu an elimde 3tane var 2si bozuk ne zaman bozuldu bilmiyorum bazı durumlarda kristain 2 bacağı arasına 1m direnç bağlıyolar buda bir çözüm olabilir yada kristalin dışmetal kabını gnd ile lehimlersen parazit azalır çok nazlı çipler bunlar atmel olacakki üff

4550yi tanıması içinbilgisayarına driver yüklemelisin tavsiyem benzer bi proje bulup bikaç edit yapman birde 4mhz için 22pf kullanıp conf da normal xtal olarak işaretliceksin birde projende picin çalıştığını görmek için arkadaşın dediği gibi bir portunu herzaman lede ayır böylece bu seni programladımmı pic çalışıyomu gibi soruları kaldırır ve birkaçtane problem birden varsa daha aza iner

burda seninkine cok benzer bi proje var az gayret çok zor değil

http://www.sixca.com/eng/articles/usbstepping/
"İnsanlara akılları ölçüsünde söz söyleyiniz."  hayat 1 ve 0 dan ibaret değildir insanlar hayatı 1 ve 0 a indirgeyerek anlamaya ve çözümlemeye calışır hayat sonsuz sayıda rakam ve sonsuz ilimden meydana gelir   http://www.robo-cards.blogspot

Jabba

Alıntı Yap4550yi tanıması içinbilgisayarına driver yüklemelisin tavsiyem benzer bi proje bulup bikaç edit yapman

İllede driver gerekmez.USB devre windows'da tanımlı herhangi bir sınıfa uygun kodlanırsa(descriptor table'larda)driver'a gerek kalmaz ve Windows otomatik olarak bu cihazı tanır.

Tanımama sorununa gelince;
Bu birçok nedenden kaynaklanabilir.PIC18F4550 arkadaşların dediği gibi öyle çok da hassas bir PIC değildir.Hassas olan PC'nin portudur.Küçücük bir hatayı bile affetmez :)

- Eğer veri transferi'ni incelemek için USB port'un data hatlarından herhangi birini led bağladıysan bunu kesinlikle çıkarmalısın.Ayrıca veri alım (OUTPUT Transfer) ve gönderim (INPUT Transfer) sırasında bu ledi yakıp söndürmek için döngü kurup zaman harcamamalısın, zira transfer'lerin belirli bir zaman diliminde başarı ile bitip el sıkışma yapılması lazım.Yoksa "Usb cihaz tanınamadı" mesajını alır durursun.Setup transfer'de bu süre biraz daha esnek olabilir.Led olayını setup esnasında kullabilirsin.

- PIC'in OSC ayarları mutlaka doğru yapılmalı.Oması gereken ayarları özeline göndermiştim.

- USB cihaz PC'nin USB portundan 500ma'den fazla akım çekmemeli.Bu durumda "USB Cihaz tanınamadı" dan farklı olarak istenilen akımın sağlanamadığına dair bir mesaj alırsınız.

- PIC'in OSC pinleri arasında 1M direnç olması tavsiye edilir.

- VCC ve VDD arası 100NF cap koymalısın.(Parazitleri minumuma indirmek için)

Bunların dışında bu PIC ile sorunlar genelde OSC ayarlarından kaynaklanıyor.Gerçekten test edilmiş ve çalıştığına %100 garanti verebileceğim, (herşeyi kendim yazdım çünkü) bir devreyi www.usbdevgroup.blogspot.com adresinden indirip deneyebilirsin.Üstelik senin uğraştığın gibi PC tarafını bende C#'da yazdım ve PIC kodları ise C18'de yazdım.Eğer online olarak devreni test etmek istersen mail adresimi msn'e ekle bakalım beraber.

Kolay gelsin...
Capsule NET Compiler 2007

DannyZ

arkadaşlar sınav haftasındayız, en kısa zamanda dediklerinizi adım adım deniyip dönücem size. Bu arada Led bile yakamıorz diordum ya, hocanın isteği üzerine 4Mhz kristale döndük. Şuanda normal programlarımız çalışıor. Ancak usb projesi hala windowsa tepki göstertmior. takınca hiç bir uyarı almıorz. Devremiz çok gürltü alıor sanırm onu tekrardan daha düzgün bir şekilde başltan yapıcaz
Somethings are better left unsaid...