Arama butonu
Bu konudaki kullanıcılar: 1 misafir
13
Cevap
644
Tıklama
0
Öne Çıkarma
Eski elektrik sayacından PIC deneme kartı yaptım.
İ
geçen yıl
Yarbay
Konu Sahibi

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?

< Resime gitmek için tıklayın >

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

R
geçen yıl
Binbaşı

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


Bu mesaja 3 cevap geldi.
İ
geçen yıl
Yarbay
Konu Sahibi

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


Bu mesajda bahsedilenler: @rafet32
R
geçen yıl
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.
İ
geçen yıl
Yarbay
Konu Sahibi

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


Bu mesajda bahsedilenler: @rafet32
İ
geçen yıl
Yarbay
Konu Sahibi

Böyle bir şey yaptım. Artık 5V ile kullanabiliyorum.
< Resime gitmek için tıklayın >



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @rafet32
K
geçen yıl
Yarbay

PCB delinip de alttan bbir yola mı pin atıldı?
İş gördü mü? Kısa bir video çalışma anında, foruma renk katar.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @ipli jeton
İ
geçen yıl
Yarbay
Konu Sahibi

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.

< Resime gitmek için tıklayın >

< Resime gitmek için tıklayın >

Videoyu izlemek için tıklayınız





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


Bu mesajda bahsedilenler: @karafetva
R
geçen yıl
Binbaşı

Elinize sağlık. Değişik ve geri dönüşümlü deneme kartınız oldu.
Umarım umduğumuz faydasını görürsünüz.



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @ipli jeton
İ
2 ay
Yarbay
Konu Sahibi

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


Bu mesajda bahsedilenler: @rafet32
R
2 ay
Binbaşı

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.


Bu mesaja 1 cevap geldi.
İ
2 ay
Yarbay
Konu Sahibi

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


Bu mesajda bahsedilenler: @rafet32
R
2 ay
Binbaşı

8 bitlik Piclerde adresini bildiğiniz hafıza bölgesine aşağıdaki örnekdeki gibi erişebilirsiniz.


// 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ü
}


Bu mesaja 1 cevap geldi.
İ
2 ay
Yarbay
Konu Sahibi

Teşekkürler. Bakacağım.



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @rafet32
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.