Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
01.10.2014
Daniel Amesberger
Electronic Product Development
steps on how to single-handedly build your own IoT hardware
Amescon GmbH ! Fully automated cash handling and
packaging machines " Mechanical Engineering " Electronics Engineering " Software Engineering (Server software/
database backend to microcontroller and PLC software)
! Software development ! Electronic Product Development
" Schematics and PCB design " Firmware, Linux Kernel Drivers " Case design (milled aluminum, die-cut
metal, injection molded) " Consumer/Prosumer Products: RaspiComm,
RasPiComm+, ECG Heart rate monitor,… " B2B Products: E.g. alarm reporting system
deployed in banks
Overview
• PCB (printed circuit board) and electronic components basics
• Choosing Components, Schematics Design • PCB design • Prototype production • Prototype testing • Future developments
Printed Circuit Board Technology
! Features of a PCB " PCB Size, solder resist/mask color " Number of copper layers (1-30 and higher) " Stackup ○ Copper thickness (35µm, 18µm, 12µm, ...) ○ Prepreg/Core thickness and material
" Min. trace and spacing (6mil, 5mil, 4mil, ...) " Min. via pad (0.3mm, 0.2mm,...) and antipad " Solder mask openings " blind/burried vias, VIP (via in pad) " flex or flex-rigid pcb, aluminum core,...
Printed circuit board stackup 6 layer board sample stackup
1 Blind Via 2 Buried Via 3 Throuh hole Via
Via In Pad (VIP)
• Overlay not shown • Solder Mask (green) • Copper (orange)
PCB component sizes
Large
• Through hole • Easy to debug • May be more
expensive to manufacture
• Usually 1-2 layers
Medium
• Surface mount • Good to debug • Cheapest to
source and manufacture
• Usually 2-6 layers
Small
• High density surface mount
• Hard to debug • Most expensive
to manufacture • 4-18 layers
SMD Part Package Sizes
Through Hole
SMD Power components
Standard SMD
Fine Pitch SMD (0.5mm)
Leadless Devices
Fine Pitch Leadless (0.3mm)
BGAs >=0.6mm pitch
uBGA
<= 0.5mm pitch
Hand-Placable Machine-Placable
Basic building blocks of an IoT PCB
! Power management (rechargable LiPo battery, button cell, USB, wall plug,…) " LDOs, Buck Converters (DC/DC converters) " Charging, battery fuel gauge, cell monitoring,…
! Microcontroller and clocking (eg. crystal oscillator), FPGA, DSP,…
! Radio module or circuit (Bluetooth, WiFi, 6LowPan)
! Peripherals (digital/analog I/Os, USB,…) ! Connectors
Choosing components ! Use parametric search (Digikey, RS-components,
Mouser, Farnell,…) ! Check your power budget, chose components
accordingly ! Read the datasheets. Twice. ! Read errata ! Be extra careful when choosing components with
non-standard features (e.g microcontrollers with integrated radio,…)
! If you are not sure how to use the part exactly, chose those where you have reference designs available
! Relieable distributors and manufacturing companies
Schematics ! Chose your design software
" Eagle (free edition is limited) " Kicad, open source (GPL) " Designspark PCB " Altium (free version is coming)
! Create your components " Schematic Symbol " Footprint/Package " Optional: 3d Model
! Start your schematic design " Use reference designs
Simulation
! Sanity check your analog designs ! Simulate different scenarios
Simulating schematics is not a proof that it works in real life. A lot of aspects are considered ideal (e.g. trace impedance) which they are not on your PCB.
LTspice IV
PCB Layout basics ! Check your PCB manufacturer capabilities and
associated costs ! Get their design rules ! Adjust the DRC (design rule check) of your PCB
software according to their design rules ! Start with your basic building blocks we discussed
before " Group the components associated with your building blocks
(power, micros, radio, peripherals, connectors,…) " Place the blocks where you need them in the final design
(connectors, power supply) " Respect general placement and routing guidelines. What is
meant by that?
PCB Layout • Long clock traces • Long digital and
analog traces • Few decoupling
capacitors
• Short clock traces • Max. distrance between
digital and analog traces • Global decoupling
capacitors
Place components
Minimum equipment
Step 1: Apply solder paste ! Tools
" Solder paste, granularity depending on minimum stencil openings " Stencil (capton or stainless steel) or syringe
Syringe PCB with solder paste Stencil
Step 2: Manual component placement
Tweezers Manual Placer
BGA Placer Rework Station
Automatic component placement Pick and place machines • Very high throughput, low costs per
board • High machine cost • High changeover costs
Step 3: Solder components
DIY reflow oven
• Very cheap • Temp.
monitoring needed
reflow oven
• Pretty cheap • Progammable
temperature curve
vapor phase oven
• Expensive • Very good
solder quality • Low component
stress
Test your PCB
! Tools " Bench lab power supply " Multimeter " Oscilloscope " Optional: Logic Analyzer,
Spectum Analyzer, Programmable Load…
! Always check power rails first " Start with current limitation on
your bench supply
Production testing • Think about testing when
designing • what do you want tested
(can your software test all peripherals?)
• How do you test it? (debug connector, test points)
• Methods • Manual testing • Bed of nails • Flying probe tester
Electronics is all Analog • Bob Widlar is wrong, digital
circuits are analog in the electronics world
• Keep the rise times of your digital signals as slow as possible, you will reduce crosstalk and radiated emmissions
• When dealing with high-speed digital signals: get the trace impedance right to avoid reflections
Software/Firmware ! Compiler and toolchain depends on chip and
architecture you use " Atmel AVRs, Microchip PICs, TI MSP430 " ARM Cortex-M0/M0+/M1/M3/M4/M7
○ Licenses core, a lot of manufacturers use them and add peripherals (GPIO, ADC, DMA, SPI, I²C, CAN, USART, …) which are connected over Advanced Microcontroller Bus Architecture (AMBA)
○ GNU ARM GCC, open source ○ Keil uVision (bought by ARM, free up to 32KB flash size
! Programming/debugging with separate programmer " ISP (in-system programming), AVRISP mkII, PICkit 2/3 " JTAG/SWD – JTAG Programmer (ULINK2, Segger J-Link,
…)
Case/Housing
! Prototypes " 3d-printing " CNC milling
! Mass production " Injection molding " CNC milling " Sheet metal
punching
The Future (a.k.a. my wishlist)
! Fast PCB prototyping machines ! Affordable pick and place machines ! Flying probe tester for debugging ! Integrated PCB software that communicates
with P&P and probe tester ! Embedded development and debugging
tools en par with current linux/windows dev tools
Links ! PCB Editor
" Eagle: http://www.cadsoft.de/ " Kicad: http://www.kicad-pcb.org/ " Designspark PCB: http://www.rs-online.com/designspark/electronics/deu/page/
designspark-pcb-home-page " Altium: http://www.altium.com/
! Simulation " Ltspice: http://www.linear.com/designtools/software/
! Software " GCC ARM: https://launchpad.net/gcc-arm-embedded " Keil uVision: http://www.keil.com/uvision/
! 3D Design Software " Blender, open source (GPL): http://www.blender.org/ " Autodesk Inventor: http://www.autodesk.de/products/inventor/
Daniel Amesberger, Amescon GmbH Mail: [email protected] Twitter: @DAmesberger, @amescon Blog: http://amesberger.wordpress.com/