Cihaz atmega8 mikro denetleyicisine dayanmaktadır. Mikrodenetleyici cihaz şemaları

Mikrodenetleyicilerle yapılan el işleri her zamankinden daha alakalı ve ilginç bir sorudur. Sonuçta 21. yüzyılda, yeni teknolojilerin, robotların ve makinelerin çağında yaşıyoruz. Bugün, genç yaşlardan itibaren her iki kişi, interneti ve günlük yaşamda bazen onsuz yapılması zor olan çeşitli gadget'ları nasıl kullanacağını biliyor.

Bu nedenle bu yazımızda özellikle mikrodenetleyicilerin kullanımı konularına ve bunların her gün karşı karşıya kaldığımız görevleri kolaylaştırmak için doğrudan kullanımına değineceğiz. Bu cihazın değerinin ne olduğunu ve pratikte kullanımının ne kadar kolay olduğunu bulalım.

Mikrodenetleyici, amacı elektrikli cihazları kontrol etmek olan bir çiptir. Klasik denetleyici, hem işlemcinin hem de uzak aygıtların çalışmasını tek bir yongada birleştirir ve rastgele erişimli bir bellek aygıtı içerir. Genel olarak bu, nispeten sıradan görevleri yerine getirebilen tek çipli bir kişisel bilgisayardır.

Bir mikroişlemci ile bir mikrodenetleyici arasındaki fark, işlemci çipinde yerleşik başlatma-durdurma cihazlarının, zamanlayıcıların ve diğer uzak yapıların varlığıdır. Mevcut denetleyicide, tek bir set yerine tek devre üzerine inşa edilmiş, kapsamlı yeteneklere sahip oldukça güçlü bir bilgi işlem aparatının kullanılması, bu temelde oluşturulan cihazların ölçeğini, tüketimini ve fiyatını önemli ölçüde azaltır.

Buradan böyle bir cihazın hesap makinesi, anakart, CD denetleyicileri gibi bilgi işlem teknolojisinde kullanılabileceği sonucu çıkıyor. Ayrıca elektrikli ev aletlerinde de kullanılırlar - mikrodalga fırınlar, çamaşır makineleri ve diğerleri. Mikrodenetleyiciler aynı zamanda mikrorölelerden takım tezgahı kontrol tekniklerine kadar endüstriyel mekanikte de yaygın olarak kullanılmaktadır.

AVR mikrodenetleyicileri

AVR gibi modern teknoloji dünyasında daha yaygın ve köklü bir denetleyiciyle tanışalım. Yüksek hızlı bir RISC mikroişlemcisinden, 2 tür enerji tüketen bellekten (Flash proje önbelleği ve EEPROM bilgi önbelleği), RAM tipi bir operasyonel önbellekten, G/Ç bağlantı noktalarından ve çeşitli uzak arayüz yapılarından oluşur.

  • çalışma sıcaklığı -55 ila +125 santigrat derece arasında değişir;
  • depolama sıcaklığı -60 ila +150 derece arasındadır;
  • GND'ye göre RESET pinindeki en yüksek voltaj: maksimum 13 V;
  • maksimum besleme voltajı: 6,0 V;
  • giriş/çıkış hattının maksimum elektrik akımı: 40 mA;
  • Güç kaynağı hattı VCC ve GND'deki maksimum akım: 200 mA.

AVR mikrodenetleyici yetenekleri

Mega tipindeki mikrodenetleyicilerin istisnasız tamamı, bağımsız kodlama özelliğine, sürücü belleğinin bileşenlerini dışarıdan yardım almadan değiştirme yeteneğine sahiptir. Bu ayırt edici özellik, bunların yardımıyla çok esnek konseptler oluşturmayı mümkün kılar ve çalışma yöntemleri, dışarıdan veya içeriden gelen olaylarla belirlenen belirli bir resimle bağlantılı olarak mikro denetleyici tarafından kişisel olarak değiştirilir.

İkinci nesil AVR mikrodenetleyicileri için vaat edilen önbellek sayımı devrim sayısı, standart devir sayısı 100 bin iken 11 bin devirdir.

AVR'nin giriş ve çıkış bağlantı noktalarının yapısının konfigürasyonu aşağıdaki gibidir: fizyolojik çıktının amacı, iyi bilinen bit denetleyicilerinde (Intel, Microchip, Motorola, vb.) olduğu gibi iki değil, üç bit düzenlemedir. ). Bu özellik, koruma amacıyla bellekte yinelenen bir bağlantı noktası bileşenine sahip olma ihtiyacını ortadan kaldırır ve aynı zamanda harici cihazlarla birlikte, yani dışarıda ilgili elektrik sorunları olması durumunda mikro denetleyicinin enerji verimliliğini hızlandırır.

Tüm AVR mikro denetleyicileri çok katmanlı bastırma teknolojisine sahiptir. Öncelikli olan ve belirli olaylarla koşullanan bir hedefe ulaşmak için Ruslaştırıcının standart akışını kesintiye uğratıyor gibi görünüyor. Belirli bir durum için askıya alma isteğini dönüştürmeye yönelik bir rutin vardır ve bu, proje belleğinde bulunur.

Kapanmayı tetikleyen bir sorun ortaya çıktığında, mikrokontrolör bileşen ayarlama sayaçlarını kaydeder, genel işlemcinin bu programı yürütmesini durdurur ve kapatma işlemi alt yordamını yürütmeye başlar. Yürütmenin sonunda, askıya alma programının himayesinde, önceden saklanan program sayacı sürdürülür ve işlemci, tamamlanmamış projeyi yürütmeye devam eder.

