Microcontroller-Steuerung

Implementierung der Microcontroller-Steuerung

Aufgabe des Microcontrollers ist neben der Abfrage und Ausgabe der Entfernungswerte, die Steuerung der analogen Schaltung. Darunter fällt vor allem die Aufgabe, die Kapazität des Integrierers rechtzeitig nach der Abtastung durch den AD-Wandler durch die beiden n-MOS-Transistoren zu entladen. Die Abtastung beginnt sobald das Signal aus dem NOT-Gatter eine steigende Flanke von 0 auf 5V aufweist. Pro Entfernung sollen zehn Abstände eingelesen werden; durch das enable/disable-Signal in das AND-Gatter wird gewährleistet, dass während der anschließenden Mittelwertbildung und Wertausgabe kein Signal an den Integrierer gelangt, und so dessen Kapazität entladen bleibt.

Als Zustandsgraph ergibt sich folgendes Modell:

Bild 1: Zustandsgraph der Microcontroller-Steuerung

Erläuterungen zu Bild 1:

rot: Microcontroller-Befehle

grün: Bedingungen für Eintreten eines neuen Zustand

Diese Befehlskette wurde in einem Arduino-Programm so implementiert, dass der Ablauf in einer Schleife ständig wiederholt wird. Nach der Entladung der Kapazität im Integrierer wird solange gewartet, bis das Signal aus dem NOT-Gatter wieder eine steigende Flanke aufweist.

Der verwendete Arduino Duemilanove ist mit ausreichend Digital-In/Out-Pins und einem 10Bit AD-Wandler für die analogen Eingänge relativ gut für diese Aufgaben geeignet, bei Verwendung eines schnelleren AD-Wandlers erleichtern sich jedoch die Einstellungen des Timer-Signals und die Betrachtungen am Oszilloskop.