Hallo. Habe da nochmal eine Frage zum Reloadwert von einem Timer. Es geht in der gestellten Aufgabe um eine Füllstandssteuerung eines Galvanikbades. "Damit ein Überlaufen des Behälters verhindert wird, soll mit der Ablaufpumpe M2 nach Auslösen der Sensoren E1 / E2 für 5s der Füllstand des Chromgalvanikbades reduziert werden. Die Steuerung für die Pumpe M2 wird über den Timer1 des Mikrocontrollers realisiert, wobei mit einer Mikrocontrollertaktung von 1 MHz auszugehen ist. 3.3.2 Berechnen Sie den Reloadwert (und schreiben Sie die Timer-Routine, mit Hilfe des Anhangs 1), wenn der Timer im Programm genau 100 mal aufgerufen wird." Also haben wir gegeben: t = 5s. ; f = 1MHz und 100 Durchläufe in 5 sekunden (?) Also würde ich jetzt erstmal berechnen, wie lange der Timer für einen Durchlauf benötigt: 5 Sekunden / 100 Durchläufe = 50 ms pro Durchlauf Jetzt bin ich mir aber nicht sicher, wie ich weiter machen muss. Bedeutet die Mikrocontrollertaktung bezogen auf den Timer, dass diese angibt, wie lange der Mikrocontroller pro Takt braucht? Weil dann wäre es ja einfach. 1 MHz bedeutet ja, 1 Millionen Takte pro Sekunde. Die Zeit pro Takt wäre dann ja der Kehrwert, also 1 mikrosekunde pro Takt. Somit wäre die Rechnung ja simpel. Also die 50 ms pro Durchlauf durch 1 mikrosekunde pro Takt. Also: 50ms / 1 mikrosekunde = 50.000 Stimmt das so?
Für den Timer stimmt das mit dem Takt so, jeden falls in der Regel. Der µC selber braucht für einen Befehl ggf. auch mehr als einen Taktzyklus, die PIC18... braichen z.B. in der Regel 4 Zyklen. Beim Timer kann man meistens noch einen Teiler (Prescaler) dazu wählen und so die Geschwindigkeit weiter reduzieren. Ohne Prescaler von wenigstens etwa 32 (je nach µC auch mehr) ist das Timing per Preload nicht wirklich genau. Besser wäre ein Modus wo der Timer das automatisch macht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.