ESP8266-12E / F Modülünü Programlamak için devre şeması

Bu makalede, ESP8266-12E / F modül programcısı yapmak için bir yöntem açıklanmakta ve aynı zamanda gerçek zamanlı uygulamalar için gereken destek devresi açıklanmaktadır.

NodeMCU kartı, ESP8266 Wi-Fi özellikli çip ve diğer birçok destek devresinden oluşan bir geliştirme kitidir. Wi-Fi ile ilgili projelerde çalışmak için kullanışlı olan popüler bir panodur. Ancak ürün geliştirme ve test aşamaları tamamlandığında, NodeMCU kartının tamamı gerekli değildir – son ürün için sadece ESP8266 yongası gereklidir. Bu, ürünün toplam maliyetini azaltır, güç tüketimini azaltır ve daha küçük bir PCB alanı ve kod güvenliği sağlar.

Ancak ESP8266 yongasını NodeMCU kartından ayırmak kolay değildir. Alternatif bir çözüm, ayrıca NodeMCU kartından çok daha ucuz olan ESP8266 yongasını ayrı olarak satın almaktır. Bu seçenekle, bu makalede açıklanan gibi uygun bir programlayıcı kullanarak kodu doğrudan ESP8266 yongasına yazabilirsiniz. Bundan sonra, ESP8266 yongasını programlayıcıdan çıkarabilir ve son ürününüzde kullanabilirsiniz.

Yazar tarafından kullanılan ESP8266-12 E / F modülü programlayıcı Şekil 1’de gösterilmektedir.

1: Yazar tarafından kullanılan ESP8266-12 E / F modülü programcısı

ESP8266 kullanarak bir proje tasarlama ve inşa etme işlemi iki ayrı adıma ayrılabilir: donanım ve yazılım. Donanım, GPIO’lara destek devresi oluşturma etrafında dönerken, yazılım çizimin çip içine yazılması, derlenmesi ve yüklenmesi etrafında döner. Böyle bir uygulama yine iki aşamadan oluşur: geliştirme ve dağıtım.

Geliştirme aşaması

Geliştirme aşamasında, yazılımı yazmak için ESP8266 Board Manager ve destekleyici kütüphanelerle Arduino IDE gibi bir yazılım geliştirme kitine (SDK) veya daha yeni bir PlatformIO IDE’ye ihtiyacınız vardır.

  1. Yazılım kodu, yerleşik seri TTL-USB adaptörü (bazen USB-UART köprüsü olarak adlandırılır) kullanılarak ESP8266 yongasına yanıp söner. Yeni bir yazılımın yanıp sönmesi için, ESP8266 yongasının flaş modunda yeniden başlatılması ve bilgisayardan gelen USB sinyallerinin seri UART sinyallerine dönüştürülmesi ve Rx0 ve Tx0 pinleri (GPIO3 ve GPIO1) kullanılarak çipe aktarılması gerekir.
  2. NodeMCU kartında, destek devresi tüm bunları sorunsuz bir şekilde otomatik olarak gerçekleştirir. Bu, NodeMCU veya WemosD1 Mini gibi benzer bir kartı hobiler arasında popüler hale getirir. Sıfırlama ve Flash düğmelerinin, otomatik yüklemenin başarısız olması durumunda NodeMCU kartına da yerleştirildiğini unutmayın.

Dağıtım / üretim aşaması

Bu aşamada, nihai üründe sadece ESP8266 yongası gereklidir.

Şimdi sorun ESP8266-12E / F (veya ESP-12E / F) çipinin nasıl kullanılacağını anlamak ve yine de kodu yükleyip NodeMCU veya benzeri bir kart olmadan yazılımı geliştirebilmektir. Bunun için öncelikle ESP-12E / F çipinin fiziksel boyutunu, çalışma, önyükleme ve yanıp sönme sürecini ayrıntılı olarak bilmemiz gerekir.

ESP-12E / F modülü. Modülün dış boyutu Şekil 2’de gösterildiği gibi 16mm x 24mm x 3mm’dir. 4MB SPI flaşı ve yerleşik PCB anteni vardır. Pim aralığı 2 mm’dir.

Şekil 2: ESP-12E modülünün pim ayrıntıları

Projeyi oluşturmak için 2.54 mm’lik bir pim aralığına sahip genel amaçlı bir PCB kullanılıyorsa, ESP8266 yongası için bir kesme kartı kullanılabilir. Bu projede kullanılan ayırma panosu Şekil 3’te gösterilmektedir. Ancak, projeye özgü bir PCB kullanılıyorsa, ayırma panosuna gerek yoktur. ESP8266-12x kesme tahtası düşük bir maliyetle kolayca temin edilebilir.

ESP-12E / F yongası, verilen pedlerde ayırma kartına lehimlenir ve başlık pimleri de ayırma kartına lehimlenir. Başlık pimleri 2.54 mm aralıklı. ESP-12E / F modülü herhangi bir genel amaçlı PCB’ye takılabilir.

Ara kartında üç SMD direnci de vardır (Şekil 3). Kartın ön tarafında, düşük düşmeli 3.3V voltaj regülatörü olan HT7333A’yı sabitlemek için alan var. Alternatif olarak, devreye güç vermek için harici bir 3.3V regülatör kullanılabilir.

3: ESP-12E / F çip için kesme kartının ön ve arka tarafları

Manuel ESP-12E / F programlayıcı

ESP-12x tabloda gösterildiği gibi üç farklı modda önyükleme yapabilir. İlk iki önyükleme modu ile ilgileniyoruz.

Tablodan görülebileceği gibi, önyükleme sırasında GPIO2 ve Ch_PD / En pinleri daima yüksek, GPIO15 ise düşük tutulmalıdır. Bağımsız ESP-12E / F yongasını kullanırken, Ch_PD ve GPIO2 pinlerine 10k / 12k yukarı çekme dirençleri ve GPIO15 pinine aşağı çekme (10k / 12k) dirençleri ekleyin. Çekme ve çekme dirençlerinin kesme kartında önceden oluşturulduğunu unutmayın.

Sıfırlama pimi ve GPIO0 normalde yüksek tutulmalı, ancak Şekil 4’teki devrede gösterildiği gibi mikro anahtarlarla toprağa bağlanmalıdır. Bu, ESP-12E / F modülünü kullanmak için gereken minimum yapılandırmadır. Bu modülün etrafında inşa edilen her projede bu beş adet 12k direnç bulunmalıdır. Bu dirençler NodeMCU kartında önceden oluşturulmuştur.

4: Manuel ESP8266-12E / F Modül Programlayıcısının devre şeması

Manuel yanıp sönme işlemi

Manuel ESP-12E / F programcısı Şekil 4’te gösterilmiştir. Herhangi bir çizim / kodu ESP8266 çipine manuel olarak yanıp sönmek için, önce aşağıdaki gibi adım adım flash / programlama moduna getirin:

  1. Sıfırla (S1) ve Flaş (S2) düğmelerini basılı tutun.
  2. S2 düğmesini basılı tutarak S1’i serbest bırakın. GPIO0 düşük tutulurken bu güç açmaya eşdeğerdir.
  3. ESP8266 önyükleme yaptıktan sonra S2’yi bırakın.
  4. Yazılımı Tx ve Rx pinleri aracılığıyla yükleyin. Bilgisayarlarda artık donanım seri bağlantı noktaları bulunmadığından, USB’den UART’a dönüştürücü kullanılabilir. Bu dönüşüm NodeMCU’da dahili CH340G veya CP2102 USB-UART çipi üzerinden gerçekleşir. Kolayca bulunabilen FTDI USB-UART modülü bu programcı için kullanılır.
  5. Yanıp sönme işlemi tamamlandığında, ESP8266’yı normal modda başlatmak için S1 anahtarına basarak ESP8266’yı yeniden başlatın.

ESP8266-12E / F Modül Programlayıcı’nın farklı önyükleme modları

Yanıp sönen işlemi otomatikleştirme

Yukarıdaki işlem, yeni yazılımların her yanıp sönmesinde manuel müdahale gerektirse de, NodeMCU kullanma deneyimine benzer şekilde yazılım kodunu yükleme kolaylığına ihtiyacımız var. Bu işlem, ESP8266 yongasındaki Reset ve Flash (GPIO0) pinlerini bildirmek için kullanılan USB-UART yongasının veri terminali hazır (DTR) ve gönderilmeye hazır (RTS) sinyalleri kullanılarak otomatikleştirilebilir.

DTR ve RTS pinlerine FT232x USB-UART modülü etrafında inşa edilen popüler FTDI modülünden kolayca erişilebilir (Şekil 5’de gösterilmiştir). CH340 yongaları kullanan harici USB-UART modülleri de mevcuttur, ancak bu modüllerde DTR ve RTS pinlerine erişilemez.

Şekil 5: FT232 USB-UART modülü

FT232x USB-UART modülündeki RTS sinyali, Şekil 5’te gösterildiği gibi ayrı bir pim üzerinde mevcuttur. Programlayıcı ile kullanım kolaylığı için, erkek çıkış pimlerini gerekli tüm çıkışların (deliklerin) bulunduğu modüle takın. Altı pinden oluşan isteğe bağlı bir seri adaptör, dikey olarak değil, modül üzerine yatay olarak monte edilir.

FT232 modülü ayrıca USB I / O için entegre 3.3V seviye dönüştürücüsüne sahiptir. ESP8266-12x 3.3V üzerinde çalıştığından, modül üzerindeki atlama kablosu 3.3V olarak ayarlanmalıdır, böylece sinyaller ESP8266 ile uyumludur. 3.3V, harici mantık sağlamak için de kullanılabilir. Bununla birlikte, FT232’deki maksimum akım değeri 100mA, ESP8266-12E / F ise 170mA’lık tepe akımları çekebilir. FT232 cihazının hasar görmesini önlemek için ESP8266-12E / F’ye güç sağlamak için harici bir 3.3V modülü kullanılır.

Programcı devresi

Otomatik programlayıcının devre şeması Şekil 6’da gösterilmiştir. ESP8266-12E modülü (MOD1), FT232 modülü (MOD2), 3.3V modülü (MOD3), iki anahtar (S1 ve S2), iki BC547 transistör etrafında inşa edilmiştir. (T1 ve T2) ve diğer birkaç bileşen.

6: Otomatik ESP8266-12E / F Modül Programlayıcısının devre şeması

Otomatik ESP-12E / F programlayıcı devresi yukarıda tartışılan manuel programlayıcıya benzer. RTS sinyali ESP8266’yı sıfırlamak için kullanılırken, DTR sinyali çipi flaş moduna almak için kullanılır. T1 ve T2, hem DTR hem de RTS sinyalleri düşük olduğunda ESP8266’nın sıfırlanmaması için kullanılır. Yükleme komutunun algılanması üzerine, ESP modülü otomatik olarak flaş moduna geçirilir ve sorunsuz bir şekilde yeni bir çizim yüklenebilir. Yükleme komutunun yokluğunda, ESP-12E / F normal modda başlar ve programlanmış ESP-12E / F kartı bir uygulamada test edilebilir veya kullanılabilir.

ESP-12E / F kartını test etmek için, bu makalede basit bir LED yanıp sönen uygulama sunulmuştur. Yazılım kodu (NewBlink.ino) Arduino programlama dilinde yazılmıştır.

Programlayıcı nasıl kullanılır

Programlayıcı, Şekil 7’de gösterildiği gibi genel amaçlı bir PCB üzerine veya Şekil 8 ve 9’da gösterildiği gibi tasarlanmış PCB üzerine kurulabilir.

7: Yazar tarafından kullanılan modüller ve genel amaçlı PCB8: Otomatik ESP8266-12E / F Modül Programlayıcı’nın PCB düzeni9: PCB için bileşen yerleşimi

PCB ve Bileşen Düzeni PDF’lerini indirin: buraya tıklayın

Kaynak Klasörü İndir

Dişi Berg şerit konnektörleri, ESP8266 yongasını ve programlayıcı kartındaki FTDI kartını (FT232 modülü) takmak için kullanılır. Modülleri ve konektörleri PCB’ye monte edin. Modüllerin doğru yönde takıldığından emin olun.

Şimdi FT232 modülünü bir USB kablosuyla bilgisayara bağlayın. Arduino IDE’yi açın ve kodunuzu yazın veya bilgisayarınızda kayıtlı mevcut kodu açın. Burada, LED yanıp sönen uygulamanın kodunu (NewBlink.ino) açmanız yeterlidir.

Arduino IDE’de doğru Com portunu seçin ve kartı NodeMCU 1.0 (ESP-12E Modülü) olarak ayarlayın. Yükleme hızının 115200 olduğunu kontrol edin. Normalde NodeMCU kullanarak yaptığınız gibi derleyin ve yükleyin. ESP-12E / F kartındaki yerleşik LED (GPIO 2’de), başarılı yüklemede yanıp sönmeye başlayacaktır.

Programlanan ESP-12E / F modülü programlayıcıdan çıkarılabilir ve projeye özgü kartınıza kaydırılabilir. Artık dağıtım için hazır olan daha ucuz ve daha küçük bir NodeMCU sürümüne sahipsiniz.

 

 

 

https://drive.google.com/file/d/1H8TGZ39DN2mhjHOwNZcs5HUSTocxo3NO/view?usp=sharing

Posted in Makaleler.