AVR mikro denetleyicisine dayalı el sanatları

AVR mikrokontrolörlerini kullanan DIY el sanatları, basitlikleri ve düşük enerji maliyetleri nedeniyle daha popüler hale geliyor. Bunların ne olduğu ve kendi ellerinizi ve zihninizi kullanarak bunları nasıl yapacağınızı aşağıda bulabilirsiniz.

"Müdür"

Böyle bir cihaz, ormanda yürümeyi tercih edenlerin yanı sıra doğa bilimcilere de küçük bir yardımcı olarak tasarlandı. Çoğu telefonun navigatörü olmasına rağmen çalışması için internet bağlantısına ihtiyaç duymasına rağmen şehirden izole yerlerde bu bir sorundur ve ormanda şarj etme sorunu da çözülmemiştir. Bu durumda yanınızda böyle bir cihazın bulunması oldukça tavsiye edilir. Cihazın özü, hangi yöne gideceğini ve istenilen yere olan mesafeyi belirlemesidir.

Devre, 11.0598 MHz'de harici bir kuvars rezonatörden saat hızına sahip bir AVR mikro denetleyicisi temelinde inşa edilmiştir. U-blox'tan NEO-6M, GPS ile çalışmaktan sorumludur. Bu, modası geçmiş olmasına rağmen, konumu belirleme konusunda oldukça net bir yeteneğe sahip, yaygın olarak bilinen ve bütçeye uygun bir modüldür. Bilgiler Nokia 5670'in ekranına odaklanıyor. Modelde ayrıca HMC5883L manyetik dalga ölçer ve ADXL335 ivmeölçer bulunuyor.


Hareket sensörlü kablosuz alarm sistemi

Bir hareket cihazı ve bir radyo kanalına göre tetiklendiğine dair bir işaret verme yeteneği içeren kullanışlı bir cihaz. Tasarım hareketlidir ve pil veya piller kullanılarak şarj edilir. Bunu yapmak için birkaç HC-12 radyo modülünün yanı sıra bir HC-SR501 hareket sensörüne sahip olmanız gerekir.

HC-SR501 hareket cihazı, 4,5 ile 20 volt arasında bir besleme voltajıyla çalışır. LI-Ion pilden en iyi şekilde yararlanmak için, güç girişindeki güvenlik LED'inin etrafından dolaşmalı ve doğrusal dengeleyici 7133'ün (2. ve 3. ayaklar) erişim ve çıkışını kapatmalısınız. Bu prosedürlerin tamamlanmasının ardından cihaz 3 ila 6 volt voltajda sürekli çalışmaya başlar.


Dikkat: HC-12 radyo modülüyle birlikte çalışırken sensör bazen yanlış tetikleniyor. Bunu önlemek için verici gücünü 2 kat azaltmak gerekir (AT+P4 komutu). Sensör yağla çalışıyor ve 700 mAh kapasiteli şarj edilmiş bir pil bir yıldan fazla dayanacak.

Mini terminal

Cihaz harika bir yardımcı olduğunu kanıtladı. Cihazın üretimi için temel olarak AVR mikro denetleyicisine sahip bir karta ihtiyaç vardır. Ekranın doğrudan kumandaya bağlı olması nedeniyle güç kaynağının 3,3 volttan fazla olmaması gerekir çünkü daha yüksek rakamlar cihazda sorun yaşanmasına neden olabilir.


LM2577'ye dayalı bir dönüştürücü modülü almalısınız ve temel, 2500 mAh kapasiteli bir Li-Ion pil olabilir. Tüm çalışma voltajı aralığı boyunca sabit 3,3 volt sağlayan kullanışlı bir paket bulunacaktır. Şarj etmek için, bütçe dostu ve oldukça yüksek kalitede olduğu düşünülen TP4056 yongasını temel alan bir modül kullanın. Mini terminali 5 volt mekanizmalara ekranı yakma riski olmadan bağlayabilmek için UART portlarını kullanmalısınız.

AVR mikro denetleyicisini programlamanın temel yönleri

Mikrodenetleyici kodlaması genellikle Assembly veya SI tarzında yapılır, ancak diğer Forth veya BASIC dillerini de kullanabilirsiniz. Bu nedenle, denetleyicinin programlanmasıyla ilgili araştırmaya gerçekten başlamak için aşağıdaki malzeme setiyle donatılmış olmanız gerekir: üç parçadan oluşan bir mikro denetleyici - ATmega8A-PU, ATtiny2313A-PU ve ATtiny13A-PU oldukça popüler kabul edilir. ve etkilidir.

Bir programı bir mikrodenetleyiciye uygulamak için bir programcıya ihtiyacınız vardır: gelecekte kullanılacak olan 5 Volt voltaj sağlayan USBASP programcısı en iyisi olarak kabul edilir. Proje sonuçlarının görsel değerlendirmesi ve sonuçları için veri yansıtma kaynaklarına ihtiyaç vardır - bunlar LED'ler, bir LED indüktör ve bir ekrandır.


Mikrodenetleyicinin diğer cihazlarla iletişim prosedürlerini incelemek için bir DS18B20 dijital sıcaklık cihazına ve doğru zamanı gösteren bir DS1307 saatine ihtiyacınız vardır. Transistörlerin, dirençlerin, kuvars rezonatörlerin, kapasitörlerin, düğmelerin olması da önemlidir.

Sistemleri kurmak için örnek bir montaj panosuna ihtiyacınız olacaktır. Bir mikrodenetleyici üzerinde bir tasarım oluşturmak için, lehimlemeden montaj için bir devre tahtası ve bunun için bir dizi atlama kablosu kullanmalısınız: bir MB102 örnek kartı ve çeşitli türlerdeki devre tahtasına bağlantı atlama tellerini - elastik ve sert ve U şeklinde. Mikrodenetleyiciler USBASP programlayıcısı kullanılarak kodlanır.

AVR mikro denetleyicisine dayalı en basit cihaz. Örnek

Dolayısıyla, AVR mikro denetleyicilerinin ne olduğuna ve programlama sistemlerine aşina olduktan sonra, bu denetleyicinin temel aldığı en basit cihazı ele alalım. Alçak gerilim elektrik motorları için sürücü örneğini verelim. Bu cihaz, iki zayıf sürekli akım elektrik motorunun aynı anda kontrol edilmesini mümkün kılar.

Bir programın yüklenebileceği maksimum olası elektrik akımı kanal başına 2 A'dır ve motorların maksimum gücü 20 W'tur. Kart üzerinde elektrik motorlarını bağlamak için bir çift iki terminal bloğu ve yükseltilmiş voltajı sağlamak için bir üç terminal bloğu bulunmaktadır.

Cihaz, 43 x 43 mm ölçülerinde baskılı devre kartına benziyor ve üzerine yüksekliği 24 milimetre ve ağırlığı 25 gram olan bir radyatör mini devresi yerleştirilmiş. Yük manipülasyonu amacıyla sürücü kartı yaklaşık altı giriş içerir.

Çözüm

Sonuç olarak, AVR mikro denetleyicisi özellikle tamirciler için yararlı ve değerli bir araçtır. Ve bunları doğru kullanarak, programlama kurallarına ve önerilerine uyarak, yalnızca günlük yaşamda değil, aynı zamanda profesyonel faaliyetlerde ve sadece günlük yaşamda da yararlı bir şeyi kolayca elde edebilirsiniz.

Merhaba Datagor'lular!

İlk makalemin yayınlanmasının ardından mikrodenetleyiciler hakkında nasıl, ne, nerede, neden gibi sorularla boğulmuştum.

Bu kara kutunun nasıl çalıştığını anlayabilmeniz için size mikrodenetleyici (bundan sonra MK) ATmega8'den bahsedeceğim. Prensip olarak Atmel, AVR ailesinin bir dizi MK'sini üretiyor - bunlar Tiny ve Mega alt aileleridir. Belirli MK'lerin avantajlarını açıklamayacağım; size en uygun olana karar vermek size kalmış. Geniş ailenin bazı temsilcileri:

Yani, tüm ATmega'ların en basit MK'si olan ATmega8:

Basitleştirilmiş bir yapısal diyagram kullanarak iç kısımları incelemeye başlayalım:

Bu, tüm ATmega'nın genelleştirilmiş bir diyagramıdır.

Tüm AVR mikrodenetleyicileri Harvard mimarisine göre üretilmiştir, yani program belleği ve veri belleğinin ayrı adreslenmesi kullanılır. Bu mimarinin avantajları artan hızdır; örneğin ATmega saat darbesi başına bir talimat yürütür, yani 16 MHz frekansında MK saniyede 16 milyon işlem gerçekleştirir.

Ve şimdi sırayla işkembe hakkında.
1. Saat üreteci tüm dahili cihazları senkronize eder.
2. ROM, programları ve değiştirilemeyen verileri (sabitleri) depolamak için kullanılan salt okunur bir bellek cihazıdır.
3. Komut kod çözücü - buradaki en önemli kişi o, eline gelen her şeyi kontrol ediyor.
4. ALU, sayılar üzerinde aritmetik (toplama, çıkarma vb.) ve mantıksal (AND, OR, NOT, XOR) işlemleri gerçekleştiren aritmetik-mantıksal bir cihazdır.
5. RON – genel amaçlı kayıtlar, ALU onlarla çalışır ve aynı zamanda geçici veri depolama için de kullanılır. RON kayıtları, kayıt çiftleri halinde birleştirilebilir:
r26: r27 – X;
r28: r29 – Y;
r30: r31 – Z.

Kayıt çiftleri RAM'deki verileri dolaylı olarak adreslemek için kullanılır.
6. RAM, verileri, dizileri ve yığınları depolamak için kullanılan rastgele erişimli bir bellek cihazıdır.
7. PORTA-PORTn – dış dünyayla iletişim, giriş/çıkış portları, nedeni açık...
8. Özel UVV'ler özel giriş/çıkış cihazlarıdır, çeşitli çevre birimlerinin kontrolörleridir, örneğin USART (COM portu olarak da bilinir), bazen USB, ADC, DAC, I2C, kısacası ne varsa...

Bunların hepsi teori ama bir şeyi bir araya getirmek, denemek ve işe yaramasını sağlamak için sabırsızlanıyorsunuz! O halde ihtiyacımız olan şeyleri sıralayalım:

1. Uygun yazılıma sahip bir programcı, bunu geçen yazımda yazmıştım;
2. C dili derleyicisi Code Vision AVR, MK için programlar geliştirmek için iyi araçlara sahiptir;

C'de programlamaya başlamadan önce, bu dille ilgili bazı literatüre aşina olmak güzel olurdu; örneğin, Kernighan ve Ritchie'nin harika bir kitabı olan “The C Language” var.

Tamam, başlayalım...

Test devresi.

Bu diyagramı bir araya getirelim:

