Mikrodenetleyici üzerindeki şifreli kilit. Diyagram ve açıklama

PIC16F628 mikrodenetleyici üzerindeki şifreli kilidin aşağıdaki basit şemasını sunuyoruz; bu, yalnızca bir LED'in göstergesini kullanarak tek tuşla dört haneli bir kod girmenizi sağlar. Daha fazla gizlilik sağlamak için düğme tek başına yerleştirilebilir veya bir düğme bloğunun içine dahil edilebilir.

Bu basit devre, örneğin otomatik kapıları açma dürtüsü, ışıkları açıp kapatma, binalara erişim, bir güvenlik sistemini devre dışı bırakma ve devreye alma vb. gibi çeşitli şeyleri kontrol etmenize olanak tanır.

Kod doğru girilirse çalışır. Rölenin hangi çalışma modu seçildiğine bağlı olarak ya belirli bir süreliğine aktif olur ya da sadece tekrar kod çevrildiğinde açılıp kapanır.

PIC16F628'deki şifreli kilidin çalışma modları

Şifreli kilit devresinin iki çalışma modu vardır. Bunlardan biri, devrenin gizli bir kodun girilmesini beklediği normal çalışma modudur. İkinci mod programlamadır. Bu mod kilidin çalışmasını yapılandırmak için kullanılır.

Kod giriş durumu

Gizli kodu girmek için dört rakamı birer birer girmeniz gerekir; her rakam SA1 düğmesine kaç kez bastığınıza karşılık gelir. Girilen ilk rakamdan sonra LED bir kez yanıp sönecektir. Daha sonra bir sonraki sayıyı girmeniz gerekir. Dördüncü haneyi çevirdikten sonra kod doğru girildiyse LED hızlı bir şekilde üç kez yanıp sönecek ve röle aktif olacaktır. Kodun yanlış girilmesi durumunda LED de üç kez ama yavaş bir şekilde yanıp sönecektir. Daha sonra tekrar girmeyi deneyebilirsiniz. Başlangıçta mikrodenetleyicinin hafızasında 1234 kodu saklanır.

Kod kilidi programlama durumu

Devre, gizli kilidin çalışma modunu değiştirmek için kullanılan bir SA2 anahtarını içerir. Anahtar kapatıldığında cihaz programlama durumundadır. Bu anahtarın durumunun yalnızca güç uygulandığında sorgulandığını, dolayısıyla konumunu değiştirirken devrenin gücünü kapatıp açmanız gerektiğini lütfen unutmayın.

Kod kilidi programlama menüsü üç öğeden oluşur:

  1. PIC16F628 mikrodenetleyicinin hafızasına yeni bir gizli kod yazılması. SA2 programlama moduna getirilip güç açıldığında LED tek yanıp sönerek yanacaktır. Bu, ilk menü öğesinde olduğunuzu gösterir. Yeni bir kod kaydetmek için normal girişte olduğu gibi her rakamı tek tek girmeniz gerekir. Son rakamı girdikten sonra cihaz, bir dizi hızlı LED yanıp sönmesiyle başarıyla tamamlandığını onaylayacaktır. Artık gücü kapatabilir ve SA2'yi normal moda geçirebilirsiniz veya şifreli kilit programlama menüsündeki ikinci öğeye gidebilirsiniz. Bunun için SA1 butonuna basın ve en az 3 saniye basılı tutun. Düğmeyi bıraktıktan sonra LED iki kez yanıp sönecektir.
  2. Röle aktivasyonunun süresini değiştirir. Her basış bir saniye ekler. Diyelim ki rölenin 5 saniye boyunca aktif olmasına ihtiyacınız varsa, o zaman SA1 düğmesine bir saniyelik basma sıklığıyla beş kez basmanız gerekir. Cihaz daha sonra değerin kaydedildiğini bir dizi hızlı yanıp sönmeyle onaylayacaktır. Menü öğesi 3'e gitmek için ayrıca düğmeye 3 saniye veya daha uzun süre basıp bırakın. LED şimdi üç kez yanıp sönecektir.
  3. Kod kilidi rölesinin çalışma modu. Bir kez basıldığında röle ikinci menü öğesinde ayarlanan süre boyunca etkinleştirilecektir. İki kez basıldığında, gizli kod girildiğinde röle açılır, ancak gizli kod tekrar girildiğinde röle kapanır.

