Çok fonksiyonlu LED kol saati. Retro tarzda dijital bir saat nasıl yapılır

  • 13.09.2019

Adından da anlaşılacağı gibi, bu cihazın temel amacı mevcut saat ve tarihi bulmaktır. Ama daha birçok kullanışlı özelliği var. Yaratılışı fikri, nispeten büyük (bilek için) bir metal kasaya sahip yarı kırık bir saatle karşılaşmamdan sonra ortaya çıktı. Oraya, olanakları sadece kendi hayal gücüm ve becerimle sınırlı olan, ev yapımı bir saat yerleştirebileceğimi düşündüm. Sonuç olarak, aşağıdaki işlevlere sahip bir cihaz ortaya çıktı:

1. Saat - takvim:

    Saat, dakika, saniye, haftanın günü, gün, ay, yıl göstergesinde geri sayım ve ekran.

    Her saat gerçekleştirilen geçerli saatin otomatik olarak düzeltilmesinin kullanılabilirliği (maksimum değerler +/- 9999 birim, 1 birim = 3.90625 ms.)

    Haftanın gününü tarihe göre hesaplama (geçerli yüzyıl için)

    Yaz ve kış saatine otomatik geçiş (değiştirilebilir)

  • Artık yıllar dikkate alınır

2. İki bağımsız alarm (tetiklendiğinde bir melodi çalar)
3. Ayrıklığı 1 saniye olan zamanlayıcı. (Maksimum geri sayım süresi 99s 59dk 59s)
4. 0,01 saniyelik sayma hızına sahip iki kanallı bir kronometre. (maksimum sayma süresi 99s 59dk 59s)
5. 1 saniye sayma hızına sahip kronometre. (maksimum sayma süresi 99 gün)
6. -5 ° С aralığında termometre. 0,1 ° С'lik artışlarla 55 ° С'ye kadar (cihazın normal çalışmasının sıcaklık aralığı ile sınırlıdır).
7. Elektronik anahtarların okuyucusu ve öykünücüsü - Dallas 1-Wire protokolünü kullanan DS1990 tipi tabletler (zaten birkaç evrensel "arazi anahtarının" bulunduğu 50 parça için bellek) anahtar kod baytını görüntüleme özelliğine sahip .
8. "Pentax", "Nikon", "Canon" dijital kameralar için IR uzaktan kumanda (yalnızca "Fotoğraf çek" komutu uygulanır)
9. LED el feneri
10.7 melodi
11. Her saat başında sesli sinyal (değiştirilebilir)
12. Düğmelere basıldığında sesli onay (değiştirilebilir)
13. Kalibrasyon fonksiyonu ile akü voltajı izleme
14. Gösterge parlaklığının dijital ayarı

Belki bu işlevsellik gereksizdir, ancak evrensel şeyleri severim, artı bu saatin elle yapılmasından kaynaklanan ahlaki tatmin.

Saatin şematik diyagramı

Cihaz, ATmega168PA-AU mikro denetleyicisine dayanmaktadır. Saat, 32768 Hz'de kuvars saatinden asenkron modda çalışan T2 zamanlayıcısına göre işliyor. Mikrodenetleyici hemen hemen her zaman uyku modundadır (gösterge kapalıdır), saniyede bir uyanarak şimdiki zamana bu çok saniyeyi eklemek için tekrar uykuya dalar. Aktif modda, MC dahili RC osilatöründen 8 MHz'de saatlenir, ancak dahili ön ölçekleyici onu 2'ye böler, sonuç olarak çekirdek 4 MHz'den saatlenir. Gösterge için, ortak bir anot ve ondalık nokta ile dört adet tek haneli LED dijital yedi segmentli gösterge kullanılır. Ayrıca, amaçları aşağıdaki gibi olan 7 durum LED'i vardır:
D1- Negatif değerin işareti (eksi)
D2- Çalışan bir kronometrenin işareti (yanıp sönüyor)
D3- Dahil edilen ilk çalar saatin işareti
D4- Dahil edilen ikinci çalar saatin işareti
D5- Her saat başında sesli sinyalizasyon işareti
D6- Çalışan bir zamanlayıcının işareti (yanıp sönüyor)
D7- Düşük akü voltajı belirtisi

