Hi,
also ich hab folgendes Problem: ich habe ein Rechtecksignal anliegen,
dessen Frequenz sich in abhängigkeit einer Geschwindigkeit (vom Auto)
ändert. Ich hab mir jetzt ausgerechnet, dass wenn ich die Impulse pro
0,94 Sekunden zähle, entsprechen diese genau der gefahrenen
Geschwindigkeit (z.B.: 100km/h enstprechen 100Impulsen pro 0,94
Sekunden.
Somit möchte ich mir genau die Impulse auf diese Messdauer auf drei
7-Segmentanzeigen anzeigen lassen und habe somit die Geschwindigkeit.
Ich bin leider nicht sonderlich bewandert, was solche Schaltungen
angeht, deswegen würde ich um eure hilfe bitten ;-)
Danke im Vorraus für eure Antworten,
lg Martin
Ja ich hab schon gesucht...
Es geht nicht so sehr um die 7-Segmentanzeige, sondern um die Tatsache,
dass die Messdauer ein wenig komisch ist und ich nicht weiß, wie ich die
Impulse zählen soll und diesen Wert dann an die Anzeige zu übertragen.
Martin S. wrote:
> dass die Messdauer ein wenig komisch ist
Ist auch nicht komischer als eine Messdauer von genau 1 Sekunde. Das
kommt nur dir seltsam vor, weil wir Menschen eine Vorliebe für ganze
Zahlen haben. Dem µC ist das aber prinzipiell Wurscht. Alles
entscheidend: kannst du mit einem Timer mit geeignetem Vorteiler diesen
Zahlenwert (unter Umständen auch in mehreren Etappen) genau erreichen
oder nicht.
> und ich nicht weiß, wie ich die> Impulse zählen soll und diesen Wert dann an die Anzeige zu übertragen.
Schau dir mal das Datenblatt deines µC an. Wenn du einen AVR benutzts,
dann wird es dort einen Timer geben, den man so konfiguerieren kann,
dass er bei Auftreten eines Pulses an einem externen Eingang von sich
aus hochzählt.
Alles was du dann noch brauchst, ist deine Zeitbasis von 0.9irgendwas
Sekunden, die du mit einem anderen Timer realisierst und der dir genau
in diesen Intervallen einen Interrupt auslöst. Im Interrupt dann den
Zählwert vom ersten Timer holen und du hast deinen Messwert.
Wenn das allerdings dein erstes µC Projekt ist, dann rat ich dir
zunächst mal mit kleineren Brötchen anzufangen und das ganze in Etappen
zu machen.
Ok danke, das hilft mir ein bisschen weiter.
Ja das ist mein erstes Projekt und ich blick noch nicht so wirklich
durch, deswegen meine primitiven Fragestellungen ;-)
Es geht eben um eine Geschwindigkeitsanzeige, deswegen wüsste ich jetzt
nicht wie ich mal kleiner anfangen könnte, da ich nicht so wirklich den
Zugang zu solchen Sachen habe, ich beschäftige mich normalerweise mit
Beleuchtungstechnik.
Aber ich werde das mal so versuchen wie ich mir das jetzt vorstellen
könnte und falls noch Fragen meinerseits auftreten sollten, werde ich
mich wieder melden.
Martin S. wrote:
> Es geht eben um eine Geschwindigkeitsanzeige, deswegen wüsste ich jetzt> nicht wie ich mal kleiner anfangen könnte,
Led an µC Ausgang hängen. Einschalten, Ausschalten, Blinken lassen :-)
Dabei lernst du die ersten absolut notwendigen Grundlagen
Dann soll das Blinken nicht mehr zufällig mit irgendeiner Frequenz sein,
sondern es soll sich genau eine bestimmte Frequenz einstellen. Das lehrt
dich den Umgang mit einem Timer für eine Zeitbasis.
Einzelne 7-Segment anhängen und, von mir aus im Sekundentakt hochzählen.
Wieder gibts dabei ein paar neue Grundlagen und das bisher Erlernte wird
vertieft. Vorteil: Ob du alles richtig hast, kannst du dann mit einer
Stoppuhr relativ leicht überprüfen (bzw. rausbekommen, dass ein Quarz
auch nicht so genau geht, wie man sich das landläufig so vorstellt und
was man dagegen tun kann)
Mehrere 7-Segment im Multiplex ansteuern und vielleicht diesmal eine
richtige Uhr (mit Minuten und Sekunden) programmieren. Das neu
hinzugekommene ist der Multiplex, also eine Technik um mehrere 7-Segment
zu betreiben
Dann vielleicht mal einen Ereigniszähler. Also externen Eingang (zb.
über Taster) und der µC zeigt auf der 7-Segment die Anzahl an gemessenen
Ereignissen an.
Und dann die Kombination aus allem: Ereigniszähler über einen bestimmten
Zeitraum. Dein eigentliches Ziel
Dürfte schon ein paar Wochen dauern, bis du soweit bist. Wenn du
fleissig bist und gute Fortschritte machst, können es auch ein paar Tage
sein. Aber wenn du bei 0 anfängst, gibt es viel zu lernen. Ein paar
Stunden oder ein Wochenende für sowas vorzusehen ist völlig
unrealistisch.
Karl heinz Buchegger wrote:
> Martin S. wrote: Im Interrupt ... den> Zählwert vom ersten Timer holen und du hast deinen Messwert.
Hallo,
kann man einen Timer "direkt" auslesen, oder
muss man stets eine "eigene Variable" anlegen, die
man erhöht ?
Daniel W. wrote:
> Karl heinz Buchegger wrote:>> Martin S. wrote: Im Interrupt ... den>> Zählwert vom ersten Timer holen und du hast deinen Messwert.>> Hallo,> kann man einen Timer "direkt" auslesen, oder> muss man stets eine "eigene Variable" anlegen, die> man erhöht ?
Du kannst den Timer auch direkt auslesen. Sonst wäre die Verwendung als
Zähler für externe Ereignisse ein wenig witzlos.