Talaan ng mga Nilalaman:

Pagdidisenyo ng isang Microcontroller Development Board: 14 Hakbang (na may Mga Larawan)
Pagdidisenyo ng isang Microcontroller Development Board: 14 Hakbang (na may Mga Larawan)

Video: Pagdidisenyo ng isang Microcontroller Development Board: 14 Hakbang (na may Mga Larawan)

Video: Pagdidisenyo ng isang Microcontroller Development Board: 14 Hakbang (na may Mga Larawan)
Video: James Gunn - 2019 Kyoto Laureate in Basic Sciences - Lecture and Conversationn 2024, Setyembre
Anonim
Pagdidisenyo ng isang Microcontroller Development Board
Pagdidisenyo ng isang Microcontroller Development Board

Ikaw ba ay isang tagagawa, libangan, o hacker na interesado sa pag-angat mula sa mga proyekto sa perfboard, mga DIP IC at mga PCB na ginawa sa bahay hanggang sa mga multilayer PCB na gawa-gawa ng mga board house at SMD na balot na handa na para sa malawakang paggawa? Pagkatapos ang itinuturo na ito ay para sa iyo!

Ididetalye ng gabay na ito kung paano pumunta tungkol sa pagdidisenyo ng isang multilayer PCB, gamit ang isang microcontroller dev board bilang isang halimbawa.

Ginamit ko ang KiCAD 5.0, na kung saan ay isang libre at bukas na mapagkukunan ng EDA na tool, para sa paglikha ng mga iskema at layout ng PCB para sa dev board na ito.

Kung hindi ka pamilyar sa KiCAD o sa daloy ng trabaho para sa layout ng PCB, ang mga tutorial ni Chris Gamell sa YouTube ay isang magandang lugar upang magsimula.

EDIT: Ang ilan sa mga larawan ay nag-zoom in ng sobra, mag-click lamang sa imahe upang makita ang buong larawan:)

Hakbang 1: Mag-isip Tungkol sa Component Packaging

Isipin Tungkol sa Component Packaging
Isipin Tungkol sa Component Packaging

Ang mga Surface Mount Device (SMDs) ay maaaring nakaposisyon sa isang PCB sa pamamagitan ng isang pick and place machine, na awtomatiko ang proseso ng pagpupulong. Maaari mo nang patakbuhin ang PCB sa pamamagitan ng isang refow oven, o isang wave soldering machine, kung mayroon ka ring mga bahagi ng butas.

Ang mga lead ng bahagi para sa mas maliit na mga SMD ay nabawasan din, na nagreresulta sa higit na mas mababang impedance, inductance at EMI, isang napakahusay na bagay, lalo na para sa mga disenyo ng RF at mataas na dalas.

Ang pagpunta sa pang-ibabaw na ruta ng mount ay nagpapabuti din sa pagganap ng mekanikal at pagiging masungit, na kung saan ay mahalaga para sa pagsubok ng panginginig ng boses at mekanikal stress.

Hakbang 2: Piliin ang Iyong Microcontroller

Piliin ang Iyong Microcontroller
Piliin ang Iyong Microcontroller

Sa gitna ng bawat board ng pag-unlad ng microcontroller, tulad ng Arduino at mga derivatives nito, ay isang microcontroller. Sa kaso ng Arduino Uno, ito ang ATmega 328P. Para sa aming dev board, gagamitin namin ang ESP8266.

Mura ito sa dumi, tumatakbo sa 80MHz (at overclockable hanggang 160MHz) AT mayroong built-in na WiFi subsystem. Kapag ginamit bilang isang standalone microcontroller, maaari itong magpatupad ng ilang mga operasyon hanggang sa 170x mas mabilis kaysa sa isang Arduino.

Hakbang 3: Piliin ang Iyong USB sa Serial Converter

Piliin ang iyong USB sa Serial Converter
Piliin ang iyong USB sa Serial Converter

Ang isang microcontroller ay mangangailangan ng ilang paraan upang mag-interface sa iyong computer, upang mai-load mo ang iyong mga programa dito. Karaniwan itong nagagawa ng isang panlabas na maliit na tilad, na nangangalaga sa pagsasalin sa pagitan ng mga kaugalian na signal na ginamit ng USB port sa iyong computer, at ang solong natapos na pagbibigay ng senyas na magagamit sa karamihan ng mga microcontrollers sa pamamagitan ng kanilang mga serial komunikasi peripheral, tulad ng UART.

