Parameter eines uC basierten Reglers extern einstellen

Gast #1922280
Lesenswert?

Hallo,

habe mich gerade gefragt, ob man die Parameter eines PID-Reglers 
irgendwie extern einstellen kann.
Ich verwende einen ATtiny26, der leider nur relativ wenige IOs hat, die 
ich zudem bereits reichlich (Digitale Sollwert-Vorgabe, Strombegrenzung 
mit AC und Spannungsmessung mit ADC und externer Referenz, Ausgänge auf 
PortB für Statusmeldungen über LEDs) nutze. Da ist nicht mehr viel übrig 
(3 Ports), insbesondere für einen genaue Einstellung von mehreren 
Parametern.
Für jeden Versuch den Chip neu zu flashen, finde ich weniger elegant und 
ist aufwendig.
Auch UART ist leider nicht bei dem Chip verfügbar...
Gibt es einfache, sprich aufsteckbare, USI-UART-Wandler? Oder: Wie wird 
sowas sonst in der Praxis gelöst?

Grüße,
R
#1922285
Lesenswert?

Regler schrieb:

> habe mich gerade gefragt, ob man die Parameter eines PID-Reglers
> irgendwie extern einstellen kann.

Wenn du es programmieren kannst, ist es auch realisierbar :-)

> Auch UART ist leider nicht bei dem Chip verfügbar...

Es gibt auch Software UART

> Gibt es einfache, sprich aufsteckbare, USI-UART-Wandler? Oder: Wie wird
> sowas sonst in der Praxis gelöst?

Da du den ADC sowieso in Verwendung hast, könnte ich mir auch 
vorstellen, dass mit einem zusätzlichen Taster ein Poti an den ADC 
gekoppelt wird, mit dem man den/die Parameter verändern kann.
Oder 3 Taster: 1 selektiert den Parameter, die anderen beiden sind 
rauf/runter

Während der Änderung werden die LED als Anzeige misbraucht, welcher 
Parameter gerade verändert wird, falss überhaupt.


3 Pins sind auch ausreichend um daran Schieberegister auf einer 
Zusatzplatine anzuschliessen. 4 wären besser um zwischen 
Eingangsschieberegister und Ausgangsschieberegister unterscheiden zu 
können, aber da könnte man ja auch wieder einen LED Ausgang misbrauchen.
Auf der Zusatzplatine mit den Schieberegistern sitzt dann ein LCD und 
ein paar Taster zur Benutzereingabe.

Oder ....
Gast #1922593
Lesenswert?

Karl heinz Buchegger schrieb:
> ein Poti an den ADC
> gekoppelt wird, mit dem man den/die Parameter verändern kann.

Dank' Dir.

Das war die Idee, die ich brauchte. Bei Sollwert 0 wird jetzt der 
ADC-Eingang geändert und ein analoger Wert, als die Verstärkung 
eingelesen. Damit kann ich einen Parameter des PIDs einstellen.
Die anderen gemachten Vorschläge scheitern am notwendigen Speicher (2K 
Speicher sind nicht viel, ATtiny461 ist aber schon unterwegs), den 
verfügbaren Schnittstellen und/oder am verfügbaren Platz auf der 
Platine.
Wären außerdem ein wenig overkill.
Den analogen Wert kann ich dann auch messen und später dokumentieren 
bzw. fest einprogrammieren. Erstmal landet er im EEPROM.
Für den I-Anteil muss ich dann zwar nochmal flashen, aber das geht ok.
Den D-Anteil werd ich erstmal weglassen.

Nochmal Danke!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren