1 / 53

Interfacing hardware with microcontroller

Interfacing hardware with microcontroller. P.Raghavendra Prasad Final Yr EEE. www.raghu.co.nr. What is a Microcontroller ?.

stefano
Download Presentation

Interfacing hardware with microcontroller

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interfacing hardware with microcontroller P.Raghavendra Prasad Final Yr EEE www.raghu.co.nr

  2. What is a Microcontroller ? A microcontroller (or MCU) is a computer-on-a-chip. It is a type of microprocessor emphasizing self-sufficiency and cost-effectiveness, in contrast to a general-purpose microprocessor (the kind used in a PC). The only difference between a microcontroller and a microprocessor is that a microprocessor has three parts - ALU, Control Unit and registers (like memory), while the microcontroller has additional elements like ROM, RAM etc. www.raghu.co.nr

  3. ATMEGA32/ATMEGA32L • High-performance, Low-power AVR 8-bit Microcontroller • Up to 16 MIPS Throughput at 16 MHz • 32K Bytes of In-System Self-Programmable Flash • 1024 Bytes EEPROM • 2K Byte Internal SRAM • Two 8-bit Timer/Counters, One 16-bit Timer/Counter • In-System Programming by On-chip Boot Program • Four PWM Channels • 8-channel, 10-bit ADC • Programmable Serial USART • Internal Calibrated RC Oscillator • External and Internal Interrupt Sources • Power-on Reset • 32 Programmable I/O Lines www.raghu.co.nr

  4. ATMEGA32/32L ATMEGA16/16L • 32K Bytes of Flash memory • 1024 Bytes EEPROM • 2K Byte Internal SRAM • 16K Bytes of Flash memory • 512 Bytes EEPROM • 1K Byte Internal SRAM www.raghu.co.nr

  5. ATMEGA32/16 ATMEGA32L/16L Operating Voltage 4.5 - 5.5 V Speed Grades 0 – 16 MHz Operating Voltage 2.7 - 5.5 V Speed Grades 0 – 8 MHz www.raghu.co.nr

  6. Pin Diagram www.raghu.co.nr

  7. c COMPUTER C - CODE COMPILER HEX - CODE MICRO CONTROLLER www.raghu.co.nr

  8. STK200 Cable

  9. Configuring PORT PINS • Each PORT consists of three registers • DDRX (Data Direction Register) • PORTX • PINX • Where X = A, B, C, D www.raghu.co.nr

  10. DDRX • The DDXn bit in the DDRx Register selects the direction of pin n. • If DDXn is written logic one, PXn is configured as an output pin. • If DDXn is written logic zero, PXn is configured as an input pin. • Where n = 0,1,2 - - - ,7 • For Example • If DDRA = 0x0F ( 0000 1111) • The Lower bytes of PORTA are configured as output pins • The Higher bytes of PORTA are configured as input pins www.raghu.co.nr

  11. PORTX • When PORTXn is configured as Input Pin • Writing logic ONE to this pin, activates pull-up resistor. • Writing logic ZERO to this pin, deactivates pull-up resistor • When PORTXn is configured as Output Pin • Writing logic ONE to this pin, drives the port pin HIGH • Writing logic ZERO to this pin, drives the port pin LOW www.raghu.co.nr

  12. PINX • PINXn is used to read the value of particular port pin • Independent of the setting of Data Direction bit DDRXn, the port pin can be read through the PINXn Register bit www.raghu.co.nr

  13. ICCAVR • ICCAVR, the ImageCraft’s C Development Environment is a program for developing AVR microcontroller applications using the ANSI standard C language • Full featured 30-day demo program can be downloaded from the ImageCraft web site • www.image-craft.com www.raghu.co.nr

  14. Getting Started with ICCAVR 1. Project>New 2. Project name and path 3. Project>Options 4. In the Compiler options, check “Accept C++ Comments” and “Intel HEX” as the “output format” 5. In the Target options, select “ATmega32/Atmega16” under “Device Configuration” 6. Write the source code 7. Add the source file to the project by selecting “Project>Add File(s)” and select the file just written 8. Compile by selecting “Project>Make Project” or by clicking on the “build” icon 9. Open AVR ISP and download the hex file generated by ICCAVR , It is stored under the project name. www.raghu.co.nr

  15. Sample program to generate Square wave on PORTA of ATMEGA32 #include<iom32v.h> #include<macros.h> Void delay(unsigned inti) { unsigned int k; While(i--) For(k=0;k<=500;k++); } Void main() { DDRA = 0xFF; // Configures PORTA Pins as Output pins While(1) { PORTA=0xFF; Delay(500); PORTA=0x00; Delay(500); } } www.raghu.co.nr

  16. Interfacing with Microcontroller • LED • Switches • DC Motor • Sensors • Stepper Motor www.raghu.co.nr

  17. LED – Light Emitting Diode • Maximum potential drop across LED will be approximately 2V. • Maximum current tat can be allowed through am LED is approximately 30ma. • Resistor should be added in series with LED to limit the current through it. www.raghu.co.nr

  18. Calculating LED resistor value R = (Vs – VL )/I Vs = supply voltage VL = Voltage drop across LED ( around 2V) I = 15 to 30 ma www.raghu.co.nr

  19. LED’s connected to 1. PORTA0 2.PORTB0

  20. Led blink program www.raghu.co.nr

  21. DC Motor • DC Motors are small, inexpensive and powerful motors used widely. • These are widely used in robotics for their small size and high energy out. • A typical DC motor operates at speeds that are far too high speed to be useful, and torque that are far too low. • Gear reduction is the standard method by which a motor is made useful . • Gear’s reduce the speed of motor and increases the torque www.raghu.co.nr

  22. Choosing a DC Motor • DC Motor with Gear head • Operating voltage 12V • Speed • Depends on our application • Some available speeds in market • 30 RPM • 60 RPM • 100 RPM • 150 RPM • 350 RPM • 1000 RPM www.raghu.co.nr

  23. Drive basics of DC Motor www.raghu.co.nr

  24. Bi-Direction control of DC Motor H-Bridge Ckt using transistors for bidirectional driving of DC motor www.raghu.co.nr

  25. H-Bridges in IC’s to reduce the drive circuit complexity • The most commonly used H-Bridges are L293D and • L298 • L293D has maximum current rating of 600ma • L298 has maximum current rating of 2A • Both has 2 H-Bridges in them • These are designed to drive inductive loads such as • relays, solenoids • Can be used to drive 2 DC motors or 1 stepper motor www.raghu.co.nr

  26. Driving of dc motor www.raghu.co.nr

  27. Switches • Active Low • When pressed shorts the corresponding pin to ground • Active high • When pressed shorts the corresponding pin to Vcc www.raghu.co.nr

  28. Active low Active high

  29. Interfacing switches www.raghu.co.nr

  30. Sensors • Commonly used sensors in the field of robotics are • IR Digital sensors • IR analog sensors www.raghu.co.nr

  31. IR Digital sensors • Transmitter • IR led connected to 38KHz oscillator • Receiver • TSOP1738 • IR Analog sensors • Transmitter • IR LED • Receiver • IR Photodiode www.raghu.co.nr

  32. IR Analog sensor www.raghu.co.nr

  33. STEPPER MOTOR • STEPPER MOTOR is a brushless DC motor whose rotor rotates in discrete angular increments when its stator windings are energized in a programmed manner. • Rotation occurs because of magnetic interaction between rotor poles and poles of sequentially energized stator windings. • The rotor has no electrical windings, but has salient and/or magnetized poles. www.raghu.co.nr

  34. 5 – Lead stepper 4 – Lead stepper 6 – Lead stepper 8 – Lead stepper www.raghu.co.nr

  35. Full Step driving of Stepper Motor Full step wave drive www.raghu.co.in

  36. Full Step driving of Stepper Motor Full step 2 phases active www.raghu.co.in

  37. Half Step driving of stepper motor www.raghu.co.nr

  38. Choosing a Stepper motor • 12 V operating voltage • 1.8 degree step • 6 Lead • 250 t0 500 ma of current • or • Coil resistance of 20 ohms to 40 ohms • Size and shape depends on application • In most of the robotics cube shaped motors are preferred with frame size of 3.9 to 4 cm www.raghu.co.nr

  39. Commonly used IC’s for driving Stepper motor • ULN2803 • It has 8 channels • It channel has maximum current rating of 500ma • can be used to drive 2 unipolar stepper motors • L293d • L297 & L298 www.raghu.co.nr

  40. ULN2803 www.raghu.co.nr

More Related