kramann.info
© Guido Kramann

Login: Passwort:










COACH2
1 Planung
2 Architektur
3 Anzeige
4 EEPROM
5 I2C
..5.1 MasterSendByte
..5.2 MasterSend2Bytes
..5.3 MasterReceiveByte
..5.4 MasterReceive2Bytes
6 UART
7 DFT
8 FFT
9 Planung2
10 Klassen
..10.1 AnzeigeTaster
..10.2 RS232
..10.3 MotorServo
..10.4 Drehgeber
..10.5 Sensor
..10.6 Funk
11 Adaption
..11.1 Programmiertechnik
..11.2 Evoopt
12 Fuzzy
..12.1 Uebungsaufgabe
..12.2 Fuzzygroesse
..12.3 Fuzzyset
..12.4 Lookuptable
13 Skript
..13.1 Funkkorrektur
..13.2 Skriptsprachen
..13.3 Anforderungen
..13.4 Agentensysteme
..13.5 Implementierung
..13.6 Experimente
14 Gesamtkonzept
..14.1 Skripterweiterung
..14.2 Makroverhalten
67 Echtzeitsysteme
..67.1 Einfuehrung
....67.1.1 Echtzeit
....67.1.2 Korrektheit
....67.1.3 Hardware
....67.1.4 Ziele
....67.1.5 Synchronprogramm
..67.2 Threads
....67.2.1 Java
....67.2.2 Synchronisierung
..67.3 COACH
....67.3.1 Kaskadenregler
....67.3.2 Zeitebene1
....67.3.3 Zeitebene2
....67.3.4 Zeitebene3
....67.3.5 Puck
....67.3.6 Puckschwarm
..67.4 RTAIlab
....67.4.1 Slax
....67.4.1 USB_Stick
....67.4.2 Sinus
..67.5 Semaphor
....67.5.1 Laufkatze
....67.5.2 Java
....67.5.3 Semaphor
..67.6 Audio
....67.6.1 wav
....67.6.2 Linux
..67.7 Lookup
....67.7.1 Fuzzy
....67.7.2 PWM
..67.8 NeuronaleNetze
....67.8.1 Neuron
....67.8.2 Backpropagation
....67.8.3 Umsetzung
....67.8.4 Winkelerkennung
..67.9 Internetprogrammierung
....67.9.1 Codegenerierung
....67.9.2 PHP_Programmierung
....67.9.3 PHP_OOP
....67.9.4 Java
....67.9.5 UDP
..67.10 DFT
..67.11 FFT
..67.12 Zustandsmaschine
..67.13 Fuzzy
....67.13.1 Fuzzylogik
....67.13.2 FuzzyRegler
....67.13.3 Uebung9
....67.13.5 Softwareentwicklung
......67.13.5.1 AgileSoftwareentwicklung
......67.13.5.2 FuzzyRegler
......67.13.5.3 Uebung
....67.13.6 Umsetzung
......67.13.6.1 FuzzyRegler
......67.13.6.2 Simulation
......67.13.6.3 Optimierung
......67.13.6.4 Uebung
....67.13.7 Haengependel
......67.13.7.1 Haengependel
......67.13.7.2 Simulation
......67.13.7.3 FuzzyRegler
......67.13.7.4 Optimierer
......67.13.7.5 Genetisch
....67.13.8 Information
....67.13.9 Energie

10.3 AVR-Projekt coach2.2_03_motor_servo - Verwendung von Antriebsmotor und Lenkservo

coach2.2_03_motor_servo
  • Folgende virtuellen Klassen wurden implementiert:
class MotorServoBASIS
{
//+-1023 (10 Bit Timer1)
    public:
        virtual  void geschwindigkeit(int16_t);    
        virtual  void richtung(int16_t);    
};

Code 10.3-1: Virtuelle Basisklasse der Klasse MotorServo

Methodenname Beschreibung Beispiel
geschwindigkeit(int16_t)


PWM für Antrieb. -1023..1023. Bei positiven Werten Vorwärtsfahrt. motorservo.geschwindigkeit(500);
richtung(int16_t)


PWM für Servo. -36..36 in 1,25Grad-Schritten,
0 Mitte, -36 links herum, +36 rechts herum.
motorservo.richtung(36);
double holeDouble(bool reflect)


Holt eine Fließkommazahl. wert = rs232.holeDouble(false);

Tabelle 10.3-1: Methoden der Klasse MotorServo

  • Achten Sie beim Testen des Hauptprogramms auf folgendes:
  • Das Programm arbeitet unter Verwendung des Hyperterminals und meldet sich dort mit Hinweisen zur Benutzung.
  • Fahrzeug sollte bei positiven Antriebswerten vorwärts, bei negativen rückwärts fahren.
  • Die Deichsel sollte in Fahrtrichtung gesehen bei positiven Richtungswerten rechts einschlagen, bei negativen links.
  • Bei Richtungswert Null, muß die Deichsel genau gerade stehen.
  • Bei Nichtübereinstimmung sind entsprechende Umpolungen / Versetzungen der Deichsel an Servo vorzunehmen.
  • Da für Servo und Antrieb der Timer1 verwendet wird, sind beide Funktionen in einer gemeinsamen Klasse zusammengefaßt worden.