Ausweichroboter ohne Mikrocontroller

Ein Roboter, der Hindernissen ausweicht -- aber ohne Arduino, ohne ESP32, ohne eine einzige Zeile Code. Die komplette Steuerung wird aus diskreten Logik-ICs aufgebaut: 555-Timer, Gatter, Flip-Flops. Das ist die Art, wie Roboter vor der Mikrocontroller-Γ„ra gebaut wurden -- und es zeigt, was digitale Logik wirklich kann.

Dieses Projekt ist das GegenstΓΌck zum Ausweichroboter mit Arduino. Gleiche Mechanik (Karton-Chassis, TT-Motoren, HC-SR04), aber komplett andere Steuerung.

Idee

Der HC-SR04 Ultraschallsensor braucht eigentlich keinen Mikrocontroller. Er will nur:

  1. Einen Trigger-Puls (10 Β΅s HIGH)
  2. Er gibt ein Echo-Puls zurΓΌck, dessen Breite proportional zur Entfernung ist

Die Frage ist: Wie erkennen wir ohne Software, ob das Echo "kurz" (Hindernis nah) oder "lang" (alles frei) war?

Schaltungskonzept

Block 1: Trigger-Generator

Ein NE555 im astabilen Modus erzeugt periodisch einen kurzen Puls. Die Wiederholrate muss mindestens 60 ms betragen (HC-SR04 braucht Zeit fΓΌr das Echo). Der Trigger-Puls selbst muss β‰₯ 10 Β΅s breit sein.

Dimensionierung: - Periode: ~100 ms (10 Hz Messrate) - Puls: ~15 Β΅s (etwas mehr als die minimalen 10 Β΅s) - \(R_1\), \(R_2\), \(C\) nach 555-Formeln

Block 2: Referenz-Puls (Schwelldistanz)

Ein zweiter NE555 im monostabilen Modus, getriggert durch die steigende Flanke des Echo-Signals. Er erzeugt einen Referenz-Puls mit fester Breite \(t_{ref}\), die der gewΓΌnschten Schwelldistanz entspricht.

Umrechnung Entfernung β†’ Pulsbreite:

\[t_{echo} = \frac{2 \cdot d}{v_{Schall}} = \frac{2 \cdot d}{343 \text{ m/s}}\]

FΓΌr 25 cm Schwelldistanz:

\[t_{ref} = \frac{2 \times 0.25}{343} \approx 1.46 \text{ ms}\]

Der Referenz-555 wird auf ~1.5 ms Pulsbreite dimensioniert.

Block 3: Vergleich (nah oder fern?)

Jetzt der Kern: Ist das Echo vor oder nach dem Ende des Referenz-Pulses zurΓΌckgekommen?

Umsetzung: Die fallende Flanke des Echo-Pulses wird mit dem Zustand des Referenz-Pulses verglichen. Wenn der Referenz-Puls noch HIGH ist, wenn das Echo endet β†’ Hindernis nah. Das kann ein D-Flip-Flop (74HCT74): Referenz-Puls an D, fallende Flanke des (invertierten) Echos als Clock.

Echo kΓΌrzer als Ref Ref bei Echo-Ende D-FF Ausgang Q
Ja (nah) HIGH HIGH = Hindernis
Nein (fern) LOW LOW = Frei

Block 4: Motorsteuerung

Der Q-Ausgang des Flip-Flops steuert die Motoren:

FΓΌr die Drehrichtung (immer gleich oder alternierend) kann ein zweiter Flip-Flop als Toggle dienen: Bei jedem Hindernis-Event toggelt er, und bestimmt ob links oder rechts gedreht wird.

Die Motoren werden ΓΌber eine H-BrΓΌcke (L298N oder DRV8833) angesteuert. Die Logik-AusgΓ€nge (5V, wenige mA) steuern die Enable- und Richtungspins der H-BrΓΌcke direkt.

Blockdiagramm

                                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”    Trigger    β”Œβ”€β”€β”€β”€β”€β”€β”€ HC-SR04  β”œβ”€β”€β”€β”€β”€β”€β”
  β”‚ 555 #1  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Ίβ”‚ Trig β”‚          β”‚ Echo β”‚
  β”‚ astabil β”‚               └───────          β”œβ”€β”€β”€β”€β”€β”€β”€
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
                                                      β”‚
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   555 #2 mono      β”‚
                    β”‚   (Referenz-Puls)  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚ Ref
                              β”‚
               Echo ───────────
                              β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   74HCT74 D-FF     β”‚
                    β”‚   (nah/fern)       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚ Q
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   74HCT74 D-FF #2  β”‚
                    β”‚   (links/rechts)   β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   H-BrΓΌcke         β”‚
                    β”‚   (L298N/DRV8833)  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                         β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”
                         β”‚ Motoren β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

StΓΌckliste (zusΓ€tzlich zum Chassis)

Teil Funktion Anzahl
NE555 Trigger-Generator + Referenz-Puls 2
74HCT74 D-Flip-Flop (nah/fern + links/rechts) 1
74HCT04 Inverter (Flankenlogik) 1
HC-SR04 Ultraschallsensor 1
L298N oder DRV8833 H-BrΓΌcke fΓΌr Motoren 1
TT-Motoren mit RΓ€dern Antrieb 2
Kugelrad Drittes Rad 1
WiderstΓ€nde, Kondensatoren Timing-Netzwerke, Pull-Ups diverse
Breadboard oder Lochraster Aufbau 1
4Γ— AA Batteriehalter Stromversorgung 1

Gesamtkosten (ohne Chassis): unter 10 €. Alle ICs aus der Digitale-Logik-StΓΌckliste.

Warum?

Klar, ein Arduino macht das in 50 Zeilen Code. Aber:

WeiterfΓΌhrendes


Erstellt: 13.04.2026 Β· Zuletzt geΓ€ndert: 07.07.2026