Wir haben das Problem, das die AGVs zum Beladen unter den Kränen anhalten sollen. Man kann keine Stopstellen (sprich: Elektromagnete) dafür
verwenden, da die Kräne selbst mobil sind und damit die AGVs immer an anderen Stellen stehenbleiben müssen. Die Arbeitsgruppe
"Infrarot" (Stephan et moi) hat sich dieses Problems vor einigen Wochen angenommen.
- IR_Steuerung.jpg (195.27 KiB) 22001 mal betrachtet
Auf diesem Bild ist ein Prototyp eines kleinen Fahrzeugs zu erkennen, bei dem genau das mittels IR realisiert worden ist.
Ein ATiny 85 erzeugt ein PWM-Signal im Bereich um 38 kHz, das vom IR-Empfänger auf dem Fahrzeug erkannt wird. Solange
das Signal empfangen wird, bleibt das Fahrzeug stehen. Das IR-Signal muss noch mittels eines kleinen Tubus o.Ä. fokussiert
werden, damit der Anhaltebereich exakt stimmt. Aber prinzipiell funktioniert das soweit schon.
Die Software ist denkbar einfach:
Code: Alles auswählen
// Attiny85 , running @ 16MHZ
// Using timer 0
//
// +-\/-+
// Ain0 (D 5) PB5 1| |8 VCC
// Ain3 (D 3) PB3 2| |7 PB2 (D 2) INT0 Ain1
// Ain2 (D 4) PB4 3| |6 PB1 (D 1) pwm1
// GND 4| |5 PB0 (D 0) pwm0
// +----+
void setup() {
DDRB |= (1 << PB0); // Set pin PB0 as output
TCNT0 = 0;
TCCR0A = 0;
TCCR0B = 0;
TCCR0A |= (1 << COM0A0); // Timer0 in toggle mode Table 11-2
TCCR0A |= (1 << WGM01); // Start timer 1 in CTC mode Table 11.5
TCCR0B |= (1 << CS00); // Prescaler table 11.6
OCR0A = 216; // CTC Compare value
}
void loop() {
}
Ein Timer wird gesetzt, der mit der benötigten Frequenz eine IR-Diode ansteuert. Das ist alles.
Die Schaltung besteht aus einem IR-Empfänger IR1261, einem BC547, einem Kondensator und zwei Widerständen.
Das sollte in den AGVs unterzubringen sein.
Vielen Dank an dieser Stelle an Stephan, der mal wieder ein Problem von uns Teppichbahnern gelöst hat!
Viele Grüße, Bernd