PIC16F628 mikrodenetleyicisini programlamak için aşağıda açıklanan basit bir programlayıcı kullanabilirsiniz.

Cihaz, binaları, dolapları ve kasaları izinsiz açılmaya karşı korumak için tasarlanmıştır.

Tüm ayarlar ve kodlar mikro denetleyicinin kalıcı belleğinde saklanır.

Bu basit şema birçok radyo amatörünün yetenekleri dahilindedir.

Ve iyi düşünülmüş bir çalışma algoritması size bu devreyi kullanma keyfini yaşatacaktır.

Cihaz bir mikrodenetleyiciye dayanmaktadır PIC16F628A(Şekil 1'deki diyagramda DD1).

Güç uygulandıktan sonra, mikro denetleyici programı bağlantı noktalarını yapılandırır ve ayrıca referans voltaj kaynağını, PSI/karşılaştırma yakalama modülünü, zamanlayıcıları, karşılaştırıcıları ve donanım USART'ı kapatır - kilidin çalışması için bu modüllere gerek yoktur. Daha sonra klavye yoklaması başlar. İki bölümden oluşur. İlk düğmeler - SB3-SB14 - korunan nesnenin dışında bulunur. İkinci düğmeler - SB1, SB2 ve anahtar SA1 - iç mekanda bulunur. Klavyenin ilk kısmındaki SB3-SB 13 düğmeleri bir matris halinde birleştirilmiştir. SB 14 düğmesi matrise dahil değildir, programda herhangi bir arıza durumunda ve aşağıda tartışılacak olan diğer bazı durumlarda mikro denetleyicinin yeniden başlatılması amaçlanmaktadır.

SB1 "Aç" butonu iç mekanda kapının yakınına monte edilmiştir. Bastığınızda şifre girmeden kapıyı içeriden açabilirsiniz. SB2 - programı yeniden başlatma düğmesi; SB2 ve SB I düğmeleri paralel olarak bağlanır. Matris düğmelerine şu adlar atanmıştır: SB3 - “1”, SB4 - “4”, SB5 - “7”, SB6 - “Açık”. SB7 - "2", SB8 - "5", SB9 - "8", SB10 - "O", SB11 - "3", SB12 - "6". SB13 - "9". Kilit kapatma modunu seçmek için SAI geçiş anahtarını kullanın. Kod, sayı düğmelerine dönüşümlü olarak kısaca basılarak girilir. Basıncı onaylamak için piezo yayıcı HA1'den kısa bir ton sinyali duyulacaktır. transistör VT2 tarafından kontrol edilir.

Kapıyı açmadan önce, bitişik basışlar arasında 3 saniyeyi geçmeyecek duraklamalarla dört haneli bir kod girin. ve ardından 3 saniye içinde SB6 düğmesine kısaca basmanız gerekir. 2 saniye sonra, mikro denetleyici DD1'in RAO çıkışı yüksek bir seviyeye ayarlanacak, transistör VT1 açılacak ve elektromıknatıs çalışacak!, bu da kilit cıvatasını hareket ettirerek sıkıştıracaktır. Bahar gelecek ve kapı açılacak.

Bitişik basışlar arasındaki duraklama 3 saniyeyi aşarsa, azalan frekansta bir sinyal sesi duyulacaktır. Bu, programın yeniden çalışmaya başladığı ve kodun yeniden girilmesi gerektiği anlamına gelir. Diyot VD1, transistör VT1'i elektromıknatıs sargısı Y1'in kendi kendine indüksiyon voltajındaki bir dalgalanmadan korumak için tasarlanmıştır. Elektromıknatıs tetiklenmeden önce, sayısal tuşlara basıldığındakiyle aynı frekansta ancak daha uzun süreli bir sinyal duyulacak ve bu, kapının açıldığını işaret edecektir.

SA1 anahtarının kontakları açık olduğunda, elektromıknatıs belirli bir süre sonra kilidi kapatacaktır (varsayılan - 12 saniye). Bu süre mikrodenetleyici programlanırken ayarlanır. Denetleyiciye yüklenmesi gereken programda, EEPROM ile çalışma alanında, 0x06 adresli hücreye (arka arkaya yedinci), 0x01'den OxFF'ye 1 oranında bir sayı girmeniz gerekir. birim = 2,5 sn. Mümkün olan minimum duraklama 2,5 saniye, maksimum 10 dakikadır.

SA1 anahtarının kontakları kapalıysa, yani mikro denetleyici DD1'in RA4 girişi düşük bir seviyeye ayarlanmışsa, SB 14 düğmesine veya SB2'ye basıldıktan sonra kilit kapatılır. Transistör VT1 kapandıktan sonra elektromıknatısın enerjisi kesilecek ve kilit yayı cıvatayı geri itecek - kapı tekrar kilitlenecektir.

Kapıyı odanın içinden açmak için SB1 düğmesine basın ve 2 saniye süren bir ton sinyali ile gösterilen elektromıknatıs etkinleştirilene kadar basılı tutun. Kapıyı istediğiniz zaman içeriden açabilirsiniz. Kapı açılmazsa SB2 tuşuna basmanız (programı yeniden başlatmanız) ve SB 1 tuşuna tekrar basmanız gerekir.

Kodu değiştirmek gerektiğinde, önce kapıyı açarken yaptığınız gibi eski kodu girin, ardından SB6 düğmesine kısa süre basmayın, üç ses duyulana kadar basılı tutun. Daha sonra hemen SB6 düğmesini bırakmalı, dört haneli yeni kodu girmeli ve girişi onaylamak için hemen SB6 düğmesine tekrar basmalısınız. Daha sonra, yeni kodun kabul edildiğini bildiren artan frekansta bir sinyal duyulacaktır. DD1 mikrodenetleyicinin kalıcı belleğinin ilk dört hücresinde saklanır.

Cihaz bir kilitleme sistemi ile donatılmıştır. Her yanlış kod girildiğinde kilit 1000 Hz'de iki ve 500 Hz'de bir bip sesi çıkaracaktır. Kontrolör, çalışma kayıtlarında yanlış kod varken SB6 düğmesine basmayı ve kodun beş hanesini girmeyi hata olarak değerlendirir. Art arda üç hatadan sonra, mikrodenetleyici DD1, RA2 çıkışını yüksek bir seviyeye ayarlayacaktır. Bu, alarm cihazını açacak olan transistör VT3'ü açacaktır. Bu cihaz bir siren veya telefon çevirici olabilir.

Aynı zamanda, klavye paneline takılı HL1 LED'i yanacak ve bu, klavye sorgulamanın (SA1 geçiş anahtarı ve SB1, SB2, SB14 düğmeleri hariç) devre dışı bırakıldığını gösterecektir. Bunu, alarm cihazının çalıştığı ve HL1 LED'inin yandığı on dakikalık bir duraklama takip eder. Bu süre zarfında kilit yalnızca içeriden açılabilir. SB 14 ve SB2 düğmelerine (mikrokontrolör programı yeniden başlatma düğmeleri) basarsanız, on dakikalık geri sayım yeniden başlayacaktır. Duraklatmadan sonra kontrolör, kodu girmek için yalnızca bir fırsat sağlayacak ve eğer yanlışsa, alarm cihazının etkinleştirilmesiyle on dakikalık duraklama tekrar tekrarlanacaktır. Ve bu, doğru kod girilene kadar devam edecektir. Kodun her doğru girilmesinde hata sayacı sıfırlanır.

Cihaz, 10...15 V gerilime sahip bir DC kaynağından beslenmektedir. 220 V şebekede elektrik kesildiğinde, kilit aküden çalışmaya devam eder. Böyle bir güç kaynağının en basit versiyonunun şeması Şek. 2.

Transformatör T1, 220 V'luk şebeke voltajını 15...20 V'a düşürür. Transformatörün sekonder sargısının maksimum akımı 1,5 A'dan az olmamalıdır. DA1, ayarlanabilir bir voltaj stabilizatörüdür. Yapı direnci R2'nin direncini değiştirerek, DA1 dengeleyicisinin çıkışında, şarj edilmiş pil GB1'in şarj akımının 100...200 μA'yı aşmadığı bir voltaj ayarlanır. Ayrıca yüksek akım tüketimi sırasında Y1 elektromıknatısı tetiklendiğinde akımın büyük kısmı akü tarafından sağlanır ve bu da DA1 dengeleyicinin aşırı yüklenmemesini sağlar. VD5 diyotu, girişinde voltaj eksikliği durumunda DA1 dengeleyiciyi korumak için tasarlanmıştır.

Akü 300...600 mA (kapasite - 7 Ah) akım sağlamalıdır. Stabilizatör DA1, 30...40 cm2 alana sahip bir soğutucu üzerine kurulmalıdır.

Klavye ayrı düğmelerden yapılabilir. Örneğin DIPTRONICS DSMW-66N uygundur. Ancak tuşlu bir telefondan veya hesap makinesinden hazır bir klavyeyi de kullanabilirsiniz. Kural olarak, böyle bir klavyeyi, düğmeleri uygun bir matriste birleştirerek bir cihaza kolayca bağlayabilirsiniz. HL1 LED'ini klavye paneli üzerine yerleştirmek de gereklidir.

Piezo emitör ZP serilerinden herhangi biri için uygundur. Elektromıknatıs Y1, teyp kayıt cihazının teyp tahrik mekanizmasından kullanılır, ancak herhangi biri uygundur, uygun boyuttadır ve maksimum sargı akımı 1,3 A'dan fazla değildir. Elektromıknatısın tükettiği akım 1 A'den fazla ise, daha sonra transistör VT1, 30..40 cm2 alana sahip bir soğutucu üzerine kurulmalıdır.

Firmware ile arşivle

Alan Parekh

Bu tasarım, devre tasarımının basitliği ile karakterize edilir; kodu girmek için, bir sonraki rakamı girerken bir duraklama gözlemleyerek, kod rakamına göre belirli sayıda basılması gereken yalnızca bir düğme kullanılır. Koddaki rakam sayısı 4'tür. Gizliliği artırmak için, kodu girmek için yalnızca bir düğmenin aktif olacağı bir klavye yerleştirebilirsiniz. Doğru kod girildiği takdirde sistem röleyi aktif hale getirecektir ancak sistem devreye girdiğinde diğer fonksiyonları da yapılandırmak mümkündür; bunun için cihaz programlama moduna geçmeniz gerekecektir.

Cihaz garaj kapısı kontrol sistemlerinde, aydınlatma kontrol sistemlerinde ve güvenlik sistemlerinde kullanılabilir.

Cihazın şematik diyagramı

Devrenin ana elemanı, düğmeye basılmasını izleyen, komut alındığında kullanıcıyı görsel olarak bilgilendiren ve rölenin durumunu kontrol eden PIC16F628A mikro denetleyicisidir. Görselleştirme için, kodu girmek için düğmeye paralel olarak bağlanan bir LED kullanılır; bu, düğmeyi gerekli yere kurmak ve bağlamak için yalnızca iki kablo kullanmanıza olanak tanır.

Cihaza güç vermek için 12 V'luk bir güç kaynağına ihtiyacınız olacak; devrede LM7805 voltaj regülatörü bulunur. LED D3 güç kaynağını gösterir.

Sistemin iki çalışma modu vardır: normal mod ve programlama modu. Normal modda cihaz ana görevini yerine getirir - tuşlara basılmasını izler ve kod doğru girildiğinde tepki verir. Programlama modunda sistemin temel parametreleri yapılandırılır: kod, aktivasyon süresi, çalışma modu.

Çalışma modunu (normal/programlama) değiştirmek için JP1 anahtarı kullanılır. Anahtar kapalıyken normal çalışma modu, açıkken programlama (ayarlar) modu. Güç uygulandığında bir mod veya diğerine girildiğine dikkat edilmelidir (güç uygulandığında anahtar durumu mikro denetleyici tarafından kontrol edilir). Bu nedenle, kurulum moduna girmek için anahtarı ayarlamanız ve güç uygulamanız gerekir; moddan çıkmak için anahtarı kapatmanız, kapatmanız ve ardından gücü açmanız gerekir.

1234 formunun kodunu girmek için eylem sırası aşağıdaki gibidir:

  • düğmeye 1 kez basın;
  • düğmedeki LED'in görsel onayını bekleyin (LED bir kez yanıp sönecektir);
  • düğmeye iki kez basın;
  • düğmeye üç kez basın;
  • düğmedeki LED'in görsel onayını bekleyin;
  • düğmeye 4 kez basın.

Dördüncü hane girildikten sonra sistem ayarlanan çalışma moduna uygun olarak çalışacaktır. Yanlış bir kod girilirse kullanıcı görsel bir uyarı görecektir (LED yanıp söner).

Kilit parametrelerini ayarlamak için programlama modu kullanılır. Bu modda seçenekler arasında geçiş yapmak için butona 3 saniye basılı tutulur. Düğmeyi bıraktıktan sonra bir sonraki menü öğesine geçeceksiniz ve LED, yanıp sönme sayısına göre hangi menü öğesinde olduğunuzu gösterecektir (örneğin, yanıp sönme, yanıp sönme, duraklatma, yanıp sönme, yanıp sönme, duraklatma,... - ikinci menü öğesinin seçildiği anlamına gelir).

Menü seçenekleri:

  1. Kod değişikliği- kullanıcı kodunu değiştirmek için kullanılır. Değiştirmek için kod normal çalışmadakiyle aynı şekilde girilir. Yeni kod kaydedildiğinde LED bunu sık sık yanıp sönerek gösterecektir;
  2. Aktivasyon zamanını değiştirme- aktif durumun zamanını değiştirmek için kullanılır. Bu menüde butona bir kez basıldığında bu süre 1 sn olarak değişir. Örneğin gerekli süre 10 saniye ise butona 10 defa basmanız gerekmektedir. Parametreler kaydedildiğinde LED bunu sık sık yanıp sönerek gösterecektir.
  3. Çalışma modu seçimi- röle kontrol modunu değiştirmek için kullanılır. İki çalışma modu vardır: doğru kod girildiğinde rölenin etkinleştirilmesi ve doğru kod girildiğinde rölenin durumunun değişmesi (devreye alma/devre dışı bırakma). İkinci modu seçerken cihaz şu şekilde hareket edecektir: Röle etkinleştirildiğinde ve doğru kod girildiğinde röle devre dışı bırakılır; bir sonraki doğru kod girildiğinde röle etkinleştirilir. Çalışma modunu değiştirmek için: Birinci modu seçmek için düğmeye bir kez, ikinci modu seçmek için iki kez basın.

Tüm parametreler mikro denetleyicinin kalıcı belleğinde saklanır.

Devre çift taraflı baskılı devre kartı üzerine monte edilmiştir.






Büyütmek için resmin üzerine tıklayın

İndirilenler

Mikrodenetleyici programlama için Hex dosyası -

  • Montajı yapıldı, parlatıldı, çalışıyor! Pano tek katmanlı bir pano olarak tasarlandı.
  • nasıl diktim (şimdiden TEŞEKKÜR EDERİM)
  • İcprog105D programını flashlıyordum ama programlayıcıyı uzun zaman önce yapmıştım ve ne dendiğini hatırlamıyorum. Ancak firmware'de herhangi bir sorun yoktu. Bu devreyi Proteus'ta kurdum ve orada çalıştı.
  • Modeli Proteus'a yükleyin.
  • Arşiv, Proteus 7.7 SP2 (Build9151) Seviye 3'te bir diyagram, animasyon ve mühür içerir. Baskılı devre kartındaki röle bir tür araba alarmından alınmış ve Proteus'un modeli benim tarafımdan yapılmıştır ve anime devresi aslında çalıştırabileceğiniz ve devrenin bir bütün olarak çalışmasını kontrol edebileceğiniz bir şeydir. Netlik sağlamak için röle yerine bir LED taktım.
  • MK'ye kilit yapma fikri fena değil ama kodu yazmak sakıncalı. Düşünün 9'u çevirmeniz gerekiyor, kaç kere basmanız gerekiyor. Tek haneli bir göstergeye ihtiyacınız var, düğmeyi istediğiniz sayı görünene kadar basılı tutarsınız, bırakırsınız ve moda bağlı olarak numara hatırlanır veya tanınır. Programlayamamam üzücü, yoksa bunu yapardım. Bağımsız çalışmaya yönelik tüm girişimler henüz başarı ile taçlandırılmadı. Model indirildi.
  • Bunu beğendin mi, basit bir kod ve kapıda hiç düğme yok http://shema.org.ua/forum/index.php?...&st=0#entry781
  • Kilit orijinaldir ancak anahtarlığı kaybedebilir ve kilitle korunan kapıdan geçemezsiniz. Ama tek tuşla! Kaybetmek zor ama bulmak daha da zor! Kodu girmek uzun zaman alır, ancak bulursanız onu ikinci bir yedek olarak kullanın, tabiri caizse yedekleyin! Son derece basit bir olayda, kapılar çarpıldı ancak anahtarlar kapıların arkasında bırakıldı. Ve bu tasarım tek tuşla yardımcı olacak! Ancak bir düğme olmayabilir; düğmenin rolü, çarpılarak kapanan aynı kapının kolu tarafından oynanacaktır. Daha fazla açıklamayacağım ve bu çok açık.
  • Elbette kaybedebilirsiniz ya da eski güzel günlerdeki gibi komşularınıza bırakabilirsiniz :) sadece kodu söylemeyin.

