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:
- 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.
- 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.
- 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:
- 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;
- 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.
- Ç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.