"How To" Build Custom Micro Controller Projects

"How To" Build Custom Micro Controller Projects

" H o w t o " b u i l d c u s t o m m i c r o c o n t r o l l e r p r o j e c t s Texas Instruments MSP430 Microcontrollers Ross Smith PhD candidate Wearable Computer Lab University of South Australia O v e r v i e w Design/Building Process ●Why we use microcontrollers ●Circuit Design ●PCB Layout Software ●Building PCBs ●MSPGCC/Debugging ●Code Examples - simple ●Past Projects ●Problems http://r-smith.net/lca2007 2 W h y w e u s e M i c r o c o n t r o l l e r s ●Prototypes ●Small – Light weight ●Low power – MSP430x ●Wearable Computing ●Customisable for each problem domain ●Cheap – after setup costs http://r-smith.net/lca2007 3 M S P 4 3 0 F 1 2 3 2 - S p e c s Yes there are others... this one is low power ●Ultra Low Power Consumption 1.8-3.6 V ●200uA in active mode (3.3V) ●.1uA with RAM retention (3.3V) ●16-Bit RISC ●ADC 10bit 200 ksps ●UART Serial RS232 ●8KB Flash Memory ●256 bytes RAM ●22 GPIO pins ●http://en.wikipedia.org/wiki/MSP430 http://r-smith.net/lca2007 4 C i r c u i t D e s i g n ●I am not an electrical engineer ●There are many simple digital circuits DIY ●I/O pin access ●RS232 (Bluetooth) ●ADC http://r-smith.net/lca2007 5 C i r c u i t D e s i g n – I / O P i n s Input ●Buttons / communications ●Generally require a pull-up resistor Output ●Only for very small currents ●Driving low current LEDs ●Use a transistor if larger currents are required http://r-smith.net/lca2007 6 C i r c u i t D e s i g n - R S 2 3 2 ●Level shift required if talking to PC ●Often not needed when talking to other chips ●Max232 or other varieties MAX3232 etc. http://r-smith.net/lca2007 7 C i r c u i t D e s i g n - A D C ●Choose a voltage level to work with 0-1.5 1.5-3 ●Attach source to ADC pin ●Mainly a software problem from here (later on) ●Eg: Battery monitoring / Analogue position http://r-smith.net/lca2007 8 C i r c u i t D e s i g n - N o t e s ●SMD parts save space / but not too small ●SOP 50mil pin-pin OK ●SSOP 20mil pin-pin hard & magnification required ●SMD resistors/capacitors and diodes OK http://r-smith.net/lca2007 9 P C B S o f t w a r e ●Requirements – Schematic Layout and PCB layout ●Want to print transparent positives of PCB ●Protel – Used in the past ●Eagle – swapping to this* ●PCB – Recently trying out have to use third party schematic editor gEDA or xcircuit http://r-smith.net/lca2007 10 P C B S o f t w a r e – E a g l e ●Additional lib required for MSP430s ●Can make custom parts ●Freeware ●Limited Board size 100 x 80 mm ●Maximum double layer boards ●Only one schematic http://r-smith.net/lca2007 11 C o n s t r u c t i o n - E t c h i n g ●Set up a clean work area ●Prepare transparency ●Double sided example ●Two transparencies using double sided tape ●Print on the side touching the PCB http://r-smith.net/lca2007 12 C o n s t r u c t i o n ●Remove the protective plastic ●Expose using UV light box 6m30s per side http://r-smith.net/lca2007 13 C o n s t r u c t i o n ●Develop using DP-50 (Alkaline powder) ●Rinse in water before etching http://r-smith.net/lca2007 14 C o n s t r u c t i o n ●Etch using Ammonium Persulphate NH4 (ferric chloride FeCl3) ●Common Alternative ●Remains transparent while etching ●Watch for the edges of the board to disappear http://r-smith.net/lca2007 15 C o n s t r u c t i o n ●Hand Drill holes ●CNC Mill if you have it ●Solder components ●Add vias http://r-smith.net/lca2007 16 A c q u i r i n g P a r t s – F r e e S a m p l e s Texas instruments – go to http://ti.com ●MSP430's ●Voltage Regulators ●Level shifting chips Good for large quantities Maxim - http://www.maxim-ic.com Level shifting chips National Semiconductors - http://www.national.com ●3A H-Bridge chips - LMD18200 http://r-smith.net/lca2007 17 P r o g r a m m i n g M S P 4 3 0 s ●MSPGCC - http://mspgcc.sourceforge.net ●Provided notes I used while compiling and using mspgcc http://r-smith.net/lca2007 ●Extended commands with GDB ●Code Composer Essentials (Windows) eclipse based environment ●JTAG programming / runtime debugging http://r-smith.net/lca2007 18 D e b u g g i n g - M S P G D B - p r o x y ●erase – target flash memory ●puc – reset over jtag using Power Up Clear ●reset – hardware reset ●identify – the msp device information ●jtag - Report how JTAG is to be handled when a program is running ●vcc – report/define the current voltage ●dump – read out target registers monitor erase all load myProgram http://r-smith.net/lca2007 19 D e b u g g i n g JTAG – runtime debugging Serial – console debugging LEDS – watch for the flashing lights !! http://r-smith.net/lca2007 20 C o d e E x a m p l e s Controlling IO Pins (Flash P1.0) P1DIR = 0x01 int main(){ while(true) P1OUT = P1OUT ^ 0x01 delay(1000) } http://r-smith.net/lca2007 21 C o d e E x a m p l e s – A D C /*Disable the ADC to change the input channel*/ ADC10CTL0 &= ~ENC; /*Select the input channel P2.1*/ ADC10CTL1=INCH_11; /*Re-enable the ADC*/ ADC10CTL0 |= ENC; http://r-smith.net/lca2007 22 C o d e E x a m p l e s - A D C /*Request a sample from the ADC, this takes 6 clock cycles*/ ADC10CTL0 |= ADC10SC; /*Go into low power mode while we wait for a result the interrupt will wake up up when it is ready*/ // _BIS_SR(CPUOFF + GIE); or ADC10BUSY? while (ADC10CTL1 & ADC10BUSY); return ADC10MEM; http://r-smith.net/lca2007 23 P a s t P r o j e c t s ●Tinmith Glove Controller ●Detects button presses of fingers to thumb/palm ●Li Po Battery powered ●Monitors battery state ●Bluetooth communications ●Conductive fabric for wires in gloves ●Conductive material on finger tips for switch pads http://r-smith.net/lca2007 24 P a s t / C u r r e n t P r o j e c t s – T i m n i t h B a c k p a c k ●Controls simple tasks but makes our life easy :) ●Uses MSP430 to init hardware ●When power is applied it: ●pulses laptop, GPS and HMD to turn on http://r-smith.net/lca2007 25 P a s t / C u r r e n t P r o j e c t s – T i n m i t h B a c k p a c k Accepts RS232 (USB) commands allowing: ●GPS reset ●Temperature reading ●Encoder allows different configurations on start up (0-9) ●Software controllable status lights ●Laptop On/Off (Cut own throat) http://r-smith.net/lca2007 26 I n t e r e s t i n g P r o b l e m s / L i m i t a t i o n s ●RS232 heat issues using DCO ●Avoid using Jtag pins for I/O (they are used for runtime debugging) ●8Mhz can be a limitation depending on workload http://r-smith.net/lca2007 27 Q u e s t i o n s ? Links: http://r-smith.net/lca2007 My notes http://ti.com - Samples http://national.com - Samples http://maxim-ic.com - Samples http://www.cadsoft.de/freeware.htm - Eagle http://sourceforge.net/projects/pcb - PCB http://www.geda.seul.org - gEDA schematic http://opencircuitdesign.com/xcircuit http://r-smith.net/lca2007 28 C o s t o f P a r t s UV Box - $300 Kinsten PCB - $7 - $30 Etchant (Ammonium Persulphate 2.5Kg) - $24 Etching Tank / Heater / Pump - $108 Developer - $3.30 Soldering Iron - $30 Drill - $60 http://r-smith.net/lca2007 29.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us