R1-R8 - HG1-HG4 dijital göstergeleri ve D1-D7 LED'lerinin segmentlerinin akım sınırlayıcı dirençleri. R12, R13 - akü voltajı kontrolü için bölücü. Saat besleme voltajı 3V olduğundan ve beyaz LED D9'un nominal akım tüketiminde yaklaşık 3.4-3.8V'ye ihtiyacı olduğundan, tam güçte yanmaz (ancak karanlıkta tökezlememek için yeterlidir) ve bu nedenle kablosuz olarak bağlanır. akım sınırlayıcı direnç. R14, Q1, R10 elemanları, D8 kızılötesi LED'i (dijital kameralar için uzaktan kumanda uygulaması) kontrol etmek için tasarlanmıştır. R19, ​​​​R20, R21, 1 Telli arayüze sahip cihazlarla iletişim kurarken arayüz oluşturmak için kullanılır. Kontrol, şartlı olarak adlandırdığım üç düğme ile gerçekleştirilir: MOD (mod), YUKARI (yukarı), AŞAĞI (aşağı). Bunlardan ilki ayrıca MC'yi harici bir kesinti ile uyandırmak için tasarlanmıştır (gösterge açılırken), bu nedenle PD3 girişine ayrı olarak bağlanır. Düğmelerin geri kalanına basılması, ADC ve R16, R18 dirençleri kullanılarak belirlenir. Düğmelere 16 saniye içinde basılmazsa, MK uykuya dalar ve gösterge söner. modundayken "Kameralar için uzaktan kumanda" bu aralık 32 saniyedir ve el feneri açıkken 1 dakikadır. Ayrıca MK, kontrol düğmeleri kullanılarak manuel olarak uyku moduna geçirilebilir. Kronometre 0,01 saniyelik bir sayım oranıyla çalışırken. cihaz uyku moduna girmiyor.

Baskılı devre kartı

Cihaz, bir kol saati kasasının iç çapına uyacak şekilde çift taraflı yuvarlak şekilli bir baskılı devre kartı üzerine monte edilmiştir. Ancak imalatta 0,35 mm kalınlığında iki tek taraflı levha kullandım. Bu kalınlık yine 1,5 mm kalınlığında çift taraflı cam elyafından soyulmasıyla elde edilmiştir. Sonra tahtaları yapıştırdı. Bütün bunlar, ince bir çift taraflı cam elyafına sahip olmadığım için yapıldı ve saat kasasının sınırlı iç alanında kaydedilen her milimetre kalınlık çok değerliydi ve bunları kullanarak baskılı iletkenlerin imalatında birleştirmeye gerek yoktu. LUT yöntemi. PCB çizimi ve parçaların yeri ekteki dosyalardadır. Bir tarafta göstergeler ve akım sınırlayıcı dirençler R1-R8 vardır. Arkada - diğer tüm detaylar. Beyaz ve kızılötesi LED'ler için iki açık delik vardır.

Düğmelerin kontakları ve pil tutucu, 0,2 ... 0,3 mm kalınlığında esnek, yaylı çelik sacdan yapılmıştır. ve kalaylı. Aşağıda her iki taraftan tahtanın fotoğrafları:

Yapı, parçalar ve bunların olası değiştirilmesi

Mikrodenetleyici ATmega168PA-AU, ATmega168P-AU, ATmega168V-10AU ATmega168-20AU ile değiştirilebilir. Dijital göstergeler - 5,08 mm yüksekliğinde 4 adet KPSA02-105 süper parlak kırmızı renk. Aynı seri KPSA02-xxx veya KCSA02-xxx'den tedarik edilebilir. (sadece yeşil değil - hafifçe parlayacaklar) İyi parlaklığa sahip benzer boyutlarda başka analoglar bilmiyorum. HG1, HG3'te, segmentlerin katot bağlantısı HG2, HG4'ten farklıdır çünkü baskılı devre kartını yerleştirmek benim için daha uygundu. Bu bakımdan programda onlar için farklı bir karakter üreteç tablosu kullanılmaktadır. 0805 ve 1206 standart boyutlarının yüzeye montajı için kullanılan dirençler ve kapasitörler SMD, standart boyut 0805 olan LED'ler D1-D7. 3 mm çapında beyaz ve kızılötesi LED'ler. Tahta, jumper takmanız gereken 13 açık deliğe sahiptir. Sıcaklık sensörü olarak 1 Telli arayüze sahip bir DS18B20 kullanıldı. LS1, kapağa uyan geleneksel bir piezoelektrik iskandildir. Bir kontak ile üzerine monte edilmiş bir yay yardımıyla panoya, diğer kontak ile kapaktan saat kasasına bağlanır. Bir kol saatinden kuvars rezonatörü.

Programlama, bellenim, sigortalar

Devre içi programlama için, tam teşekküllü bir konektör yüksekliğe uymadığından, kartta yalnızca 6 yuvarlak kontak pimi (J1) bulunur. Bunları bir PLD2x3 pin fişten yapılmış bir kontak cihazı kullanarak programlayıcıya bağladım ve üzerlerine yaylarla lehimleyerek bir elimle noktalara bastırdım. Aşağıda cihazın bir fotoğrafı var.

Kullandım çünkü hata ayıklama işlemi sırasında MK'yi birçok kez yeniden başlatmak zorunda kaldım. Tek seferlik bir bellenim ile, programlayıcıya bağlı ince kabloları yamalar ile lehimlemek ve ardından tekrar lehimlemek daha kolaydır. MK'yi pil olmadan yakmak daha uygundur, ancak güç, harici bir + 3V kaynaktan veya aynı besleme voltajına sahip bir programlayıcıdan gelir. Program, VMLAB 3.15 ortamında assembler ile yazılmıştır. Kaynak kodları, uygulamada FLASH ve EEPROM için ürün yazılımı.

