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