16f628 1 kez programladıktan sonra programlanmaz hale geliyor ?

Başlatan EMG81, 20 Nisan 2011, 01:18:07

EMG81

Arkadaşlar şema ve Program aşağıda. Neden ilk programlamadan sonra pic im birdaha program almayı ısrarla reddediyor ama çalışıyorda. Sadece 1 kez programladıktan sonra programlanmaz hale geliyor. Forumda pic i bozan bi program a rastlamıştım. Fakat şöyle ki orada PB7 ve 6 kullanıldığından ayrıca bu bacakların programda çıkış olarak kullanılmasından dolayı pic bozuluyordu. Bende böyle bir şey söz konusu değil. Bir kaç gün öncesine kadar 50-60 kez programladım. Dün birtane bozdum. Şu an önümde 2 adet Full çalışan kart ve 6 adet te 1 kez programlanmış picler mevcut. Hepte ilginç şeyler beni bulur arkadaş...!
Device = 16F628A
Xtal = 10Mhz

CMCON=7

    TRISA=0
    TRISB=255
   		   
Dim uS As Word
Dim mS As Word
Dim Sn As Word
Dim V As Word
Dim H As Word
    
Clear

StartManuel:
    PORTA.1=0	 'V sinyali 0 da
    PORTA.0=1    'H sinyali 1 de
    
    T1CON =%00001101
    
    TMR1L=0
    
Ara:

    If TMR1L < 10 Then PORTA.0=0
    If TMR1L >= 10 Then PORTA.0=1  ' 16 ydı
    If TMR1L >= 130 Then   '140
        TMR1L=0
        PORTA.0=0
        H = H + 1
    EndIf
        

    If H=550 Then    '550
        PORTA.1=1   ' 650 60hz
        DelayUS 106
        PORTA.1=0
        H = 0
        TMR1L=0
    EndIf
     
GoTo Ara   


Shematic:
http://img853.imageshack.us/f/asddd.png/
http://img825.imageshack.us/f/asssssr.png/
Not: Programlayıcı Orjinal ICD 2 dir. Besleme ilgili bir sıkıntı yoktur. Kart üzerinde 1 adet daha işlemci var. Diğer pic sıkıntısız bir şekilde programlanıyor..


EMG81

Aynı şey değeil maxim. BU gün sıkıntımı şu şekil hafiflettim. ISP Programlama soketimi (PB6,7,MRCL,GND) Karta soktuğumda pic otomatik man duruyor. Her pic öyle. Fakat programla dediğimde program almayı reddediyor. Kartın tüm enerjisini kesip, ISP programlayıcı soketi takıp karta enerji verdiğimde yine 1 kereliğine Programlıya biliyorum. ISP yi söküp çalışmasına baktıktan sonra yine kart enerjisini kesip soketi takmam ve enerjiyi açmam gerekiyor. Başıma gelen en traji komik ve en enteresan şeylerden birisi :D

X-Fi

ben 16F628 e güvenmiyorum hatalarla dolu bir üretim hocam bence vakit kaybetmeyin artık eski mcu lar ile tamam bazen lazım oluyorlar ama donanımı kötü kıldan tüyden nem kapıyor uğraş dur ondan sora saçma bişey yüzünden.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

ferdem

MCLR pininden kaynaklanabilir. Programlayıcı o pine programming voltage uygulamak ister, devre çalışırken ise 5V uyguluyoruz. İki durum da aktifken MCLR pinindeki gerilim ne olur? Bir anahtar ile bu iki durumu ayırıp deneyebiliyor musunuz? Anahtar 1 konumunda iken 5V-MCLR pini bağlı olsun(normal çalışma modu), 2 konumunda programlayıcının VPP si ile MCLR pini bağlı olsun(programlama modu). Bu şekilde sorun olmaması gerekir. İyi çalışmalar.

 

X-Fi

Alıntı yapılan: ferdem - 21 Nisan 2011, 12:10:31
MCLR pininden kaynaklanabilir. Programlayıcı o pine programming voltage uygulamak ister, devre çalışırken ise 5V uyguluyoruz. İki durum da aktifken MCLR pinindeki gerilim ne olur? Bir anahtar ile bu iki durumu ayırıp deneyebiliyor musunuz? Anahtar 1 konumunda iken 5V-MCLR pini bağlı olsun(normal çalışma modu), 2 konumunda programlayıcının VPP si ile MCLR pini bağlı olsun(programlama modu). Bu şekilde sorun olmaması gerekir. İyi çalışmalar.
Hocam mclr pine 5V uygulanmaz pull-up uygulanır programlama sırasında oradaki pull-up'ın bi zararı olmaz yanlış çözüm.


edit: mesajı düzenledim cevapbı ferdem'e vermiştim.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

EMG81

Şemadan da görüleceği üzere MCLR Pull Up lı. Her programlama sırasında ISP soketi karta sokulduğunda Picler Resetlenip Program moduna geçer. Ama şu an başıma gelen olaydada bu olmuyor. Yaklaşık 10 senedir kullanıyorum bu işlemciyi. İlk kez başıma böyle birşey geldi. Fİyatı ucuz, Yapılması gereken iş tam ona göre.. Bu sebeple onu seçtim ama anlaşılan yeni bir işlemci bakma zamanı gelmiş.

X-Fi

http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Maxim

yukarıdaki programı denedim, yazıyorum tekrar tekrar
ama ziff soket üzerinde, öyle kurulu bir devre değil, mclr de direnç falan yok
pickit2 klon, hemde voltaj ve mclr kontrolü olmayanbir klonla.

EMG81

Zaten Kartım üzerinde 2 adet işlemci var. Dİğeri sorunsuz programlanıyor halen. VGA portu pic e bişeymi yapıyor diye merak ediyorum. Çünkü bu picleri programladım. Vga yı karta taktım. Ondan sonra böyle şeyler boy göstermeye başladı.

Tagli

Alıntı yapılan: EMG81 - 21 Nisan 2011, 15:02:36Her programlama sırasında ISP soketi karta sokulduğunda Picler Resetlenip Program moduna geçer.
Geçmeyebilir. Bu programlayıcının kontrolünde. Zaten böyle olsaydı ICD yapılamazdı.

PicKit3 + MPLAB için konuşursak, MPLAB'de "PIC'i resette tut" diye bir seçenek var. Bu etkin değilse, PIC, ICD/ISP soketine takılan PicKit3'ü hiç umursamıyor. Zaten olabilecek 3 durum var. MCLR'ın programlayıcı tarafı açıkta tutulursa PIC işine devam eder. Toprağa çekilirse resette kalır. 12-13 volt verilirse programlama moduna girer. Bunlardan hangisinin olacağına programlayıcı karar verir.
Gökçe Tağlıoğlu

ferdem

X-Fi hocam 5V uyguluyoruz derken pull up parantez içinde vardı aslında :) ama okunmadı. Anahtar olayını da ICSP ile ilgili uygulama notundaki diyot a istinaden önermiştim. EMG81 in son mesajına göre sorunun kaynağı başka yerlerde gibi...

EMG81

Taglı. Şimdi sana söyle bir soru sorucam. Önümde 2 farklı kart ama yine 628 işlemcim var. Program aynı program. A kartına ISP yi tak, ateşle.. Programlandı. B kartı neden program almaz ? Ve B kartındaki olayda bukadar basit birşey. Ayrıca beslemenin kesilip tekrar verilmesi ile programlanabilmesine ne diyeeksin ?

NOT: PROGRAMLAYICI ORJİNAL ICD2!

Tagli

MPLAB'in (veya programlayıcının) bazen beklenmedik şekilde saçma çalışması durumuyla ben de karşılaştım. Evet, bazı şeylere mantıklı bir açıklama yapmak mümkün olmuyor. Bu mesajımı bir incele. Seninkine benzer bir sorun.

Sorunun programdan mı yoksa PIC'in bağlantılarından mı kaynaklandığını anlamak için ilk bakışta saçma gözükse de şu denemeyi yapmanı tavsiye ediyorum: A kartındaki PIC'e B'nin programını, B kartındaki PIC'e A'nın programı at. Bakalım ne olacak? Elbette hiç bir şey çalışmayacak ama acaba tekrar program atarken sorun yaşayacak mısın veya hangi kart sorun çıkaracak? Böylece sorunun donanım kaynaklı olup olmadığı anlaşılabilir diye umuyorum.
Gökçe Tağlıoğlu

EMG81

Önerdiğin çözümü denedim. Programdan sıkıntı yaşıyor olabilirim diye ama sorun program değil. Halen Donanımsal olduğunu zannediyorum. Açıkçası artık ta çözüm bulmak için pek uğraşmıyorum. Nasılsa tüm cihazlar 1 kez programlanıcak :D Tekrar programlamak istediğimde de dediğim yöntemi izliyorum. Amma ve lakin enteresan bir sorun işte.