Forum: Mikrocontroller und Digitale Elektronik konfigurierbarer Drehzahlmesser mit Atmega168


von Witali G. (witali)


Lesenswert?

Hallo zusammen!!!

Ich bräuchte ein paar Tipps von Experten! Ich mache in der Arbeit ein 
Drehzahlmessgerät mit einem Inkrementalgeber und uC. Der Geber liefert 
ein Frequenzsignal proportional zur Drehzahl und der Controller misst 
die Periode und berechnet daraus und aus der Auflösung des Gebers die 
Drehzahl. Die Drehzahlmessung selbst lauft schon. Das Gerät soll aber 
für Drehgeber unterschiedlicher Auflösung anpassbar sein. Man kann das 
Gerät mit einer RS232-Schnittstelle ausstatten und über die 
Schnittstelle die Auflösung des Inkrementalgebers im uC einstellen. Den 
Wert verwendet der Controller dann bei der Drehzahlberechnung. Das ist 
die Idee, aber wie das im Detail aussehen sollte, das ist die Sache. Wo 
legt man z.B. am besten die Auflösung ab? Programmspeicher? Eeprom? Wie 
soll die Kommunikation über UART am besten erfolgen? Polling? Interrupt? 
Für einen der sich mit so etwas auskennt und schon eine Menge entwickelt 
hat wäre das ein Kinderspiel aber mir ist noch vieles unklar darum würde 
ich mich um ein paar Tipps von Erfahrenen Entwicklern freuen!

Gruß

Witali

von Witali G. (witali)


Lesenswert?

Bitte nur ein paar Tipps!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich bin definitiv kein Experte. Darf ich trotzdem was fragen und 
antworten?

Ist das ein Open Source Projekt oder ein Closed Source Projekt?

Muss die Einstellung überhaupt per PC gemacht werden oder kann man auch 
in die Richtung überlegen, das mit einem DipSchalter, Jumper, 
Encoderschalter, codestecker am Geber zu machen?

Die Hardwaremethoden hätten den Charme, dass man einen PC-losen 
Drehzahlmesser bauen könnte und dass man die Auflösung nicht speichern 
müsste, da man sie stets neu aus der Hardware ermitteln kann.

Wenn es um das Speichern der Auflösung geht, ist das EEPROM das Mittel 
der Wahl. In den Programmspeicher bekommst du das nicht oder nur sehr 
schwer rein.

von Witali G. (witali)


Lesenswert?

Stefan "stefb" B. wrote:

> Ist das ein Open Source Projekt oder ein Closed Source Projekt?

Projekt würde ich das überhaupt nicht nennen. Das Gerät wird bei der 
Enwicklung in der Firma verwendet. Es ist keine große Affaire und muss 
auch nicht geschützt werden.

> Muss die Einstellung überhaupt per PC gemacht werden oder kann man auch
> in die Richtung überlegen, das mit einem DipSchalter, Jumper,
> Encoderschalter, codestecker am Geber zu machen?

Nein, muss nicht. In eine andere Richtung habe ich noch nicht gedacht. 
Ich weiß nicht, was für Auflösungen Geber haben können, bis jetzt habe 
ich mit 600, 1000 und 1024 zu tun gehabt. Sagen wir mal, theoretisch 
kann das ein beliebiger Wert zwischen 0 und 1024 sein. Das wäre z.B. mit 
einem 10-bit-breiten Dipschalter machbar oder?

> Die Hardwaremethoden hätten den Charme, dass man einen PC-losen
> Drehzahlmesser bauen könnte und dass man die Auflösung nicht speichern
> müsste, da man sie stets neu aus der Hardware ermitteln kann.

Für die Entwickler hier ist es der Altag, das sie immer wieder 
unterschiedlichste Gerätschaften mit ihren Notebooks konfigurieren 
müssen, deswegen habe ich mir halt gedacht, es so zu machen. Dann muss 
man nicht dezimal in binär oder sonst umwandeln, sondern gibt halt im PC 
die Auflösung ein und des Gerät macht den Rest.

von OliverSo (Gast)


Lesenswert?

Wenn es ein Standalone-Gerät werden soll, würde ich ein LCD und ein paar 
Tasten einbauen, und die Bedienung darüber durchführen. Die Auflösung in 
einem eeprom dauerhaft zu speichern, ist ja kein Aufwand.

Wenn der Auflösungsbereich tatsächlich von 0(1) bis undendlich reichen 
soll, solltest du aber über eine zweite Auswertemethodik nachdenken. Bei 
Gebern mit wenigen Impulsen und/oder kleinen Drehzahlen ist Zeit pro 
Impuls genauer als Impulse/Zeiteinheit.

Oliver

von Witali G. (witali)


Lesenswert?

OliverSo wrote:


> Wenn der Auflösungsbereich tatsächlich von 0(1) bis undendlich reichen
> soll, solltest du aber über eine zweite Auswertemethodik nachdenken. Bei
> Gebern mit wenigen Impulsen und/oder kleinen Drehzahlen ist Zeit pro
> Impuls genauer als Impulse/Zeiteinheit.


Die Angabe der Auflösung 0-1024 war natürlich nur theoretisch. 
Tatsächlich beginnt sie viel höher als bei 1. Ausgewertet wird in dem 
Fall generell mit Periodendauermessung also Zeit pro Impuls. Dazu sind 
schon ausführliche Überlegungen gemacht worden bezüglich Genauigkeit und 
sonstiges.

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
Noch kein Account? Hier anmelden.