Sa aming kaso, gagamitin namin ang isang FT230X, mula sa FTDI. Ang USB sa Serial chips mula sa FTDI ay madalas na suportado ng maayos sa karamihan ng mga operating system, kaya't ito ay isang ligtas na pusta para sa isang dev board. Ang mga patok na kahalili (mas murang mga pagpipilian) ay kasama ang CP2102 mula sa SiLabs at CH340G.

Hakbang 4: Piliin ang Iyong Regulator

Piliin ang Iyong Regulator
Piliin ang Iyong Regulator

Kailangang makakuha ang lupon ng kuryente sa kung saan - at sa karamihan ng mga kaso makikita mo ang kapangyarihang ito na ibinigay sa pamamagitan ng isang linear regulator IC. Ang mga linear regulator ay mura, simple, at habang hindi kasing husay ng isang mode na nakabukas na mode, mag-aalok ng malinis na lakas (mas mababa ang ingay) at madaling pagsasama.

Ang AMS1117 ang pinakatanyag na linear regulator na ginamit sa karamihan ng mga dev board, at isang disenteng pagpipilian para sa aming dev board din.

Hakbang 5: Piliin ang Iyong Power O-ing Scheme

Piliin ang Iyong Scheme na Power O-ing
Piliin ang Iyong Scheme na Power O-ing

Kung papayagan mong magamit ng gumagamit ang dev board sa pamamagitan ng USB, at nag-aalok din ng input ng boltahe sa pamamagitan ng isa sa mga pin sa board, kakailanganin mo ng isang paraan upang pumili sa pagitan ng dalawang nagkakumpitensyang voltages. Ito ay pinaka-simpleng nagagawa sa pamamagitan ng paggamit ng mga diode, na gumagana upang pahintulutan lamang ang mas mataas na boltahe ng pag-input na pumasa at paganahin ang natitirang circuit.

Sa aming kaso, mayroon kaming dalawahang schottky barrier, na nagsasama ng dalawang schottky diode sa isang solong pakete para sa mismong hangaring ito.

Hakbang 6: Piliin ang Iyong Mga Peripheral Chips (kung Anuman)

Piliin ang Iyong Peripheral Chips (kung Anuman)
Piliin ang Iyong Peripheral Chips (kung Anuman)
Piliin ang Iyong Peripheral Chips (kung Anuman)
Piliin ang Iyong Peripheral Chips (kung Anuman)

Maaari kang magdagdag ng mga chips sa interface sa iyong napiling microcontroller upang mapahusay ang kakayahang magamit o pagpapaandar na inaalok ng iyong dev board sa mga gumagamit nito.

Sa aming kaso, ang ESP8266 ay mayroon lamang isang solong analog input channel, at napakakaunting mga magagamit na GPIO.

Upang matugunan ito, magdaragdag kami ng isang panlabas na Analog sa Digital Converter IC, at isang GPIO Expander IC.

Ang pagpili ng isang ADC ay karaniwang isang trade off sa pagitan ng rate ng conversion o bilis, at resolusyon. Ang mga mas mataas na resolusyon ay hindi kinakailangang mas mahusay, dahil ang mga chips na nagtatampok ng mas mataas na mga resolusyon dahil gumagamit sila ng iba't ibang mga diskarte sa pag-sample ay madalas na may napakabagal na mga rate ng sample. Ang mga karaniwang SAR ADC ay mayroong mga rate ng sample na labis sa daan-daang libu-libong mga sample bawat segundo, samantalang ang mas mataas na resolusyon na Delta Sigma ADCs ay karaniwang may kakayahan lamang ng isang maliit na mga sample bawat segundo-isang mundo na malayo sa mga mabilis na SAR ADC at mga kidlat na mabilis na pipelined ADCs.

Ang MCP3208 ay isang 12-bit ADC, na may 8 analog na mga channel. Maaari itong gumana kahit saan sa pagitan ng 2.7V-5.5V at may maximum na rate ng sampling na 100ksps.

