-
-
Erfahrener Benutzer
Robotik Visionär
Mit dem Analogkomperator könnte man es ganz gut machen, wenn es um schnelle Signale geht. Bei so langsamen Sachen geht der AD wandler besser. Da kann man wenn nötig noch ein entprellen in Software machen.
Statt 2 Lichtschranken, wäre ein mit einer schaltbaren LED besser gewesen. Die Differenz wäre dann ziwschen LED an und LED aus. So sollte es aber auch gehen.
Die Flankenerkennung in Software geht etwa so:
1) neuen Wert von der Lichtschranke einlesen
2) Testen ob man als neuen Wert rot, und als alten Silber hat,
dann hat man eine Flanke. Entsprenchend die Differenz bilden und Zeit für die nächste Flanke merken.
3) den Wert als alten Wert speichern
Wenn man im Programm noch was anderes zu tun hat, könnte man den AD wandler theoretisch in der timer ISR starten und dann in der AD-Wandler ISR auswerten. Allerdings muß man dann den AD-Wandler Direkt über die Register auslesen. Die Auswertung könnte so aber komplett in ISRs verschoben werden, ohne das man da warten muß. Das einzig schwere (weil etwas unübersichtlich) wird eventuell sein die verschiedenen AD Messungen auseinander zu halten.
Beim Timer sollte man besser die Hardware zum Einstellen der Periode nutzen. Das wird etwas genauer, ist aber hier nicht unbedingt nötig.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen