Forum: Mikrocontroller und Digitale Elektronik ATMega 328P zu langsam für Rotary Encoder?


von Roffeldipoffel (Gast)


Lesenswert?

Hi...

hab mal ne Frage - hatte dazu leider nichts gefunden oder falsch
gesucht..?!
Ich habe seit gestern den Transistortester GM328 (in Schwarz mit SMD
Bauteilen)
und habe festgestellt wenn man den Rotary Encoder sehr sehr schnell
dreht dann startet der tester neu oder kommt in den "Selection" mode.
ist das ein normales Phänomen oder ist möglicherweise was defekt? :(

Danke euch

:
von jo mei (Gast)


Lesenswert?

Roffeldipoffel schrieb:
> ist das ein normales Phänomen oder ist möglicherweise was defekt?

Ja, leider war der Mensch der das programmiert hat leicht defekt.

Anaonsten schafft das ein 328 locker, wenn man es richtig macht.

von Roffeldipoffel (Gast)


Lesenswert?

Ahh. also ist es bei den testern normal?!

und hab mal was gelesen von Kondensator zwischen output und Ground soll 
abhilfe schaffen?

von Heiner (Gast)


Lesenswert?

jo mei schrieb:

Poste den Programmteil des Rotary Encoders, damit man sich ein Urteil 
bilden kann.

von Roffeldipoffel (Gast)


Lesenswert?

naja das ist eines dieser Transistor tester die es überall zu kaufen 
gibt. steht nur gm328a drauf

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Die meisten dieser Dinger sind Kopien des Originalprojektes von hier:
https://www.mikrocontroller.net/articles/AVR_Transistortester
Manche wurden mit einem anderen Display ausgestattet, damit man die 
Kopie nicht so schnell erkennt.

von Christian S. (roehrenvorheizer)


Lesenswert?

Ich war schon im Überall und gerade heute im Weltall, aber den Tester 
gab es nirgends zu kaufen, zumal fast alles geschlossen hat.

Mfg

von Peter D. (peda)


Lesenswert?

Roffeldipoffel schrieb:
> ist das ein normales Phänomen oder ist möglicherweise was defekt? :(

Da hat einfach der Entwickler der Firmware es nicht besser gewußt. Ist 
also ein Softwarebug.

Sowas habe ich aber auch schon bei professionellen Geräten erlebt. Z.B. 
ein Videorekorder, bei dem man die FB nicht zu schnell drücken darf, 
sonst hilft nur Netzstecker ziehen.

von Roffeldipoffel (Gast)


Lesenswert?

Christian S. schrieb:
> Ich war schon im Überall und gerade heute im Weltall, aber den
> Tester
> gab es nirgends zu kaufen, zumal fast alles geschlossen hat.
>
> Mfg

https://www.amazon.de/gp/product/B08P35L7ZS/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

diesen z.B.

von Martin H. (horo)


Lesenswert?

Roffeldipoffel schrieb:
> ist das ein normales Phänomen oder ist möglicherweise was defekt? :(

Ja.

Peter D. schrieb:
> Da hat einfach der Entwickler der Firmware es nicht besser gewußt. Ist
> also ein Softwarebug.

Das ist bewusst so gewählt, z.B.:

https://github.com/Mikrocontroller-net/transistortester/blob/1b0b709a1167d1024e73404b5fbcab07ad70fbef/Software/trunk/function_menu.c#L478
1
     if (rotary.incre > FAST_ROTATION) break;    // fast rotation ends voltage measurement

Heiner schrieb:
> Poste den Programmteil des Rotary Encoders, damit man sich ein Urteil
> bilden kann.

https://github.com/Mikrocontroller-net/transistortester/blob/master/Software/trunk/wait_for_key_ms.c

: Bearbeitet durch User
von jo mei (Gast)


Lesenswert?

Martin H. schrieb:
> Das ist bewusst so gewählt, z.B.:

Aha ... verstehe ... das ist bewusst so gewählt dass der Controller
abstürzt bzw. neu startet.

Roffeldipoffel schrieb:
> habe festgestellt wenn man den Rotary Encoder sehr sehr schnell
> dreht dann startet der tester neu

Bei diesem Spaghetti-Code wird sich wohl jeder sofort mit
Begeisterung drauf stürzen eine Verbesserung einzubauen ....

von Stefan F. (Gast)


Lesenswert?

jo mei schrieb:
> Aha ... verstehe ... das ist bewusst so gewählt dass der Controller
> abstürzt bzw. neu startet.

Wie kommst du "abstürzt"?

von Falk B. (falk)


Lesenswert?

Martin H. schrieb:
> Das ist bewusst so gewählt, z.B.:
>
> 
https://github.com/Mikrocontroller-net/transistortester/blob/1b0b709a1167d1024e73404b5fbcab07ad70fbef/Software/trunk/function_menu.c#L478

Ach du grüne Neune, was ist DAS denn? Wer soll bei diesem #ifdef 
Dschungel durchsehen?

> 
https://github.com/Mikrocontroller-net/transistortester/blob/master/Software/trunk/wait_for_key_ms.c

Ohje! Geht's nur mir so oder empfinden das auch Andere als maximal 
verwirrend und aufgeblasen? Und dann noch so schöne Dinge drin wie ein 
halbes Dutzend Variationen von Wait . . .

von Stefan F. (Gast)


Lesenswert?

Ich habe schon schlimmeres bearbeiten müssen. Anfänger sollten sich 
diesen Quelltext besser nicht als Vorlage nehmen.

Beitrag #6673495 wurde von einem Moderator gelöscht.
Beitrag #6673499 wurde von einem Moderator gelöscht.
von Martin H. (horo)


Lesenswert?

Falk B. schrieb:
> Ach du grüne Neune, was ist DAS denn? Wer soll bei diesem #ifdef
> Dschungel durchsehen?

'ne gescheite IDE zieht das gesamte Projekt rein und graut je nach 
Setting die nicht definierten Teile aus, bzw. faltet sie weg.
Das ist eine SW, die über zehn Jahre gewachsen ist, mit gefühlt zehn 
verschiedenen Displays läuft und alternativ diverse "User-Interfaces" 
wie eine Taste (kurz vorwärts, lang rückwärts) oder zwei Tasten (vor, 
zurück), oder den Drehencoder mit Taste, etc. hat.
Ich weiß aus eigener Erfahrung mit großen Projekten, dass man ungern den 
Kram vom Vorgänger refactored, insbesondere, wenn man ihn nicht 
durchschaut und daher lieber als Black-Box kapselt, z.B. mit #ifdef.
Wir wollen das Ding ja auch nicht weiterentwickeln, sondern einfach nur 
benutzen - es funktioniert.

von Stefan F. (Gast)


Lesenswert?

Martin H. schrieb:
> Ich weiß aus eigener Erfahrung mit großen Projekten, dass man
> ungern den Kram vom Vorgänger refactored,

> insbesondere, wenn man ihn nicht durchschaut

Das ist der Punkt. Eine derart verwachsene Struktur offenbart, dass da 
Leute dran gearbeitet haben, die es besser nicht getan hätten.

von Falk B. (falk)


Lesenswert?

Martin H. schrieb:
> Wir wollen das Ding ja auch nicht weiterentwickeln, sondern einfach nur
> benutzen - es funktioniert.

Naja. Es gibt im Moment den Verdacht, daß die Kiste beim schnellen 
Drehen einen Absturz erleidet. Wenn das so ist, wäre das ein 
Programmierfehler. Der unübersichtliche Quelltext wäre eine Ursache.

von Wilhelm M. (wimalopaan)


Lesenswert?

Roffeldipoffel schrieb:
> ist das ein normales Phänomen

Ja, von schlechter Software.

Für so eine kompilierte Aufgabe braucht es einen RISC-V

Beitrag #6673766 wurde von einem Moderator gelöscht.
von Martin H. (horo)


Lesenswert?

Falk B. schrieb:
> Naja. Es gibt im Moment den Verdacht, daß die Kiste beim schnellen
> Drehen einen Absturz erleidet. Wenn das so ist, wäre das ein
> Programmierfehler. Der unübersichtliche Quelltext wäre eine Ursache.

Wie kommst Du auf Absturz? Das ist auch im Handbuch beschrieben, dito im 
Quelltext:
Schnelles Drehen wirkt als 4. Funktion "Escape", zusätzlich zu links, 
rechts und Taste. Und "Escape" beendet halt die Messung, genauso wie ein 
langer Druck auf die Taste.

Dein „Verdacht” beruht auf der Frage eines Nutzers nach einem Tag 
Benutzung, der das Handbuch nicht gelesen hat. Auf Seite 41 steht dort:

„Wenn der Tester mit einem Drehimpulsgeber ausgerüstet ist, kann die 
Menü-Auswahl auch mit einem schnellen Drehen des Encoders während der 
Anzeige einer vorausgegangenen Messung aufgerufen werden. Die 
Menüfunktionen können mit einem langsamen Drehen des Encoders in 
beliebiger Richtung ausgewählt werden. Die ausgewählte Menüfunktion kann 
aber nur mit einem längeren Tastendruck gestartet werden. Innerhalb 
einer Menüfunktion können Parameter durch eine langsame Drehung des 
Encoders ausgewählt werden. Eine schnelle Drehung des Encoders kehrt zur 
Menü-Auswahl zurück.”

von Falk B. (falk)


Lesenswert?

Martin H. schrieb:
> Wie kommst Du auf Absturz?

Das sagt der OP.

 Das ist auch im Handbuch beschrieben, dito im
> Quelltext:
> Schnelles Drehen wirkt als 4. Funktion "Escape", zusätzlich zu links,
> rechts und Taste. Und "Escape" beendet halt die Messung, genauso wie ein
> langer Druck auf die Taste.

Ein fragwürdiges Konzept.

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.