Ang pagdaragdag ng isang MCP23S17, isang tanyag na expander ng GPIO ay nagreresulta sa 16 na mga GPIO pin na magagamit para magamit.

Hakbang 7: Disenyo ng Circuit

Disenyo ng Circuit
Disenyo ng Circuit

Gumagamit ang circuit ng paghahatid ng kuryente ng dalawang schottky diode upang makapagbigay ng isang simpleng OR-ing na pagpapaandar para sa pag-input ng kuryente. Nagtatakda ito ng isang labanan sa pagitan ng 5V na nagmumula sa USB port, at kung ano ang nais mong ibigay sa VIN pin - ang nagwagi ng labanan sa elektron ay lumalabas sa itaas at nagbibigay ng lakas sa AMS1117 regulator. Ang isang mapagpakumbabang SMD LED ay nagsisilbing isang tagapagpahiwatig na ang kapangyarihan ay sa katunayan ay naihatid sa natitirang lupon.

Nagtatampok ang circuit ng USB interface ng isang ferrite bead upang maiwasan ang ligaw na EMI at ang mga ingay na signal ng orasan mula sa pag-radiate pababa patungo sa computer ng isang gumagamit. Ang mga resistors ng serye sa mga linya ng data (D + at D-) ay nagbibigay ng pangunahing kontrol ng rate ng edge.

Gumagamit ang ESP8266 ng GPIO 0, GPIO 2 at GPIO 15 bilang mga espesyal na input pin, na binabasa ang kanilang estado sa boot upang matukoy kung magsisimula sa mode ng pagprograma, na hinahayaan kang makipag-usap sa serial upang mai-program ang chip-o flash boot mode, na naglulunsad ng iyong programa. Ang GPIO 2 at GPIO 15 ay dapat manatili sa mataas na lohika, at mababa ang lohika, ayon sa pagkakabanggit sa proseso ng boot. Kung ang GPIO 0 ay mababa sa boot, ang ESP8266 ay nagbitiw sa kontrol at nagbibigay-daan sa iyo upang iimbak ang iyong programa sa flash memory na naka-interfaced sa loob ng module. Kung mataas ang GPIO 0, ilulunsad ng ESP8266 ang huling program na nakaimbak sa flash, at handa ka nang mag-roll.

Sa pagtatapos na iyon, ang aming dev board ay nagbibigay ng boot at i-reset ang mga switch, pinapayagan ang mga gumagamit na i-toggle ang estado ng GPIO 0, at i-reset ang aparato, upang ilagay ang maliit na tilad sa nais na mode ng pagprograma. Tinitiyak ng isang resistor na pull-up na ang aparato ay naglulunsad sa normal na mode ng boot bilang default, sinisimulan ang pinakahuling nakaimbak na programa.

Hakbang 8: Disenyo at Layout ng PCB

Disenyo at Layout ng PCB
Disenyo at Layout ng PCB

Nagiging mas kritikal ang layout ng PCB sa sandaling kasangkot ang mataas na bilis o mga signal ng analog. Sa partikular ang mga analog na IC ay sensitibo sa mga isyu sa ingay sa lupa. Ang mga eroplano sa lupa ay may kakayahang magbigay ng isang mas matatag na sanggunian para sa mga signal ng interes, binabawasan ang ingay at pagkagambala na karaniwang sanhi ng mga loop ng lupa.

Ang mga bakas ng analog ay dapat itago ang layo mula sa mga bilis ng digital na bilis, tulad ng mga linya ng kaugalian ng data na bahagi ng pamantayan ng USB. Ang mga bakas ng signal ng kaugalian ng data ay dapat gawin hangga't maaari, at dapat na maitugma ang haba ng bakas. Iwasan ang mga pagliko at vias upang mabawasan ang mga pagsasalamin at pagkakaiba-iba ng impedance.

Ang paggamit ng isang pagsasaayos ng bituin para sa pagbibigay ng lakas sa mga aparato (sa pag-aakalang hindi ka pa gumagamit ng isang eroplano na kuryente) ay makakatulong din na mabawasan ang ingay sa pamamagitan ng pag-aalis ng kasalukuyang mga pabalik na landas.

Hakbang 9: PCB Stack-Up

