Şimdi Ara

Eski elektrik sayacından PIC deneme kartı yaptım.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
15
Cevap
0
Favori
645
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar. Hurdacıda bulduğum Köhler marka elektrik sayacının içinden Pic çıktı. Sayacın LCD ekranını söküp yerine header lehimledim. Bu sayede ekran için kullanılan pinleri çevre birimleri ile bağlantı için kullanabilirim. Sayacın optik gözünü de UART bağlantısı için kullanacağım. Zaten optik göz PIC'e UART üzerinden bağlı. Optik göz bir adet IR LED ve bir adet fototransistörden oluşuyor. Bu kısmı söktüm pin lehimleyeceğim. Bu sayede doğrudan TTL UART bağlantısı da yapabilirim. Gerekirse kablo ile optik alıcı verici takarım.

    PIC'in üzerinde yazan model adı PIC18F86J72 ama PICkit yazılımı PIC18F66J90 olarak algılıyor. Ama PIC18F86J72'ye göre derleyip yüklediğimde çalışıyor.

    Sizce işe yarar bir şey mi?

    Eski elektrik sayacından PIC deneme kartı yaptım.

    Kart üzerinde işe yaramayacak, artık gereksiz olan parçaları sökeceğim.

    Yalnız bir sorun var. PIC 3.3V ile çalışıyor. Kart üzerine 5V'u 3.3V'a düşürecek devre yerleştirmem lazım. Onu nasıl yaparım bilmiyorum.



    < Bu mesaj bu kişi tarafından değiştirildi ipli jeton -- 29 Ekim 2022; 22:27:24 >
    < Bu ileti mini sürüm kullanılarak atıldı >







  • Üzerindeki likit kristal lcd sağlamsa, bu tarz lcdleri sürmeyi denerdim. J72 nin dahili 132 pixel lcd sürme donanımı var. Size farklı bir tecrübe katar kanaatindeyim. Bunun için lcdnin datasheetine ihtiyacınız olacak. Segment ve ortak sürme pinlerinin tespit edilmesi gerekiyor.


    Üzerinde 32768hz lik kristal görünüyor. Dahili RTC (gerçek zaman saati) yi kullanmayı deneyebilirsiniz.


    3.3V besleme problemini LM1117-3,3 veya türevi basit bir regülatör ile çözebilirsiniz.

  • rafet32 kullanıcısına yanıt
    Maalesef elime geçtiğinde üzerindeki LCD kırıktı. Elime bu tarz bir sayaç tekrar geçerse LCD sürme olayını da deneyeceğim. Datasheeti de buraya bırakıyorum.
    PIC 3.3V olmasına rağmen bazı portlardan 5V I/O yapabilmekte. Bu da 5V modülleri dönüştürücü olmadan bağlayabilmek demek. Güzel bir şey.

    Yalnız ekranin bağlantısını sağlayan yollardan birkaç tanesinde kopukluk olduğu için tamir edebilmek adına header'ı arka tarafa lehimlemek zorunda kaldım. Bu da kullanışlılığı biraz düşürdü maalesef.

    https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/30009979B.pdf



    < Bu mesaj bu kişi tarafından değiştirildi ipli jeton -- 30 Ekim 2022; 9:3:50 >
    < Bu ileti mini sürüm kullanılarak atıldı >




  • 3.3 mcu larda pinler input olarak kullanıldığında çoğunlukla 5V voltaj seviyesini desteklerler. Yalnız bu durum bütün IO lar için geçerli olmayabiliyor.

    Lcd nin datasheetini kast etmiştim. Bunu bulmakta sorun yaşayabilirsiniz.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • rafet32 kullanıcısına yanıt

    LCD'nin datasheetini bulmam mümkün değil. Bunların LCD'leri özel üretim oluyor. Firma kendisi tasarlayıp panel firmalarına yüksek adetli yaptırıyor.

    Zaten sadece cam panelden ibaret. Sürücü çipi yok, panelin içindeki şeffaf elektrotlar doğrudan PIC tarafından kontrol ediliyor.

    Zaten LCD çalışsa datasheete de gerek yok. Uygun bacaklardan sırayla voltaj verilerek nereden hangi voltaj verildiğinde hangi segmentin yandığı not edilerek segment haritası çıkarılabilir. Daha önce birkaç kere yaptım bunu.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • rafet32 kullanıcısına yanıt
    Böyle bir şey yaptım. Artık 5V ile kullanabiliyorum.
    Eski elektrik sayacından PIC deneme kartı yaptım.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • ipli jeton kullanıcısına yanıt

    PCB delinip de alttan bbir yola mı pin atıldı?

    İş gördü mü? Kısa bir video çalışma anında, foruma renk katar.

  • karafetva K kullanıcısına yanıt
    LM1117'nin tab kısmı çıkışa bağlı. PCB'nin üst yüzeyindeki ground plane'in bir kısmı kırmızı yerden kesilerek ve morla işaretli bağlantı delikleri 1mm matkapla delinerek kartın kartın geri kalanı ile bağlantısı kesildi. Bu kısım lm1117'nin soğutulması görevini görecek.

    Kartın uygun yerlerine kabloların geçişi ve kondansatör bağlantısı için delikler açıldı. Deliklerin birbirine mesafesini düzgün ayarlamak için delikli plaket şablon olarak kullanıldı. Kartın üzerine küçük bir parça delikli plaket parçası koyuldu. Delikli plaketin deliklerinden yararlanarak delikler ölçülü bir şekilde delindi.

    Bakır yüzeyin üzerindeki boya kazınarak lm1117'nin tab kısmı buraya lehimlendi.
    Kartın uygun yerlerine delikler açılarak kabloların bir taraftan diğer tarafa geçişi sağlandı.
    Voltaj girişi için 4 tane pin kullandım. İkisinden giriş yapılırken, diğer ikisinden çıkış alıp diğer elemanlara besleme verebilmek için.

    Eski elektrik sayacından PIC deneme kartı yaptım.

    Eski elektrik sayacından PIC deneme kartı yaptım.




    < Bu mesaj bu kişi tarafından değiştirildi ipli jeton -- 10 Aralık 2022; 17:12:40 >
    < Bu ileti mini sürüm kullanılarak atıldı >




  • ipli jeton kullanıcısına yanıt

    Elinize sağlık. Değişik ve geri dönüşümlü deneme kartınız oldu. Eski elektrik sayacından PIC deneme kartı yaptım.  

    Umarım umduğumuz faydasını görürsünüz.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • rafet32 kullanıcısına yanıt
    Merhaba. Dahili RTC'yi kullanmayı denedim.
    Gördüğüm kadarı ile çok sıkıntılı bir şey. PIC'in ana işlemcisine bağımlı bir şey, kendi içinde bağımsız çalışamıyor gördüğüm kadarıyla.

    Bir sürü karmaşık yapılandırma ayarından sonra ancak çalıştırmak mümkün.

    Uğraşmaktansa harici RTC kullanmak en temiz çözüm. Dahili RTC yer tasarrufu açısından güzel bir şey olsa da, programlaması düzgün çalıştırması sıkıntılı. Derdi bitmiyor bu meretin.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Uzun zamandır microchip serisi mcu ları aktif olarak kullanmıyorum ama siz bahsedince rtc konusuna tekrar baktım. Gözlerim Vbatt gibi rtc nin kartta enerji yokken çalışmasını sağlayan power girişini aradı. Dokümandan anladığım kadarıyla MCU sleep modunda iken LP (32768hz) osilatör hala mcu ya enerji sağlanırsa çalışmaya devam ediyor. Bu demek oluyorki, mcunun tamamını pill ile beslemek, pil tüketimini azaltmak için varsa çevre birimlerin enerji girişlerini bundan ayırmak gerekiyor. Bahsettiğiniz yazılım ayarları ve onların karmaşası kabul edilebilir ama harici pil için özel bir bağlantı olmaması beni şaşırttı.


    Aktif olara arm serisi mcu larda dahili rtcc yi kullanıyorum. Yer, maliyet, kullanım konforu açısından çok kolaylık sağlıyor. Kullandığım arm mcu larda harici vbatt pini bulunuyor. Buraya bağlanan 3V lityum pil chipte enerji olmadığı zaman sadece rtcc ile ilgili kısımı besler. Bu sırada mcu nun illa sleep modunda olması gerekmiyor. Tümden enerjisi kesilse bile pil ile sadece rtcc çalışmaya devam ediyor. MCU enerjilendiğinde, rtcc enerjisini otomatik olarak regülatörden sağlanıyor. Buda süreki enerji altında kalan kartlarda pilin hiç kullanılmaması demek.


    Ayrıca CR1210 boyutlarındaki bir pil ile, rtcc kart hiç enerji almazsa bile yanlış hatırlamıyorsam 4 sene kadar çalışabiliyor.


    Microchipdeki rtcc dede bu tarz özellikler beklerdim.





  • rafet32 kullanıcısına yanıt
    CCS C'de registerlara doğrudan müdahale edebilecek (CONFIG3L registerinın falanca biti gibi) kadar düşük seviye bir erişim yapamıyorum. Bir yolu varsa da ben bulamadım. Bu nedenle datasheetteki ayarları tam yapıp yapamadığımı bilme şansım yok. Haftasonu MPLAB registerlara manuel ayar yaparak çalıştırmayı deneyeceğim.



    < Bu mesaj bu kişi tarafından değiştirildi ipli jeton -- 23 Şubat 2024; 11:27:11 >
    < Bu ileti mini sürüm kullanılarak atıldı >
  • 8 bitlik Piclerde adresini bildiğiniz hafıza bölgesine aşağıdaki örnekdeki gibi erişebilirsiniz.



    Kod

    Yığını:
    // aportu structure örnek struct { int1 role7; // a portu 7. bit int1 role6; // aportu 6. bit int bos: 2; // aportu 5 ve4 bitler bu örnekde kullanılmıyor. int led0_3: 4; // aportu ilk 4 bit } a_port; #byte a_port = 0x05 // a portu program hafızasındaki adresi yukarıdaki struct ile aynı isimde // bportu bit bazlı erişim. # byte b_port = 0x06 // b port hafıza adresi # bit led = b_port .5 // b portu 5. bit led takılı ve adı (alians) led olsun void main() { a_port.role6 = 1; // porta.6 pindeki röle H oldu a_port.led0_3 = 0b00000110; // aportu 2 ve3 pinler H oldu led = 1; // portb.5 deki led yandı led = 0; // led söndü }
  • rafet32 kullanıcısına yanıt
    Teşekkürler. Bakacağım.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.