mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik konfigurierbarer Drehzahlmesser mit Atmega168


Autor: Witali G. (witali)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Witali G. (witali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte nur ein paar Tipps!

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Witali G. (witali)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: OliverSo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Witali G. (witali)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.