PCB Stack-Up
PCB Stack-Up

Ang aming dev board ay binuo sa isang 4 layer PCB stack, na may isang nakatuong eroplano ng kuryente at ground plane.

Ang iyong "stack-up" ay ang pagkakasunud-sunod ng mga layer sa iyong PCB. Ang pag-aayos ng mga layer ay nakakaapekto sa pagsunod sa EMI ng iyong disenyo, pati na rin ang integridad ng signal ng iyong circuit.

Ang mga kadahilanan na isasaalang-alang sa iyong PCB stack-up ay maaaring kasama ang:

  1. Ang bilang ng mga layer
  2. Ang pagkakasunud-sunod ng mga layer
  3. Puwang sa pagitan ng mga layer
  4. Ang layunin ng bawat layer (signal, eroplano atbp)
  5. Kapal ng layer
  6. Gastos

Ang bawat stack-up ay may sariling hanay ng mga pakinabang at kawalan. Ang isang 4 layer board ay makakagawa ng halos 15dB mas kaunting radiation kaysa sa isang disenyo ng 2 layer. Ang mga layer ng multi layer ay mas malamang na magtampok ng isang kumpletong eroplano sa lupa, pagbawas ng impedance sa lupa, at ingay sa sanggunian.

Hakbang 10: Maraming Pagsasaalang-alang para sa Mga Layer ng PCB at Integridad ng Signal

Higit pang Mga Pagsasaalang-alang para sa Mga Layer ng PCB at Integridad ng Signal
Higit pang Mga Pagsasaalang-alang para sa Mga Layer ng PCB at Integridad ng Signal

Ang mga layer ng signal ay dapat na katabi ng alinman sa isang kuryente o ground plane, na may kaunting distansya sa pagitan ng signal layer at ng kani-kanilang kalapit na eroplano. Ini-optimize nito ang landas ng pagbalik ng signal, na dumaan sa eroplano ng sanggunian.

Ang mga eroplano ng lakas at lupa ay maaaring magamit upang magbigay ng kalasag sa pagitan ng mga layer, o bilang mga kalasag para sa panloob na mga layer.

Ang isang eroplano ng kuryente at sa lupa, kapag inilagay sa tabi ng bawat isa, ay magreresulta sa isang kapasidad ng interplane na karaniwang gumagana sa iyong pabor. Ang mga sukat ng capacitance na ito sa lugar ng iyong PCB, pati na rin ang dielectric na pare-pareho, at baligtad na proporsyonal sa distansya sa pagitan ng mga eroplano. Ang capacitance na ito ay gumagana nang maayos upang maghatid ng mga IC na nagtatampok ng pabagu-bago ng suplay ng kasalukuyang mga kinakailangan.

Mabilis na signal ay mainam na naka-stash sa panloob na mga layer ng multi layer PCBs, upang maglaman ng EMI na nabuo ng mga bakas.

Ang mas mataas na mga frequency na hinarap sa board, ang mas mahigpit na mga ideal na kinakailangan na ito ay dapat sundin. Ang mga disenyo ng mababang bilis ay malamang na makawala na may mas kaunting mga layer, o kahit isang solong layer, habang ang mga disenyo ng mataas na bilis at RF ay nangangailangan ng mas masalimuot na disenyo ng PCB na may isang mas istratehiyang stack ng PCB.

Ang mga disenyo ng mataas na bilis, halimbawa, ay madaling kapitan ng epekto ng balat-na kung saan ay ang pagmamasid na sa mataas na frequency, ang kasalukuyang daloy ay hindi tumagos sa buong katawan ng isang konduktor, na kung saan ay nangangahulugang mayroong isang nababawasan na marginal utility upang tumaas ang kapal ng tanso sa isang tiyak na dalas, dahil ang labis na dami ng conductor ay hindi pa rin gagamitin. Sa halos 100MHz, ang lalim ng balat (ang kapal ng kasalukuyang talagang dumadaloy sa pamamagitan ng conductor) ay tungkol sa 7um, na nangangahulugang kahit karaniwang 1oz. ang mga makapal na signal layer ay underutilized.

Hakbang 11: Isang Paalala sa Vias

Isang Tala Paalala kay Vias
Isang Tala Paalala kay Vias

