problem gelöst
Hi,
hab jetzt schon ewig gesucht aber einfach leider nicht das richtige gefunden....
Mein Anliegen:
Ich möchte eine möglichst genaue "Stoppuhr" mit Bascom basteln. Die Schaltung besteht aus zwei Lichtschranken, sobald die erste unterbrochen wird soll der Timer loslaufen und stoppen sobald die zweite unterbrochen wird. Die Abfrage der Schranken geschieht bis jetzt in einer Schleife, denke bei 16 MHZ is das genau genug, oder doch besser HW-Interrupt nutzen?
Mein Problem ist: ich habe noch nicht ganz begriffen wie ich aus dem Wert des Timers z.b. Hunderstel oder Tausendstelsekunden berechne. Die Zeit die zwischen den beiden Unterbrechungen liegt wird immer unter 1 s bleiben, welchen Prescaler verwende ich da am besten? Am besten so genau wie möglich...
Man, man, diese Timer machen mich noch wahnsinnig Würde mich über Tips freuen
MfG
Daniel
problem gelöst
und wie hast du's gelöst?
Vor den Erfolg haben die Götter den Schweiß gesetzt
hab meine gesuchte formel gefunden, damit lässt sich aus dem Timerwert die abgelaufene Zeit berechnen. X ist hier der Wert des Timers.
Zeit = X * Prescaler / Taktfrequenz (in Hz)
Hi Daniel,
würdest du dein Bascom-Projekt veröffentlichen? Mich interessiert diese Art von Schaltung nämlich auch.
MFG
Jens
was interessiert dich denn genau daran oder wo liegt dein problem? mal sehen ob ich dir helfen kann!
bye,
Daniel
Hallo,
ich habe ein ähnliches problem. ich habe eine uhr programmiert und die läuft auch "sehr" genau. in einer stunde ca 2sekunden falsch. habe das auch mit dem prescaler richtig berechnet. aber da ging die uhr noch mehr falsch. habe also die vorladung des prescalers geändert und soweit optimiert das es möglichst genau geht.
aber wie bekommst du das ganz genau. habe mal im netz gelesen das ich dann den quarz mit einem widerstand trimmen muss. also das mmein quarz zu ungenau ist und ich deswegen die abweichungen habe.
also wie hast du das gemacht das es so genau geht???
thx arno
Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
Sir Isaac Newton
Hallo Filzlaus,
an einem Quarz hast du normalerweise zwei 22pF Kondensatoren. Um die Frequenz einstellbar zu machen, musst Du einen davon durch einen 30pF Trimmkondensator ersetzen. Damit kannst Du dann die Frequenz genau einstellen. Wenn die Uhr genau sein soll solltest Du aber nicht mit der Prescalereinstellung rumexperimentieren, sondern den Interrupt hardwaremäßig mit "Timer/Counter1 Compare Match A oder B" auslösen, dann ist die Genauigkeit nur noch von der eingestellten Quarzfrequenz und nicht mehr vom Programm abhängig.
felack
genauso wie felack es gesagt hat würde ich es an deiner stelle tun. bei einer uhr ist ungenauigkeit am falschen platz, weil sie ja ständig läuft und der fehler mit der zeit immer größer wird.
ich verwende einen 8-Bit Timer mit einem 8er Prescaler. Mir reicht das, ist nämlich schon ziemlich genau
Lesezeichen