Beschaltung eines Mikrocontrollers Jordi Blanch Sierra Steuerungsgruppe Gliederung Was ist ein Mikrocontroller? ● ATmega32 Pin-Beschreibung ● Grundschaltungen: - Minimale Grundschaltung - Grundschaltung mit Quarz - I/O: - LED und Taster - Für mehr Strom - Grundschaltung für A/D Wandler - Spannungsversorgung anpassen - Grundschaltung mit LCD - Was geht noch? ●Quellen ● Beschaltung eines Mikrocontrollers 2 Was ist ein Mikrocontroller? ● ● ● ● ● Ein komplettes Computersystem auf einen Chip Halbleiterchip, der Prozessorund Peripheriefunktionen enthält Ist einem Prozessor ähnlich Speicher, Ein- und -Ausgänge etc. auf einem einzigen Chip integriert MC = CPU + Speicher + Peripherie Beschaltung eines Mikrocontrollers 3 Atmega32 Pin-Beschreibung ● VCC - Betriebsspannung ● GND – Masse ● ● ● ● ● ● PORT A (PA7-PA0) – Inputs für den A/D Wandler (auch als I/O verwendbar) PORT B, C und D – I/O mit internem PullUp-Widerstand (Spezial-Funktionen einstellbar) RESET – Low Level (GND) verursacht Reset des MCs AVCC – Betriebsspannung für den A/D Wandler AREF – Analoge Referenzspannung für den A/D Wandler XTAL1 und XTAL2 – Input und Output für Oszillator und Taktgeber Beschaltung eines Mikrocontrollers 4 Minimale Grundschaltung ● ● ● ● Versorgungssopannung beträgt 5V (VCC) Stützkondensator C1 zwischen Versorgungsspannung und Masse. Stützt VCC bei Spannungsschwankungen Pull-Up-Widerstand R1 für den RESET-Pin. Dieser reduziert Störungsgefahr am RESET-Pin Am besten die Pins AVCC und AGND auch verbinden, da sonst Fehlfunktionen auftreten können Beschaltung eines Mikrocontrollers 5 Grundschaltung mit Quarz ● ● Q1 an XTAL1 und XTAL2 angeschlossen Kondensatoren C2 und C3 sind zum Betrieb des Quarzes notwendig. Die Kapazität ist von der Taktfrequenz (bis 16 MHz ist 22pF ein guter Wert) abhängig Für die Berechnung gilt: C=2⋅C L −(C P +C I ) ● ● Taktfrequenz von Q1 bis 16MHz bei 5V (bei neueren Typen bis 20 Mhz) Für geringere Vcc auch geringere Taktfrequenz. Beschaltung eines Mikrocontrollers 6 I/O: Taster und LED ● ● ● An Port B (“PB”) schliesst man die LED über einen 1kOhm Vorwiderstand gegen Versorgungsspannung (“Vcc”) an An Port D (“PD”) schliesst man einen Taster S1 mit einem 10kOhm Pull-Up-Widerstand an Es gibt auch MC mit internem Pull-up, die keinen externen Pull-up Widerstand benötigen Beschaltung eines Mikrocontrollers 7 Pull-Up / Pull-Down ● ● ● Pull-Up- und Pull-DownWiderstände sind einfach Widerstände bei einer bestimmten Anordnung So kann man falsche Zustände bei digitalen Eingänge vermeiden Bsp: NAND hat bei offenen S1 kein definiertes Zustand Beschaltung eines Mikrocontrollers 8 I/O: Für mehr Strom ● ● ● ● ● MC kann nur begrenzte Menge an Strom liefern. D.h. grosse Last nicht direkt an Port des MCs anschliessen Transistoren als Schalter für die Last benutzt Die Transistoren verstärken auch den Basisstrom R1 und R2 sind Basiswiderstände Pull-Down Widerstände zwischen Basis und Emitter sorgen für sichere Störfestigkeit im Resetfall von dem MC Beschaltung eines Mikrocontrollers 9 I/O: Für mehr Strom ● ● Transistoren zum Schalten eines Relais (d.h. Transistor als Schalter) Relais für die Steuerung einer grosseren Last verantwortlich . Dafür wird ein höheren Strom gebraucht ● Links: npn-Bipolartransistor ● Rechts: n-Kanal MOSFET - Strom beim Durchschalten sehr klein - R1 sorgt dafür, dass der Transistor mi Resetfall oder beim Programieren sperrt ● D1 und D2 sind Freilaufdioden oder Schutztdioden Beschaltung eines Mikrocontrollers 10 Freilaufdioden ● ● ● ● Dienen zum Schutz vor einer Überspannung beim Abschalten einer induktiven Gleichspannungslast Beim Abschalten sorgt die Spule dafür, dass der Strom weiter fliesst (Induktion) Das führt das zu einer Spannungsspitze, die sich zur Betriebsspannung addiert Mit einer Freilaufdiode wird die Spannungsspitze begrenzt, da der Strom durch die Diode weitergeleitet wird. Beschaltung eines Mikrocontrollers 11 A/D Wandler des ATmega32 Umwandlung über Sukzessive Approximation ● 10 Bit Auflösung ● 13us bis 260us Umwandlungszeit ● INL = 0,5LSB ● 8 Single-Ended Spannungseingänge an PORT A (ohne Verstärkung) ● Zwei Eingänge (ADC1, ADC0 und ADC3, ADC2) bieten programmierbare Verstärkungsstufen (“Differential gain”) -> 0dB und 20dB (8-Bit Auflösung), oder 46dB (7-Bit Auflösung) ● Referenzspannung AREF=2,56V oder AVCC (separater Spannungspin) ● Beschaltung eines Mikrocontrollers 12 Grundschaltung für A/D Wandler ● ● ● ● ATmega bietet eine interne Referenzspannung von 2,56V oder AVCC (über ADMUX Register aktivierbar) Kondensator von AREF nach Masse (GND), um diese Referenzspannung zu stabilisieren (besseres Rauschverhältnis) Versorgungsspannung VCC zu AVCC-Pin des A/D-Wandlers (wenn wir die interne Referenzspannung wählen) AVCC darf höchstens 0,3V von Vcc abweichen Beschaltung eines Mikrocontrollers 13 Grundschaltung für A/D Wandler ● ● ● ● Als Referenzspannung ist auch eine beliebige externe Spannung zwischen Vcc und ca. 2V (kleinere Spannung führt zu Fehlern) möglich Spannung über den Potentiometer R2 einstellbar Statt Potentiometer auch Spannungsteiler mit zwei Widerständen möglich Spannung ebenfalls über C4 stabilisiert Beschaltung eines Mikrocontrollers 14 Grundschaltung für A/D Wandler ● ● ● Um die Genauigkeit der Messung weiter zu erhöhen, kann man zusätzlich die Spule L1 zwischen Vcc und AVCC schalten. Die Spannungsversorgung wird stabilisiert An den PORT A -Pins kann man die Spannung nun messen (zu beachten ist, dass diese nicht höher asl AREF ist) Beschaltung eines Mikrocontrollers 15 Spannungsversorgung anpassen ● ● IC1 7805 ist ein Spannungsregler (Linearregler). Seine Aufgabe ist es, aus der Versorgungsspannung stabile 5V zu erzeugen (OUT) 7V bis 12V Gleichspannung am Eingang (IN). Eine hörere Spannung erzeugt deutlich höhere Verluste in Form von Wärme. Es gilt: (U EIN −U AUS )⋅I Bedarf =PVerlust ● ● Gibt maximal 1A weiter Die beiden 100nF Kondensatoren haben die Aufgabe, eine mögliche Schwingneigung des 7805 zu unterdrücken Beschaltung eines Mikrocontrollers 16 Grundschaltung mit LCD ● ● ● Die meisten Text-LCDs verwenden den Controller HD44780 LCDs mit 16-poligem Anschluss haben die beiden letzten Pins für die Hintergrundbeleuchtung reserviert Kontrastspannung über 10kOhm Potentiometer einstellbar Beschaltung eines Mikrocontrollers 17 Was geht noch? UART 7-Segment Anzeige Beschaltung eines Mikrocontrollers 18 Was geht noch? 4x4 Tastenfeld Rainbowpen Beschaltung eines Mikrocontrollers 19 Quellen Info: - http://www.mikrocontroller.net/articles/AVR-Tutorial - http://www.darc.de/uploads/media/ATMEGA_R17.pdf - http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen - http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Hardware - http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment - http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern - Stefan :D ●Bilder: -http://www.darc.de/uploads/media/ATMEGA_R17.pdf -http://www.lions-wing.net/lessons/microcontrollers/micros.htlm -http://www.acmc-ls.de/learning/microcontroller-engineerning/lerneinheiten2/mikrocontroller -http://de.wikipedia.org/wiki/Schutzdiode -http://partner.vde.com/cosima-mems/cosima-2011/cosima-teams2011/pages/rainbowpen.aspx ● Beschaltung eines Mikrocontrollers 20 Fragen? Beschaltung eines Mikrocontrollers 21