Ang Vias ay bumubuo ng mga koneksyon sa pagitan ng iba't ibang mga layer ng isang multilayer PCB.

Ang mga uri ng vias na ginamit ay makakaapekto sa gastos ng paggawa ng PCB. Ang mga bulag / naglibing na vias ay nagkakahalaga ng higit pa sa paggawa kaysa sa pamamagitan ng hole vias. Ang isang butas sa pamamagitan ng mga pagsuntok sa buong PCB, na tinatapos sa pinakamababang layer. Ang mga tinago na vias ay nakatago sa loob at magkakaugnay lamang sa panloob na mga layer, habang ang Mga bulag na vias ay nagsisimula sa isang bahagi ng PCB ngunit winakasan bago ang kabilang panig. Sa pamamagitan ng hole vias ang pinakamura at pinakamadaling magawa, kaya't kung mag-optimize para sa paggamit ng gastos sa pamamagitan ng hole vias.

Hakbang 12: Pabrika at Assembly ng PCB

Pabrika at Assembly ng PCB
Pabrika at Assembly ng PCB

Ngayon na ang board ay dinisenyo, gugustuhin mong i-output ang disenyo bilang mga file ng Gerber mula sa iyong tool na pinili ng EDA, at ipadala sila sa isang board house para sa katha.

Ginawa ko ang aking mga board ng ALLPCB, ngunit maaari mong gamitin ang anumang board shop para sa katha. Masidhing inirerekumenda ko ang paggamit ng PCB Shopper upang ihambing ang mga presyo kapag nagpapasya kung aling board house ang pipiliin para sa katha - upang maihambing mo ang mga tuntunin ng pagpepresyo at mga kakayahan.

Ang ilan sa mga board house ay nag-aalok din ng PCB Assembly, na malamang na kakailanganin mo kung nais mong ipatupad ang disenyo na ito, dahil gumagamit ito ng halos SMD at kahit na mga bahagi ng QFN.

Hakbang 13: Iyon lang ang Mga Tao

Iyon lang mga kaibigan!
Iyon lang mga kaibigan!

Ang board ng pag-unlad na ito ay tinatawag na "Clouduino Stratus", isang nakabatay sa dev board na ESP8266 na dinisenyo ko para mapabilis ang proseso ng prototyping para sa isang pagsisimula ng hardware / IOT.

Ito ay pa rin isang maagang pag-ulit ng disenyo, na may mga bagong pagbabago na paparating.

Inaasahan kong marami kayong natutunan mula sa patnubay na ito!: D

Hakbang 14: Bonus: Mga Bahagi, Gerber, Disenyo ng Mga File at Mga Pagkilala

[Microcontroller]

1x ESP12F

[Mga Peripheral]

1 x MCP23S17 GPIO Expander (QFN)

1 x MCP3208 ADC (SOIC)

[Mga Konektor at Interfacing]

1 x FT231XQ USB sa Serial (QFN)

1 x USB-B Mini Connector

2 x 16-pin Babae / Lalaki na mga header

[Lakas] 1 x AMS1117 - 3.3 Regulator (SOT-223-3)

[Iba pa]

1 x ECQ10A04-F Dual Schottky Barrier (TO-252)

2 x BC847W (SOT323)

7 x 10K 1% SMD 0603 Mga Resistor

2 x 27 ohm 1% SMD 0603 Mga Resistor

3 x 270 ohm 1% SMD 0603 Mga Resistor

2 x 470 ohm 1% SMD 0603 Mga Resistor

3 x 0.1uF 50V SMD 0603 Capacitor

2 x 10uF 50V SMD 0603 Capacitor

1 x 1uF 50V SMD 0603 Capacitor

2 x 47pF 50V SMD 0603 Capacitor

1 x SMD LED 0603 Green

1 x SMD LED 0603 Dilaw

1 x SMD LED 0603 Blue

2 x OMRON BF-3 1000 THT Tact Switch

1 x Ferrite Bead 600 / 100mhz SMD 0603

[Mga Pagkilala] Mga ADC graph sa kabutihang loob ng TI App Notes

MCU Benchmark:

Mga Guhit ng PCB: Fineline

Inirerekumendang: