-
-
Erfahrener Benutzer
Robotik Einstein
Und dafür ein M32? Ich geh mal davon aus, das du die so rumliegen hast und nicht extra dafür bestellst. Das würde auch ein kleiner Tiny schaffen und der wäre günstiger. Aber unabhänig welchen µC du nimmst, das Problem lässt sich bei allen gleich lösen.
Offen/geschlossen ist ja nur an/aus. An Reedkontakt liegt an einem der beiden Anschlüsse ein Potential an das zum anderen Anschluss geleitet wird, wenn der Magnet den Kontakt schliesst.
Da ein zweiter M32 das Signal auswerten soll und kein Fahrradtacho ist das eigentlich nicht so das Problem. Du musst nur den Ausgang des M32 (Tachogeber) immer ein- und ausschalten. Der andere M32 (Tachoanzeige) reagiert dann dadrauf.
Es ist ja unerheblich, wie lange der Kontakt geschlossen ist, sondern nur interessant, wie oft der Kontakt pro Zeit geschlossen wird.
Allerdings sollte der Kontakt so lange geschlossen bleiben, das die Tachoanzeige im Programmablauf genug Zeit hat das Signal auch abzufragen.
Wenn die Tachoanzeige durch ein IC angesteuert wird, muss eigentlich nix weiter beachtet werden (außer das ein Signal lange genug anliegt. Lange genug ist aber im Millisekundenbereich.)
Wird die Tachoanzeige durch den Reedkontakt angesteuert muss der Eingang entprellt werden.
Der Schalter schlieest sich nicht nur einmal pro Schaltvorgang sondern mehrmals. Schaltet man z.B. ein normalen Lichtschalter, passiert das gleiche. Man kann es aber nur mit den Augen nicht erkennen, aber der Schalter schliesst und öffnet beim Betätigen mehrmals. Die Tachoanzeige würde dann eine um das vielfache und nicht gleichbleibende Geschwindigkeit anzeigen.
In Bascom gibt es ein Befehl zum entprellen. (DEBOUNCE) Oder man wartet eine kurze Zeit, bevor der Kontakt nochmal abgefragt wird. Man kann das ganze auch Schaltungstechnisch entprellen.
Wenn der Tachogeber ein anderer M32 ist ist entprellen nicht notwendig. Du schaltest einen Ausgang einfach für eine gewise Zeit an, wartest eine gewisse Zeit, schaltest ihn wieder aus und wieder eine gewisse Zeit warten. Und dann wieder von vorne.
Ich hoffe ich konnte es halbwegs verständlich erklären. Womit programmierst du denn? Und was wird die maximal zu erwartende Geschwindigkeit sein? Und die max. Impulse pro Sekunde?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen