naja WÄHREND einer LCD ausgabe solltest du unbedingt das tachoauslesen aussetzen, nicht dass während du den wert in einen string konvertierst der interrupt dazwischen kommt!!!
Ja das war meine Anfangsfrage^^. Ich weis nicht ob die LCD- Ausgabe mit den vielen Interrupts kollidiert. Hatte auch schon überlegt zwei Prozessoren zu verwenden...einen zum Auslesen der die Daten dann weitersendet und ein 2ter
Prossesor gibt das aus aber ein AT32 mit 8 bzw. 16mhz sollte das doch schaffen oder?
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
naja WÄHREND einer LCD ausgabe solltest du unbedingt das tachoauslesen aussetzen, nicht dass während du den wert in einen string konvertierst der interrupt dazwischen kommt!!!
Ja genau das ist mein Problem. Denn wenn ich während der Ausgabe einen Interrupt verpasse wäre das schlecht fürs Ergebnis. Das ist ja das Hauptproblem, die Interrupts nicht zu verpassen, aber diese trotzdem für die Ausgabezeit zu unterbinden
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
So hab das Signal mal genau unter die Lupe genommen...jetzt weis ich woher das Prellen kommt:
Bild hier
XDiv = 1µS
YDiv = 2V
Ich glaube ich bleibe doch bei meinem Reed-Kontakt :-D
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
du schaltest VOR dem schreiben die interrupts aus, die werte bleiben stabil, nach dem schreiben schaltest du wieder ein und ab dem nächsten impuls nach dem schreiben misst du wieder die zeit, bei 8ms wiederholzeit haste alle halbe sekunde mehr als genug werte gemessen um ne neue ausgabe machen zu können ... ich würd sogar auf ne aktualisierung alle 100ms runtergehn, im halbsekundentakt ist die geschwindigkeitsanzeige doch sehr träge
Ja nur es ist ja auch möglich dass nur alle 100ms ein interrupt kommt und wenn ich immer genau in diesem Moment die Displayausgabe mache verpasse ich diesen. ist jetzt sehr theoretisch aber bestimmt möglich
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
Das signal sieht nicht besonders gut aus. Das Prellen verhindert schon mal das man damit direkt an einen Zähleingang geht. Vermutlich sollte man aber noch einen etwas kleineren Pullup Widerstand nutzen, denn das gezeite Signal ist bei weitem kein digitales Signal, sondern zeigt noch Zwischenwerte. Irgendwie paßt das gezeigte Signal aber nicht zu einem Reed Signal. Das "Prellen" ist viel zu kurz (ca. 1 µs) und das Signal wiederhoht sich zu schnell. Bei den nur 3 µs wäre eine auswertung schon recht schwer (ginge wohl noch gerade in ASM). Wenn das wirklich von einem Reed kontakt stammt sollte die Zeitachse wohl mehr im ms Bereich.
Man kann das (langsamere machanische) Prellen wohl auch in Software berücksichtigen, denn die echten Pausen sind deutlich länger als das Prellen.
Wenn man die Auswertung ganz in den Interrupt verlegt, sollte die Ausgabe auf das LCD nicht weiter stören. Wenn man auch nur einen (veileicht mal 2) Interrupt je Puls hat, bleibt auch genug Rechenzeit für die Ausgabe übrig.
Nein das ist ja nich der Reedkontakt sondern die Welle.Aufgrund dieses Signals wollte ich ja wieder einen Reed nehmen![]()
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
Das Bild vom osziloskop paßt einfach nicht zum Text oben. Das bild zeigt ca. 3 µs zwischen den Flanken. Durch die Überschwinger ist es schwer das signal direkt digital weiterzuverarbeiten.
Kommt das Signal von einem Hall Sensor, der ein sehr feines Zahnrad abfragt ? Sonst kann ich mir die hohe Geschwindigkeit kaum vorstellen.
Ok sry hab mich auch ein bisschen falsch ausgedrückt. Das ist das Signal im Ruhezustand des Sensors. Hatte den Sensor am INT2 angeschlossen und auf "falling" abgefragt...dabei wurde der INT jedoch immer wieder ausgelöst. Bei genauere auflösung kam dann das oben gezeigte Bild zum Vorschein, was erklärt warum ich immer wieder einen INT bekomme
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
Lesezeichen