Bu temel model olacak. Bu arada, devreyi bir devre tahtasına monte etmek ve MK'yi sokete yerleştirmek daha iyidir. Ancak böyle bir plan anlamsızdır. Örneğin bir LED ekleyelim ve akım sınırlama direncini unutmayalım. B portunun sıfır pinine bağlayalım.
Diyagram şöyle görünecek:

Gücü açalım... SIFIR!!! Program olmadan ne istiyordun?
Araç…

Hadi bir program yazalım!

Peki CVAVR'ı başlattınız, yapmanız gereken ilk şey nedir? Araç çubuğundaki dişli düğmesine tıklayarak Kod Sihirbazı AVR'yi başlatın, bir sihirbaz penceresi görünecektir:

Burada MK tipini ve saat frekansını seçiyoruz. Ardından Bağlantı Noktaları sekmesine gidin:

Ve hangi portun hangi bitinin giriş veya çıkış için yapılandırılacağını, port B bit 0'ın bir sinyal çıkaracağını ve geri kalanının alacağını yapılandırıyoruz.
Ayarları kaydetmek için Dosya / Oluştur Kaydet ve Çık menüsünü seçin, sonraki tüm istekler için dosya adlarını girin, bunların aynı olması istenir, örneğin "prj". İşte bu kadar, sihirbazda belirtilen ayarlarla programın kaynak metnini oluşturduk.

Bakalım ne elde ettik. İlk 22 satır bir yorumdur, yani programın eylemleri üzerinde hiçbir etkisi yoktur, dolayısıyla “/*” ile “*/” arasındaki her şey bir yorumdur ve derleyici bunların tamamını görmezden gelir. 24. dönemde bir başlık dosyası ekliyoruz, hangi kayıtların çağrıldığını ve hangi adreste bulunduğunu açıklıyor. C programlama için burada ayrıntılara gerek yoktur.
28. satırdan itibaren ana programa fonksiyonun tanımıyla başlıyoruz ana(),

Aşağıya doğru kaydıralım. 36 ve 37. satırlara dikkat edin, burada B portuna bir değer atanır ve iletim yönü seçilir. Genel olarak açıkça şöyle görünüyor:

Yani, DDRB kaydının herhangi bir bitine bir yazılırsa, B bağlantı noktasının karşılık gelen biti çıkış olarak çalışacaktır. Bizim durumumuzda bu bit 0'dır.
Bu arada, ATmega'daki portların güzel bir özelliği var: port giriş için yapılandırılmış olsa ve PORTx kaydı birlere yazılmış olsa bile, dahili çekme dirençleri güç kaynağına pozitif olarak bağlanacak ve bu da kullanımı ortadan kaldıracaktır. harici askı dirençleri. Bu, herhangi bir sensör ve düğmeyi bağlarken kullanışlıdır.

Programı derleyelim; bunun için Make the Project butonuna tıklayın veya Project / Make menüsünden. Bir şeyi değiştirmediğiniz sürece herhangi bir hata olmamalıdır.

C:\cvavr\bin\ klasörünü açalım, orada prj.hex dosyasını bulalım. Bu MK için derlediğimiz programdır. Programlayıcıyı PC'ye ve MK'ye bağlayalım. Pony Prog programını başlatalım ve prj.hex dosyasını penceresine sürükleyelim. MK'nin gücünü açın ve programımızı ona yükleyin... Yine bir şey yok mu? Ancak sorun şu ki, B portunun sıfır bitine hiçbir şey çıkarmadık, daha doğrusu çıktı verdik, sadece sıfır. Ve LED'imizin yanması için bir tane çıkarmamız gerekiyor. Aynen öyle yapalım, 36. satırdaki “PORTB=0x00;” ifadesini değiştirin "PORTB=0x01;" olarak değiştirin. Programı tekrar derleyelim. Ve Pony Prog programında Ctrl+L klavye kısayolunu veya Dosya / Dosyaları Yeniden Yükle menüsünü kullanarak dosyayı yeniden yükleyeceğiz. MK'yi silelim ve ürün yazılımını ona tekrar yükleyelim. YAŞASIN!!! İŞE YARIYOR!!!

Bu arada, Pony Prog komut dosyalarını destekler ve yeniden başlatma, silme ve yazma konusunda endişelenmenize gerek kalmaması için .e2s uzantılı bir komut dosyası yazıp onu örneğin prog.e2s olarak adlandırabilirsiniz. Bunu bir not defteri kullanarak yapabilirsiniz. İçeriği şu şekilde olacak:

CİHAZI SEÇİN ATMEGA8
CLEARBUffer
HEPSİNİ YÜKLE prj.hex
HEPSİNİ SİL
HEPSİNİ YAZ

Komut dosyası .hex dosyasıyla aynı klasöre yerleştirilmeli ve fareye çift tıklayarak çalıştırılmalıdır. Ne kadar kullanışlı olduğuna bağlı olarak masaüstünüze bir kısayol yerleştirebilirsiniz...

Devam edecek…

Genel bilgi

Arduino denetleyicisinin bu sürümü, en basit olmasa da, kesinlikle kendi kendine üretim için en uygun fiyatlı olanıdır. ATMega8 denetleyicisindeki zaten klasik olan Arduino devresine dayanmaktadır.

Toplamda iki seçenek geliştirilmiştir:

  • Modüler
  • Tek kart

Modüler seçenek

Bu denetleyici seçeneği üç karttan oluşur:

Tek kart seçeneği

Her şey aynı, yalnızca tek bir panoda:

Kart tek taraflı folyo PCB'den yapılmıştır ve örneğin LUT teknolojisi kullanılarak evde kopyalanabilir. Tahta boyutları: 95x62

Mikrodenetleyici Programlama

Kartı monte ettikten sonra denetleyiciyi "flashlamanız", "önyükleyiciyi" ona yüklemeniz gerekir. Bunun için bir programcıya ihtiyacınız olacak. Temiz bir ATMega8 tipi denetleyici alıyoruz, programlayıcıya takıyoruz ve bilgisayara bağlıyoruz. AVR ISP mkII programlayıcısını ATMega8-48-88-168 adaptörüyle kullandım. Arduino IDE'yi kullanarak programlıyoruz, gerekli sigorta bitlerini otomatik olarak ayarlayacaktır. Sıra şöyle:

1. Bir programlayıcı seçin (Servis > Programcı > AVRISP mkII). Bu programlayıcı ilk kez kullanılıyorsa AVRISP-MKII-libusb-drv.zip sürücüsünü yüklemeniz gerekir. AVRISP mkII dışında başka bir programlayıcı kullanıyorsanız listeden ihtiyacınız olanı seçmeniz gerekir.

2. Mikrodenetleyici için bir kart seçme (Araçlar > Kart > Arduino NG veya ATmega8 ile daha eski bir sürüm). ATmega8 dışında başka bir mikrodenetleyici kullanıyorsanız bu durumda ona uygun kartı seçmeniz gerekir.

3. Önyükleyiciyi kaydedin (Araçlar > Önyükleyiciyi kaydet).

4. Denetleyiciyi karta takın, işte bu kadar, Arduino çalışmaya hazır.

ATtiny2313 mikrodenetleyici ve LED matris üzerine monte edilen saat, zamanı 6 farklı modda gösteriyor.

8*8 LED matrisi çoğullama yöntemiyle kontrol edilir. Tasarımın bozulmasını önlemek için akım sınırlayıcı dirençler devreden çıkarılmıştır ve tek tek LED'ler sürekli olarak çalıştırılmadığından zarar görmezler.

Kontrol için yalnızca tek bir düğme vardır, menüyü döndürmek için düğmeye uzun basmak (basılı tutun) ve menüyü seçmek için düğmeye normal basmak vardır.

Bu bir hobi projesi olduğundan saatin doğruluğu yalnızca kontrolörün dahili osilatörünün kalibrasyonuna bağlıdır. Bu projede kuvars kullanmadım çünkü ihtiyacım olan ATtiny2313 pinlerinden ikisini kaplayacaktı. Alternatif (PCB) tasarımda hassasiyeti artırmak için kuvars kullanılabilir.

Attiny48 ve MB501'de 500 MHz'e kadar frekans sayacı

Bu sefer ölçüm aralığı 1 ila 500 MHz arasında ve çözünürlüğü 100 Hz olan basit, küçük boyutlu bir frekans ölçer sunacağım.

Günümüzde, üreticisi ne olursa olsun, hemen hemen tüm mikrodenetleyiciler, harici darbeleri saymak için özel olarak tasarlanmış sayma girişlerine sahiptir. Bu girişi kullanarak bir frekans sayacı tasarlamak nispeten kolaydır.

Ancak bu sayaç girişi aynı zamanda frekans sayacının doğrudan daha büyük ihtiyaçları karşılamak için kullanılmasını engelleyen iki özelliğe de sahiptir. Bunlardan biri, pratikte çoğu durumda mikrodenetleyici sayacını hareket ettiremeyen, genliği birkaç yüz mV olan bir sinyali ölçüyoruz. Tipe bağlı olarak girişin doğru çalışması için en az 1-2 V'luk bir sinyal gereklidir. Bir diğeri ise mikrokontrolör girişinde ölçülebilir maksimum frekansın yalnızca birkaç MHz olmasıdır, bu da sayaç mimarisine ve sayaç mimarisine bağlıdır. işlemci saat hızı.

ATmega8'de (Thermopot) elektrikli su ısıtıcısı için termostat

Bu cihaz, su ısıtıcısındaki suyun sıcaklığını kontrol etmenize olanak tanır, su sıcaklığını belirli bir seviyede tutmanın yanı sıra suyun zorla kaynatılmasını açma işlevine sahiptir.

Cihaz, 8 MHz frekanslı bir kuvars rezonatör tarafından saatlenen bir ATmega8 mikro denetleyicisine dayanmaktadır. Sıcaklık sensörü – analog LM35. Ortak anotlu yedi bölümlü gösterge.

Attiny44 ve WS2812'de yeni yıl yıldızı

Bu dekoratif yıldız, kontrol edilen 50 özel RGB LED'den oluşur. ATtiny44A. Tüm LED'ler sürekli olarak rastgele bir şekilde renk ve parlaklık değiştirir. Ayrıca rastgele etkinleştirilen çeşitli efekt türleri de vardır. Üç potansiyometre ana renklerin yoğunluğunu değiştirebilir. Bir düğmeye basıldığında potansiyometrenin konumu LED'lerle gösterilir ve renk değişimi ve efekt hızı üç aşamada değiştirilebilir. Bu proje PCB'nin özel şekli nedeniyle tamamen SMD bileşenleri üzerine inşa edildi. Basit tasarıma rağmen tahta yapısı oldukça karmaşıktır ve yeni başlayanlar için pek uygun değildir.

AVR'de asenkron motor için frekans dönüştürücü

Bu makalede, bir mikro denetleyiciye (MK) dayalı evrensel bir üç fazlı frekans dönüştürücü açıklanmaktadır. ATmega 88/168/328P. ATmega kontrollerin, LCD ekranın ve üç fazlı üretimin tam kontrolünü ele alır. Projenin Arduino 2009 veya Uno gibi hazır kartlarda çalışması gerekiyordu ancak bu gerçekleşmedi. Diğer çözümlerden farklı olarak sinüzoid burada hesaplanmaz, tablodan türetilir. Bu, kaynaklardan ve bellek alanından tasarruf sağlar ve MCU'nun tüm kontrolleri işlemesine ve izlemesine olanak tanır. Programda kayan nokta hesaplamaları yapılmamaktadır.

Çıkış sinyallerinin frekansı ve genliği 3 düğme kullanılarak ayarlanır ve MK'nin EEPROM belleğine kaydedilebilir. Benzer şekilde 2 analog giriş aracılığıyla harici kontrol sağlanır. Motorun dönüş yönü bir jumper veya anahtarla belirlenir.

Ayarlanabilir V/f karakteristiği birçok motora ve diğer tüketicilere uyum sağlamaya olanak tanır. Analog girişler için entegre bir PID kontrol cihazı da kullanılmıştır; PID kontrol cihazı parametreleri EEPROM'da saklanabilir. Tuş anahtarları arasındaki duraklama süresi (Ölü Zaman) değiştirilebilir ve kaydedilebilir.

DANYK'tan frekans ölçer III

AVR mikro denetleyicili bu frekans ölçer, otomatik olarak seçilen 7 aralıkta 0,45 Hz ila 10 MHz arasındaki frekansı ve 0,1 ila 2,2 μs arasındaki periyodu ölçmenizi sağlar. Veriler yedi haneli bir LED ekranda görüntülenir. Proje Atmel AVR ATmega88/88A/88P/88PA mikrokontrolcü tabanlı olup indirilebilir programı aşağıda bulabilirsiniz. Yapılandırma bit ayarları şurada gösterilmiştir: şekil 2.

Ölçüm prensibi önceki iki frekans ölçerden farklıdır. Önceki iki frekans ölçerde (frekans ölçer I, frekans ölçer II) kullanılan, 1 saniyeden sonra darbeleri saymanın basit yöntemi, Hertz'in kesirlerinin ölçülmesine izin vermez. Bu yüzden yeni Frekans Ölçer III'üm için farklı bir ölçüm prensibi seçtim. Bu yöntem çok daha karmaşıktır ancak 0,000001 Hz'ye kadar çözünürlükte frekans ölçümlerine olanak sağlar.

DANYK'tan frekans sayacı II

Bu, bir AVR mikro denetleyicisindeki çok basit bir frekans ölçerdir. Otomatik olarak seçilen 2 aralıkta 10 MHz'e kadar frekansları ölçmenizi sağlar. Önceki frekans ölçer tasarımı I'i temel alır ancak 4 yerine 6 gösterge hanesine sahiptir. Alt ölçüm aralığı 1 Hz çözünürlüğe sahiptir ve 1 MHz'e kadar çalışır. Daha yüksek aralık 10 Hz çözünürlüğe sahiptir ve 10 MHz'e kadar çalışır. Ölçülen frekansı görüntülemek için 6 haneli bir LED ekran kullanılır. Cihaz bir mikrodenetleyiciye dayanmaktadır Atmel AVR ATtiny2313A veya ATTiny2313

Mikrodenetleyici, 20 MHz frekanslı (izin verilen maksimum saat frekansı) bir kuvars rezonatörden saatlenir. Ölçümün doğruluğu, bu kristalin yanı sıra C1 ve C2 kapasitörlerinin doğruluğu ile belirlenir. Ölçülen sinyalin minimum yarım döngü uzunluğu, kuvars osilatörün frekans periyodundan daha büyük olmalıdır (AVR mimarisinin sınırlaması). Böylece %50 görev döngüsünde 10 MHz'e kadar frekanslar ölçülebilmektedir.

DANYK'tan frekans ölçer I

Bu muhtemelen bir AVR mikro denetleyicisindeki en basit frekans sayacıdır. Otomatik olarak seçilen 4 aralıkta 10 MHz'e kadar frekansları ölçmenizi sağlar. En düşük aralık 1 Hz çözünürlüğe sahiptir. Ölçülen frekansı görüntülemek için 4 haneli bir LED ekran kullanılır. Cihaz bir mikrodenetleyiciye dayanmaktadır Atmel AVR ATtiny2313A veya ATtiny2313. Yapılandırma bit ayarlarını aşağıda bulabilirsiniz.

Mikrodenetleyici, 20 MHz frekanslı (izin verilen maksimum saat frekansı) bir kuvars rezonatörden saatlenir. Ölçümün doğruluğu bu kristalin doğruluğu ile belirlenir. Ölçülen sinyalin minimum yarım döngü uzunluğu, kristal osilatörün frekans periyodundan daha büyük olmalıdır (MCU mimarisi sınırlaması). Böylece %50 görev döngüsünde 10 MHz'e kadar frekanslar ölçülebilmektedir.

AT90S2313'te frekans ölçer

Sanal frekans ölçer, bir PC için bir programdan ve bir bilgisayarın COM bağlantı noktasına bağlanan basit bir ölçüm cihazından oluşan bir “kit” tir.Sanal cihaz frekansı, periyodu, zaman aralıklarını ölçmenize ve darbeleri saymanıza olanak tanır.

Detaylar:http://home.skif.net/~yukol/FMrus.htm

Herhangi bir kurulum gerektirmeyen ve en önemlisi işe yarayan basit bir tasarım oluşturmanızı öneririm! Mikrodenetleyici programlandıprogramcı PonyProg - mükemmel programcı, basit, geniş programlanabilir mikrodenetleyici yelpazesi,Windows, Rus arayüzü altında çalışır.


Dergi "Radyo" N1 2002 Ni-Cd piller için. 4 adet pili şarj etmenizi sağlar.



Pic 16F84A'daki frekans sayacı

Frekans ölçerin teknik özellikleri:

Ölçülen maksimum frekans.............30 MHz;

Ölçülen frekansın maksimum çözünürlüğü... 10 Hz.

Giriş hassasiyeti...................250 mV;

Besleme gerilimi................................8... 12 V:

Akım tüketimi.......................35 mA


Ayrıntılar, ürün yazılımı:http://cadcamlab.ru


Atmega 8 için lehimleme istasyonu


Havya ve saç kurutma makinesi PC anahtarları kullanılarak değiştirilir. Saç kurutma makinesi bir tristör tarafından kontrol edilir, çünkü 110V saç kurutma makinesi R1 diyot yerine V.6'ya katotlu.


Ayrıntılar, ürün yazılımı: http://radiokot.ru/forum


Devreden lehim sökmeden dijital kapasite ölçer

Açıklama, 6, 2009 sayılı "Radyo" dergisinde verilmiştir. Tasarım AT90S2313 üzerine monte edilmiştir, Tiny2313, ürün yazılımında değişiklik yapılmadan kullanılmıştır. Ponka'da SUT1, CKSEL1, CKSEL0 onay kutularını ayarladım, gerisi boş. MAX631'i ben kurmadım, bizim için pahalı bir şey, 7805 stabilizatör üzerinden güç kaynağından beslemeye karar verdim, R29, R32, R33 güç kaynağına plus takıldı. Kapasitans ölçere ek olarak, transistörleri lehim sökmeden test etmek için kasaya bir prob ve düşük frekanslı yüksek frekanslı sinyal üreteci monte edilmiştir.



ATmega8 Yarı İletken Parametre Ölçer

Cihaz şunları yapabilir:

Yarı iletken terminalleri tanımlayın;
- türünü ve yapısını belirlemek;
- statik parametreleri ölçün.
Diyotları, bipolar transistörleri, JFET ve MOS alan etkili transistörleri, dirençleri, kapasitörleri ölçer.


Sayaç, FCL ölçüm cihazıyla aynı muhafaza içinde yapılır; gösterge, bir PC anahtarı kullanılarak cihazlar arasında değiştirilir.

Frekans ölçer, kapasitans ve endüktans ölçer - FCL ölçer

Aşağıda açıklanan cihaz, geniş bir aralıktaki elektriksel salınım frekanslarını ve ayrıca elektronik bileşenlerin kapasitansını ve endüktansını yüksek doğrulukla ölçmenize olanak tanır. Tasarım minimum boyutlara, ağırlığa ve enerji tüketimine sahiptir.

Özellikler:

Besleme gerilimi, V: 6…15

Akım tüketimi, mA: 14…17

Ölçüm sınırları:

F1, MHz 0,01…65**

F2, MHz 10…950

0,01 pF...0,5 µF'den

L 0,001 µH…5 H


Uzak kafa diyagramı


Daha fazla detay: http://ru3ga.qrz.ru/PRIB/fcl.shtml


ATmega8L mikrokontrolcüyü temel alan minyatür voltmetre


Burada yalnızca ATmega8L mikro denetleyicisine dayanan bir voltmetrenin tasarımını ve elektronik tıbbi termometrenin göstergesini ele alıyoruz. Ölçülen DC voltaj aralığı ±50 V'tur. Ek bir fonksiyon olarak, kabloların ve akkor lambaların bütünlüğünü kontrol etmek için bir ses probu modu uygulanır. Ölçüm yapılmadığı takdirde cihaz otomatik olarak bekleme moduna geçer. Mikrodenetleyici iki minyatür alkalin hücre (kol saatleri için piller) tarafından çalıştırılıyor, 1 elemanı 3V'a ayarladım. Pilleri sık sık değiştirmenize gerek kalmayacak: Aktif modda akım tüketimi yalnızca 330 μA, bekleme modunda ise 300 nA'dan az. Minyatür tasarımı ve yetenekleri sayesinde cihaz kullanışlı ve pratiktir. Tahtam termometre kutusuna sığmadığı için keçeli kalem kutusunda yaptım. Kendi kartımı yaptım, R5-R7 dirençlerini baralara dikey olarak yerleştirdim. VADZZ onun sayesinde ürün yazılımının kaynaktan oluşturulmasına yardımcı oldu. Gösterge soldan sağa doğru ilerler, uçlar altta ve size dönüktür.

Diyagram (tam boyutlu bir diyagram için görüntüyü bilgisayarınıza kaydedin).

Daha fazla ayrıntı için bkz.: http://www.rlocman.ru/shem/schematics.html?di=63917

Kapasite ölçüm fonksiyonlu şarj cihazı

Pil kapasitesini ölçmek istedim; ithal sayaçlar oldukça pahalı, bu yüzden ilginç bir devre buldum ve monte ettim. İyi çalışıyor, şarj oluyor, ölçüyor, ancak hangi doğrulukta olduğunu söylemekte zorlanıyorum - standart yok. Oldukça iyi firmaların pillerini 2700 mA/h olarak ölçtüm - 2000'i hedefliyordum. Oyuncak pilleri 700 mA/h -350, EBAY'den 2500 mA/h - 450 mA/h Çin BTY pilleri sipariş ettim, ancak aynı zamanda oldukça iyiler, oyuncaklarda iyi çalışıyorlar, pillerden çok daha ucuzlar.


Cihaz, NiMH pilleri şarj etmek ve kapasitelerini izlemek için tasarlanmıştır. Şarj/deşarj modları arasında geçiş SA1 düğmesi kullanılarak gerçekleştirilir. Çalışma modu, LED'ler ve yedi bölümlü göstergenin ilk iki basamağının ondalık noktaları kullanılarak görüntülenir.
Gücü açtıktan hemen sonra cihaz şarj moduna geçer. Gösterge şarj süresini gösterir. Programlanan süre geçtikten sonra şarj işlemi durur. Şarjın (ve aynı zamanda deşarjın) sonu dördüncü deşarjın yanan noktasıyla gösterilir. Şarj akımı C/10 olarak tanımlanır; burada C, R14 düzeltici tarafından ayarlanan pil kapasitesidir.
Sayacın çalışma prensibi akü voltajının 1,1 V'a düşeceği sürenin hesaplanmasına dayanmaktadır. Deşarj akımı 450 mA'ya eşit olmalı ve R16'ya ayarlanmalıdır. Kapasiteyi ölçmek için pili deşarj bölmesine takıp, butona basarak işlemi başlatmanız gerekiyor! Cihaz yalnızca bir pili boşaltabilir.

Daha fazla detay:http://cxem.net

Amatör radyo için evrensel fırın

SMD parçalarını lehimlemek için kullanılan fırının 4 programlanabilir modu vardır.

Kontrol ünitesinin şeması (tam boyutlu bir şema için resmi bilgisayarınıza kaydedin).


Güç kaynağı ve ısıtıcı kontrolü


Bu tasarımı bir IR lehimleme istasyonunu kontrol etmek için monte ettim. Belki bir gün ocağı kontrol ederim. Jeneratörün çalıştırılmasında sorun oluştu, 7 ve 8 numaralı pinlerden toprağa 22 pF kapasitör taktım ve normal şekilde başladı. 250 W seramik ısıtıcıyla yüklendiğinde tüm modlar normal çalışır.

Daha fazla detay: http://radiokot.ru/lab/hardwork/11/

Soba yokken küçük tahtalar için bu alt ısıtmayı yaptım:

Isıtıcı 250 W, çapı 12 cm, İngiltere'den gönderildi, EBAY'dan satın alındı.


PIC16F88x/PIC16F87x(a) için dijital lehimleme istasyonu

Eş zamanlı iki havya ve saç kurutma makinesi içeren lehimleme istasyonu. Farklı MCU'lar kullanabilirsiniz (PIC16F886/PIC16F887, PIC16F876/PIC16F877, PIC16F876a/PIC16F877a). Nokia 1100 (1110) ekranı kullanılıyor. Saç kurutma makinesinin türbininin hızı elektronik olarak kontrol edilir ve ayrıca saç kurutma makinesinin içine yerleştirilmiş olan kamış anahtar da kullanılır. Yazarın versiyonu anahtarlamalı bir güç kaynağı kullanıyor; ben bir transformatör güç kaynağı kullandım. Herkes bu istasyonu seviyor, ancak havyamla: 60W, 24V, seramik ısıtıcılı, çok fazla hızlanma ve sıcaklık dalgalanması var. Aynı zamanda nikrom ısıtıcılı daha düşük güçlü havyaların titreşimi daha azdır. Aynı zamanda, yukarıda açıklanan Mikha-Pskov'un lehimleme istasyonu ve Volu'nun ürün yazılımı ile havyam sıcaklığı bir dereceye kadar koruyor. Bu nedenle sıcaklığı ısıtmak ve korumak için iyi bir algoritmaya ihtiyacınız var. Bir deney olarak, bir zamanlayıcı üzerinde bir PWM regülatörü yaptım, termokupl amplifikatörünün çıkışından kontrol voltajını uyguladım, kapattım, mikrodenetleyiciden açtım, sıcaklık dalgalanması hemen birkaç dereceye düştü, bu doğru olduğunu doğruladı kontrol algoritmasına ihtiyaç vardır. Harici PWM elbette bir mikro denetleyicinin varlığında pornografidir, ancak henüz iyi bir ürün yazılımı yazılmamıştır. Başka bir havya sipariş ettim, eğer iyi bir stabilizasyon sağlamazsa harici PWM kontrolü ile deneylerime devam edeceğim, belki iyi bir firmware ortaya çıkar. İstasyon, konektörler kullanılarak birbirine bağlanan 4 pano üzerine monte edildi.

Cihazın dijital kısmının şeması şekilde gösterilmiştir; açıklık sağlamak için iki MK gösterilmiştir: IC1 - PIC16F887, IC1(*) - PIC16F876. Diğer MK'ler aynı şekilde ilgili bağlantı noktalarına bağlanır.

Kontrastı değiştirmek için 67 bayt bulmanız gerekiyor, değeri “0x80”, yeni başlayanlar için “0x90” koyabilirsiniz. Değerler "0x80" ile "0x9F" arasında olmalıdır.

1110i ekranıyla ilgili olarak (metin yansıtılmış olarak görüntülenir), Çince değilse de orijinalse, EEPROM'u açın, 75 bayt arayın, A0'dan A1'e değiştirin.



İlgili yayınlar