Şifreli kilit, değerli eşyaların bulunduğu tesislere yetkisiz erişimi kısıtlamaya yardımcı olacaktır. Bu makalede PIC16F628A mikrodenetleyicisine şifreli kilit uygulama seçeneklerinden biri verilmiştir.

Aşağıdaki şekil şifreli kilidin şemasını göstermektedir. Devrenin çekirdeği PIC16F628A mikrodenetleyicisidir. Temel komutları çalıştırma algoritması Şekil 2'de gösterilmektedir. Program kodu montaj dilinde yazılmıştır, proje arşivinin CL\16F628ATEMP.ASM klasöründeki listeye bakın. Cihaz tek tuşla kontrol edilmektedir. Düğmeye basıldığında cihazın çalışma modlarında sıralı bir değişiklik sağlanır. Düğmeye basma sesi bir piezo ses yayıcı tarafından sağlanır. Bilgileri görsel olarak görüntülemek için yerleşik denetleyiciye sahip bir ekran kullanılır.

PIC16F628A mikro denetleyicisinin devre içi programlama ve hata ayıklamasının tam döngüsü, MPLAB IDE v8.15 (entegre geliştirme ortamı), MPASM v5.22 derleyicisi (MPLAB IDE v8.15'e dahil) ve MPLAB ICD 2 (in-) kullanılarak gerçekleştirildi. devre hata ayıklayıcı). Yukarıda listelenen araçlara sahip olmayan ancak HEX dosyalarıyla çalışmak için kendi programı ve başka bir programcı olanlar için, ilgili projede 16F628ATEMP.HEX dosyasını bulabilirsiniz.

Mikrodenetleyici DD1, bilgi girişi ve çıkışı için kullanılan RA0, RB0 – RB7, CCP1 fonksiyonel pinlerine sahiptir. Mikrodenetleyici DD1'in zorunlu sıfırlama işlevi yoktur; sıfırlama pimi, direnç R1 aracılığıyla pozitif besleme potansiyeline bağlanır. Saat frekansını oluşturmak için çip üzerinde bir RC osilatörü kullanılır.

Tact düğmesi SB1, akım sınırlama direnci R3 aracılığıyla RA0 pinine bağlanır. SB1 saat düğmesinin serbest konumunda, direnç R7 düşük bir mantık seviyesini simüle eder. Mikrodenetleyici DD1, SB1 saat düğmesinin üç durumunu tanır:

  1. Basılmadı;
  2. Kısa süreliğine basıldı (1 saniyeden az);
  3. Basılı tutun (1 saniyeden fazla).

Piezo ses yayıcı P1, SB1 saat düğmesinin durumlarını ayırt etmeye yardımcı olur. Yani, durum 1'de ses üretilmez, durum 2'de mikro denetleyici durum 3'ü tanıyana kadar ses üretilir ve durum 3'te ses üretilmez.

HG1 likit kristal ekran bilgileri görüntülemek için kullanılır. Ekranın teknik özelliklerine web sitesinden ulaşılabilir. Karakter oluşturma işlevini uygulayan bir denetleyiciye sahiptir. Her biri on altı karakterden oluşan iki satırı görüntüler. Ekran, mikro denetleyicinin RB0, RB1, RB4 – RB7 pinleri aracılığıyla kontrol edilir. Veriler RB4 – RB7 pinleri aracılığıyla yarım parçacıklar halinde yüklenir. "Mandal" - RB1. RB0 pinindeki sinyal kaydını seçiyoruz. R5 ve R6 dirençlerini kullanarak HG1 ekranının kontrastını ayarladık. Ekran arka ışığı, akım sınırlayıcı direnç R4 aracılığıyla güce bağlanır. HG1 ekranı, 3 x 15 mm'lik pirinç ayırıcılar ve 3 x 6 mm'lik vidalarla panele vidalanır.

RB2 üzerinde mantık oluşturarak X1 terminal bloğuna bağlı elektrikli kilidi açıp kapatan alan etkili transistör VT1'in açılıp kapanmasını sağlarlar. Elektrikli kilit 9-15 V çalışma voltajına göre tasarlanmalı ve 1 A'dan fazla akım tüketmemelidir. Elektrikli kilide voltaj uygulandığında açılmalı, voltaj yoksa bloke edilmelidir (kapalı). ).

Çalışma sesi üretim frekansı 4 kHz olan bir piezo ses yayıcı P1, akım sınırlama direnci R2 aracılığıyla CCP1 pinine (PWM donanım uygulaması, frekans 4 kHz, görev döngüsü 2) bağlanır.

Cihaz, X2 konektörüne bağlı bir alternatif veya doğrudan voltaj kaynağından güç alır. Güç kaynağının nominal voltajı 9 - 15 V'dir. Güç kaynağının nominal akımı 1 A'dır. Güç kaynağını dengelemek için geleneksel bir devre kullanılır: bir diyot köprüsü VD1, bir doğrusal stabilizatör DA1, filtre kapasitörleri C1 - C4.

Cihaz –20 °C ile +70 °C arasındaki sıcaklık aralığında çalıştırılabilir.
Mikrodenetleyici on bir çalışma durumuna sahip olacak şekilde programlanmıştır.

  1. Cihaz açıldığında, kilit durumu ve kod verilerinin indirildiği kalıcı EEPROM veri belleği okunur. Cihaz, okuma kilidi durum kaydına göre elektrikli kilidi açar veya kapatır. Cihaz, kodlama istatistiklerini görüntüleyeceği bir duruma geçer; 2.
  2. Bu durumda cihazda “Stat. İstatistik." ve alt satırda kodlama istatistiklerini, yani kodlama sayısı ve kod çözme sayısını* görüntüler. Dokunma düğmesine kısa veya basılı basıldıktan sonra, kilit durum kaydı tarafından yönlendirilen cihaz, kilit açıksa kodlama durumuna geçer; 3 ve kilit kapalıysa kod çözme durumuna geçer; 4.
  3. Cihaz, ekranın üst satırında “Kod Kodu” yazısını görüntüler ve kodun girildiği duruma (“Kod Girişi” alt programı), yani. 5. Kodlama sayısı sayacı artırılır. Cihaz, kilidin durumunu değiştirdiği, kapattığı bir duruma girer, yani. 9.
  4. Cihaz, ekranın üst satırında “D.code Kodunu Çöz” yazısını görüntüler ve kodun girildiği duruma (“Kod Girişi” alt programı), yani. 5. Kod çözme numarası sayacı artırılır. Cihaz, girilen kodu kalıcı EEPROM belleğinde saklanan kodla karşılaştırır. Kod eşleşirse, cihaz kilidin durumunu değiştirip kilidi açacak duruma geçer, yani. 10 ve eğer kod eşleşmiyorsa, hata bilgisini görüntüleyecek duruma geçer; on bir.
  5. Dört haneli kodun ilk rakamı ekranın alt satırında köşeli parantez içinde vurgulanır. Saat düğmesine kısaca basıldığında girilen rakamın** kaydı artırılır. Tact butonu 1 saniyeden uzun süre basılı tutulursa cihaz, kodun ikinci basamağının seçildiği duruma geçer; 6.
  6. Dört haneli kodun ikinci hanesi ekranın alt satırında köşeli parantez içinde vurgulanır. Saat düğmesine kısaca basıldığında girilen rakamın** kaydı artırılır. Tact butonu 1 saniyeden uzun süre basılı tutulursa cihaz kodun üçüncü basamağının seçildiği duruma geçer; 7.
  7. Dört haneli kodun üçüncü hanesi ekranın alt satırında köşeli parantez içinde vurgulanır. Saat düğmesine kısaca basıldığında girilen rakamın** kaydı artırılır. Tact butonu 1 saniyeden uzun süre basılı tutulursa cihaz, kodun dördüncü basamağının seçildiği duruma geçer; 8.
  8. Dört haneli kodun dördüncü hanesi ekranın alt satırında köşeli parantez içinde vurgulanır. Saat düğmesine kısaca basıldığında girilen rakamın** kaydı artırılır. Taktik düğmesi 1 saniyeden uzun süre basılı tutulursa cihaz, "Kodu Girin" alt programının talep edildiği duruma geçer; 3 veya 4.
  9. Cihaz kilidi kapatır ve kilit durumunu ve kodunu kaydeder. Üst satırda “Kaydetiliyor” yazısı görüntülenir. ve alt satırda dört haneli bir kod var. Daha sonra cihaz, kodlama istatistiklerini görüntüleyeceği bir duruma geçer; 2.
  10. Cihaz kilidi açar ve kilit durumunu ve kodunu kaydeder. Üst satırda “Kaydetiliyor” yazısı görüntülenir. ve alt satırda dört haneli bir kod var. Daha sonra cihaz, kodlama istatistiklerini görüntüleyeceği bir duruma geçer; 2.
  11. Ekranın üst satırında “Hata Hatası”, alt satırında ise dört haneli bir kod görüntülenir. (Fotoğraf 4) İncelik düğmesine kısa veya uzun basıldıktan sonra cihaz, kodlama istatistiklerini görüntüleyecek duruma geçer; 2.

*Sayaç taştıktan sonra (65535'ten fazla), sıfırlanır ve sayma yeniden başlar, bu da istatistiklerde bir hataya yol açar, yani kodlama sayısı, kod çözme sayısından daha fazla olabilir. Bu nedenle sayaçların sıfırlanması için cihazın enerjisinin kesilmesi tavsiye edilir.

**9 rakamı artırıldığında sıfırlanır.

Mikrodenetleyicinin EEPROM belleği devre içi okumaya karşı korunduğundan (konfigürasyonda ayarlanmıştır), devredeki şifreyi okumak ve bulmak mümkün olmayacaktır ve bu nedenle elektrikli kilidi açmak mümkün olmayacaktır. Açmanın daha basit bir yolu var - elektrikli kilide doğrudan voltaj uygulamak. "Kodlu kilit" cihazının ve elektrikli kilidin yetkisiz kişilerin girişine karşı güvenilir bir şekilde korunması gerektiği sonucuna vardım. Düğme ve ekrana serbestçe erişilebilmelidir.

Cihazın enerjisinin kesilebileceğini ancak kilit durumu ve kodun, kod girildikten sonra hala kalıcı EEPROM belleğinde saklandığını belirtmekte fayda var. Kodun kalıcı EEPROM hafızasında saklanması sırasında cihazın enerjisinin kesilmesi yasaktır.

Cihazın çalışmasında önemli bir ayrıntıya dikkat etmeye değer. Cihaz açıldığında, elektrikli kilidin kapalı durumunun kalıcı EEPROM hafızasında saklanmasına rağmen, elektrikli kilidi kısa süreliğine (1 saniyeden daha kısa bir süre için) açabilir. MPLAB IDE'de program kodunun yürütülmesini simüle ederken bu hatayı tespit etmedim. EEPROM hafızasına kod kaydedilirken beklenmedik bir şekilde cihazın enerjisi kesilirse, kod yanlış kaydedilebilir ve geri getirilmesi mümkün olamayabilir, bu da mikrodenetleyicinin yeniden programlanmasına yol açacaktır. Bu nedenle, cihaza istikrarlı ve (veya) yedek güç kaynağı ihtiyacı hakkında öneri. GB1 – yedek güç kaynağı.

Baskılı devre kartı oluşturmaya yönelik dosyalar klasörde bulunabilir.

Bu ünitede aşağıdaki parçalar değiştirilebilir. DIP18 paketinde 20 MHz çalışma saat frekansına sahip PIC16F628A-I/P-xxx serisinden mikrodenetleyici DD1. HG1 ekran WH1602x serilerinden herhangi birine uyacaktır. Gerilim dengeleyici DA1 yerli KR142EN5A (5 V, 1,5 A). Bir I-Pak paketindeki (TO-251AA) MOSFET alan etkili transistör VT1 (N-kanal), şemada belirtilen nominal değerin bir analogu uygundur. 4 kHz çalışma sesi oluşturma frekansına sahip Piezo ses yayıcı P1. VD1 diyot köprüsü 2Wxx serisinin herhangi birinden kullanılabilir. Güç konektörü X2, d=2,1 mm merkezi kontağı ile şemada gösterilene benzer. Nominal değeri 0,01 – 0,47 µF x 50 V olan polar olmayan kapasitörler C1 ve C2. Elektrolitik kapasitörler C3 ve C4 aynı kapasitif değere sahiptir ve voltaj şemada gösterilenden daha düşük değildir.

Kod kilidi projesiyle arşivi indirin: 16F628Code_Lock.rar



İlgili yayınlar