DD1 mikrodenetleyicisinin FUSE bitleri aşağıdaki gibi programlanmalıdır:
CKSEL3 ... 0 = 0010 - dahili RC osilatöründen saat alma 8 MHz;
SUT1 ... 0 = 10 - Başlatma süresi: 6 CK + 64 ms;
CKDIV8 = 1 - 8'e frekans bölücü devre dışı;
CKOUT = 1 - CKOUT'da Çıkış Saati devre dışı bırakılır;
BODLEVEL2… 0 = 111 - besleme gerilimi kontrolü devre dışı;
EESAVE = 0 - çip programlama sırasında EEPROM'un silinmesi yasaktır;
WDTON = 1 - Watchdog Timer'ın sabit aktivasyonu yok;
FUSE bitlerinin geri kalanına dokunmamak daha iyidir. FUSE – bit “0” olarak ayarlanmışsa programlanır.

Arşivde bulunan dökümü ile birlikte EEPROM'un yanıp sönmesi gereklidir.

İlk EEPROM hücreleri, cihazın başlangıç ​​parametrelerini içerir. Aşağıdaki tablo, makul sınırlar içinde değiştirilebilecek bazılarının amacını açıklamaktadır.

hücre adresi

Randevu

Parametre

Not

Düşük pil sinyalinin oluştuğu pil voltajı miktarı

260 (104 $) (2,6V)

ölçülen pil voltajının değerini düzeltme katsayısı

uyku moduna geçiş için zaman aralığı

1 ünite = 1 saniye

el feneri açıkken uyku moduna geçmek için zaman aralığı

1 ünite = 1 saniye

kameralar için uzaktan kumanda modundayken uyku moduna geçmek için zaman aralığı

1 ünite = 1 saniye

IButton tuş numaralarının saklandığı yer burasıdır.

Noktalar için küçük açıklamalar:

1 puan. Akü üzerindeki voltajın değeri, LED'in yanacağı ve düşük değerini bildirdiği burada gösterilir. 2,6V olarak ayarladım (parametre - 260). Başka bir şeye ihtiyacınız varsa, örneğin 2.4V, o zaman 240 (00F0) yazmanız gerekir. Düşük bayt hücreye 0000 $ ve yüksek bayt sırasıyla 0001 $ olarak girilir.

2 puan. Akü voltaj ölçümünün doğruluğunu ayarlamak için karta değişken direnç takmadığım için yer sıkıntısından dolayı yazılım kalibrasyonunu tanıttım. Doğru ölçüm için kalibrasyon prosedürü şu şekildedir: başlangıçta bu EEPROM hücresine 1024 (400 $) faktörü yazılır, cihazı aktif moda alıp göstergedeki voltaja bakmanız ve hemen gerçek değeri ölçmeniz gerekir. bir voltmetre ile akü üzerindeki voltaj. Ayarlanması gereken düzeltme faktörü (K) şu formülle hesaplanır: K = Uр / Ui * 1024 burada Uр bir voltmetre ile ölçülen gerçek voltaj, Ui cihazın kendisi tarafından ölçülen voltajdır. "K" faktörü hesaplandıktan sonra cihaza girilir (kullanım kılavuzunda anlatıldığı gibi). Kalibrasyondan sonra hatam %3'ü geçmedi.

3 pip Burada, herhangi bir tuşa basılmazsa cihazın uyku moduna geçeceği süreyi ayarlayabilirsiniz. Bana 16 saniyeye mal oluyor. 30 saniye sonra uykuya dalmanız gerekiyorsa, 30 (26 $) yazmanız gerekir.

4 ve 5 noktaları aynıdır.

6 pip 0030 $ adresi, sıfır anahtar aile kodunu (dallas 1-Wire), ardından 48 bitlik numarasını ve CRC'yi depolar. Ve böylece seri halinde 50 anahtar.

Ayar, çalışma özellikleri

Cihazın kurulumu, yukarıda açıklandığı gibi pil voltajı ölçümünün kalibre edilmesiyle ilgilidir. 1 saat içinde saatin sapmasını tespit etmek, ilgili düzeltme değerini hesaplamak ve girmek de gereklidir (prosedür çalıştırma talimatlarında açıklanmıştır).

Cihaz bir CR2032 (3V) lityum pil ile çalışır ve göstergenin parlaklığına bağlı olarak uyku modunda yaklaşık 4 μA, aktif modda 5 ... 20 mA tüketir. Aktif modun günlük beş dakikalık kullanımı ile pil, parlaklığa bağlı olarak yaklaşık 2 ... .8 ay boyunca yeterli olmalıdır. Saat kasası pilin eksi kısmına bağlanır.

Anahtar okuma, DS1990'da kontrol edildi. Öykünme METAKOM interkomlarında test edilmiştir. 46'dan 49'a (son 4) seri numaraları dikilmiştir (tüm tuşlar EEPROM'da saklanır, yanıp sönmeden önce değiştirilebilir) interkomlar için evrensel tuşlar. 49 numarada kayıtlı anahtar, karşılaştığım tüm METAKOM interkomlarını açtı, diğer evrensel anahtarlar test edilemedi, şebekeden kodlarını aldım.

