Ein THEORETISCHER Praxisansatz wäre, vor den Motor einen Vorwidestand zu schalten.
Über diesen kannst du den Strom messen, den dein Motor zieht. Wenn du dann noch die Spannung über dem Motor misst kannst du auf die Drehzahl schliessen.
Wie RoboHolIC schon geschrieben hat.
Wenn du das Ganze aufbaust wirst du dann über jede Menge Probleme stolpern.
Da wäre einmal das veränderte Widerstandsverhalten, wenn sich die Motorspulen (durch Betrieb und Umgebungstemperatur) erwärmen. Das genau auszukompensieren ist sehr aufwendig oder gar nicht erst machbar. Dazu bräuchtest du Temperatursensoren in den Ankerwicklungen.
Außerdem sind die Spannungen, die du messen musst, ziemlich dreckiger Wellensalat. Da sorgt allein schon dein PWM-Signal für ständigen Rippel, welcher ja noch verschmerzbar wäre. Dann hast du aber durch das Gebrutzel an den Bürsten und das ständige Ummagnetisieren der Spulen allgemein jede Menge Spannungsspitzen, sodass du wieder aufwendig filtern musst.
Desweiteren ist die Benutzung des ADC auch nicht ganz ohne Aufwand. Du musst zwar theoretisch nur ein (oder zwei) Register auslesen um einen Wert vom ADC zu kriegen. In der Praxis zappeln die letzten 3 Bits und deswegen nimmt man viele Messungen vor und errechnet dann den Mittelwert. Da nimmt man dann z.B. 256 Messungen vor, addiert alles ordentlich auf, und teilt danach wieder durch 256 und erhält den Mittelwert der ganzen Geschichte. Wenn du nur mit 8-Bit messen willst bedeutet das, dass du schonmal 16-Bit-Arithmetik in Software implementieren musst. Bei Addition ist das kein Problem, aber Division braucht schon einige Takte. Wenn du 10-Bit-Wandlung verwenden willst imemrhin schon 24-Bit-Arithmetik. Und dass dann jeweils zweimal-und dann hast du erst die Messwerte.
Nehmen wir mal an, du hast den Aufwand bisher wirklich betrieben, so mußt du die ganze Geschichte erstmal kalibrieren und das Verhalten des Motors ausmessen.
Und zu allem Überfluss wird das trotz aller Sorgfalt nicht allzu genau werden.
Und je nachdem, wie schnell du Lastwechsel erwartest (wird bei deiner Turbine vllt kein so großes Problem sein) wird deine Regelung durch den ganzen Rechenhype ziemlich träge werden.
Das Beste kommt aber erst noch. Das Schwierigste an einem Regler ist weniger die technische Umsetzung, sondern der Regelalgorythmus. Da musst du eine Differentialgleichung aufstellen, die gleich noch von zwei Eingangsvariablen (Strom und Spannung) abhängig ist. Das ist umständlich. Wenn du nur die Drehzahl haben willst und das Moment dir gestohlen bleiben kann, ist weitaus besser, die Drehzahl selber in seine Gleichung einzubinden, und da ist es wesentlich präziser und einfacher, du liest die Drehzahl direkt aus.
Was den PI-Regler angeht: Nur die Motorspannung ausmessen ist da nicht. Das Wort "PI-Regler" beschreibt übrigens lediglich den mathematischen Zusammenhang des Reglers. Es ist dabei keine Rede davon, ob du das analog realisierst oder deinem Microcontroller PI-Verhalten beibringst.
Lesezeichen