• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


Rückspeisen
#70
EDIT: Fehler korrigiert am 14.8. - 18:50

Ich habe heute (mit anderer Hardware) nochmal mit dem Regler experimentiert und finde das Teil recht interessant. Der bereits gezeigte Code war ja nur rudimentär und beinhaltete einen logischen Fehler beim Übergang vom letzten Ausgabewert zum ersten (ein Fehler wurde dabei nicht gespeichert).

Vielleicht kann das ja auch ein anderer brauchen.

Worum geht es genau:
  • Digitaler Regler, der ein vorgegebenes Signal wiederholend (Periodisch) in eine (theoretisch beliebig) nichtlineare Strecke einregelt
  • es werden mehrere Signalperioden benötigt, bis die maximale Genauigkeit erreicht ist
  • Der Rechenaufwand ist denkbar minimal dafür der Speicheraufwand erhöht
  • Eine bekannte oder Vermutete Phasendrehung in der Strecke kann vorgesteuert werden, indem die Fehlerwerte "verschoben" in das Fehlerarray geschrieben werden (s.u.)
  • Mit einer Totzeit in der Strecke funktioniert der Regler in dieser Form nicht.
  • Über das Fehler-Array misst "der" Regler quasi on-the-fly die Strecke aus - diese Streckeninformation kann man auch weiterverwenden
  • Ist der Regler ausgeschaltet, wird das Sollsignal mit seiner einfachen Amplitude augegeben. Nach dem Anschalten des Reglers wird langsam die gewünschte Amplitude angefahren.

Funktion:

Code:
[navy]//2 Arrays der Länge n. Eines enthält eine Periode (Achtung, deckt sich hier nicht mit dem klassischen Periodenbegriff!) des Sollsignals (Bereich z.b. -1.0f...1.0f). Das andere nur Nullen.[/navy]
const float soll[n] = {-1.0, -0.99, ...}
float err[n] = {0.0, 0.0, ...}

[navy]//ein paar Steuervariablen (von "außen" modifizierbar)[/navy]
int reglerOn = 0;
float sollAmplitude = 1;
float kr = 0.2;

[navy]//Variablen für den Ablauf[/navy]
float error, ist;
int reglerOnOld = 0;
int firstrun = 1;
int i, j;

[navy]//Interrupt, der im immer gleichen Zeitabstand aufgerufen wird.[/navy]
void c_int(void){
...if(reglerOn == 1 && reglerOnOld == 0){....[navy]//Regler frisch angeschaltet, err[] nullen[/navy]
......for(j = 0; j < n; j++){
.........err[j] = 0.0;
......}
...}
...if(firstrun == 1){
......setOut(soll[0]);
...}else{
......ist = getIst();
......error = (sollAmplitude * soll[i]) - ist;
......err[i] += error * kr;
......if(i == n - 1){
.........i = -1;
......}
......i++;
......if(reglerOn == 1){
.........setOut(soll[i] + err[i]);
......}else{
.........setOut(soll[i]);
......}
...}
...firstrun = 0;
...reglerOnOld = reglerOn;
}
Pffffffffft. "Da entwich das Vakuum" - Heinrich Physik, 1857.
 
  


Nachrichten in diesem Thema
Rückspeisen - von woody - 20.06.2013, 08:38 PM
RE: Rückspeisen - von Rumgucker - 20.06.2013, 08:44 PM
[Kein Betreff] - von woody - 20.06.2013, 08:44 PM
[Kein Betreff] - von woody - 23.06.2013, 08:19 PM
RE: - von Rumgucker - 23.06.2013, 09:17 PM
[Kein Betreff] - von woody - 23.06.2013, 09:58 PM
[Kein Betreff] - von Rumgucker - 23.06.2013, 10:39 PM
[Kein Betreff] - von voltwide - 23.06.2013, 10:40 PM
[Kein Betreff] - von woody - 24.06.2013, 10:02 AM
RE: - von woody - 24.06.2013, 10:03 AM
[Kein Betreff] - von woody - 11.07.2013, 03:39 PM
RE: - von Rumgucker - 11.07.2013, 04:05 PM
[Kein Betreff] - von woody - 14.07.2013, 03:54 PM
RE: - von voltwide - 14.07.2013, 04:00 PM
[Kein Betreff] - von woody - 14.07.2013, 04:04 PM
[Kein Betreff] - von voltwide - 14.07.2013, 04:11 PM
[Kein Betreff] - von woody - 14.07.2013, 04:30 PM
RE: - von Rumgucker - 15.07.2013, 10:57 AM
[Kein Betreff] - von woody - 16.07.2013, 11:17 AM
RE: - von Rumgucker - 16.07.2013, 12:08 PM
[Kein Betreff] - von woody - 16.07.2013, 12:36 PM
[Kein Betreff] - von voltwide - 16.07.2013, 01:01 PM
[Kein Betreff] - von woody - 16.07.2013, 01:03 PM
[Kein Betreff] - von woody - 05.08.2013, 05:39 PM
[Kein Betreff] - von woody - 06.08.2013, 10:28 AM
[Kein Betreff] - von Rumgucker - 06.08.2013, 11:14 AM
[Kein Betreff] - von woody - 06.08.2013, 11:34 AM
[Kein Betreff] - von voltwide - 06.08.2013, 11:40 AM
[Kein Betreff] - von Rumgucker - 06.08.2013, 12:05 PM
[Kein Betreff] - von woody - 06.08.2013, 06:55 PM
[Kein Betreff] - von Rumgucker - 06.08.2013, 07:21 PM
[Kein Betreff] - von woody - 06.08.2013, 07:41 PM
RE: - von Rumgucker - 06.08.2013, 07:45 PM
[Kein Betreff] - von woody - 06.08.2013, 07:58 PM
RE: - von Rumgucker - 06.08.2013, 08:14 PM
[Kein Betreff] - von woody - 06.08.2013, 08:21 PM
[Kein Betreff] - von woody - 06.08.2013, 09:46 PM
[Kein Betreff] - von Rumgucker - 06.08.2013, 09:51 PM
[Kein Betreff] - von woody - 06.08.2013, 09:52 PM
[Kein Betreff] - von woody - 07.08.2013, 06:10 PM
[Kein Betreff] - von Rumgucker - 07.08.2013, 06:24 PM
[Kein Betreff] - von woody - 07.08.2013, 06:39 PM
[Kein Betreff] - von woody - 07.08.2013, 06:44 PM
[Kein Betreff] - von voltwide - 07.08.2013, 07:05 PM
[Kein Betreff] - von Rumgucker - 07.08.2013, 07:18 PM
[Kein Betreff] - von woody - 07.08.2013, 10:42 PM
[Kein Betreff] - von Rumgucker - 08.08.2013, 08:22 AM
[Kein Betreff] - von woody - 08.08.2013, 09:34 AM
RE: - von Rumgucker - 08.08.2013, 09:40 AM
RE: - von Rumgucker - 08.08.2013, 09:57 AM
[Kein Betreff] - von woody - 08.08.2013, 10:07 AM
[Kein Betreff] - von Rumgucker - 08.08.2013, 10:23 AM
[Kein Betreff] - von Rumgucker - 08.08.2013, 10:25 AM
[Kein Betreff] - von Rumgucker - 08.08.2013, 10:29 AM
RE: - von woody - 08.08.2013, 10:51 AM
[Kein Betreff] - von Rumgucker - 08.08.2013, 11:07 AM
[Kein Betreff] - von woody - 08.08.2013, 11:26 AM
[Kein Betreff] - von E_Tobi - 08.08.2013, 06:01 PM
[Kein Betreff] - von woody - 08.08.2013, 07:35 PM
[Kein Betreff] - von woody - 08.08.2013, 10:14 PM
[Kein Betreff] - von woody - 08.08.2013, 10:24 PM
[Kein Betreff] - von Rumgucker - 08.08.2013, 10:26 PM
[Kein Betreff] - von woody - 08.08.2013, 10:36 PM
RE: - von woody - 10.08.2013, 01:50 PM
[Kein Betreff] - von woody - 12.08.2013, 12:18 PM
RE: - von Rumgucker - 12.08.2013, 01:46 PM
[Kein Betreff] - von woody - 12.08.2013, 02:09 PM
[Kein Betreff] - von Rumgucker - 12.08.2013, 02:25 PM
RE: - von Rumgucker - 12.08.2013, 02:30 PM
Milestone: Digitaler, Periodenbasier, CPU-schondender Regler - von woody - 13.08.2013, 07:03 PM
RE: - von E_Tobi - 13.08.2013, 07:08 PM
[Kein Betreff] - von woody - 13.08.2013, 07:22 PM
[Kein Betreff] - von Rumgucker - 13.08.2013, 07:53 PM
[Kein Betreff] - von woody - 13.08.2013, 07:59 PM
[Kein Betreff] - von Rumgucker - 14.08.2013, 07:29 AM
[Kein Betreff] - von woody - 14.08.2013, 07:37 AM
[Kein Betreff] - von Rumgucker - 14.08.2013, 08:03 AM
[Kein Betreff] - von woody - 14.08.2013, 09:26 AM
[Kein Betreff] - von Rumgucker - 14.08.2013, 10:05 AM
[Kein Betreff] - von woody - 14.08.2013, 11:07 AM
[Kein Betreff] - von woody - 14.08.2013, 11:26 AM
[Kein Betreff] - von woody - 16.08.2013, 04:26 PM
RE: - von Rumgucker - 16.08.2013, 05:06 PM
[Kein Betreff] - von woody - 11.09.2013, 08:19 AM
[Kein Betreff] - von voltwide - 11.09.2013, 08:40 AM
[Kein Betreff] - von woody - 11.09.2013, 08:56 AM
[Kein Betreff] - von E_Tobi - 11.09.2013, 09:00 AM
[Kein Betreff] - von Rumgucker - 11.09.2013, 09:01 AM
[Kein Betreff] - von E_Tobi - 11.09.2013, 09:08 AM
RE: - von woody - 11.09.2013, 09:16 AM
RE: - von woody - 11.09.2013, 09:17 AM
[Kein Betreff] - von woody - 12.09.2013, 08:33 AM
[Kein Betreff] - von E_Tobi - 12.09.2013, 11:09 AM
RE: - von woody - 12.09.2013, 11:28 PM
RE: RE: - von christianw. - 12.09.2013, 11:45 PM
[Kein Betreff] - von woody - 12.09.2013, 11:47 PM
[Kein Betreff] - von voltwide - 12.09.2013, 11:58 PM
[Kein Betreff] - von woody - 13.09.2013, 12:11 AM
[Kein Betreff] - von woody - 13.09.2013, 11:39 AM
[Kein Betreff] - von woody - 13.09.2013, 11:52 AM
[Kein Betreff] - von Rumgucker - 13.09.2013, 12:08 PM
[Kein Betreff] - von voltwide - 13.09.2013, 12:15 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 12:24 PM
[Kein Betreff] - von woody - 13.09.2013, 12:27 PM
RE: - von woody - 13.09.2013, 12:33 PM
[Kein Betreff] - von woody - 13.09.2013, 12:43 PM
[Kein Betreff] - von woody - 13.09.2013, 12:57 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 01:01 PM
[Kein Betreff] - von kahlo - 13.09.2013, 01:12 PM
[Kein Betreff] - von woody - 13.09.2013, 01:31 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 01:43 PM
[Kein Betreff] - von madmoony - 13.09.2013, 01:56 PM
[Kein Betreff] - von madmoony - 13.09.2013, 01:57 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 02:05 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 02:08 PM
[Kein Betreff] - von woody - 13.09.2013, 02:31 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 02:33 PM
[Kein Betreff] - von madmoony - 13.09.2013, 02:37 PM
RE: - von Rumgucker - 13.09.2013, 02:50 PM
[Kein Betreff] - von madmoony - 13.09.2013, 02:53 PM
[Kein Betreff] - von christianw. - 13.09.2013, 02:53 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 02:57 PM
[Kein Betreff] - von kahlo - 13.09.2013, 03:02 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 03:03 PM
RE: - von woody - 13.09.2013, 03:53 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 04:45 PM
[Kein Betreff] - von woody - 13.09.2013, 05:03 PM
RE: - von Rumgucker - 13.09.2013, 05:06 PM
[Kein Betreff] - von woody - 13.09.2013, 05:07 PM
[Kein Betreff] - von Rumgucker - 13.09.2013, 05:11 PM
[Kein Betreff] - von woody - 13.09.2013, 05:36 PM
[Kein Betreff] - von woody - 13.09.2013, 05:47 PM
[Kein Betreff] - von Rumgucker - 14.09.2013, 08:24 AM
[Kein Betreff] - von woody - 14.09.2013, 01:23 PM
RE: - von voltwide - 14.09.2013, 02:20 PM
[Kein Betreff] - von woody - 14.09.2013, 06:10 PM
[Kein Betreff] - von Rumgucker - 14.09.2013, 06:24 PM
[Kein Betreff] - von woody - 14.09.2013, 06:26 PM
[Kein Betreff] - von Rumgucker - 14.09.2013, 06:30 PM
[Kein Betreff] - von woody - 14.09.2013, 06:34 PM
[Kein Betreff] - von woody - 15.09.2013, 06:14 PM
[Kein Betreff] - von voltwide - 15.09.2013, 06:19 PM
[Kein Betreff] - von woody - 15.09.2013, 06:27 PM
[Kein Betreff] - von woody - 15.09.2013, 06:34 PM
RE: - von Rumgucker - 15.09.2013, 06:40 PM
RE: - von Rumgucker - 15.09.2013, 06:42 PM
RE: RE: - von voltwide - 15.09.2013, 09:17 PM
[Kein Betreff] - von woody - 15.09.2013, 10:02 PM
[Kein Betreff] - von voltwide - 15.09.2013, 10:36 PM
[Kein Betreff] - von Rumgucker - 16.09.2013, 07:22 AM
[Kein Betreff] - von Rumgucker - 16.09.2013, 07:29 AM
[Kein Betreff] - von woody - 24.09.2013, 12:10 PM
RE: - von woody - 24.09.2013, 12:18 PM
[Kein Betreff] - von madmoony - 24.09.2013, 01:13 PM
RE: - von Rumgucker - 24.09.2013, 01:35 PM
[Kein Betreff] - von madmoony - 24.09.2013, 01:47 PM
[Kein Betreff] - von woody - 24.09.2013, 01:53 PM
[Kein Betreff] - von madmoony - 24.09.2013, 01:55 PM
RE: - von woody - 24.09.2013, 01:56 PM
[Kein Betreff] - von Rumgucker - 24.09.2013, 01:58 PM
[Kein Betreff] - von woody - 24.09.2013, 02:00 PM
[Kein Betreff] - von madmoony - 24.09.2013, 02:08 PM
[Kein Betreff] - von woody - 24.09.2013, 02:09 PM
[Kein Betreff] - von Rumgucker - 24.09.2013, 02:42 PM
[Kein Betreff] - von woody - 24.09.2013, 03:53 PM
[Kein Betreff] - von woody - 24.09.2013, 06:39 PM
[Kein Betreff] - von woody - 24.09.2013, 07:32 PM
[Kein Betreff] - von Rumgucker - 24.09.2013, 07:56 PM
[Kein Betreff] - von woody - 24.09.2013, 07:57 PM
[Kein Betreff] - von Rumgucker - 24.09.2013, 08:06 PM
[Kein Betreff] - von woody - 24.09.2013, 08:10 PM
[Kein Betreff] - von woody - 24.09.2013, 08:12 PM
[Kein Betreff] - von woody - 24.09.2013, 08:58 PM
[Kein Betreff] - von Rumgucker - 24.09.2013, 09:12 PM
[Kein Betreff] - von woody - 24.09.2013, 10:42 PM
[Kein Betreff] - von Rumgucker - 25.09.2013, 07:52 AM
[Kein Betreff] - von woody - 25.09.2013, 08:05 AM
[Kein Betreff] - von Rumgucker - 28.09.2013, 10:05 AM
[Kein Betreff] - von Rumgucker - 28.09.2013, 10:37 AM
[Kein Betreff] - von madmoony - 28.09.2013, 11:02 AM
[Kein Betreff] - von madmoony - 28.09.2013, 11:05 AM
[Kein Betreff] - von madmoony - 28.09.2013, 11:07 AM
[Kein Betreff] - von Rumgucker - 28.09.2013, 11:08 AM
RE: - von Rumgucker - 28.09.2013, 11:09 AM
RE: - von madmoony - 28.09.2013, 11:38 AM
[Kein Betreff] - von Rumgucker - 28.09.2013, 11:41 AM
[Kein Betreff] - von madmoony - 28.09.2013, 11:45 AM
RE: RE: - von madmoony - 28.09.2013, 11:46 AM
[Kein Betreff] - von Rumgucker - 28.09.2013, 11:54 AM
[Kein Betreff] - von madmoony - 28.09.2013, 12:03 PM
[Kein Betreff] - von Rumgucker - 28.09.2013, 12:48 PM
[Kein Betreff] - von Rumgucker - 28.09.2013, 04:57 PM
[Kein Betreff] - von madmoony - 28.09.2013, 09:55 PM
[Kein Betreff] - von Rumgucker - 28.09.2013, 10:23 PM
[Kein Betreff] - von madmoony - 29.09.2013, 08:34 AM
[Kein Betreff] - von madmoony - 29.09.2013, 08:56 AM
[Kein Betreff] - von madmoony - 29.09.2013, 10:25 AM
[Kein Betreff] - von madmoony - 29.09.2013, 10:28 AM
[Kein Betreff] - von madmoony - 29.09.2013, 10:29 AM
[Kein Betreff] - von madmoony - 29.09.2013, 10:32 AM
[Kein Betreff] - von Rumgucker - 29.09.2013, 10:33 AM
[Kein Betreff] - von madmoony - 29.09.2013, 10:48 AM
[Kein Betreff] - von madmoony - 29.09.2013, 10:56 AM
[Kein Betreff] - von Rumgucker - 29.09.2013, 10:56 AM
RE: - von Rumgucker - 29.09.2013, 10:57 AM
[Kein Betreff] - von Rumgucker - 29.09.2013, 11:04 AM
[Kein Betreff] - von madmoony - 29.09.2013, 11:04 AM
RE: - von madmoony - 29.09.2013, 11:06 AM
[Kein Betreff] - von Rumgucker - 29.09.2013, 11:06 AM
RE: RE: - von Rumgucker - 29.09.2013, 11:08 AM
[Kein Betreff] - von Rumgucker - 29.09.2013, 11:10 AM
[Kein Betreff] - von madmoony - 29.09.2013, 11:11 AM
[Kein Betreff] - von Rumgucker - 29.09.2013, 11:11 AM
RE: - von Rumgucker - 29.09.2013, 11:12 AM
RE: - von madmoony - 29.09.2013, 11:14 AM
RE: - von madmoony - 29.09.2013, 11:27 AM
[Kein Betreff] - von Rumgucker - 29.09.2013, 07:32 PM
[Kein Betreff] - von Rumgucker - 29.09.2013, 07:47 PM
RE: - von Rumgucker - 29.09.2013, 08:24 PM
[Kein Betreff] - von Rumgucker - 30.09.2013, 10:09 AM
[Kein Betreff] - von Rumgucker - 30.09.2013, 10:27 AM
[Kein Betreff] - von Rumgucker - 30.09.2013, 11:10 AM
[Kein Betreff] - von Rumgucker - 02.10.2013, 09:35 AM
[Kein Betreff] - von woody - 14.01.2014, 01:16 PM
RE: - von woody - 14.01.2014, 01:36 PM
[Kein Betreff] - von voltwide - 14.01.2014, 01:47 PM
[Kein Betreff] - von Rumgucker - 14.01.2014, 01:51 PM
[Kein Betreff] - von woody - 14.01.2014, 02:37 PM