Pentax optio L20, Nikon D3000 üzerinde test edilen kameralar için uzaktan kumanda. Canon kontrol ettiremedi.

Kullanım kılavuzu 13 sayfa olduğu için yazıya dahil etmedim, PDF formatında eke koydum.

Arşiv şunları içerir:
Şema ve GIF;
Baskılı devre kartının çizimi ve formattaki elemanların düzenlenmesi;
Birleştiricideki bellenim ve kaynaklar;

radyo elementlerin listesi

atama Bir çeşit mezhep Miktar NotMağazaBenim defterim
DD1 MK AVR 8 bit

ATmega168PA

1 PA-AU Not defterine
U2 Sıcaklık sensörü

DS18B20

1 Not defterine
Q1 MOSFET transistör

2N7002

1 Not defterine
C1, C2 kondansatör30 pF2 Not defterine
C3, C4 kondansatör0.1 uF2 Not defterine
C5 Elektrolitik kondansatör47 uF1 Not defterine
R1-R8, R17 direnç

100 ohm

9 Not defterine
R9 direnç

10 kΩ

1 Not defterine
R10 direnç

8.2 Ohm

1 Not defterine
R11 direnç

300 Ohm

1 Not defterine
R12 direnç

2 Mohm

1 Not defterine
R13 direnç

220 kΩ

1 Not defterine
R14 direnç

30 kΩ

1 Not defterine
R15, R19 direnç

4,7 k Ohm

2 Not defterine
R16 direnç

20 kΩ

1

Ev aletlerini kontrol etmek için alarm sesi zamanlayıcılı saat.

Zamanlayıcı, belirli bir zamanda anahtarlama kontaklarıyla ekipmanı açan veya kapatan bir cihazdır. Gerçek zamanlı zamanlayıcılar, yanıt süresini günün belirli bir saatinde ayarlamanıza olanak tanır. Böyle bir zamanlayıcının en basit örneği bir çalar saat olacaktır.

Zamanlayıcının kapsamı geniştir:
- aydınlatma cihazlarının kontrolü;
-ev ve bahçe bitkilerinin sulanmasının kontrolü;
- havalandırma kontrolü;
- akvaryum yönetimi;
- elektrikli ısıtıcıların kontrolü vb.

Önerilen zamanlayıcı, acemi bir radyo amatörü tarafından bile hızlı ve ucuz bir şekilde yapılabilir.
Bunu saat yapıcısına dayanarak yaptım. ()

Ülkedeki bitkilerin sulanmasını kontrol etmek için bir zamanlayıcı kullanmam gerekiyordu.

Tüm üretim sürecini videoda izleyin:


Araç ve malzemelerin listesi
- sesli alarm sinyali olan herhangi bir elektronik saat;
-Tornavida;
- makas;
-havya;
-patiska;
- 12V için iki röle;
- adaptörden 12V için güç kaynağı;
-bağlantı kabloları;
- baskılı devre kartı veya devre tahtası için folyo kaplı textolite;
- endüstriyel veya ev yapımı zaman rölesi;
-direnç;
- transistörler KT815 (veya analogları);
-diyot.

Adım bir. Zamanlayıcı kartını kablolama.
zamanlayıcı devresi
Tüm gereken, devre tahtasındaki bileşenleri şemaya göre lehimlemek ve saat piezo emitöründen iki tel lehimlemektir. En basit devreyi bir ara röle ve bir transistör anahtarı ile bir araya getirmek. Saatten gelen ses sinyalinin ilk darbesi uygulandığında, P1 rölesi açılır, normalde açık olan kontak kapanır ve yükü açarken, röle P1 rölesi P1'in ikinci normalde açık kontağı ve normalde açık olan kontak aracılığıyla kendi kendini kilitler. zaman rölesinin kapalı kontağı. Yükle birlikte, PB zaman rölesi açılır - yükün ayarlanan çalışma süresi saymaya başlar. Bu süre sonunda PB kontağı açar ve P1 rölesinin enerjisi kesilir, yük kapatılır. Devre bir sonraki çevrim için hazırdır. Diyot, saat devresine dönüş darbesini önlemeye yarar (herhangi bir düşük güçlü diyot kullanılabilir). Yükün ne zaman açıldığını gösteren LED. Bu devrede, normalde açık iki kontağı olan bir ara röleye ihtiyaç var, ancak elimde bir tane yoktu - iki Çin rölesi kullandım (bobinler paralel bağlanır).Yük daha güçlüyse, daha güçlü bir röle kontaklar buna göre kullanılmalıdır. 12V adaptörüm vardı ve devreyi doğrudan breadboard üzerine kurdum. Prensip olarak, herhangi bir düşük güçlü 12V güç kaynağı kullanılabilir.


Daha kısaysa, saat yükü açar ve gecikme sona erdikten sonra zaman rölesi kapanır.
Endüstriyel bir zaman röleniz yoksa, basit bir şema kullanarak kendiniz yapabilirsiniz. C1 kondansatörünün kapasitansının artmasıyla rölenin çalışma süresi artar.


İkinci adım. Zamanlayıcı kontrol ediliyor.
İlk açtığımda devre benim için çalıştı.
Alarm saatini ayarlamak için kalır. Saatimin iki alarm zamanı ayarı var. Benim durumum için, örneğin sabah saat 7'de bir saatlik bir maruz kalma için ve akşam saat 20'de tekrar suya sulamayı açmak yeterlidir. Saat düğmelerine basıldığında, ses sinyalleri yayılır, bu nedenle, zamanlayıcı devresini kurarken yanlış alarmları dışlamak için enerjiyi kesmek gerekir. Saatimin zil işlevi var - sabah 8'den akşam 8'e kadar her saat, yani çalar saate ek olarak, gerekirse bu sinyalleri kullanabilirsiniz. Gerekli değilse, "çan" işlevi devre dışı bırakılır.

Bu, hafta sonu tasarımının sonucudur. Yeni devreyi test etmek ilginçti, bu yüzden her şey hızlı bir şekilde yapıldı. Gelecekte, bir kasa yapmak ve oraya bir pano ve bir zaman rölesi yerleştirmek gerekecek. Yeni başlayanlar, çok fazla zaman ve para harcamadan böyle bir zamanlayıcıyı kendi başına yapabilir. Ve bunları nereye uygulayacağınız size kalmış.

Bütün iş birkaç hafta sonu ve 75 rubleye gitti (

Mikrodenetleyicilerde en azından biraz bilgili olanlar ve ayrıca ev için basit ve kullanışlı bir cihaz oluşturmak isteyenler için, LED göstergeli bir montajdan daha iyi bir şey yoktur. Böyle bir şey odanızı dekore edebilir veya ekstra değer kazanacağı benzersiz bir el yapımı hediyeye gidebilir. Devre bir saat ve bir termometre gibi çalışır - modlar bir düğme ile veya otomatik olarak değiştirilir.

Termometreli ev yapımı bir saatin elektrik şeması

mikrodenetleyici PIC18F25K22 tüm veri işleme ve zamanlama ile ilgilenir ve bir kısmı için ULN2803A LED göstergesi ile çıkışlarının koordinasyonu kalır. Küçük mikro devre DS1302 hassas ikinci sinyaller için bir zamanlayıcı olarak çalışır, frekansı standart bir kuvars rezonatör 32768 Hz ile stabilize edilir. Bu, tasarımı biraz karmaşıklaştırır, ancak, birkaç MHz için rastgele ayarlanmamış bir kuvars rezonatörle uğraşırsanız, kaçınılmaz olarak ertelenecek veya aceleye getirilecek olan zamanı sürekli olarak ayarlamak ve düzeltmek zorunda değilsiniz. Böyle bir saat, yüksek kaliteli, hassas bir kronometreden ziyade basit bir oyuncaktır.

Gerekirse, sıcaklık sensörleri ana üniteden uzağa yerleştirilebilir - üç telli bir kabloyla ona bağlanırlar. Bizim durumumuzda, bir sıcaklık sensörü bloğa, diğeri dışarıda, yaklaşık 50 cm uzunluğunda bir kabloya yerleştirilmiştir.5 m'lik bir kablo denediğimizde, mükemmel bir şekilde çalıştı.

Saat göstergesi, dört büyük LED dijital göstergeden oluşur. Başlangıçta ortak katottular, ancak son versiyonda ortak anoda dönüştüler. Başkalarını koyabilirsiniz, ardından gerekli parlaklığa göre akım sınırlayıcı dirençler R1-R7'yi seçin. Saatin elektronik kısmı ile ortak bir panoya yerleştirilebilirdi, ancak bu çok daha çok yönlü - aniden çok büyük bir LED göstergesi koymak istiyorsunuz, böylece uzun bir mesafeden görülebilecekler. Sokak saatinin böyle bir tasarımına bir örnek burada.

Elektroniğin kendisi 5 V'tan başlar, ancak LED'lerin parlak bir şekilde parlaması için 12 V kullanmanız gerekir. Şebekeden güç, bir kademeli transformatör adaptöründen dengeleyiciye sağlanır 7805 kesinlikle 5 V'luk bir voltaj oluşturan küçük yeşil silindirik pile dikkat edin - 220 V şebeke kesintisi durumunda yedek güç kaynağı görevi görür. 5 V için almak gerekli değildir - bir lityum iyon veya Ni-MH pil için 3.6 volt yeterlidir.

Durum için, çeşitli malzemeler kullanabilirsiniz - ahşap, plastik, metal veya ev yapımı bir saatin tüm yapısını, örneğin bir multimetre, tuner, radyo vb. Pleksiglastan ürettik, çünkü işlenmesi kolay, herkesin görebilmesi için içini görmenizi sağlıyor - bu saat kendi ellerimizle monte edildi. Ve en önemlisi stoktaydı :)

Burada, devre şeması, PCB düzeni, PIC donanım yazılımı ve ev yapımı bir dijital saatin önerilen tasarımı için gerekli tüm ayrıntıları bulabilirsiniz.

Hatırlıyorum... Otuz yıl önce altı gösterge küçük bir hazineydi. Daha sonra bu tür göstergelerle bir TTL saati yapabilen herkes, kendi alanında sofistike bir uzman olarak kabul edildi.

Gaz deşarj göstergelerinden gelen parıltı daha sıcak görünüyordu. Birkaç dakika sonra bu eski lambaların işe yarayıp yaramadığını merak ettim ve onlarla bir şeyler yapmak istedim. Şimdi böyle bir saat yapmak çok kolay. Bir mikrodenetleyici almak yeterlidir ...

O zamandan beri mikrodenetleyicileri üst düzey dillerde programlamaya düşkündüm, biraz oynamaya karar verdim. Basit bir dijital gaz deşarj gösterge saati tasarlamaya çalıştım.

Tasarım amacı

Saatin altı haneli olması gerektiğine ve zamanın minimum sayıda düğme ile ayarlanması gerektiğine karar verdim. Ayrıca, farklı üreticilerin en yaygın mikrodenetleyici ailelerinden birkaçını denemek ve kullanmak istedim. Programı C dilinde yazmak istedim.

Deşarj göstergelerinin çalışması için yüksek voltaj gerekir. Ama tehlikeli şebeke voltajıyla uğraşmak istemedim. Saatin 12 V'luk zararsız bir voltajla çalıştırılması gerekiyordu.

Asıl amacım oyun olduğu için kasanın mekanik yapısının ve çizimlerinin açıklamasını burada bulamayacaksınız. Dilerseniz saati zevkinize ve deneyiminize göre kendiniz değiştirebilirsiniz.

Ben de öyle yaptım:

  • Zaman göstergesi: SS MM SS
  • Alarm göstergesi: HH MM -
  • Zaman görüntüleme modu: 24 saat
  • Doğruluk ± günde 1 saniye (kristal rezonatöre bağlıdır)
  • Besleme gerilimi: 12V
  • Tüketim akımı: 100 mA

Saat düzeni

Altı haneli dijital ekrana sahip bir cihaz için multipleks modu doğal bir çözümdü.

Blok diyagramın (Şekil 1) öğelerinin çoğunun amacı yorum yapılmadan açıktır. Bir dereceye kadar, standart olmayan bir görev, göstergeler için yüksek voltajlı kontrol sinyallerine TTL seviyelerinin bir dönüştürücüsünü oluşturmaktı. Anot sürücüleri, yüksek voltajlı NPN ve PNP transistörlerinde yapılır. Diyagram, Stefan Kneller'den ödünç alınmıştır (http://www.stefankneller.de).

TTL yongası 74141, her basamak için bir BCD kod çözücü ve bir yüksek voltaj sürücüsü içerir. Bir mikro devre sipariş etmek zor olabilir. (Her ne kadar şu anda birileri tarafından üretilip üretilmediğini bilmiyorum). Ancak gaz deşarj göstergeleri bulursanız, 74141 yakınlarda bir yerde olabilir :-). TTL mantığının olduğu günlerde, 74141 mikro devresine pratik olarak bir alternatif yoktu. Bu yüzden bir yerde bir tane bulmaya çalışın.

Göstergeler yaklaşık 170 V'luk bir voltaj gerektirir. Yükseltici dönüştürücüler için çok sayıda mikro devre olduğundan, voltaj dönüştürücü için özel bir devre geliştirmenin bir anlamı yoktur. Ucuz ve yaygın olarak bulunan MC34063 IC'yi seçtim. Dönüştürücü devresi, MC34063 veri sayfasından neredeyse tamamen kopyalanmıştır. Üzerine sadece T13 güç anahtarı eklendi. Dahili anahtar bu kadar yüksek bir voltaj için uygun değildir. Dönüştürücü için indüktör olarak bir bobin kullandım. Şekil 2'de gösterilmiştir; çapı 8 mm, uzunluğu 10 mm'dir.

Dönüştürücünün verimliliği oldukça iyidir ve çıkış voltajı nispeten güvenlidir. 5 mA'lık bir yük akımı ile çıkış voltajı 60 V'a düşer. R32, bir akım algılama direnci görevi görür.

Mantığa güç sağlamak için bir doğrusal regülatör U4 kullanılır. Diyagramda ve panoda yedek pil için yer vardır. (3.6V - NiMH veya NiCd). D7 ve D8, Schottky diyotlarıdır ve R37 direnci, pilin özelliklerine göre şarj akımını sınırlamak için tasarlanmıştır. Saatinizi yalnızca eğlence için yapıyorsanız, pil, D7, D8 ve R37'ye ihtiyacınız olmaz.

Son düzen Şekil 3'te gösterilmektedir.

Figür 3.

Zaman ayar butonları diyotlar vasıtasıyla bağlanır. Düğmelerin durumu, ilgili çıkışta mantıksal bir "1" ayarlanarak kontrol edilir. Bonus işlevi olarak, mikrodenetleyici çıkışına bir piezo emitör bağlanır. Bu iğrenç gıcırtıyı susturmak için küçük düğmeyi kullanın. Bunun için bir çekiç oldukça uygun olacaktır, ancak bu aşırı bir durum için :-).

İndirilenler bölümünde şematik bileşenlerin, PCB çiziminin ve yerleşimin bir listesi bulunabilir.

İşlemci

Bu basit cihaz, gerekli minimum sayısı Tablo 1'de gösterilen yeterli sayıda pime sahip hemen hemen her mikro denetleyici tarafından kontrol edilebilir.

Tablo 1.
İşlev sonuçlar
Beslenme 2
kuvars rezonatörü 2
anot kontrolü 6
Sürücü 74141 4
Düğme girişi 1
Piezo yayıcı 1
Toplam 16

Her üretici kendi ailesini ve mikrodenetleyici türlerini geliştirir. Pin düzeni her tip için ayrıdır. Birkaç mikrodenetleyici türü için evrensel bir kart tasarlamaya çalıştım. Kartın 20 pinli bir soketi var. Birkaç jumper kablosu ile farklı mikrodenetleyicilere uyarlayabilirsiniz.

Bu devrede test edilen mikrodenetleyiciler aşağıda listelenmiştir. Diğer türleri deneyebilirsin. Planın avantajı, farklı işlemcileri kullanma yeteneğidir. Kural olarak, radyo amatörleri bir mikro denetleyici ailesi kullanır ve uygun programlayıcı ve yazılım araçlarına sahiptir. Diğer üreticilerin mikrodenetleyicileri ile ilgili sorunlar ortaya çıkabilir, bu yüzden size en sevdiğiniz aileden bir işlemci seçme fırsatı verdim.

Çeşitli mikro denetleyicileri açmanın tüm özellikleri Tablo 2 ... 5 ve Şekil 4 ... 7'de yansıtılmaktadır.

Tablo 2.
serbest ölçek
Bir çeşit MC68HC908QY1
kuvars rezonatörü 12 MHz
Kondansatörler C1, C2 22 pF
programı freescale.zip
("İndirilenler" bölümüne bakın)
Tesisler

Not: Kuvars rezonatöre paralel olarak 10 MΩ'luk bir direnç bağlanır.

Tablo 3.
Mikroçip
Bir çeşit PIC16F628A
kuvars rezonatörü 32.768 kHz
Kondansatörler C1, C2 22 pF
programı pic628.zip
("İndirilenler" bölümüne bakın)
Tesisler Int. 4 MHz jeneratör - G/Ç RA6,
MCLR KAPALI, WDT KAPALI, LVP KAPALI,
BROUT KAPALI, CP KAPALI, PWRUP KAPALI

Not: Mikro devre sokette 180 ° döndürülmelidir.

Tablo 4.
Atmel
Bir çeşit ATtiny2313
kuvars rezonatörü 12 MHz
Kondansatörler C1, C2 15 pF
programı attiny.zip
("İndirilenler" bölümüne bakın)
Tesisler metrekare osilatör 8 MHz, RESET AÇIK

Not: SMD bileşenleri R ve C'yi RESET pinine (10 kΩ ve 100 nF) ekleyin.

Tablo 5.
Atmel
Bir çeşit AT89C2051
kuvars rezonatörü 12 MHz
Kondansatörler C1, C2 22 pF
programı at2051.zip
("İndirilenler" bölümüne bakın)
Tesisler --

Not: SMD bileşenleri R ve C'yi RESET pinine (10 kΩ ve 100 nF) ekleyin; yıldızlarla işaretlenmiş uçlar, 3,3 kOhm SMD dirençleri aracılığıyla + Ub güç veri yoluna bağlanır.

Farklı mikrodenetleyicilerin kodlarını karşılaştırarak çok benzer olduklarını göreceksiniz. Bağlantı noktalarına erişimde ve kesme işlevlerinin tanımında ve ayrıca kablo demeti bileşenlerine bağlı olarak farklılıklar vardır.

Kaynak kodu iki bölüme ayrılmıştır. İşlev ana () bağlantı noktalarını yapılandırır ve kesme sinyalleri üreten bir zamanlayıcı başlatır. Bundan sonra program basılan düğmeleri tarar ve ilgili saat ve alarm değerlerini ayarlar. Aynı yerde, ana döngüde, mevcut saat çalar saat ile karşılaştırılır ve piezo emitörü açılır.

İkinci kısım bir zamanlayıcı kesme rutinidir. Her milisaniyede bir çağrılan bir alt program (zamanlayıcının özelliklerine bağlı olarak) zaman değişkenlerini artırır ve ekrandaki rakamları kontrol eder. Ayrıca butonların durumu kontrol edilir.

Devrenin başlatılması

Güç kaynağından bileşenlerin kurulumu ve kurulumu ile başlayın. U4 regülatörünü ve çevresindeki bileşenleri lehimleyin. U2 için 5 V ve U1 için 4,6 V olup olmadığını kontrol edin. Bir sonraki adım, yüksek voltajlı dönüştürücüyü monte etmektir. Düzeltici direnci R36'yı 170 V'a ayarlayın. Trim aralığı yeterli değilse, direnç R33'ün direncini biraz değiştirin. Şimdi anot ve basamak sürücü devresinin U2 çipini, transistörlerini ve dirençlerini kurun. U2 girişlerini GND veri yoluna bağlayın ve R25 - R30 dirençlerinden birini + Ub besleme veri yoluna seri olarak bağlayın. Gösterge rakamları ilgili konumlarda yanmalıdır. Devreyi kontrol etmenin son aşamasında, U1 mikro devresinin pin 19'unu toprağa bağlayın - piezoelektrik emitör açılmalıdır.

Kaynak kodları ve derlenmiş programlar, İndirilenler bölümündeki ilgili ZIP dosyasında bulunabilir. Programı mikrodenetleyiciye diktikten sonra, U1 konumundaki her bir pimi dikkatlice kontrol edin ve gerekli tel ve lehim atlama tellerini takın. Yukarıdaki mikrodenetleyici resimlerini kontrol edin. Mikrodenetleyici doğru programlanmış ve bağlanmışsa jeneratörü çalışmalıdır. Saati ve alarmı ayarlayabilirsiniz. Dikkat! Tahtada bir düğme için daha yer var - bu, gelecekteki uzantılar için yedek bir düğme :-).

Jeneratör frekansının doğruluğunu kontrol edin. Beklenen aralığa uymuyorsa, C1 ve C2 kapasitörlerinin derecelerini biraz değiştirin. (Küçük kapasitörleri paralel olarak lehimleyin veya başkalarıyla değiştirin). Saatin doğruluğu iyileştirilmelidir.

Çözüm

Küçük 8 bit işlemciler, yüksek seviyeli diller için çok uygundur. C orijinal olarak küçük mikro denetleyiciler için tasarlanmamıştır, ancak basit uygulamalar için onu gayet iyi kullanabilirsiniz. Assembler, kritik sürelere uyulmasını veya maksimum CPU kullanımını gerektiren karmaşık görevler için daha uygundur. Çoğu radyo amatörü için, C derleyicisinin hem ücretsiz hem de paylaşılan yazılım sınırlı sürümleri çalışacaktır.

C programlama tüm mikrodenetleyiciler için aynıdır. Seçilen mikrodenetleyici tipinin donanımının (kayıtlar ve çevre birimleri) fonksiyonlarını bilmelisiniz. Bitsel işlemlerde dikkatli olun - C dili, ATtiny için orijinal örneğinde görülebileceği gibi tek tek bitleri işlemek için uygun değildir.

Bitirdin mi? Ardından vakum tüplerini düşünmeye başlayın ve görün ...

...eski günler geri geldi... :-)

editoryal not

SN74141'in tam analogu, Minsk yazılımı "Integral" tarafından üretilen K155ID1 mikro devresidir.
Mikro devre internette kolayca bulunabilir.

Ucuz bir PIC16F628A kontrol cihazı ile basit LED saatler yapılabilir. Elbette mağazalar çeşitli elektronik saatlerle dolu ama işlevlerine göre ya termometre ya da çalar saat olmayabilir ya da karanlıkta parlamayabilirler. Ve genel olarak, bazen proto bir şeyi kendisi lehimlemek ister ve hazır satın almak istemez. Diyagramın diyagramını büyütmek için - tıklayın.

Sunulan saatler bir takvime sahiptir. Tarihi görüntülemek için iki seçeneğe sahiptir - ay, rakam veya hece olarak, tüm bunlar, düğme ile daha fazla geçiş yapılarak tarih girildikten sonra yapılandırılır. S1İstenilen parametre görüntülenirken, termometre. farklı sensörler için yazılımlar var. Kasanın içindeki cihaza bakın:


Herkes kuvars rezonatörlerinin doğruluk açısından mükemmel olmadığını bilir ve birkaç hafta içinde bir hata birikir. Bu durumla mücadele etmek için saat, parametreler tarafından ayarlanan bir vuruş düzeltmesi sağlar. NS ve SL... Daha fazla detay:

SH = 42 ve SL = 40 - bu, günde 5 dakika ileri;
SH = 46 ve SL = 40 - bu, günde 3 dakika geri;
SH = 40 ve SL = 40 - bu, günde 2 dakika ileri;
SH = 45 ve SL = 40 - bu, günde 1 dakika geri;
SH = 44 ve SL = С0 - bu, günde 1 dakika ileri;
SH = 45 ve SL = 00 - bu düzeltme devre dışı bırakılır.

Bu şekilde mükemmel doğruluk elde edilebilir. Her ne kadar mükemmel bir şekilde ayarlayana kadar düzeltmeyi birkaç kez sürmeniz gerekecek. Ve şimdi elektronik saatin çalışması açıkça gösteriliyor:

sıcaklık 29 santigrat derece

Göstergeler olarak, diyagramın kendisinde belirtilen LED dijital düzeneklerini koyabilir veya bunları sıradan yuvarlak süper parlak LED'lerle değiştirebilirsiniz - o zaman bu saat uzaktan görülebilir ve sokakta bile asılabilir.