Hallo
Danke für die Infos.
Wunderbar. Dann verwende ich die orginalen PWM-Leitungen zum NAND zur Drehrichtungsauswahl an PB4/5 des Mega8, unterbreche die orginalen Enableleitungen am IC1 und verbinde diese (irgendwie) direkt mit OC1A/B des Mega8. Dadurch werden PD4 und PD5 frei.Enable ist der PWM-Eingang
Eben, bei sechs Leitungen kann man jede Halbbrücke einzeln ansteuern und die Motoren bei Bedarf kurzschliessen. Mit vier Leitungen und dem NAND kann ich dann immerhin unbestromt stehenbleiben. Die Schutzdioden dürften zusätzlich bremsend wirken, wenn die Ausgänge auf Z geschaltet sind.ausgenommen man will bremsen
Die Tasterlösung gefällt mir noch nicht wirklich. Ich bin noch unentschieden ob ich den Tasten-ADC des asuros wirklich für das Mikrofon opfern soll oder ob ich hier besser die sechs Tasten des asuro nachbilde. Möglicherweise kann man das Signal aus dem Verstärker-IC3(LM386) auch mit einem digitalen Eingang auswerten. (1-Bit-Sampling oder einstellbarer Schwellwert mit Poti als Ersatz für Ausgangsteiler R19/20).
Die StatusLed des ProBot (D5) ist LowCurrent, damit ist meine Anmerkung oben hinfällig. Die Vorwiderstände für die IR-LEDs (R12,D6-8 bzw. R13, D9-11) erscheinen mir ungünstig. Die verwendeten LEDs (TSUS520) haben eine typische Vorwärtsspannung von 1,3V (max. 1,7). Das ergibt (5V-3*1,3V)/150Ohm=0,007A pro Strang bei möglichen 150mA (Peek 300). Da scheint noch mehr Potentional vorhanden zu sein. Wellenlänge ist übrigends 950 nm.
In der Doku werden folgende Motorfunktionen beschrieben:
Wird das MotorDir() reingerechnet? Gibt es öffentlichen Quellcode der ProBot-Lib?Code:DRIVE_INIT() Initialisiert den Antrieb. Bevor der Antrieb benutzt wird, muss diese Routine aufgerufen werden. DRIVE_ON() Setzt den Enable-Eingang des L293D auf High. Der Antrieb ist eingeschalten. DRIVE_OFF() Setzt den Enable-Eingang des L293 auf Low. Der Antrieb ist ausgeschalten. DRIVE(left as byte, right as byte) Timer1 PWM für den Antrieb: Werte zwischen 1 bis 128 = rückwärts Werte zwischen 128 bis 255 = forwärts Wert 128 = Antrieb stopp Motor_POWER(left as byte, right as byte) Geschwindigkeit, Werte zwischen 1 und 255 Es muss zuvor mit MOTOR_DIR die Richtung vorgegeben werden. MOTOR_DIR(left as byte, right as byte) Gibt die Drehrichtung der Motoren für die Funktion MOTOR_POWER vor. 1 = vorwärts 0 = rückwärts MOTOR_STOP() Motor wird gestoppt, PWM wird auf 128 gesetzt.
Gruß
mic







Zitieren

Lesezeichen