„AVR-LabTool 1.0“ Projektpaket für das Add-on-Board „AVR-LabTool 1.0“ - Allgemeine Beschreibung - „Digitalvoltmeter“ - „Datenlogger“ - „Kennlinienschreiber“ - „Funktionsgenerator“ -1- Inhalt Inhalt 1. Einleitung......................................................................................................... 3 2. Technische Daten ............................................................................................ 4 3. Blockschaltung und Aufbau............................................................................. 6 4. Der Bootloader ................................................................................................ 9 5. Die Integrierte Anwendung LabTool4.10.1 ..................................................... 11 5.1. Netzteil und Multimeter ............................................................................... 12 5.2. Der Datenlogger............................................................................................ 13 5.3. Kennlinie Zweipole........................................................................................ 16 5.4. Kennlinie Transistor ...................................................................................... 17 5.5. Der Funktionsgenerator................................................................................ 18 -2- Einleitung 1. Einleitung Das Projekt „AVR-LabTool“ ermöglicht in Verbindung mit einem beliebigen myAVR-Mikrocontroller-Board die kostengünstige Realisierung verschiedener Geräte, wie sie in jedem Elektronik-Labor benötigt werden. Im Rahmen der Ausbildung und dem Studium lässt das offene Konzept viel Raum für eigene Übungen. In Verbindung mit einem PC über USB-Anschluss ergeben sich beispielsweise folgende Anwendungen: - Programmierbare Spannungsquelle von - 10V bis +10V /500mA Digitalvoltmeter Datenlogger / Speicheroszilloskop Kennlinienschreiber für Widerstände und Dioden Kennlinienschreiber für Transistoren Funktionsgenerator u.a. Im einfachsten Fall ist eine Inbetriebnahme mit zwei 9-Volt-Blockbatterien (oder Akkus) und einem USB-Anschluss an Laptop oder PC möglich. Die Programmierung des Mikrocontrollers erfolgte mit der kostenfreien Software AVRStudio von ATMEL und die Programmierung des PC mit C#. Die integrierte Anwendung LabTool-4.10.1 wird in diesem Script beschrieben. Für eigene Software-Projekte werden in mehreren Kapiteln Hilfestellung und Funktionsbibliotheken dargestellt. Der hier verwendete Mikrocontroller ist mit einem Bootloader ausgestattet. Das ermöglicht die Programmierung ohne zusätzlichen Programmer und ohne Eingriff in das fertig gestellte Gerät. Für den Betrieb kann jedes myAVR-Board genutzt werden (z.B. myAVR Board light, myAVR Board MK2, mySmartControl MK2). Das hier beschriebene System verwendet mySmartControl MK2 32K mit ATmega328 bei 20MHz. Bezugsquellen für alle Produkte finden Sie im Anhang und bei www.lmt-verlag.de . -3- Technische Daten 2. Technische Daten Versorgungsspannung: - +/- 9 Volt (Batterien oder Akkus) für Ausgangsspannungen bis +/- 5 Volt oder +/-15 Volt für Ausgangsspannungen bis +/- 10 Volt Stromaufnahme - ca. 20mA USB-Anschluss - benötigt einen freien COM-Port am PC (Treiberinstallation erforderlich) Ausgänge: - 1 mal +/- 5 Volt oder +/- 10 Volt mit D/A-Wandler 12 Bit / 500mA (A1) 1 mal +/- 5Volt oder +/- 10 Volt mit D/A-Wandler 12 Bit / 5mA (A2) 1 mal TTL / 10 mA (TTL) 1 mal Präzisionsstromquelle +/- 0,01 bis +/-5 mA mit D/A-Wandler 12 Bit(I1) Eingänge: - 2 mal 0 bis +/- 10 Volt mit A/D-Wandler 12 Bit und Präzisionsgleichrichter (E1 und E2) 2 mal 0 bis +2,5 Volt mit A/D-Wandler 12 Bit (maximale Eingangsspannung 5Volt!) (E3 und E4) Achtung: Ein Überschreiten dieser Grenzwerte kann zur Zerstörung des Gerätes führen! Mikrocontroller: - ATmega328P bei 20MHz -4- Blockschaltung und Aufbau 3. Blockschaltbild und Aufbau Blockschaltbild: Flashspeicher 32 MBit Referenzspannung 2,56 Volt 0 +5V + 0 D/A-Wandler 2-fach +/-5V Ausgangsstufe 0 +/-10V 500mA Subtrahierer 0 +5V A1 Kp=2 - 0 +5V + 0 D/A-Wandler 2-fach Ausgangsstufe 0 +/-10V 5mA Subtrahierer 0 +5V ATmega328 +/-5V A2 Kp=2 - SPIBus Spannungs-/StromWandler Präzisionsgleichrichter A/D-Wandler 4-fach Präzisionsgleichrichter 0 +/-5mA I1 0 +/-10V E1 0 +/-10V E2 0 +2,5V 0 +2,5V E3 E4 Die genaue Beschreibung der verwendeten Bauelemente und Programmierhinweise erfolgen in den nächsten Kapiteln. -5- Blockschaltung und Aufbau Platinenansicht: mySmartControl MK2 32K Flash-Speicher AT45D832D Spannungsversorgung MCP1702 3,2V Referenzspannung TL431 Anschlussklemmen Versorgungsspannung Anschlussklemmen Ein-/Ausgänge Leistungsendstufe TIP120/125 USB-Anschluss 4-fach A/D-Wandler MCP3204 2-fach D/A-Wandler MCP4922 4-fach -OP TL074 Für eine ausreichende Spannungsversorgung wird das mySmartControl mit dem Spannungsmodul PowerKit V5 ausgestattet (erforderlich bei einer Spannungsversorgung mit +/- 15 Volt). Der Anschluss erfolgt an der Versorgungsspannung V+. Zusätzlich sind 4 LEDs vorgesehen: - Power-LED (rot) an +9V bzw. +15V Record-LED (grün) an PC3 des ATmega Transmit-LED (gelb) an PC4 des ATmega Output-LED (rot) an PC5 des ATmega Für den Einbau muss ein Vorwiderstand von 1kOhm verwendet werden (Unterbringung auf dem Patch-Feld des mySmartControl). -6- Blockschaltung und Aufbau Gehäuseeinbau: Power-LED Reset-Taster Record-LED PowerKit V5 Transmit-LED Output-LED Frontplattenansicht: -7- Blockschaltung und Aufbau Schaltbild: -8- Der Bootloader 4. Der Bootloader Das Mikrocontrollerprogramm kann mit Hilfe des installierten Bootladers ohne Programmer und ohne Öffnen des Gerätes in den Programmspeicher übertragen werden. Alternativ kann die Programmierung auch über die ISPSchnittstelle und einem passenden Programmer (z.B. mySmartUSB light) erfolgen. Für die Programmierung über die USB-Schnittstelle muss der Treiber für den virtuellen COM-Port installiert sein. Außerdem wird das Programmiertool myAVR_ProgTool benötigt (Alle Downloads kostenlos im Shop bei www.myavr.de ). Schließen Sie das Gerät an den USB-Port an und starten Sie myAVR_ProgTool. Wählen Sie unter Hardware myAVR Bootloader und den Controller ATmega328P und testen Sie die Verbindung (Button ‚?‘). Betätigen Sie kurzzeitig den Reset-Taster und schließen Sie das Info-Fenster wieder. -9- Der Bootloader Wählen Sie als nächstes den Menüpunkt ‚Brennen‘ und wählen Sie unter ‚Suchen…‘ die erforderliche *.hex-Datei mit dem Maschinenprogramm. Mit dem Button ‚Brennen(F5)‘ und kurzzeitiger Betätigung des Reset-Tasters wird das Programm übertragen. Die Stromversorgung während der Programmierung erfolgt über den USB-Anschluss. - 10 - Die integrierte Anwendung LabTool4.10.1 5. Die integrierte Anwendung LabTool4.10.1 Die Anwendung lässt sich direkt von CD oder USB-Stick ohne Installation starten. Wählen Sie den installierten COM-Port und die gewünschte Baudrate (Voreinstellung ist 19200Bd). Die Versorgungsspannung kann +/- 9 Volt oder +/- 15 Volt sein. Bei der Wahl von 9 Volt sind alle Ausgangsspannungen auf 5 Volt begrenzt. Bei jedem Formular ist ein Test-Button für einen Verbindungstest vorhanden. Bei Erfolg wird die Firmware-Version gemeldet. In dieser Version stehen 5 verschiedene Geräte zur Auswahl. Die Handhabung wird in den folgenden Kapiteln beschrieben. - 11 - Netzteil und Multimeter 5.1 Netzteil und Multimeter Das Multimeter gestattet die gleichzeitige Messung von 4 analogen Eingängen. Außerdem lassen sich die Ausgänge UA1, UA2 und I1 (Präzisionsstromquelle) programmieren. Die Eingänge E1 und E2 sind über Präzisionsgleichrichter für Spannungen von 0…+/- 10 Volt ausgelegt. Die Eingänge E3 und E4 ermöglichen Messungen von 0…+2,5 Volt (maximale Eingangsspannung 5 Volt!). Mit den entsprechenden CheckBoxen können die Eingänge gewählt werden. Der Ausgang UA1 liefert eine Spannung von 0…+5 Volt (bzw. 0…+10 Volt) mit einem Maximalstrom von 500 mA und der Ausgang UA2 eine Spannung von 0…+5 Volt (bzw. 0…+10 Volt) mit einem Strom von 5 mA. Der Ausgangsstrom I1 hängt von der an UA2 gewählten Ausgangsspannung ab. Mit der CheckBox ‚während Messung ein‘ lassen sich die Ausgangswerte entweder dauerhaft einstellen oder nur während der Messung einschalten. Die Messung wird mit der Befehlsschaltfläche ‚Messen‘ gestartet. Die Ausgangsgrößen lassen sich mit den Befehlsschaltflächen ‚Ein‘ und ‚Aus‘ dauerhaft einschalten. Eine Änderung der Werte erfolgt erst, wenn erneut aus- und eingeschaltet wird. - 12 - Der Datenlogger 5.2 Der Datenlogger Der Datenlogger gestattet die Aufzeichnung von Spannungsverläufen in Abhängigkeit von der Zeit. Die Eingangsspannung kann wahlweise an einem der 4 Eingänge E1 bis E4 (CH1…CH4) angelegt werden. Der zeitliche Abstand zwischen den Messungen wird durch die Sample-Zeit festgelegt. Die Sample-Zeit beträgt 0,1…200ms. Die Aufnahmedauer beträgt 1…1000 Sekunden. Die Anzahl der Messwerte ist die Aufnahmedauer geteilt durch die Sample-Zeit. Während der Messung kann wahlweise an dem Ausgang A1 eine Dauerspannung oder ein PWM-Signal ausgegeben werden. Die Amplitude der Ausgangsspannung ist von 0…+5 Volt (bzw. 10 Volt) frei wählbar. Ist die Option ‚PWM ein‘ aktiviert kann ein PWM-Signal mit einer wählbaren Ein-/Ausschaltdauer von 0,01…500 Sekunden eingestellt werden. Die Anzahl der Impulse kann 0…250 betragen. Mit der Befehlsschaltfläche ‚Record‘ wird die Aufzeichnung gestartet. Die gemessenen Werte werden im Flash gespeichert. Die Record- und Output-LEDs leuchten. Nach Beendigung der Messung können die Werte mit der Befehlsschaltfläche ‚Flash lesen‘ zum PC übertragen und in der Grafik angezeigt werden. Für Dokumentationszwecke stehen umfangreiche Grafik-Export-Funktionen (Speichern in CSV- oder EMF-Datei, Zwischenablage als BMP-Datei) und Druck-Funktionen zur Verfügung. Beispiel 5.2.1: Auf- und Entladung eines Kondensators Bild 5.2.1: - 13 - Der Datenlogger Bild 5.2.1 zeigt die notwendigen Einstellungen: - PWM - ein - / Einschaltdauer 5s, Ausschaltdauer 5s, Impulsanzahl 1 Aufnahmedauer 10s Sample-Zeit 10,0ms A/D-Kanal CH2 (E2) Bild 5.2.2: Schaltung 100k A1 A2 I1 E1 AVR-LabTool Um E2 E3 10µF E4 Beispiel 5.2.2: Aufladung eines Kondensators mit PWM-Signal Die Aufladung eines Kondensators erfolgt durch ein PWM-Signal mit der Einschaltdauer 0,6s und der Ausschaltdauer 0,4s. Die Messung erfolgt mit 5 Impulsen. Bild 5.2.3 zeigt die Schaltung. Bild 5.2.4 zeigt die Messung des PWM-Signales an E1 und Bild 5.2.5 die Kondensatorspannung an E2. Bild 5.2.3: Schaltung: 100k A1 A2 I1 E1 AVR-LabTool E2 Um E3 E4 10µF - 14 - Der Datenlogger Bild 5.2.4 Bild 5.2.5 - 15 - Kennlinie Zweipole 5.3 Kennlinie Zweipole Zur Kennlinienaufnahme wird am Ausgang A1 eine Treppenspannung erzeugt, welche von 0 Volt um ΔU erhöht wird bis Umax erreicht wird. Zur Strommessung liegt ein frei wählbarer Widerstand Rm in Reihe zum Bauelement . Nach jeder Erhöhung wird Strom und Spannung gemessen so dass die Funktion I=f(U) dargestellt werden kann. Um z.B. das Rauschen bei der Messung zu eliminieren kann die Anzahl der Messungen mit Spp (Samples per Pixel) erhöht werden. Aus den gemessenen Werten pro Pixel wird der Mittelwert gebildet. Mit der Befehlsschaltfläche ‚Messen‘ wird die Messung gestartet. Beispiel 5.3.1: Kennlinie einer Diode 100 A1 A2 I1 E1 AVR-LabTool E2 Um E3 E4 - 16 - Kennlinie Transistor 5.4 Kennlinie Transistor Ergänzend zu der Aufnahme der Kennlinien von Zweipolen wird am Ausgang I1 ein Konstanstrom für die Basis des Transistors ausgegeben. Bei NPN-Transistoren sind Ausgangsspannung und Basisstrom positiv und bei PNP-Transistoren negativ. Der Basisstrom wird mit Ibmin festgelegt. Eine Kennlinienschar wird erzeugt durch Angabe der Kennlinien-Anzahl (KZahl) und dem Inkrementwert des Basisstromes ΔIb. Beispiel 5.4.1: Kennlinienschar eines NPN-Transistors Schaltung: 1 00 A1 A2 I1 E1 AVR-LabTool E2 E3 Um BC547 E4 Einstellungen: - 17 - Der Funktionsgenerator 5.5 Der Funktionsgenerator Der Funktionsgenerator liefert an Ausgang A1 wahlweise ein Sinus-, Dreieck- oder Rechtecksignal. Sinus- und Dreiecksignal werden durch den D/A-Wandler approximiert. Einstellbare Werte: - Vss Uoff Werte ΔT Tan/T Te Ta Spitze-Spitze-Spannung Offset-Spannung Anzahl der Approximationswerte Zeit zwischen zwei Werten; die Periodendauer ergibt sich aus dem Produkt von Werte mit ΔT Verhältnis von Anstiegszeit zur Periodendauer der Dreiecksspannung in Prozent Einschaltdauer des Rechtecksignales Ausschaltdauer des Rechtecksignales - 18 - Der Funktionsgenerator Beispiele: - 19 -