Forum: Mikrocontroller und Digitale Elektronik Signalpegel anpassen


von Max (Gast)


Lesenswert?

Hallo,

ich möchte den Pegel eines Signals (z.B. PWM) entsprechend anpassen.

Ein normales PWM-Signal sieht ja folgendermaßen aus:


5V     ----       ----
      |    |     |    |
      |    |     |    |
0-----      -----      -----

Nun möchte ich das Signal so anpassen, das der "Low-Pegel" nicht ganz 
auf null geht, sondern noch einen gewissen Reststrom besitzt.

Also so:

5V       ----       ----
        |    |     |    |
        |    |     |    |
1V -----      -----      -----
0----------------------------------

Wie kann man so etwas realisieren?


Gruß Max

von Falk (Gast)


Lesenswert?

@Max

> Nun möchte ich das Signal so anpassen, das der "Low-Pegel" nicht ganz
> auf null geht, sondern noch einen gewissen Reststrom besitzt.

a) wieso?
b) Ein PWM Signal hat keinen RestSTROM, bestenfalls eine Offsetspannung.

MfG
Falk

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

ein pull-up-Widerstand und ein bis zwei Dioden zum PWM-Ausgang

von Max (Gast)


Lesenswert?

>> a) wieso?

Möchte einen Servomotor über PWM-Steuern. Klappt soweit schon ganz gut, 
aber im nidrigen Drehzahlbereich hat der Motor keine Kraft.

>> b) Ein PWM Signal hat keinen RestSTROM, bestenfalls eine Offsetspannung.

Ja, hast Recht. Offsetspannung wäre das richtige Wort gewesen. So etwas 
suche ich aber. Hab gelesen das könnte man über eine 
NPN/PNP-Transistor-Kombination machen.


Doch der Aufbau ist mir nicht ganz klar. Vielleicht kann mir das einer 
kurz erklären?

von Falk (Gast)


Lesenswert?

@Max

> Möchte einen Servomotor über PWM-Steuern. Klappt soweit schon ganz gut,
> aber im nidrigen Drehzahlbereich hat der Motor keine Kraft.

Und wieso glaubst du, dass durch den Spannungsoffset im PWM Signal der 
Servo dann Kraft hat?

> Doch der Aufbau ist mir nicht ganz klar. Vielleicht kann mir das einer
> kurz erklären?

Ich denke du braucht keinen derartigen Offset. Bei der PWM ist das 
Tastverhältnis der Informationsparameter, nicht die Spannung.

MfG
Falk

von johnny.m (Gast)


Lesenswert?

Der Spannungsoffset wird an Deinem Schalttransistor (oder womit auch 
immer Du den Motor ansteuern willst) schön viel Verlustleistung 
erzeugen. Ne PWM nimmt man doch grad deswegen, damit die Schaltelemente 
nur "Volle Pulle" und "Null" abkriegen und außer beim Umschalten die 
Verlustleistung sehr gering ist. Wenn Du nen Arbeitspunkt irgendwo 
mittendrin wählst, haste im ungünstigsten Fall ne Heizung gebaut. Und 
mehr Drehmoment kriegste nur durch mehr Strom, den Du über einen nicht 
voll durchgeschaltetes Schaltelement aber wieder begrenzt und verheizt. 
Wenn Du den Motor wirklich einigermaßen linear von 0...100% betreiben 
willst, musste ne Drehzahlregelung spendieren, die das Tastverhältnis 
der PWM entsprechend anpasst, um das erforderliche Drehmoment für die 
jeweils gewünschte Drehzahl zu erreichen.

von Max (Gast)


Lesenswert?

Und wie bekomme ich es dann hin, dass der Servo bei einer niedrigen 
Drehzahl mehr Kraft erzeugt?


Gruß Max

von Max (Gast)


Lesenswert?

> Wenn Du den Motor wirklich einigermaßen linear von 0...100% betreiben
> willst, musste ne Drehzahlregelung spendieren, die das Tastverhältnis
> der PWM entsprechend anpasst, um das erforderliche Drehmoment für die
> jeweils gewünschte Drehzahl zu erreichen.

Hört sich gut an! Wie muss ich da vorgehen?

von johnny.m (Gast)


Lesenswert?

Indem Du das Tastverhältnis nichtlinear veränderst (was nur dann 
wirklich funktionieren kann, wenn die Last konstant ist) oder, wie oben 
schon gesagt, mit einer Drehzahlregelung.

von Falk (Gast)


Lesenswert?

> Und wie bekomme ich es dann hin, dass der Servo bei einer niedrigen
> Drehzahl mehr Kraft erzeugt?

Dazu müsstest du den Servo aufreissen und modifizieren. Vielleicht 
reicht einfach eine etwas höhere Spannungsversorgung? Was für ein Servo 
ist es denn?

MfG
Falk

von johnny.m (Gast)


Lesenswert?

Mein Posting von 15:16 bezog sich natürlich auf das von 15:13...

> Hört sich gut an! Wie muss ich da vorgehen?
Du musst die Drehzahl erfassen, eine Regeldifferenz (Sollwert - Istwert) 
bilden, die Regeldifferenz über einen entsprechenden Regelalgorithmus 
(PI-Regler wäre in so einem Fall ratsam) in ein PWM-Tastverhältnis 
umwandeln und ausgeben. Das ist mit einem µC im Prinzip recht einfach, 
das größte Problem dürfte die Erfassung der Drehzahl (Istwert) sein...

Wenn das zu kompliziert ist (was ich aufgrund der Fragestellung mal 
vermute), kannst Du wie gesagt das Tastverhältnis nichtlinear ändern 
(also bei niedriger Drehzahl mehr Spannung draufgeben, im Prinzip deinen 
Offset digital erzeugen).  Das ist zwar keine sonderlich präzise Lösung 
(gerade bei sehr geringen Drehzahlen), aber immer noch besser, als 
Transistoren zu Heizkörpern zu degradieren und dabei nicht mal den 
gewünschten Effekt erzielen...

von Falk (Gast)


Lesenswert?

@johnny.m

> Du musst die Drehzahl erfassen, eine Regeldifferenz (Sollwert - Istwert)
>bilden, die Regeldifferenz über einen entsprechenden Regelalgorithmus

Gehts nicht um Servos?

MfG
Falk

von johnny.m (Gast)


Lesenswert?

@Falk:
Zitat OP:
> ...aber im nidrigen Drehzahlbereich hat der Motor keine Kraft...

von Max (Gast)


Lesenswert?

Gut, dann werde ich mal die Variante mit dem Regler angehen. Werd ich 
schon irgendwie hinbekommen. Von nix kommt nix ;-)

> Das ist mit einem µC im Prinzip recht einfach,
> das größte Problem dürfte die Erfassung der Drehzahl (Istwert) sein...

Wie erfasse ich denn die Drehzahl am besten?

von Max (Gast)


Lesenswert?

So,

das mit dem Regler ist soweit klar! Hab ich verstanden und den Code auch 
schon soweit umgesetzt.

Nun hat jonny oben geschrieben, das schwierigste wäre die Erfassung des 
Istwertes, also der Drehzahl. Ist denn aber der geregelte Wert, den ich 
dem PWM Signal am Ende der Regelung zuweise, nicht dann meine Drehzahl?

Oder hab ich da nen Denkfehler?

von Falk (Gast)


Lesenswert?

@Max

> das mit dem Regler ist soweit klar! Hab ich verstanden und den Code auch
> schon soweit umgesetzt.

Du bist ja von der schnellen Sorte ...

> Nun hat jonny oben geschrieben, das schwierigste wäre die Erfassung des
> Istwertes, also der Drehzahl. Ist denn aber der geregelte Wert, den ich
> dem PWM Signal am Ende der Regelung zuweise, nicht dann meine Drehzahl?

Oder auch nicht. ;-)
Nein, dein PWM Signal ist die Stellgrösse, aus der die Regelstrecke 
(Motor) dann hoffentlich die gewünschte Drehzahl macht. Da das aber 
Last- und drehzahlabhängig ist, wird die Drehzahl nochmal explizit 
gemessen und ggf. die Stellgröse angepasst.

Regelungstechnik versteht man nicht mal so hoppla hopp.

MfG
Falk

von Max (Gast)


Lesenswert?

Ok, kapiert!

Das heißt ich müsste eigentlich erstmal die Sprungantwort der 
Regelstrecke(Motor) messen. Anhand derer entscheide ich, was ich für 
einen Regler verwende.

Die Drehzahl bestimme ich dann z.B. über einen Drehzahlmesser, der am 
Motor hängt. Dieser Wert wird A/D gewandelt(falls nötig) und im Programm 
vom Mikrocontroller alls Istwert verwendet.

Dann muss ich den Regler dimensionieren bzw. die Parameter richtig 
einstellen.

Dachte noch drüber nach vielleicht mit Matlab Simulink diesen Regelkreis 
zu simulieren um so die einigermaßen optimale Parameter zu finden. Dann 
noch ein Bodediagramm um die Stabilität festzustellen und dann müsste 
das doch eigentlich passen.

Soweit alles richtig?

von johnny.m (Gast)


Lesenswert?

Man kann alles übertreiben... Für Dein Servomotörchen brauchste sicher 
keine Sprungantwort zu messen und auch kein Bodediagramm, es sei denn, 
Du hast irgendwas bestimmtes vor. Abgesehen davon wirst Du allein aus 
der Messung der Sprungantwort sicher nicht alle Parameter der 
Regelstrecke ermitteln können, die Du für eine Simulation benötigst.

Bau Dir einfach nen PI-Regler (bzw. nen PI-Algorithmus im Controller, 
was recht einfach ist) und spiel ein wenig mit den Parametern 
(Nachstellzeit, Verstärkung) rum, bis es passt. Das sollte für einen 
Experimentalaufbau mit einem Standard-Motor dicke reichen.

von Max (Gast)


Lesenswert?

Kann ich den Istwert eventuell irgendwie umgehen, wenn ich im Moment 
keinen Drehzahlmesser oder ähnliches zur Hand habe. Was gibt es da für 
Möglichkeiten?

> Abgesehen davon wirst Du allein aus
> der Messung der Sprungantwort sicher nicht alle Parameter der
> Regelstrecke ermitteln können, die Du für eine Simulation benötigst.

Was wäre dazu denn noch nötig?

von Falk (Gast)


Lesenswert?

@Max

> Soweit alles richtig?

Ja.

> Kann ich den Istwert eventuell irgendwie umgehen, wenn ich im Moment
> keinen Drehzahlmesser oder ähnliches zur Hand habe. Was gibt es da für
> Möglichkeiten?

uhhhh, und schon wieder verrissen. :-(
Regelung ohne ISTwert ist keine Regelung.

MfG
Falk

P.S. Und der ganze Aufwand nur wegen eines falsch 
ausgewähltem/dimensioniertem Servo?

von johnny.m (Gast)


Lesenswert?


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.