Forum: Mikrocontroller und Digitale Elektronik Modellbauservo an [PIC16F887] direkt anschließen oder brauchts ne kleine Treiberstufe?


von EGS_TI (Gast)


Lesenswert?

Hallo,

ich besitze das 44-Pin Demo Board von Microchip mit nem PIC16F887 drauf.
Darauf befindet sich ein Poti, welches auf einen Analogeingang des PIC 
geführt ist.

Jetzt hab ich mich mal mit PWM auseinandergesetzt und ein Programm 
geschrieben, welches ein Modellbauservo entsprechend der Poti-Stellung 
steuern soll.

ADC und PWM habe ich alles für sich allein getestet und das funktioniert 
auch zuverlässig.


Den Signaleingang des Servo habe ich direkt mit dem PIC verbunden, die 
Versorgunsspannung ist dieselbe wie vom PIC. Beides wird vom PICKIT2 mit 
Spannung versorgt.

Als ich nun die ADC und PWM Programmteile gemeinsam testen wollte, fiel 
mir ein unerwartetes Verhalten des Servo auf.
Beim Hardwaredebugging hab ich festgestellt, dass die ADC-Resultate 
nicht den erwarteten entsprachen. Dies würde ja ein unvorhergesehenes 
Verhalten des Servo erklären.

Wodurch kann ein solches Verhalten verursacht werden?
Ist es möglich, dass das Servo irgendwie die Spannungen "verzerrt"?

Wie macht man das normalerweise? Sollte man MCU und Servo mit jeweils 
eigenen Versorgungsspannungen betreiben??

Wahrscheinlich wäre es doch auch besser, das Servo über ein FET quasi 
vom µC-Ausgang zu entkoppeln?

von bussard (Gast)


Lesenswert?

.. ein unerwartetes Verhalten des Servo auf.


Was war denn unerwartet?
Wenn es um den Sollwert zittert, solltest Du nur Masse und den 
Signaleingang verbinden, den Plus aus 2 verschiedenen Quellen. Ist es 
dann OK, die Spannungsversorgung verbessern.
Überhaupt ist es nicht verkehrt, in die Signalleitung einen 
"Angstwiderstand" von 470 Ohm (als Größenordnung) zu schalten.
Manche Servos brauchen auch einen H-Pegel von > 3.5V, um korrekt zu 
arbeiten.

von Udo S. (urschmitt)


Lesenswert?

Bist du sicher daß die Versorgung deines Demo Boards genügend Strom für 
den Servo bereitstellt? Der Servo benötigt relativ hohe Ströme beim 
stellen (auf den Versorgungsleitungen, nicht der Steuerleitung)

EGS_TI schrieb:
> Beim Hardwaredebugging hab ich festgestellt, dass die ADC-Resultate
> nicht den erwarteten entsprachen.

Stimmen die Werte wenn du den Servo nicht angeklemmt hast?

Getrennte Versorgung des Servos wäre auf jeden Fall nicht schlecht.

von EGS_TI (Gast)


Lesenswert?

Aaah, ok, das Servo hat am Signaleingang wahrscheinlich nen großen 
Widerstand?

Das könnte natürlich sein, dass das PICKIT2 nicht genug Strom liefern 
kann.
Leider hab ich bezüglich der Stromaufnahme des Servo nichts gefunden.
Es ist das "Jamara XT Micro Blue", also ein sehr kleines.

von EGS_TI (Gast)


Lesenswert?

Wofür ist der "Angstwiderstand" dann gut?

von EGS_TI (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Stimmen die Werte wenn du den Servo nicht angeklemmt hast?

Ist leider festangelötet. Bin hier leider nicht so gut ausgestattet. :/

von bussard (Gast)


Lesenswert?

Beantworte doch erst einmal einfach die Fragen, danach kommen die 
Schlußfolgerungen.

von Udo S. (urschmitt)


Lesenswert?

EGS_TI schrieb:
> Ist leider festangelötet. Bin hier leider nicht so gut ausgestattet. :/

Zur not tuts ne Schere

von EGS_TI (Gast)


Lesenswert?

bussard schrieb:
> Was war denn unerwartet?
Es bewegt sich nicht auf die entsprechenden Positionen.

> Wenn es um den Sollwert zittert, solltest Du nur Masse und den
> Signaleingang verbinden, den Plus aus 2 verschiedenen Quellen. Ist es
> dann OK, die Spannungsversorgung verbessern.

Masse und Signaleingang verbinden? Ein Pulldown oder wie meinst du das?

von EGS_TI (Gast)


Lesenswert?

Udo Schmitt schrieb:
> EGS_TI schrieb:
>> Ist leider festangelötet. Bin hier leider nicht so gut ausgestattet. :/
>
> Zur not tuts ne Schere

Aber dann müsste ich den Lötkolben nachher wieder an machen. ;D

von chick (Gast)


Lesenswert?

Konkret:

- Stromverbrauch des Servos wissen oder messen.
- Paßt der Stromverbrauch zu Deinem Board?
- Weißt Du wie man Servos ansteuert?

von me (Gast)


Lesenswert?

Ein Servo kann ordentliche Störungen verursachen. Die Peakströme sind 
häufig >1A. An einem USB Port hat ein Modellbauservo nichts zu suchen. 
Bei einem Servo dieser Größe kannst du von ca. 300mA Stromaufnahme 
ausgehen.

Auch sonst empfiehlt sich eine getrennte Versorgung für den ADC.
Wenn du kein Oszi zur Kontrolle hast, versorge deine µC Schaltung und 
das Servo seperat.

Die Signaleingänge sind hochohmig, Angstwiderstände schaden nicht, sind 
aber auch nicht notwendig.

von EGS_TI (Gast)


Lesenswert?

chick schrieb:
> - Stromverbrauch des Servos wissen oder messen.
Ist leider nicht mal auf der Herstellerseite angegeben.


> - Paßt der Stromverbrauch zu Deinem Board?
me schrieb:
> Ein Servo kann ordentliche Störungen verursachen. Die Peakströme sind
> häufig >1A. An einem USB Port hat ein Modellbauservo nichts zu suchen.
> Bei einem Servo dieser Größe kannst du von ca. 300mA Stromaufnahme
> ausgehen.

Wenn wirklich so hohe Ströme auftreten können, dann, leider nicht. Somit 
wäre das der Fehler.

> - Weißt Du wie man Servos ansteuert?
Ja, das Servo habe ich ja schon seperat angesteuert. Hab den ADC 
Programmteil auch nochmal auskommentiert und die Pulsweite von Hand 
gesetzt. Das Servo verhält sich wie gewollt.



me schrieb:
> Auch sonst empfiehlt sich eine getrennte Versorgung für den ADC.
> Wenn du kein Oszi zur Kontrolle hast, versorge deine µC Schaltung und
> das Servo seperat.

Ok, bei mir hängt halt alles übers PICKIT am USB Port, darin wird auch 
die Problematik liegen.
Wie wird sowas normalerweise realisiert?
Eine 12 V Versorgungsspannung und dann jeweils zwei getrennte 
Spannungsregler, würde man das so machen?

von EGS_TI (Gast)


Lesenswert?

me schrieb:
> Die Signaleingänge sind hochohmig, Angstwiderstände schaden nicht, sind
> aber auch nicht notwendig.

Hab nochmal drüber nachgedacht.
Die wären dann ja eigentlich nur für den Fall da, dass, warum auch 
immer, ein Kurzschluss zu einem Stromfluss führen sollte, der Controller 
nicht beschädigt wird, oder?

von Udo S. (urschmitt)


Lesenswert?

EGS_TI schrieb:
> Wie wird sowas normalerweise realisiert?
> Eine 12 V Versorgungsspannung und dann jeweils zwei getrennte
> Spannungsregler, würde man das so machen?

Könnte man, da da PicKit schon versorgt wird würde eine potentialfreie 
Versorgung für das Servo reichen, die Massen müssen zusammengeschaltet 
werden.
Nur du kannst das leider nicht machen, da ja das Servo schon festgelötet 
ist und du zu faul bist den Lötkolben anzumachen :-P

EGS_TI schrieb:
> Aber dann müsste ich den Lötkolben nachher wieder an machen. ;D

von EGS_TI (Gast)


Lesenswert?

Was meinst du mit einer potentialfreien Versorgung?

Ich hab hier leider eh keine Möglichkeit weitere unabhängige Spannungen 
zu verwenden. :/

von EGS_TI (Gast)


Lesenswert?

Hier nochmal für alle Interessierten der Grund weshalb man einen 
"Angstwiderstand" verwendet:

> ich verwende einen (MOS)FET - in diesem Fall P-K.... - als Schalter.
> Welche Bedeutung hat in diesem Fall der Gate-Widerstand?

Es gibt Konstellationen in denen der MosFET durch die Gate-
Drain Kapazität eine negative Impedanz an dem Gate erzeugt.
Damit fängt der parasitäre Schwingkreis aus Zuleitungsindukti-
vität und den verschiedenen Kapazitäten an zu schwingen.
Das bedämpft man nun mit den Gate Widerständen.
Es gibt Ingenieure die diese Angstwiderstände weg lassen weil
der Treiber nah genug am Gate sitzt und hoffentlich genug
dämpft.
Aber ganz genau vorhersagen kann man das Verhalten nicht
und deswegen findet man oft kleine Gate Vorwiderstände.

> Ich habe mir
> bereits zahlreiche Beispielschaltungen angesehen. Einige sehen einen
> Gate-Widerstand im Bereich von 1k bis 10k vor

Das erscheint mir viel zu viel. Üblich sind wenige Ohm bis vielleicht
10 Ohm. Man möchte ja den MosFET sehr schnell umschalten und der
Widerstand verhindert dies weil er mit der Gate-Source Kapazität
ja ein RC-Glied bildet.
Schaltet man nicht oft und muss man auch nicht auf die Verluste
beim Umschalten rücksicht nehmen, kann man natürlich auch
sehr große Gate-Widerstände verwenden. Dann macht der Einsatz
von Gate-Treibern aber gar keinen Sinn mehr und man kann
gleich irgendwelche Logik-Gatter missbrauchen.

von Michael (Gast)


Lesenswert?

EGS_TI schrieb:
> Beim Hardwaredebugging hab ich festgestellt, dass die ADC-Resultate
> nicht den erwarteten entsprachen.

Was hast du denn erwartet. Beitreibst du den ADC auch ratiometrisch, 
d.h. wird das Poti aus der gleichen Spannung gespeist, die der ADC als 
Referenz verwendet?

von EGS_TI (Gast)


Lesenswert?

Insoweit ich den Aufbau des Boards hier einschätzen kann, ja.
Mittlerweile ist mir ja auch bewusst, dass das das (wer schafft mehr 
das(s) :D ) Problem ist.

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.