Schaltungsbeschreibung Roboter Schaltungsbeschreibung Roboter März 2009 StD Otto Bubbers Carl-Engler-Schule, Karlsruhe Inhaltsverzeichnis 1 Allgemeine Beschreibung der Roboter................................................................................3 1.1 Kennzeichen der Roboter.........................................................................................................3 1.2 Blockschaltbild.........................................................................................................................3 1.3 Bilder vom Radroboter und Raupenroboter mit je 2 Gleichstrommotoren................................4 2 Sensoren der Roboter............................................................................................................5 2.1 IR-Sensoren an der Frontseite.................................................................................................5 2.1.1Prinzip:................................................................................................................................5 2.1.2Beschreibung.......................................................................................................................5 2.2 IR-Reflexkoppler auf der Unterseite ........................................................................................6 2.2.1Schaltung ............................................................................................................................6 2.3 IR-Fernbedienung und IR-Empfänger .....................................................................................7 2.3.1Aufbau des RC5-Codes ......................................................................................................7 2.3.2Abbildung eines IR-Signals und Funktionsweise des Empfängerprogramms......................7 3 Motoransteuerung.................................................................................................................8 3.1 Ansteuerung eines Gleichstrom-Motors mit dem Brückentreiber L298.....................................8 3.1.1Prinzipieller Aufbau einer Transistorbrückenschaltung .......................................................8 3.1.2Tabelle: Motordrehung und durchgeschaltete Brücken-Transistoren...................................8 3.1.3Innenschaltung des L298.....................................................................................................9 3.2 Roboterbewegungsarten........................................................................................................10 4 Motor-Sensor-Adapter für Logik-Platine............................................................................11 4.1 Motor-Sensor-Adapter-Platine auf der 1016-Platine...............................................................11 4.2 Logik-Platine mit Adapter und Raupenroboter (mit je 2 Gleichstrom-Motoren).......................12 4.3 Schaltung der Logik-Adapter-Platine......................................................................................12 5 Motor-Sensor-Adapter für Controller-Platine.....................................................................13 5.1 Controller-Motor-Adapter-Platine (auf dem Miniboard)...........................................................13 5.2 Controllerplatine mit Radroboter und 2 Gleichstrommotoren..................................................14 5.3 Schaltung des Motor-Sensor-Adapters für die Controllerplatine.............................................14 Carl-Engler-Schule, Bub 1 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 1 Allgemeine Beschreibung der Roboter 1.1 • • • • • • • • • Kennzeichen der Roboter Die Modell-Roboter wurden für Unterrichtszwecke entwickelt. In Abhängigkeit von Sensoren werden zwei Gleichstrom-Motoren der Roboter gesteuert. Sensoren: IR-Abstands-Sensoren, Stossstange mit Endschalter, IR-Fernbedienung, IR-FahrstraßenErkennung. Steuerung mit o programmierbarer Logik oder o Mikrocontroller Vom einfachen UND bis zur komplexen Logikschaltung lassen sich zahlreiche Steuerungen entwerfen, an denen viele relevante Themen des Informationstechnik- und Computertechnik- Unterrichts gelernt werden können. Die einfachen elektronischen Schaltungen können beispielhaft erklärt werden. Für „Anfänger“ und „Spezialisten“ geeignet! Ideal für Schülerprojekte und Laborunterricht. Themenbereiche o Diode, LED, Transistor o Infrarot-Sender und Empfänger o Lichttaster, Reflexkoppler o Ultraschall-Sender- und Empfänger o Ansteuerung von Gleichstrommotoren, Transistorbrückenschaltung o Einführung in die Digitaltechnik o Steuerungen mit Mikrocontroller o 1.2 Stromversorgung Blockschaltbild LEDs hell bei Low IR-Sensoren vorne low-aktiv! SL SML SMR SR 7 8 9 10 P1.3 P1.2 P1.1 P1.0 Logik oder IR-Sensoren unten high-aktiv UL UM 3 4 P1.7 P1.6 Controller UR LEDs hell bei high 5 P1.5 P2.3 P2.2 P2.1 P2.0 41 42 44 43 5V 7,2V Start Motor Links Carl-Engler-Schule, Bub ML1 ML2 MR1 MR1 M M1 1 0 0 M2 0 vor 1 zurück 0 stopp Motor Rechts M 2 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 1.3 Bilder vom Radroboter und Raupenroboter mit je 2 Gleichstrommotoren Carl-Engler-Schule, Bub 3 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 2 Sensoren der Roboter 2.1 IR-Sensoren an der Frontseite 2.1.1 Prinzip: Sender: LEDs Die LEDs senden Infrarot-Licht aus. Der Empfänger erkennt das vom Hindernis reflektierte Licht. Schwarze Hindernisse werden nicht erkannt, da sie kein Licht reflektieren. Bild eines IR-Sensors Empfänger: IS471F Schaltung eines IR-Sensors +5V Poti zur Einstellung der Empfindlichkeit V6 LD274 VCC Vo GLout GND R3 1k IR-LEDs mit Reflektoren 2.1.2 IC2mr IS471F V8 LED leuchtet wenn 2mA Fläche erkannt (Ausgang low) Sensorbus K9 R2 1k Sensor Mitte-Rechts +5V IS471F = modulierender IR-Empfänger Ausgang = Low wenn Fläche erkannt K14 C2 33OnF K12 LED leuchtet, wenn Objekt erkannt V5 LD274 K13 IR-Empfänger IS471F Beschreibung Vier Infrarot-Sensoren erkennen Hindernisse, die sich vor dem Roboter befinden. Die Sensoren IS471F modulieren jeweils 2 oder 3 Infrarot-LEDs vom Typ LD271 oder LD274, die mit Reflektoren versehen sind. Die Modulation macht die Empfänger unempfindlich gegen Streustrahlung und gegenseitige Beeinflussung der vier Sensoren. Die Schaltung kann je nach gewünschter Reichweite mit 3 IR-LEDs oder 2 IR-LEDs und ein Spindelpoti von 1kΩ versehen werden, mit dem sich die Reichweite der Schaltung exakt einstellen lässt. Je nach Objektfarbe beträgt sie max. 10-20cm. Die Reihenschaltung von 3 Sende-LEDs erhöht die Reichweite auf über 15-25cm. Der Ausgang des IS471F geht auf Low, wenn ein Objekt erkannt wurde, die LED V4 am Ausgang leuchtet dann. Bis maximal 8 Sensorplatinen können über ein Flachbandkabel mit dem Controller oder dem Logik-IC verbunden werden, sobei sich die Adresse (P1.0 bis P1.7) an jedem Sensor mit Jumpern einstellen läßt. Carl-Engler-Schule, Bub 4 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 2.2 IR-Reflexkoppler auf der Unterseite 3 IR-Reflexkoppler vom Typ CNY70 sind auf der Unterseite angebracht. (6 Stück bei der RoboterVersion2000 oder als Sonderanfertigung) Sie ermöglichen das berührungslose Abtasten einer Leitlinie, entlang der sich der Roboter bewegen soll. Das Reflektionsvermögen der Leitlinie muss sich deutlich von der Umgebung unterscheiden. Der Abgleich der Reflexkoppler mit Hilfe von Spindelpotis erfolgt auf der Platinenoberseite, ebenso die Anzeige des logischen Zustands (Linie erkannt?) mit LEDs. Die Reflexkoppler sind auf der Platinen-Unterseite montiert. Die Kollektorausgänge der CNY70 sind auf invertierende Schmitt-Trigger (74HC14) geführt, um eindeutige, reproduzierbare Schaltschwellen (ein / aus) zu erhalten. 2.2.1 Schaltung +5V R1 15O +5V R4 IC1 A C K E 22O R5 IC4a R10 D1 2mA D2 2mA 1k5 1OOk 7414 CNY-70 R2 15O R6 IC2 A C K E 22O R7 IC4b R11 7414 +5V CNY-70 R3 15O R8 IC3 A C K E CNY-70 P1.5 P1.6 P1.7 1k5 1OOk 22O R9 IC4c Sensorbus K1 R12 D3 2mA 1k5 1OOk 7414 3 IR-Sensoren unten Die Reflexkoppler sollten deutlich vor dem Drehpunkt des Roboters montiert werden,sonst fährt der Roboter in „Schlangenlinien“ über der Leitlinie. Carl-Engler-Schule, Bub 5 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 2.3 IR-Fernbedienung und IR-Empfänger R28 Das IC TSOP1736 (0,64€ bei Reichelt) empfängt das IR-Signal einer Universal-Fernbedienung und gibt ein serielles Digitalsignal an den Mikrocontroller weiter. In den Beispielen ist die Fernbedienung auf den RC5-Code programmiert. Dieser wird z.B von Phillips-Geräten verwendet. Der IR-Empfänger kann mit einem beliebigen Portpin verbunden werden 2.3.1 1uF 1OO + +5V TSOP1736 IC4 C94 zum Controller IR-Empfänger Aufbau des RC5-Codes 2 Startbits 1 Togglebit (wechselt bei jeder Übertragung, um das Festhalten einer Taste zu erkennen) 5 Adressbits 6 Befehlsbits Der RC5-Code verwendet ein biphasenkodiertes Format, d.h. ein Bitzustand wird 1 durch einen Bitwechsel definiert. Am Ausgang des IR-Empfängers erhält man diese logische Zuordung: 2.3.2 0 Abbildung eines IR-Signals und Funktionsweise des Empfängerprogramms Beispiel: Taste 1 gedrückt, Signal hat die Adresse eines Fernsehgeräts (00000) Übertragungsdauer 14 Bit x 1,778ms = 24,889ms 2 StartLogische 0 oder 1 1 1 ToggleBit 1 5 Adress-Bits hier Adresse 0 = TV 0 0 0 0 6 Befehl-Bits hier Code der Taste 1 0 0 0 0 0 0 1 Signal 2) 7 Bits einlesen immer in der Mitte der ersten Bithälfte 1) Beginn des Signals erkannt, jetzt ¾ Bit w arten 4) 6 Bits einlesen in der Mitte der ersten Bithälfte 3) Information in der Speicherstelle IRempfAdr zw ischenspeichern 6) 1 Bit w arten bis Signal beendet 5) Information in der Speicherstelle IRcode zw ischenspeichern Es stehen Programme mit und ohne Interrupt zur Verfügung, die das RC5-Signal einlesen und die enthaltene Information in 2 Speicherstellen ablegen. Die Steuerungsprogramme sehen dann so aus: Wenn Taste >> gedrückt, fahre nach rechts Wenn Taste << gedrückt, fahre nach links usw. Abbildung rechts: unterer Teil der IR-Fernbedienung Carl-Engler-Schule, Bub 6 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 2.3.3 Programmierte Codes für den RC5-Code Zur Auswahl der Adresse einfach einmal die entsprechende Geräte-Taste drücken. Dann wird mit dem Befehl immer automatisch die entsprechende Adresse gesendet. ProgrammierCode Geräte-Taste Adresse hex Mute funktioniert 026 TV1 00 ja 278 TV2 05 nein 552 TV3 14 ja 560 VCR1 10 nein 562 VCR2 12 ja 565 AUX1 11 ja 567 AUX2 17 nein 424 AUX3 08 ja Die Nummerntasten belegen immer die Codes 00000000 (Taste0) bis 00001001 (Taste9) Codes (sinnvoll für IR-Fernbedienung HeiTech) #define IR_R 0b00010000 // 01hex IR-Code #define IR_L 0b00010001 // 11hex IR-Code #define IR_V 0b00100000 // 20hex IR-Code #define IR_Z 0b00100001 // 21hex IR-Code #define IR_S 0b00001101 // 0Dhex IR-Code // #define IR_S 0b00001100 // 0Chex IR-Code Taste Taste Taste Taste Taste Taste Codes (sinnvoll für Fernbedienung Promo2) #define IR_R 0b00101110 // IR-Code #define IR_L 0b00101011 // IR-Code #define IR_V 0b00101101 // IR-Code #define IR_Z 0b00101100 // IR-Code #define IR_S 0b00101111 // IR-Code >> << > Stop || Pause 2.3.4 Taste Taste Taste Taste Taste Vol+ VolCh+ ChMute Ein/Aus */ Beispiel: TV5 drücken -> Adresse 05 gewählt (nur 1x Vol+ drücken -> Es wird Adresse 05hex und Vol- drücken -> Es wird Adresse 05hex und 3 drücken -> Es wird Adresse 05hex und notwendig) Code 10hex gesendet. Code 21hex gesendet. Code 03hex gesendet. Zur Programmierung der oben aufgeführten Geräte-Codes SET und Geräte-Taste gleichzeitig drücken -> LED leuchtet -> Code eingeben -> LED erlischt Zum Testen das Programm rc5_int_bei_signalbeginn.c verwenden. IR-Empfänger an P3_2, Jumper in Parkstellung! Carl-Engler-Schule, Bub 7 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 3 Motoransteuerung 3.1 Ansteuerung eines Gleichstrom-Motors mit dem Brückentreiber L298 Um einen Gleichstrommotor in beide Richtungen drehen zu können, muss die Stromrichtung durch den Motor umkehrbar sein. Möchte man dies mit nur einer Spannungsversorgung erreichen, so sind vier einpolige Schalter oder zwei Umschalter notwendig. Üblicherweise verwendet man in der Elektronik statt mechanischer Schaltern vier Transistoren, die in einer Brückenschaltung angeordnet sind. Der L298 besitzt zwei Brückenschaltungen aus je 4 Transistoren mit zugehöriger Ansteuerlogik. 3.1.1 • • • Prinzipieller Aufbau einer Transistorbrückenschaltung Die Transistoren sind als Schalter dargestellt. Schalter geschlossen bedeutet: Transistor leitet Schalter offen bedeutet: Transistor sperrt I I T1 T2 T2 T1 M M T4 T3 T3 T1 und T4 leiten. Der Stromfluss erfolgt gemäß den Pfeilen von links nach rechts durch den Motor. Es erfolgt eine Rechtsdrehung. T4 T2 und T3 leiten. Der Stromfluss erfolgt gemäß den Pfeilen von rechts nach links durch den Motor. Es erfolgt eine Linksdrehung. Eine Ansteuerlogik muss dafür sorgen, dass nie T1 und T3 oder T2 und T4 gleichzeitig leiten, dies würde einen Kurzschluss verursachen. Leiten jedoch T1 und T2 gleichzeitig (und T3 und T4 sperren) oder T3 und T4 leiten (und T1 und T2 sperren), so wird der Motor kurzgeschlossen. Ein laufender Motor kann auf diese Art abgebremst werden. 3.1.2 Tabelle: Motordrehung und durchgeschaltete Brücken-Transistoren 0 bedeutet Transistor sperrt, Schalter offen T1 0 1 0 1 0 T2 0 0 1 1 0 Carl-Engler-Schule, Bub T3 0 0 1 0 1 T4 0 1 0 0 1 Motor Leerlauf Rechtsdrehung Linksdrehung Bremsen Bremsen 8 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 3.1.3 Innenschaltung des L298 Diese Brückenschaltung ist im L298 zweimal vorhanden. Daher können mit einem IC zwei Gleichstrom-Motoren angesteuert werden. Die Spannungsversorgung für den Motor (Vmotor, GND A) ist getrennt von der Spannungsversorgung der Logik (Vdig, GND) angeführt. An OutA1 und OutA2 wird der Motor angeschlossen. Mit den Eingängen INA1, INA2, EnA wird der Motor gesteuert. In unseren Steuerungsprogrammen benennen wir die Eingänge wie folgt: : Motor Links 1 ML1 (=InA1) Motor Links 2 ML2 (=InA2 Motor Links Enable MLE (=EnA) Vdig Motor Links Motor Recht ML1 MR1 EnA ML2 MR2 InA2 T2 & M InA1 MRE OutA2 T1 & MLE OutA1 Vmotor 1 T3 & T4 GND M_2 M_E M_1 InA2 EnA InA1 x 0 x 0 1 1 1 1 0 1 1 1 0 1 0 1 & GND A T1 T2 T3 T4 Motor Bewegung 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 Leerlauf Rechtsdrehung Linksdrehung Bremsen Bremsen Stopp,Auslaufen Vorwärts Rückwärts Bremsen Bremsen Der Enable-Eingang ist mit dem Start-Stopp-Schalter verbunden und kann nicht von der Software geschaltet werden. Die Leitungen der 2 Brückentreiber im L298 sind so mit den Gleichstrom-Motoren verbunden, dass für die Bewegungsrichtung beider Motoren folgende Tabelle gilt: +5V JUMPER 7,2V +5V Start Vdig Vmotor L298 EnA EnB OutA1 InB1 InB2 OutA2 Carl-Engler-Schule, Bub ML M_1 InA1 x 0 1 0 1 Bewegung Stopp wenn Schiebeschalter = 0 Bremsen Vorwärts Rückwärts Bremsen OutB1 OutB2 GND GND A GND B von der Steuerung InA1 InA2 M_2 InA2 x 0 0 1 1 MR Steckverbinder 9 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 3.2 Roboterbewegungsarten Motor Links halt vor zurück vor vor halt zurück halt zurück Motor Rechts halt vor zurück zurück halt zurück vor vor halt Roboterbewegung Bild stopp vorwärts zurück auf der Stelle nach rechts im Bogen nach rechts vorn im Bogen nach links zurück auf der Stelle nach links im Bogen nach links vorn im Bogen nach rechts zurück 1 2 3 4 5 6 7 8 mögliche Anwendungen Hindernis in der Mitte Hindernis links (IR-Sensor) Hindernis links in großer Entfernung Hindernis links vor der Stoßstange Hindernis rechts (IR-Sensor) Hindernis rechts in großer Entfernung Hindernis rechts vor der Stoßstange 1 2 3 4 5 6 7 8 Carl-Engler-Schule, Bub 10 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 4 Motor-Sensor-Adapter für Logik-Platine o o o o o o o o 4.1 Wird auf die 3 Buchsenleisten aufgesetzt. Steuert einen bipolaren Schrittmotor oder 2 Gleichstrommotoren Brückentreiber L298 Steuerprogramme wie für unipolare Schrittmotoren an den 4 OK-Transistor-Ausgängen Motoren über unverpolbaren Steckverbinder anschließbar. +5V oder „externe“ Spannung über Jumper wählbar Start-Schiebeschalter ist mit dem Enable-Eingang des Motortreibers verbunden d.h. man kann an den LEDs P2 zunächst die richtige Ansteuerung testen bevor sich der Motor dreht. (Natürlich auch wenn sich der Motor dreht.) Zusätzliche 10pol Buchsenwanne, um z.B. die IR-Sensor-Platinen für den Roboter anzuschließen. Motor-Sensor-Adapter-Platine auf der 1016-Platine Buchsenwanne Verbindung P1 zu Roboter-IR-Sensoren Jumper für Wahl +5V oder ext. Versorgung über Lötnagel Steckverbinder zum Motor Schiebeschalter: Start Carl-Engler-Schule, Bub 11 Brückentreiber L298 Wird angesteuert über P2.0 bis P2.3 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 4.2 Logik-Platine mit Adapter und Raupenroboter (mit je 2 Gleichstrom-Motoren) 4.3 Schaltung der Logik-Adapter-Platine C2 1OONF K2 +5V K13 Sensoren 5V 3 4 5 6 7 8 9 10 +5V K14 7,2V +5V V2 VdigVmotor Start S1 EnA EnB 37 38 39 40 L298 OutA1 InA1 InA2 44 43 InB1 InB2 OutA2 ML K5 OutB1 OutB2 GND GND A GND B 41 42 MR K6 0V Carl-Engler-Schule, Bub 12 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 5 Motor-Sensor-Adapter für Controller-Platine o o o o o o o o o 5.1 Für Controller-Platinen Wird auf die Buchsenleisten neben dem Controller aufgesetzt. Steuert einen bipolaren Schrittmotor oder 2 Gleichstrommotoren Brückentreiber L298 Gleiche Steuerprogramme wie für unipolare Schrittmotoren an den 4 Transistoren von P2 verwendbar! Motoren über unverpolbaren Steckverbinder anschließbar. +5V oder „externe“ Spannung über Jumper wählbar Start-Schiebeschalter ist mit dem Enable-Eingang des Motortreibers verbunden d.h. man kann an den LEDs P2 zunächst die richtige Ansteuerung testen bevor sich der Motor dreht. (Natürlich auch wenn sich der Motor dreht.) Zusätzliche 10pol Buchsenwanne die zu P1 führt, um z.B. die IR-Sensor-Platinen für den Roboter anzuschließen. Controller-Motor-Adapter-Platine (auf dem Miniboard) Buchsenwanne Verbindung P1 zu Roboter-IR-Sensoren Jumper Wahl +5V oder ext. Versorgung über Lötnagel Steckverbinder zum Motor Schiebeschalter: Start Carl-Engler-Schule, Bub 13 Brückentreiber L298 Wird angesteuert über P2.0 bis P2.3 Schaltungsbeschreibung der Roboter-allgemein.odt Schaltungsbeschreibung Roboter 5.2 Controllerplatine mit Radroboter und 2 Gleichstrommotoren 5.3 Schaltung des Motor-Sensor-Adapters für die Controllerplatine +5V K1 P1 +5V P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 +5V C1 K4 K6 7,2V +5V S1 P2.3 P2.2 P2.1 P2.0 K5 100nF V1 Vdig EnB EnA Vmotor L298-BRÜCKENTREIBER K7 Start InA1 OutA1 InA2 OutA2 InB1 OutB1 InB2 OutB2 M2 GND GND A GND B Pfostenwanne Verbindung zu den Sensoren M1 K8 K3 Carl-Engler-Schule, Bub 14 Schaltungsbeschreibung der Roboter-allgemein.odt