İçindekiler:

Mikrodenetleyici Geliştirme Kartı Tasarımı: 14 Adım (Resimlerle)
Mikrodenetleyici Geliştirme Kartı Tasarımı: 14 Adım (Resimlerle)

Video: Mikrodenetleyici Geliştirme Kartı Tasarımı: 14 Adım (Resimlerle)

Video: Mikrodenetleyici Geliştirme Kartı Tasarımı: 14 Adım (Resimlerle)
Video: Nostalji Köşesi : İlk öğrendiğim mikrodenetleyiciler: PIC'ler 2024, Eylül
Anonim
Mikrodenetleyici Geliştirme Kartı Tasarlamak
Mikrodenetleyici Geliştirme Kartı Tasarlamak

Perfboard projelerinden, DIP IC'lerden ve ev yapımı PCB'lerden, tahta evler tarafından üretilen çok katmanlı PCB'lere ve seri üretime hazır SMD ambalajlarına geçmekle ilgilenen bir yapımcı, hobi veya bilgisayar korsanı mısınız? O zaman bu talimat sizin için!

Bu kılavuz, örnek olarak bir mikrodenetleyici geliştirme kartı kullanarak çok katmanlı bir PCB tasarlamanın nasıl yapılacağını detaylandıracaktır.

Bu geliştirme kartı için şemaları ve PCB düzenini oluşturmak için ücretsiz ve açık kaynaklı bir EDA aracı olan KiCAD 5.0'ı kullandım.

KiCAD'e veya PCB düzeni iş akışına aşina değilseniz, Chris Gamell'in YouTube'daki eğitimleri başlamak için oldukça iyi bir yerdir.

EDIT: Bazı fotoğraflar çok fazla yakınlaştırılıyor, resmin tamamını görmek için resme tıklamanız yeterli:)

Adım 1: Bileşen Paketlemeyi Düşünün

Bileşen Ambalajını Düşünün
Bileşen Ambalajını Düşünün

Yüzey Montaj Cihazları (SMD'ler), montaj sürecini otomatikleştiren bir toplama ve yerleştirme makinesi ile bir PCB üzerine yerleştirilebilir. Daha sonra PCB'yi yeniden akış fırını veya açık delik bileşenlerine sahipseniz dalga lehimleme makinesi aracılığıyla çalıştırabilirsiniz.

Daha küçük SMD'ler için bileşen uçları da azaltılır, bu da önemli ölçüde daha düşük empedans, endüktans ve EMI ile sonuçlanır, bu özellikle RF ve yüksek frekans tasarımları için çok iyi bir şeydir.

Yüzeye montaj yoluna gitmek, titreşim ve mekanik stres testi için önemli olan mekanik performansı ve sağlamlığı da iyileştirir.

Adım 2: Mikrodenetleyicinizi Seçin

Mikrodenetleyicinizi Seçin
Mikrodenetleyicinizi Seçin

Arduino ve türevleri gibi her mikro denetleyici geliştirme kartının kalbinde bir mikro denetleyici bulunur. Arduino Uno durumunda, bu ATmega 328P'dir. Geliştirme kartımız için ESP8266'yı kullanacağız.

Çok ucuzdur, 80 MHz'de çalışır (ve 160 MHz'e hız aşırtılabilir) VE yerleşik bir WiFi alt sistemine sahiptir. Bağımsız bir mikro denetleyici olarak kullanıldığında, belirli işlemleri bir Arduino'dan 170 kata kadar daha hızlı gerçekleştirebilir.

Adım 3: USB - Seri Dönüştürücünüzü Seçin

USB - Seri Dönüştürücünüzü Seçin
USB - Seri Dönüştürücünüzü Seçin

Bir mikrodenetleyicinin bilgisayarınızla arayüz oluşturması için bir yola ihtiyacı olacaktır, böylece programlarınızı ona yükleyebilirsiniz. Bu, tipik olarak, bilgisayarınızdaki USB bağlantı noktası tarafından kullanılan diferansiyel sinyaller ile UART gibi seri iletişim çevre birimleri aracılığıyla çoğu mikro denetleyicide bulunan tek uçlu sinyaller arasında çeviri yapmakla ilgilenen harici bir çip tarafından gerçekleştirilir.

Bizim durumumuzda, FTDI'dan bir FT230X kullanacağız. FTDI'dan USB'den Seri'ye yongalar çoğu işletim sisteminde iyi desteklenme eğilimindedir, bu nedenle bir geliştirme kartı için güvenli bir bahistir. Popüler alternatifler (daha ucuz seçenekler), SiLabs'tan CP2102 ve CH340G'yi içerir.

Adım 4: Regülatörünüzü Seçin

Regülatörünüzü Seçin
Regülatörünüzü Seçin

Kartın bir yerden güç alması gerekecek - ve çoğu durumda bu gücü lineer bir regülatör IC aracılığıyla bulacaksınız. Doğrusal regülatörler ucuzdur, basittir ve anahtarlamalı mod şeması kadar verimli olmasa da temiz güç (daha az gürültü) ve kolay entegrasyon sunar.

AMS1117, çoğu geliştirme kartında kullanılan en popüler doğrusal düzenleyicidir ve geliştirme kartımız için de oldukça iyi bir seçimdir.

Adım 5: Güç VEYA Şemanızı Seçin

Güç VEYA Şemanızı Seçin
Güç VEYA Şemanızı Seçin

Kullanıcının geliştirme kartına USB üzerinden güç vermesine izin verecek ve ayrıca karttaki pinlerden biri aracılığıyla voltaj girişi sunacaksanız, iki rakip voltaj arasında seçim yapmak için bir yola ihtiyacınız olacaktır. Bu, en basit şekilde, yalnızca daha yüksek giriş voltajının geçmesine ve devrenin geri kalanına güç vermesine izin vermek için çalışan diyotların kullanımıyla gerçekleştirilir.

Bizim durumumuzda, bu amaç için tek bir paket üzerinde iki schottky diyotu içeren bir ikili schottky bariyerimiz var.

Adım 6: Çevresel Yongalarınızı Seçin (Varsa)

Çevresel Yongalarınızı Seçin (Varsa)
Çevresel Yongalarınızı Seçin (Varsa)
Çevresel Yongalarınızı Seçin (Varsa)
Çevresel Yongalarınızı Seçin (Varsa)

Geliştirme kartınızın kullanıcılarına sunduğu kullanılabilirliği veya işlevselliği geliştirmek için seçtiğiniz mikro denetleyiciyle arabirime çipler ekleyebilirsiniz.

Bizim durumumuzda, ESP8266'nın yalnızca tek bir analog giriş kanalı ve çok az kullanılabilir GPIO'su vardır.

Bunu ele almak için harici bir Analog to Digital Converter IC ve bir GPIO Expander IC ekleyeceğiz.

Bir ADC seçmek, genellikle dönüştürme oranı veya hızı ile çözünürlük arasında bir dengedir. Daha yüksek çözünürlükler mutlaka daha iyi değildir, çünkü farklı örnekleme teknikleri kullandıkları için daha yüksek çözünürlüklere sahip çipler genellikle çok yavaş örnekleme hızlarına sahip olacaktır. Tipik SAR ADC'leri saniyede yüz binlerce numuneyi aşan numune hızlarına sahiptir, oysa daha yüksek çözünürlüklü Delta Sigma ADC'ler genellikle saniyede yalnızca bir avuç numune alabilir - hızlı SAR ADC'lerinden ve yıldırım hızında ardışık ADC'lerden bir dünya uzakta.

MCP3208, 8 analog kanallı 12 bitlik bir ADC'dir. 2.7V-5.5V arasında herhangi bir yerde çalışabilir ve maksimum 100kps örnekleme hızına sahiptir.

Popüler bir GPIO genişletici olan MCP23S17'nin eklenmesi, 16 GPIO pininin kullanıma hazır hale gelmesine neden olur.

Adım 7: Devre Tasarımı

Devre tasarımı
Devre tasarımı

Güç dağıtım devresi, güç girişi için basit bir OR-ing işlevi sağlamak üzere iki schottky diyot kullanır. Bu, USB bağlantı noktasından gelen 5V ile VIN pinine vermek istediğiniz her şey arasında bir savaş kurar - elektron savaşının galibi en üste çıkar ve AMS1117 regülatörüne güç sağlar. Mütevazı bir SMD LED, gücün aslında kartın geri kalanına iletildiğinin bir göstergesi olarak hizmet eder.

USB arabirim devresi, başıboş EMI'yi ve gürültülü saat sinyallerinin kullanıcının bilgisayarına doğru yayılmasını önlemek için bir ferrit boncuk içerir. Veri hatlarındaki (D+ ve D-) seri dirençler, temel kenar hızı kontrolü sağlar.

ESP8266, GPIO 0, GPIO 2 ve GPIO 15'i özel giriş pinleri olarak kullanır, önyükleme sırasında durumlarını okur ve programlama modunda başlatılıp başlatılmayacağını belirler; bu, programınızı başlatan çip veya flash önyükleme modunu programlamak için seri üzerinden iletişim kurmanıza olanak tanır. GPIO 2 ve GPIO 15, önyükleme işlemi sırasında sırasıyla mantık yüksek ve mantık düşük kalmalıdır. Önyükleme sırasında GPIO 0 düşükse, ESP8266 kontrolü bırakır ve programınızı modül içinde arayüzlenen flash bellekte saklamanıza izin verir. GPIO 0 yüksekse, ESP8266 flash'ta depolanan son programı başlatır ve artık başlamaya hazırsınız.

Bu amaçla, geliştirme kartımız, kullanıcıların GPIO 0 durumunu değiştirmesine ve çipi istenen programlama moduna sokmak için cihazı sıfırlamasına izin veren önyükleme ve sıfırlama anahtarları sağlar. Bir çekme direnci, en son depolanan programı başlatarak, aygıtın varsayılan olarak normal önyükleme moduna geçmesini sağlar.

Adım 8: PCB Tasarımı ve Düzeni

PCB Tasarımı ve Düzeni
PCB Tasarımı ve Düzeni

Yüksek hız veya analog sinyaller dahil olduğunda PCB düzeni daha kritik hale gelir. Özellikle analog IC'ler, zemin gürültüsü sorunlarına karşı hassastır. Yer düzlemleri, ilgili sinyaller için daha kararlı bir referans sağlama yeteneğine sahiptir ve tipik olarak toprak döngülerinin neden olduğu gürültüyü ve paraziti azaltır.

Analog izler, USB standardının bir parçası olan diferansiyel veri hatları gibi yüksek hızlı dijital izlerden uzak tutulmalıdır. Diferansiyel veri sinyali izleri mümkün olduğunca kısa yapılmalı ve iz uzunluğu uyumlu olmalıdır. Yansımaları ve empedans değişimlerini azaltmak için dönüşlerden ve geçişlerden kaçının.

Cihazlara güç sağlamak için bir yıldız konfigürasyonu kullanmak (zaten bir güç düzlemi kullanmadığınızı varsayarsak), mevcut dönüş yollarını ortadan kaldırarak gürültünün azaltılmasına da yardımcı olur.

Adım 9: PCB Yığınlama

PCB Yığınlama
PCB Yığınlama

Geliştirme kartımız, özel bir güç düzlemi ve yer düzlemi ile 4 katmanlı bir PCB yığını üzerine inşa edilmiştir.

"Yığınınız", PCB'nizdeki katmanların sırasıdır. Katmanların düzeni, tasarımınızın EMI uyumluluğunu ve devrenizin sinyal bütünlüğünü etkiler.

PCB yığınınızda dikkate alınması gereken faktörler şunları içerir:

  1. katman sayısı
  2. Katmanların sırası
  3. Katmanlar arasındaki boşluk
  4. Her katmanın amacı (sinyal, düzlem vb.)
  5. Tabaka kalınlığı
  6. Maliyet

Her istiflemenin kendi avantajları ve dezavantajları vardır. 4 katmanlı bir tahta, 2 katmanlı bir tasarıma göre kabaca 15dB daha az radyasyon üretecektir. Çok katmanlı panoların tam bir zemin düzlemi içermesi, zemin empedansını ve referans gürültüsünü azaltması daha olasıdır.

Adım 10: PCB Katmanları ve Sinyal Bütünlüğü için Daha Fazla Düşünce

PCB Katmanları ve Sinyal Bütünlüğü için Daha Fazla Husus
PCB Katmanları ve Sinyal Bütünlüğü için Daha Fazla Husus

Sinyal katmanları, ideal olarak, sinyal katmanı ile ilgili yakındaki düzlemleri arasında minimum mesafe olacak şekilde, bir güç veya yer düzleminin yanında olmalıdır. Bu, referans düzleminden geçen sinyal dönüş yolunu optimize eder.

Güç ve yer düzlemleri, katmanlar arasında koruma sağlamak için veya iç katmanlar için kalkan olarak kullanılabilir.

Bir güç ve yer düzlemi yan yana yerleştirildiğinde, genellikle sizin lehinize çalışan bir düzlemler arası kapasitans ile sonuçlanacaktır. Bu kapasitans, PCB'nizin alanı ve dielektrik sabiti ile ölçeklenir ve düzlemler arasındaki mesafeyle ters orantılıdır. Bu kapasitans, değişken besleme akımı gereksinimlerine sahip IC'lere hizmet etmek için iyi çalışır.

Hızlı sinyaller, izler tarafından üretilen EMI'yi içermek için ideal olarak çok katmanlı PCB'lerin iç katmanlarında saklanır.

Tahtada ele alınan frekanslar ne kadar yüksekse, bu ideal gereksinimler o kadar sıkı takip edilmelidir. Düşük hızlı tasarımların daha az katmanla, hatta tek bir katmanla kurtulması muhtemeldir, yüksek hız ve RF tasarımları ise daha stratejik bir PCB yığını ile daha karmaşık PCB tasarımını gerektirir.

Örneğin, yüksek hızlı tasarımlar, deri etkisine karşı daha hassastır; bu, yüksek frekanslarda akım akışının bir iletkenin tüm gövdesine nüfuz etmediği gözlemidir; bu da, artan marjinal faydanın azalan bir marjinal faydası olduğu anlamına gelir. bakırın kalınlığı belirli bir frekansta, çünkü ekstra iletken hacmi zaten kullanılmayacaktır. Yaklaşık 100MHz'de, yüzey derinliği (gerçekte iletkenden akan akımın kalınlığı) yaklaşık 7um'dur, bu da standart 1oz anlamına gelir. kalın sinyal katmanları yeterince kullanılmamaktadır.

Adım 11: Vias Üzerine Bir Yan Not

Vias Üzerine Bir Yan Not
Vias Üzerine Bir Yan Not

Vias, çok katmanlı bir PCB'nin farklı katmanları arasında bağlantılar oluşturur.

Kullanılan yol türleri, PCB üretim maliyetini etkileyecektir. Kör/gömülü yolların üretimi, açık delikli yollardan daha pahalıdır. En alt katmanda sona eren tüm PCB boyunca zımbalar aracılığıyla bir açık delik. Gömülü yollar içeride gizlidir ve yalnızca iç katmanları birbirine bağlarken, Kör yollar PCB'nin bir tarafında başlar ancak diğer taraftan önce sona erer. Açık delikli yollar, üretilmesi en ucuz ve en kolay olanlardır, bu nedenle, delikli geçişler için maliyet kullanımı optimize edilirse.

Adım 12: PCB İmalatı ve Montajı

PCB İmalatı ve Montajı
PCB İmalatı ve Montajı

Artık pano tasarlandığına göre, tasarımın çıktısını seçtiğiniz EDA aracından Gerber dosyaları olarak almak ve bunları imalat için bir yönetim kuruluna göndermek isteyeceksiniz.

Panolarımı ALLPCB tarafından imal ettirdim, ancak imalat için herhangi bir pano mağazasını kullanabilirsiniz. Üretim için hangi yönetim kurulu evini seçeceğinize karar verirken fiyatları karşılaştırmak için PCB Shopper'ı kullanmanızı şiddetle tavsiye ederim - böylece fiyatlandırma ve yetenekler açısından karşılaştırabilirsiniz.

Yönetim kurulu evlerinden bazıları, çoğunlukla SMD ve hatta QFN parçaları kullandığından, bu tasarımı uygulamak istiyorsanız muhtemelen ihtiyaç duyacağınız PCB Montajı da sunar.

Adım 13: Hepsi Bu Kadar Millet

Hepsi bu kadar Millet!
Hepsi bu kadar Millet!

Bu geliştirme kartına, bir donanım/IOT başlangıcı için prototip oluşturma sürecini hızlandırmak için tasarladığım ESP8266 tabanlı bir geliştirme kartı olan "Clouduino Stratus" denir.

Yeni revizyonlar yakında gelecek, tasarımın hala çok erken bir yinelemesi.

Umarım bu rehberden çok şey öğrenmişsinizdir!:NS

Adım 14: Bonus: Bileşenler, Gerberler, Tasarım Dosyaları ve Teşekkür

[Mikrodenetleyici]

1x ESP12F

[Çevre birimleri]

1 x MCP23S17 GPIO Genişletici (QFN)

1 x MCP3208 ADC (SOIC)

[Bağlayıcılar ve Arayüz]

1 x FT231XQ USB'den Seriye (QFN)

1 x USB-B Mini Konektör

2 x 16 pinli Dişi/Erkek başlık

[Güç]1 x AMS1117 - 3.3 Regülatör (SOT-223-3)

[Diğerleri]

1 x ECQ10A04-F Çift Schottky Bariyeri (TO-252)

2 x BC847W (SOT323)

7 x 10K %1 SMD 0603 Dirençler

2 x 27 ohm %1 SMD 0603 Dirençler

3 x 270 ohm %1 SMD 0603 Dirençler

2 x 470 ohm %1 SMD 0603 Dirençler

3 x 0.1uF 50V SMD 0603 Kondansatör

2 x 10uF 50V SMD 0603 Kondansatör

1 x 1uF 50V SMD 0603 Kondansatör

2 x 47pF 50V SMD 0603 Kondansatör

1 x SMD LED 0603 Yeşil

1 x SMD LED 0603 Sarı

1 x SMD LED 0603 Mavi

2 x OMRON BF-3 1000 THT Tact Anahtarı

1 x Ferrit Boncuk 600/100mhz SMD 0603

[Teşekkürler]ADC grafikleri TI App Notes'un izniyle

MCU Karşılaştırması:

PCB Çizimleri: İnce Çizgi

Önerilen: