• IR uzaktan kumanda. uzaktan kumanda. Kontrol teorisi

    Kızılötesi uzaktan kumanda en çok kullanılanlardan biridir. basit yollar elektronik cihazlarla etkileşim. Yani, hemen hemen her evde bu tür birkaç cihaz var: TV, müzik merkezi, video oynatıcı, klima. Ancak kızılötesi uzaktan kumandanın en ilginç uygulaması, robotun uzaktan kumandasıdır. Aslında, bu derste popüler Arduino Uno denetleyicisini kullanarak böyle bir kontrol yöntemini uygulamaya çalışacağız.

    1. Kızılötesi uzaktan kumanda

    Robota kızılötesi (IR) uzaktan kumandaya uymayı öğretmek için ne gereklidir? İlk olarak, uzaktan kumandanın kendisine ihtiyacımız var. Normal bir TV uzaktan kumandası kullanabilir veya minyatür bir araba radyosu uzaktan kumandası satın alabilirsiniz. Robotları kontrol etmek için sıklıkla kullanılan bu uzaktan kumandalardır.

    Bu uzaktan kumandada 10 dijital düğme ve müzik işleme için 11 düğme bulunur: ses düzeyi, geri sarma, oynatma, durdurma vb. Bizim amaçlarımız için fazlasıyla yeterli.

    2. IR sensörü

    İkinci olarak, uzaktan kumandadan sinyal almak için özel bir IR sensörüne ihtiyacımız var. Genel olarak, kızılötesi radyasyonu geleneksel bir fotodiyot/fototransistör ile tespit edebiliriz, ancak bunun aksine, bizim IR sensörümüz sadece 38 kHz (bazen 40 kHz) frekansındaki kızılötesi sinyali tespit eder. Sensörün, aydınlatma lambalarından ve güneşten gelen çok sayıda dış ışık gürültüsünü göz ardı etmesini sağlayan bu özelliktir.

    Bu eğitim için popüler IR sensörünü kullanacağız. VS1838B, aşağıdaki özelliklere sahiptir:

    • taşıyıcı frekansı: 38 kHz;
    • besleme voltajı: 2,7 - 5,5 V;
    • akım tüketimi: 50 uA.

    Diğer sensörler kullanılabilir, örneğin: TSOP4838, TSOP1736, SFH506.

    3. Bağlantı

    Sensörün üç çıkışı vardır (üç ayak). Sensöre şekilde gösterildiği gibi IR sinyal alıcısının yanından bakarsanız,

    • sonra solda - denetleyiciye çıkış olacaktır,
    • merkezde - negatif güç kontağı (toprak),
    • ve sağda - pozitif bir güç kontağı (2,7 - 5,5V).

    Ana bağlantı şeması

    Düzen görünümü

    4. Program

    IR sensörünü bağlayarak Arduino Uno için bir program yazacağız. Bunu yapmak için standart kütüphaneyi kullanıyoruz. IRuzaktan, sadece IR sinyallerinin alınması ve iletilmesi ile çalışmayı basitleştirmek için tasarlanmıştır. Bu kitaplığın yardımıyla konsoldan gelen komutları kabul edeceğiz ve yeni başlayanlar için bunları monitör penceresinde gösterelim. seri port. Bu program, her düğmenin hangi kodu verdiğini anlamak için bizim için yararlıdır.

    #include "IRremote.h" IRrecv irrecv(2); // alıcının bağlı olduğu çıkışı belirtin decode_results; geçersiz kurulum() ( Serial.begin(9600); // ayarla COM hızı bağlantı noktası irrecv.enableIRIn(); // almaya başla) geçersiz döngü() ( if (irrecv.decode(&results)) ( // eğer veriler Serial.println(results.value, HEX); // verileri yazdır irrecv.resume(); // kabul et sonraki komut))

    Program Arduino'ya yükleniyor. Daha sonra konsoldan komut almaya çalışıyoruz. Seri port monitörünü açın (Ctrl+Shift+M), uzaktan kumandayı alın ve sensöre doğrultun. Farklı butonlara basarak monitör penceresinde bu butonlara karşılık gelen kodları gözlemliyoruz.

    Program indirme sorunu

    Bazı durumlarda, denetleyiciye bir program indirmeye çalışırken bir hata görünebilir:

    TDK2 değildi kapsamında ilan edildi

    Düzeltmek için kitaplık klasöründen iki dosyayı silmeniz yeterlidir. Kondüktöre gidiyoruz. Uygulamanın kurulu olduğu klasöre gidin Arduino IDE'si(büyük olasılıkla "C:\Program Files (x86)\Arduino") şeklindedir. Ardından kütüphane klasörüne:

    …\Arduino\libraries\RobotIRremote

    Ve dosyaları silin: IRremoteTools.cpp Ve IRremoteTools.h. Ardından, Arduino IDE'yi yeniden başlatıyoruz ve programı denetleyiciye tekrar yüklemeye çalışıyoruz.

    5. LED'i IR uzaktan kumandayla kontrol edin

    Artık uzaktan kumandadaki düğmelere hangi kodların karşılık geldiğini bildiğimize göre, denetleyiciyi ses düğmelerine basıldığında LED'i açıp kapatacak şekilde programlamaya çalışıyoruz. Bunu yapmak için kodlara ihtiyacımız var (uzaktan kumandaya bağlı olarak farklılık gösterebilir):

    • FFA857 - sesi artırın;
    • FFE01F - ses kısma.

    Bir LED olarak, pin #13'te yerleşik LED'i kullanıyoruz, böylece bağlantı şeması aynı kalacaktır. Yani program:

    #include "IRremote.h" IRrecv irrecv(2); // alıcının bağlı olduğu çıkışı belirtin decode_results; void setup() ( irrecv.enableIRIn(); // almaya başla ) void loop() ( if (irrecv.decode(&results)) ( // if data switch (results.value) ( ​​case 0xFFA857: digitalWrite) (13, YÜKSEK); break; case 0xFFE01F: digitalWrite(13, LOW); break; ) irrecv.resume(); // aşağıdaki komutu kabul et ) )

    Arduino'ya yükleyin ve test edin. Tıklamak ses+- LED yanar. Tıklamak vol-- dışarı çıkar. Artık her şeyin nasıl çalıştığını bilerek, LED yerine robotun motorlarını veya diğer ev yapımı mikroelektronik cihazları kontrol edebilirsiniz!

    Herkese selam! Burada en basit IR kontrolünün () nasıl yapılacağından bahsedeceğiz. Hatta bu devreyi normal bir TV uzaktan kumandası ile kontrol edebilirsiniz. Sizi hemen uyarıyorum, mesafe çok büyük değil - yaklaşık 15 santimetre, ancak böyle bir sonuç bile işe yeni başlayanları memnun edecek. Ev yapımı bir vericiyle, menzil iki katına çıkar, yani yaklaşık olarak 15 santimetre daha artar. Uzaktan kumanda ünitesi basit bir şekilde yapılmıştır. Ayarlama sırasında bir IR LED'i 100-150 ohm'luk bir dirençle 9 voltluk bir "taca" bağlarız normal düğme sabitlemeden, elektrik bandı ile aküye yapıştırıyoruz, elektrik bandı ise IR LED'in kızılötesi radyasyonuna müdahale etmemelidir.

    Fotoğraf, devreyi monte etmek için ihtiyacımız olan tüm unsurları göstermektedir.

    1. Fotodiyot (neredeyse her şey mümkündür)
    2. 1 ohm ve 300-500 ohm için direnç (Açıklık için, fotoğrafta 300 ve 500 ohm'a dirençler koydum)
    3. Düzeltici direnci 47 kohm.
    4. Akım ve yapı bakımından transistör KT972A veya benzeri.
    5. Düşük voltajlı herhangi bir LED kullanılabilir.

    Tek bir transistörde IR kontrol alıcısının şematik diyagramı:


    Bir fotodedektör yapmaya başlayalım. Planı bir referans kitabından alınmıştır. İlk önce tahtayı kalıcı bir kalemle çizin. Ancak menteşeli montajda bile yapabilirsiniz, ancak bunu textolite üzerinde yapmanız tavsiye edilir. Anakartım şöyle görünüyor:


    Şimdi, elbette, elemanları lehimlemeye devam ediyoruz. Transistörün lehimlenmesi:



    1 kOhm (Kilohm) direnci ve bir trim direnci lehimliyoruz.


    Ve son olarak, son elemanı lehimliyoruz - bu 300 - 500 Ohm'luk bir direnç, 300 Ohm ayarladım. şununla gönderdi: ters taraf baskılı devre kartı, çünkü mutasyonel pençeleri nedeniyle ön taraftan Pripyat yapmama izin vermedi =)


    Rosin kalıntılarını yıkamak için her şeyi bir diş fırçası ve alkolle temizliyoruz. Her şey hatasız monte edilmişse ve fotodiyot çalışıyorsa, hemen çalışacaktır. Yapılış videosunu aşağıdan izleyebilirsiniz:

    Videoda, aynı anda kameraya ve uzaktan kumandaya bakmak gerektiğinden mesafe küçüktür. Bu nedenle uzaktan kumandanın yönüne odaklanamadım. Fotodiyot yerine fotodirenç koyarsanız ışığa tepki verir, kişisel olarak doğrulanmıştır, hassasiyet orijinal fotodirenç devrelerinden bile daha iyidir. Devreye 12v uyguladım, iyi çalışıyor - LED parlak bir şekilde yanıyor, foto direncin parlaklığı ve hassasiyeti ayarlanıyor. Şu anda, bu şemaya göre, IR alıcısına 220 volttan güç verebilmem için elemanlar seçiyorum ve ampulün çıkışı da 220V oldu. Sağlanan şema için teşekkürler: thehunteronghosts . Malzemeyi sağlayan:

    En modern ev elektronik ekipman bilgi aktarma yöntemi olarak kızılötesi (IR) radyasyon kullanan bir uzaktan kumandaya sahiptir. IR veri kanalı, ürettiğimiz " " sistemin bazı cihazlarında kullanılmaktadır.

    IR bilgi iletimi ilkesi

    Kızılötesi veya termal radyasyon Elektromanyetik radyasyon, belirli bir sıcaklığa ısıtılmış herhangi bir vücut yayar. IR aralığı, spektrumun görünür ışığa en yakın bölgesinde, uzun dalga boyunda yer alır ve yaklaşık 750 nm ila 1000 μm arasındaki bölgeyi kaplar. Kızılötesi radyasyon, akkor lambaların yaydığı radyasyonun çoğunu, güneşten gelen radyasyonun yaklaşık yarısını oluşturur. Kızılötesi radyasyondaki maddelerin optik özellikleri, görünür ışıktaki özelliklerinden farklıdır. Örneğin, bazı camlar kızılötesi ışınlara karşı opaktır ve parafin, görünür ışığın aksine, kızılötesi radyasyona karşı şeffaftır ve kızılötesi lensler yapmak için kullanılır. Kayıt için termal ve fotoelektrik alıcılar ve özel fotoğraf malzemeleri kullanılır. Kızılötesi ışınların kaynağı, ısıtılmış gövdelere ek olarak, en yaygın olarak kullanılan katı hal yayıcılardır - IR lazerler; kayıt için fotodiyotlar, ön dirençler veya bolometreler kullanılır. Kızılötesi radyasyonun bazı özellikleri, onu veri aktarım cihazlarında kullanıma uygun hale getirir:

    • IR katı hal emitörleri (IR LED'ler) kompakt, neredeyse ataletsiz, ekonomik ve ucuzdur.
    • IR alıcıları küçüktür ve aynı zamanda ucuzdur
    • Kızılötesi ışınlar, görünmez olmaları nedeniyle bir kişinin dikkatini dağıtmaz.
    • Kızılötesi ışınların yaygınlığına rağmen ve yüksek seviye"arka plan", IR bölgesinde birkaç dürtü gürültüsü kaynağı vardır
    • Düşük güçlü IR radyasyonu insan sağlığını etkilemez
    • IR ışınları çoğu malzemeden (duvarlar, mobilyalar) iyi yansıtılır
    • IR radyasyonu duvarlara nüfuz etmez ve diğer benzer cihazların çalışmasına müdahale etmez.

    Bütün bunlar, birçok cihazda bilgi iletmek için IR yöntemini başarıyla kullanmayı mümkün kılar. Kızılötesi vericiler ve alıcılar, tüketici ve endüstriyel elektronikte kullanılır, bilgisayar Teknolojisi, güvenlik sistemleri, fiber optik ile uzak mesafelere veri iletim sistemleri. Tüketici elektroniği kontrol sistemlerinin (uzaktan kumandalar) çalışmasını daha ayrıntılı olarak ele alalım.

    Bir düğmeye basıldığında, IR uzaktan kumanda kodlu bir mesaj gönderir ve kontrol edilen cihaza takılı alıcı bunu alır ve gerekli işlemleri gerçekleştirir. Mantıksal bir diziyi iletmek için, uzaktan kumanda, bilginin paketi oluşturan darbelerin süresi veya fazı tarafından modüle edildiği veya kodlandığı bir IR ışınları darbe paketi üretir. İlk kontrol cihazları, her biri sistemin bir parçası olan kısa darbe dizileri kullandı. kullanışlı bilgi. Bununla birlikte, gelecekte, sabit bir frekansı mantıksal bir sırayla modüle etme yöntemini kullanmaya başladılar, bunun sonucunda uzaya tek darbeler değil, belirli bir frekanstaki darbe paketleri yayıldı. Veriler zaten bu frekans patlamalarının süresi ve konumu ile kodlanmış olarak iletilir. IR alıcısı böyle bir diziyi alır ve bir zarf elde etmek için demodülasyon gerçekleştirir. Bu iletim ve alım yöntemi, yüksek gürültü bağışıklığı ile karakterize edilir, çünkü verici frekansına ayarlanan alıcı, artık farklı bir frekanstaki parazite yanıt vermez. Günümüzde, bir IR sinyalini almak için genellikle özel bir mikro devre kullanılır, bir fotodedektörü, belirli bir taşıyıcı frekansına ayarlanmış bir bant geçiren filtreye sahip bir amplifikatörü, AGC'li bir amplifikatörü ve sinyal zarfını elde etmek için bir dedektörü birleştirir. Elektrik filtresine ek olarak, böyle bir mikro devre, emisyon spektrumu küçük bir genişliğe sahip olan LED yayıcıdan maksimum ölçüde yararlanmayı mümkün kılan, alınan IR radyasyonunun frekansına ayarlanmış bir optik filtre içerir. . Bunun bir sonucu olarak teknik çözümler, diğer kaynaklardan IR radyasyonunun arka planına karşı düşük güçlü faydalı bir sinyal almak mümkün hale geldi, Ev aletleri, ısıtma radyatörleri, vb. İş modern cihazlar Kızılötesi kontrolü oldukça güvenilirdir ve menzil, uygulamaya ve parazit düzeyine bağlı olarak birkaç metreden 40 metreye kadar veya daha fazladır.

    kızılötesi sinyal verici

    Kızılötesi sinyalinin vericisi olan kızılötesi uzaktan kumanda genellikle bir pil veya akümülatörle çalışır. Bu nedenle, tüketimi mümkün olduğunca düşük olmalıdır. Öte yandan, yayılan sinyal, garanti etmek için önemli bir güce sahip olmalıdır. uzun mesafe bulaşma. Enerji maliyetleri açısından tam tersi olan bu tür problemler, kısa darbeli kodlanmış paketlerin iletilmesi yöntemi ile başarılı bir şekilde çözülmektedir. Aktarımlar arasında, uzaktan kumanda neredeyse hiç enerji tüketmez. Uzaktan kumanda denetleyicisinin görevi, klavye düğmelerini yoklamak, bilgileri kodlamak, referans frekansını modüle etmek ve yayıcıya bir sinyal vermektir. Konsol üretimi için çeşitli özel mikro devreler ancak AVR veya PIC gibi modern genel amaçlı mikrodenetleyiciler de bu amaçlar için kullanılabilir. Bu tür mikrodenetleyiciler için temel gereksinim, son derece düşük güçlü bir uyku modunun bulunması ve bu durumda düğmelere basıldığını hissedebilme yeteneğidir.

    IR sinyal yayıcı, bir uyarma akımının etkisi altında kızılötesi ışınlar yayar. Vericiye giden akım genellikle mikrodenetleyicinin yeteneklerini aşar, bu nedenle gerekli akımı oluşturmak için en basit olanı bir transistöre kurulur. Kayıpları azaltmak için, bir transistör seçerken, mevcut amplifikasyon faktörüne - β veya h21 - dikkat etmeniz gerekir. Bu katsayı ne kadar yüksek olursa, cihazın verimliliği o kadar yüksek olur. Modern vericiler, kullanılan frekanslarda verimliliği sınırlayıcı olarak kabul edilebilecek alan veya CMOS transistörleri kullanır.

    Yukarıdaki şema dezavantajsız değildir, özellikle pil şarj seviyesi düştüğünde, radyasyon gücü düşecek ve bu da menzilde bir azalmaya yol açacaktır. Besleme voltajına bağımlılığı azaltmak için en basit akım dengeleyiciyi kullanabilirsiniz.

    Çoğu verici 30 - 50 kHz frekansında çalışır. Bu frekans aralığı, ilkini oluştururken tarihsel olarak seçilmiştir. benzer cihazlar. En düşük parazit seviyesine sahip alan seçildi. Ayrıca, kısıtlamalar eleman tabanı. Gelecekte, böyle bir kontrol yöntemine sahip ekipman standartlaştırılıp dağıtıldığından, diğer frekanslara geçiş uygunsuz hale geldi.

    Vericinin darbe gücünü ve buna bağlı olarak menzilini artırmak için, temel frekans sinyali menderesten farklıdır ve 3 - 6 görev döngüsüne sahiptir. Böylece, darbe gücü korunurken ve hatta azalırken artar orta güç. LED'in darbe akımı, pasaport değerlerine göre seçilir ve bir veya daha fazla Ampere ulaşabilir. Çoğu IR uzaktan kumandadaki darbe akımı 100 mA'yı geçmez. Bu durumda referans frekansı da düşük görev döngüsüne sahip olduğundan ve şifrelenen mesajın süresi 20-30 ms'yi geçmediğinden, düğmeye basıldığında ortalama akım bir miliamper'i geçmez. Artırmak darbe akımı LED, verimlilikte azalma ve hizmet ömründe azalma ile ilişkilidir. Modern kızılötesi LED'ler, 50 mA akımda 100-200 mW yayılan enerji verimliliğine sahiptir. İzin verilen ortalama akım 10-20 mA'yı geçmemelidir. LED güç kaynağı, darbe gürültüsünün mikrodenetleyici güç kaynağı üzerindeki etkisini azaltan bir RC filtresine sahip olmalıdır. Çoğu ev aletinin IR uzaktan kumandası için kullanılan LED aralığı maksimum 940 nm civarındadır.

    için referans frekansının tek bir paketinin süresi kendinden emin karşılama 12-15 periyottan az ve 200 periyottan fazla olamaz. Kodlanmış bir mesajı iletirken, verici başlangıçta referans frekansının bir veya daha fazla paketi olan ve alıcının gerekli kazanç ve arka plan seviyelerini ayarlamasına izin veren bir giriş oluşturur. Kodlanmış bir paketteki veriler, süre veya faz (bitişik paketler arasındaki mesafe) tarafından belirlenen sıfırlar ve birler olarak iletilir. Kodlanmış mesajın toplam süresi genellikle birkaç bit ile birkaç on bayt arasında değişir. Dizinin sırası, başlangıcın işareti ve veri miktarı mesajın formatına göre belirlenir.

    kızılötesi sinyal alıcısı

    IR sinyal alıcısı, kural olarak, IR radyasyon alıcısının kendisini ve mikrodenetleyiciyi içerir. Mikrodenetleyici alınan sinyali çözer ve gerekli işlemleri gerçekleştirir. Alıcı çoğu durumda ekipmana monte edildiğinden şebeke gücü, tüketimi önemli değil. Mikrodenetleyici çoğunlukla diğer işlemleri gerçekleştirir. servis fonksiyonları cihazda bulunur ve merkezi mantıksal cihazıdır.

    Kızılötesi radyasyon alıcısı çoğunlukla, kontrol edilen ekipmanın ön panelinin arkasında bulunan ayrı bir entegre modül şeklinde yapılır. Ön panelde IR ışınları için şeffaf bir pencere bulunur. Kural olarak, böyle bir mikro devrenin üç çıkışı vardır - güç, ortak ve sinyal çıkışı. Üreticiler elektronik parçalar kızılötesi sinyal alıcıları sunun çeşitli tipler ve yürütme. Ancak, çalışma prensibi benzerdir. Böyle bir mikro devrenin içinde şunlar bulunur:

    • fotodedektör - fotodiyot
    • yararlı sinyali arka plan düzeyinde çıkaran entegre amplifikatör
    • sinyali bir mantık seviyesine getiren sınırlayıcı
    • verici frekansına ayarlanmış bant geçiş filtresi
    • demodülatör - faydalı sinyalin zarfını çıkaran bir detektör.

    Böyle bir alıcının mahfazası, belirli bir dalga boyundaki kızılötesi ışınları ileten ek bir filtre görevi gören bir malzemeden yapılmıştır. Modern entegre alıcılar, yararlı bir sinyali onlarca kez aşan bir arka plan seviyesinde almayı ve aynı zamanda yalnızca 4 ila 5 periyodu olan frekans patlamalarını hissetmeyi mümkün kılar.

    Duyarlılığı artırmak için radyasyon alıcısına bir RC filtresi ile güç verilmelidir. Mikrodenetleyici, güç hatlarında alıcının çalışmasını etkileyebilecek çok çeşitli parazitler üretir.

    IR iletim formatları

    Farklı ev aletleri üreticileri, ürünlerinde farklı IR uzaktan kumandalar kullanır. Çünkü uzaktan kumanda yalnızca şunlarla iletişim kurmalıdır: belirli cihaz, kendi ekipman tipine özgü bir veri dizisi üretir. İletilen veriler, gerçek kontrol komutuna ek olarak cihaz adresini, test verilerini ve diğer bilgileri içerir. servis bilgisi. Ayrıca, çeşitli üreticilerin kullandığı çeşitli yollar veri sıralama ve mantıksal durumları aktarmanın çeşitli yolları. Bilgi bitlerini kodlamanın en yaygın yolları, paketler arasındaki duraklama süresinin değiştirilmesi (aralık yöntemi) ve durumların bir kombinasyonu ile kodlamadır (iki fazlı yöntem). Bununla birlikte, bilgi bitlerini süreye, süre ve duraklama kombinasyonuna vb. göre kodlamanın yolları vardır. En yaygın iletim formatları.

    Uzaktan kumanda geçmişi

    Uzaktan kumanda cihazlarının en eski örneklerinden biri 1893 yılında Nikola Tesla tarafından icat edilmiş ve patenti alınmıştır.

    İlk TV uzaktan kumandası bir Amerikan şirketi tarafından geliştirildi. Zenith Radyo Şirketi 1950'lerin başında. Televizyona kablo ile bağlıydı. 1955 yılında kablosuz uzaktan kumanda geliştirildi. Flaşmatik, fotosel yönünde bir ışık huzmesi göndermeye dayanır. Ne yazık ki fotosel, uzaktan kumandadan gelen ışığı diğer kaynaklardan gelen ışıktan ayıramadı. Ayrıca uzaktan kumandayı tam olarak alıcıya doğrultmak gerekiyordu.

    Uzaktan kumanda Zenith Uzay Komutanı 600

    Evrensel uzaktan kumanda Uyum 670

    Savaş

    • Birinci Dünya Savaşı'nda Alman Donanması, kıyı filosuyla savaşmak için özel tekneler kullandı. İçten yanmalı motorlarla çalıştırıldılar ve bir sahil istasyonundan uzaktan kontrol edildiler.

    bir gemide bir makaraya bağlı birkaç mil uzunluğunda bir kabloyla. Uçak, kesin rehberlikleri için kullanıldı. Bu tekneler pruvada büyük bir patlayıcı yükü taşıyordu ve 30 deniz mili hızla ilerliyordu.

    • İşçi ve Köylü Kızıl Ordusu, 1939-1940 Sovyet-Finlandiya Savaşı'nda ve Büyük Vatanseverlik Savaşı'nın başlangıcında uzaktan kumandalı tanklar kullandı. Teletank 500-1500 m mesafedeki kontrol tankından telsiz ile kontrol edilerek telemekanik grup elde edilmiştir. Kızıl Ordu, İkinci Dünya Savaşı'nın başında en az iki teletank taburu kurdu. Kızıl Ordu'nun ayrıca uzaktan kumandalı tekneleri ve deneysel uçakları vardı. Bu arada, Alman tank taburları tamamen telsizle donatılmıştı, her tankta bir telsiz vardı, bu da Alman teknolojisinin ve endüstrisinin savaşın başlangıcındaki muazzam üstünlüğünü gösteriyor.
    • Zamanımızda uzaktan kumandanın özel amaçlarla kullanımına ilişkin ayrıntılı bilgiler çoğunlukla sınıflandırılmıştır.

    Havacılık

    Uçağın hemen hemen tüm aviyonikleri ve diğer araç üstü ekipmanları kokpitte bulunan uzaktan kumandalar ile kontrol ediliyor, yer ekipmanlarında da uzaktan kumanda mevcut.

    Su ulaştırma

    Gemi donanımının önemli bir kısmı uzaktan kumanda ile kontrol edilmektedir.

    Demiryolu ve metro

    Uzaktan kumandalar, tren ekipmanlarını, ray ekipmanlarını, istasyon ekipmanlarını (yürüyen merdiven, aydınlatma vb.) kontrol etmek için kullanılır.

    Endüstriyel üretim ve inşaat

    Bazı endüstriyel ve inşaat ekipmanı türleri uzaktan kumanda kullanılarak kontrol edilebilir.

    Araştırma ve üretim teknik laboratuvarları

    Bazı laboratuvar ekipmanı türleri uzaktan kumanda ile kontrol edilir.

    Uzay

    • Uzaktan kumanda teknolojisi uzay araştırmalarında da kullanılmıştır. Sovyet Lunokhod, Dünya'dan uzaktan kontrol ediliyordu. Uzay aracının daha uzun mesafelerde doğrudan uzaktan kontrolü, artan sinyal gecikmesi nedeniyle pratik değildir.
    • Astronotların kabininde, uzay aracının ekipman ve motorlarını kontrol etmek için uzaktan kumanda panelleri bulunuyor.

    İletişim ve diğer bilgi teknolojisi sistemleri

    Uzaktan kumanda tekrarlayıcılara, radyo işaretlerine ve ayrıca iletişim radyo istasyonlarına, radarlara ve diğer sistemlere sahip olabilir

    Enerji endüstrisi

    Elektrik enerjisi endüstrisinde, güç sistemi tesislerini kontrol etmek ve enerji tüketimini yönetmek için uzaktan kumanda üniteleri kullanılır.

    Arsa veya "Cihaz nasıl başladı"

    …Geldiğimde Victoria kanepede oturmuş televizyona bakıyordu. Gün zordu, bu yüzden hiçbir şey yapmak istemedi. Birkaç dakika bir tür pop dizisi izledik, sonra bitti ve Vika televizyonu kapattı. Oda karardı. Dışarıda yağmur yağıyordu, bu da evin soğuk görünmesine neden oluyordu.
    Vika kanepeden kalktı ve dokunarak lambanın anahtarını aramaya başladı. Nedense, duvar lambası kanepenin yanında değil, başka bir duvarda asılıydı ve ışığı yakmak için odanın karşısına geçmek zorunda kaldım. Sonunda açtığında, oda akkor ampulün sıcak ışığıyla doldu.
    Yanımda, buruşuk bir çarşafın üzerine televizyonun uzaktan kumandasını koydum. Alt düğmeler işaretlenmemiş ve büyük olasılıkla kullanılmıyor. Sonra aklıma ilginç bir fikir geldi...
    - Vic, lambanı kutudan çıkan uzaktan kumandayla yakmamı ister misin? Fazladan düğmeler bile var...

    Konsept
    Cihazımız IR uzaktan kumandadan sinyal alabilmeli, “onun” butonunu diğerlerinden ayırt edebilmeli ve yükü kontrol edebilmelidir. İlk ve son noktalar bir balta kadar basittir. Ama ikincisi biraz daha ilginç. Belirli bir uzaktan kumandayla sınırlı kalmamaya (Neden? - "İlginç değil!"), bununla birlikte çalışabilecek bir sistem yapmaya karar verdim. farklı modeller uzaktan kumandalar farklı ekipman. Keşke IR alıcısı pes etmeseydi ve güvenle sinyali yakalasaydı.

    Bir fotodedektör kullanarak sinyali yakalayacağız. Ve her alıcı uygun değildir - taşıyıcı frekansı, uzaktan kumandanın frekansıyla eşleşmelidir. Alıcının taşıyıcı frekansı, işaretinde belirtilir: TSOP17xx - 17, alıcı modelidir ve xx, kilohertz cinsinden frekanstır. Ve uzaktan kumandanın taşıyıcı frekansı belgelerde veya internette bulunabilir. Prensip olarak, frekanslar eşleşmese bile sinyal alınacaktır, ancak hassasiyet sıfır olacaktır - uzaktan kumandayı doğrudan alıcıya sokmanız gerekir.

    Üreten her firma Ev aletleri, "demir" imalatında standartlara uymak zorunda kalmaktadır. Ve konsolların modülasyon frekansları da standarttır. Ancak geliştiriciler yazılım tarafında öne çıkıyor - uzaktan kumanda ile cihaz arasındaki değişim protokollerinin çeşitliliği tek kelimeyle harika. Bu nedenle, değişim protokolünü umursamayan evrensel bir algoritma bulmam gerekiyordu. Şu şekilde çalışır:

    Cihaz hafızası depolar kontrol noktaları. Bu tür her nokta için, IR alıcısından zamanı ve çıkış durumunu kaydetmeniz gerekir - 0 veya 1.
    Uzaktan kumandadan bir sinyal alırken, MK sırayla her noktayı kontrol edecektir. Tüm noktalar eşleşirse, bu, cihazın programlandığı düğmenin aynısıydı. Ve alıcıdan en az bir noktada çıktı şablonla eşleşmiyorsa, cihaz hiçbir şekilde tepki vermeyecektir.

    Ancak, hiç kimse böcekleri iptal etmedi! Sinyalin şablondan farklı olması mümkündür, ancak
    kontrol noktalarında değerler aynı olacaktır. ortaya çıktı yanlış alarm. Görünüşe göre - nadir bir zapadlo ve onunla savaşmak zor! Ama aslında, her şey o kadar da kötü değil (ve hatta bazı yerlerde iyi).

    İlk olarak, bizde dijital sinyal, bu, dürtülerin sürekli gecikmelerle (zamanlamalar) geldiği ve basitçe ortaya çıkmadığı anlamına gelir. Bu nedenle, noktalar yeterince yoğunsa, bazı dürtülerin kaçırılacağından korkamazsınız.

    İkincisi, küçük gürültü (genellikle nadir kısa darbelere benziyor) çoğu durumda bir orman gibi gider - çünkü doğrudan kontrol noktasına düşmezse, sistemi hiçbir şey etkilemez. Yani doğal gürültü korumamız var.

    İkinci tür hata (Komut Eksik), noktanın darbenin kenarına (alıcının çıkışındaki sinyalin seviyesini değiştirdiği yere) çok yakın olmasından kaynaklanır.
    Kesme noktasından birkaç mikrosaniye sonra sinyalin YÜKSEK'ten DÜŞÜK'e değişmesi gerektiğini hayal edin. Şimdi konsolun normalden biraz daha hızlı bir komut verdiğini hayal edin (bu oldukça sık olur). Darbe cephesi zamanda değişti ve şimdi kontrol noktasından ÖNCE gerçekleşiyor! Alıcıdan gelen çıktı desenle eşleşmiyor ve sistem sıfırlanacak.
    Bunun olmasını önlemek için kontrol noktalarını cephelerden uzağa yerleştirmeniz gerekir.

    “Her şey harika” diyorsunuz, “Ama kontrol noktalarını nereden alacağım?” Bu yüzden uzun zamandır bu konuya takıldım. Sonuç olarak, puanların yerleşimini size emanet etmeye karar verdim.
    Cihaz bir J1 jumper'ına sahiptir. Açıldığında kapanırsa, cihaz, IR alıcısının çıkardığı her şeyi UART aracılığıyla aptalca iletecektir. Telin diğer tarafında, bu veriler bilgisayar ekranında TSOP'tan gelen darbeleri görüntüleyen programım tarafından alınır. Bu grafikteki kontrol noktalarını fare ile dağıtmanız ve EEPROM'a flash etmeniz yeterlidir. UART kullanmanın bir yolu yoksa, J2 atlama teli kurtarmaya gelir. Cihaz kapatıldığında UART üzerinden veri çıkışı vermez, EEPROM'a ekler.


    şema
    Çirkinlik için basit. ATTiny2313'ü kontrolör olarak aldım. Frekans 4 megahertz, kuvarsdan veya dahili RC zincirinden.
    İletişim ve güç için RX ve TX hatları ayrı bir konektöre getirilir. Orada - MK'yi cihazdan çıkarmadan yeniden başlatabilmek için RESET de görüntülenir.
    Fotodetektörün çıkışı INT0'a bağlanır, 33k'lık bir dirençle güç sağlamak için çekilir. Güçlü parazit varsa, oraya daha küçük bir direnç koyabilirsiniz, örneğin 10k.
    D4 ve D5 pinlerinde atlama telleri vardır. Jumper1'den D5'e ve Jumper2'den D4'e.

    D6 pimine bir güç modülü bağlanmıştır. Üstelik sahip olduklarımın en küçüğünü aldım - BT131. Akımı 1A - havalı değil, ancak kasa çok büyük değil - TO92. Küçük bir yük için, o kadar. MOC3023'te bir optokuplör yaptım - sıfır geçiş sensörü yok, yani uygun olduğu anlamına geliyor pürüzsüz kontrol yük (burada uygulamadım).

    B Bağlantı Noktası neredeyse tamamen konektöre çıkar - oraya bir gösterge veya başka bir şey ekleyebilirsiniz. Cihazı yanıp sönerken aynı konektörü kullanıyorum. Pin B0, LED tarafından işgal edilmiştir.

    Her şey LM70L05 ve diyot köprüsünden güç alıyor. yani girebilirsiniz alternatif akım voltajı, örneğin, bir transformatörden. Önemli olan, 25 Volt'u geçmemesi, aksi takdirde dengeleyici veya konder ölecektir.

    Ödeme şu şekilde:


    Evet, arşivdeki panodan biraz farklı. Ancak bu, kendime aşırı gelişmiş bir tahta yaptığım ve size bir demo versiyonu verdiğim anlamına gelmez :). Aksine, anakartımın son sürümde olmayan birkaç dezavantajı var: Pinde RESET pinim yok ve LED PB7'de takılıyor. Ve bu, devre içi programlamaya pek elverişli değildir.

    Donanım yazılımı
    Cihaz iki modda çalışabilir. İlkinde - J2 kapatıldığında - sadece fotodetektörden UART'a darbeler iletir. Onunla başlayalım:

    UART, 9600 hızında çalışır, yani 4 MHz frekansında, UBRR kaydına 25 yazıyoruz.

    ... fotodetektörün ayağı seğirene kadar bekleyeceğiz. Düşer düşmez (başlangıçta bir pull-up direncinde asılı kalır), zamanlayıcıyı başlatırız (TIMER / COUNTER1, 16 bitlik olan) ve girişteki herhangi bir değişiklik - herhangi bir mantıksal değişiklik için INT0 kesmesini açarız (ICS00 = 1). Zamanlayıcı işliyor… bekliyoruz.

    Uzaktan kumandadan gelen dürtü sona erdi - fotodetektörden gelen çıktı yükseldi, kesinti işe yaradı. Şimdi timer'ın değerini belleğe yazıp timer'ı resetliyoruz. Bir sonraki kesmede başka bir hafıza konumuna yazmak için yazma işaretçisini de artırmanız gerekir.

    Başka bir darbe...çıkış seğiriyor...kesinti...zamanlayıcı değerini belleğe yaz...zamanlayıcı sıfırlandı...işaretçi + 2 (bir seferde iki bayt yazıyoruz)...

    Ve böylece (RAM'in) sonunun yakın olduğu anlaşılana kadar devam edecek. Veya sinyal bitene kadar. Her durumda, zamanlayıcıyı durdurur ve kesintileri devre dışı bırakırız. Sonra yavaş yavaş topladığımız her şeyi UART'a atıyoruz. Veya J2 kapalıysa - EEPROM'da.

    Sonunda, körelebilirsin sonsuz döngü ve sıfırlamayı bekleyin - görev tamamlandı.
    Ve çıktı bir sayı dizisi olacaktır. Her biri, TSOP çıkışının durumundaki değişiklikler arasındaki zamandır. Bu dizinin nasıl başladığını bilerek (Ve biliyoruz! Bu, YÜKSEK'ten DÜŞÜK'e bir geçiş), tüm resmi geri yükleyebiliriz:

    Başlattıktan sonra oturup TSOP seğirene kadar bekleriz. Bu olur olmaz EEPROM'dan ilk noktayı okuyoruz ve basit bir döngüde orada yazılan kadar köreltiyoruz. Bu durumda, zamanı 32'lik paketler halinde ele alıyoruz. Uyuşukluktan çıkarken kontrol ediyoruz - alıcının çıkışında bir şey var.

    Çıktı beklediğimizle eşleşmediyse, bu bizim ekibimiz değil. Sinyalin bitmesini güvenle bekleyebilir ve her şeye yeniden başlayabilirsiniz.

    Çıktı beklentilerimizle eşleşirse, bir sonraki noktayı yükler ve kontrol ederiz. Ta ki zamanı = 0 olan bir noktaya rastlayana kadar. Bu, daha fazla puan olmadığı anlamına gelir. Böylece tüm ekip çakıştı ve yükü çekebilirsiniz.

    Yani, basit bir algoritma ortaya çıkıyor. Ama ne kadar basitse, o kadar güvenilir!

    softina
    İlk başta şablonu otomatik depolama yapmayı düşündüm. Yani, jumper'ı kapatırsınız, uzaktan kumandayı TSOP'a sokarsınız ve MK'nin kendisi kontrol noktalarını ayarlar ve bunları EEPROM'a ekler. Sonra fikrin çılgınca olduğu anlaşıldı: aşağı yukarı yeterli bir algoritmanın çok karmaşık olduğu ortaya çıkacaktı. Yoksa evrensel olmaz.

    İkinci fikir, kontrol noktalarını kendiniz ayarlayabileceğiniz bir bilgisayar programıydı. Teknolojik olarak çok gelişmiş değil, ancak bu işi MK'ye emanet etmekten daha iyidir.


    Cihaza, uzaktan kumandadaki istenen düğmeye yanıt vermesini öğretiyoruz:

    1) J1 atlama telini kapatıyoruz.

    2) UART'ı bağlayın. Bağlamanın bir yolu yoksa, J2 atlama telini kapatıyoruz. Ardından cihaz, EEPROM'daki verileri atacaktır.

    3) Gücü açın.

    4) UART kullanmaya karar verirsek, yazılımı başlatır ve durum çubuğuna bakarız (pencerenin altında). " demeli COM bağlantı noktası açık." Yazılı değilse, bağlantıda bir pervaz arıyoruz ve "Bağlan" düğmesine basıyoruz.

    5) Uzaktan kumandayı alın ve dürtün istenen düğme TSOP'ta. Cihaz sinyalin gittiğini algıladığı anda LED yanacaktır. Bundan hemen sonra, cihaz UART aracılığıyla veri iletmeye (veya EEPROM'a yazmaya) başlayacaktır. İletim bittiğinde, LED söner.

    6.1) UART üzerinden çalışıyorsak, "UART ile indir" düğmesine basın. Ve durum çubuğundaki "Grafik yüklendi ..." yazısına seviniyoruz.

    6.2) EEPROM üzerinden çalışırsak, programlayıcı ile EEPROM belleğini okur ve * dosyasına kaydederiz. bin dosyası. (Tam olarak çöp kutusu!). Ardından program içerisinden “Load.bin” butonuna basıyoruz ve EEPROM'dan dosyayı seçiyoruz.

    7) Yüklü tabloya bakıyoruz - bu, TSOP'tan gelen bir sinyaldir. Kenar çubuğunda bir kaydırıcı var - onunla ölçeği değiştirebilirsiniz. Şimdi fareyi grafiğin üzerine koyuyoruz - kontrol noktalarını belirliyoruz. Noktalar sağ tuş ile silinir. Sadece onları cephelere çok yakın koymayın. Bunun gibi bir şey çıkıyor:


    8) "Save.bin"e tıklayın ve noktaları kaydedin. Daha sonra bu dosyayı EEPROM'a flashlıyoruz. İki nokta arasındaki zamanı 7 bite sıkıştırdığımız için 4ms ile sınırlandırılmıştır. İki nokta arasındaki süre bu değeri aşarsa, program noktaları dosyaya göndermeyi reddedecektir.

    9) Atlama tellerini çıkarın. Cihazı yeniden başlatıyoruz. Hazır!

    test videosu