www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Impuls in Spannung


Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich möchte mal vorweg nehmen, daß ich zwar nicht ganz der Leihe in
Elektronik und Mikrocontroller bin, aber seit vielen Jahren nichts mehr
damit zutun habe.

Der Grund warum ich hier schreibe ist, daß ich ein kleines Problem
habe, und glaube dass hier die richtige Leute sind die mir helfen
können.

Zum Problem.
Ich brauche eine Schaltung mit der ich eine Rechteckfrequenz in eine
Spannung umwandele.

Impuls Daten
Rechteck -Impuls mit einer Amplitude von 3-5 V.
Die Impulslänge beträgt 0,9 ms bis 2,1 ms
Die Impulsfrequenz beträgt 50 Hz (20 ms)

Bei dem Ganzen handelt es sich um eine Fernsteuerung für Modellautos.

Was ich brauche ist,
wenn ich an der Fernsteuerung nach links drehen habe ich am
Empfängerausgang Impulse mit einer Impulslänge von 0,9 ms dann müßte
meine Spannung +/- 0Volte sein. Wenn ich jetzt nach Rechts drehe ändert
sich die Impulslänge kontinuierlich bis auf 2,1 ms. Und die Spannung
müßte dann kontinuierlich mit steigen. Bei Mittelstellung also +/- 1,5
ms eine Spannung von 2,5 Volt.

Würde mich sehr auf einen Vorschlag oder Anregung freuen.

Guy

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich möchte mal vorweg nehmen, daß ich zwar nicht ganz der Leihe in
> Elektronik und Mikrocontroller bin,

Wissen kann man sich auch schlecht leihen :)
(Es heißt "Laie", nicht "Leihe").

> Impuls Daten
> Rechteck -Impuls mit einer Amplitude von 3-5 V.
> Die Impulslänge beträgt 0,9 ms bis 2,1 ms
> Die Impulsfrequenz beträgt 50 Hz (20 ms)
>
> Bei dem Ganzen handelt es sich um eine Fernsteuerung für
> Modellautos.

Bei der Beschreibung mußte ich sofort an eine Fernsteuerung denken. Ich
arbeite damit auch gerade, allerdings mit Mikrocontrollern.

Was willst du denn mit der Spannung machen? Prinzipiell denke ich da
als erstes an die Elektronik, wie sie in den Servos verbaut ist. Mit
der kann man sowas machen. Diese Elektronik kann man aus einem alten
Servo ausbauen oder auch einzeln kaufen.

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wissen kann man sich auch schlecht leihen :) (Es heißt "Laie", nicht
"Leihe").
Endschuldige für schlechtes Deutsch, denn meine Muttersprache ist nicht
Deutsch.

>Was willst du denn mit der Spannung machen?
Ich brauche die um ein Datenerfassungsgerät anzusteuern. Das hat
Eingänge von 0-330 Ohm oder 0-5 Volt.

>Elektronik, wie sie in den Servos verbaut ist
Ja, habe ich auch gedacht. Ich habe es mit solch einer Elektronik
versucht und habe keine Spannung gefunden die linear zu der Impulslänge
ist.
Ich habe nur mit einem Digitalservo getestet. Kann es sein dass ein
Analogservo dies Spannung abgibt? Weis da einer genaueres?

Ich habe es auch mit einem Fahrtenregler versucht, aber der gibt auch
nur Impulse an den Motor.


MFG
Guy

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit einem Integrierer?

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Wissen kann man sich auch schlecht leihen :) (Es heißt "Laie",
>> nicht "Leihe").
> Endschuldige für schlechtes Deutsch, denn meine Muttersprache ist
> nicht Deutsch.

Dafür mußt du dich nicht entschuldigen. Ich hoffe, das kam von mir
nicht so rüber. Dein Deutsch ist besser als das vieler anderer hier,
die es als ihre Muttersprache eigentlich einigermaßen beherrschen
sollten.

>> Was willst du denn mit der Spannung machen?
> Ich brauche die um ein Datenerfassungsgerät anzusteuern. Das hat
> Eingänge von 0-330 Ohm oder 0-5 Volt.

>> Elektronik, wie sie in den Servos verbaut ist
> Ja, habe ich auch gedacht. Ich habe es mit solch einer Elektronik
> versucht und habe keine Spannung gefunden die linear zu der
> Impulslänge ist.
> Ich habe nur mit einem Digitalservo getestet. Kann es sein dass
> ein Analogservo dies Spannung abgibt? Weis da einer genaueres?

Soweit ich weiß, arbeiten die Analogservos so, daß sie aus dem Impuls
eine Spannung machen, dann mit der Spannung des Potis vergleichen und
damit den Motor ansteuern. Bei einem Digitalservo sieht's da anders
aus. Ich würde deshalb schätzen, daß bei einem Analogservo eine
passende Spannung verfügbar sein müßte, aber wirklich probiert habe ich
es nicht.

> Ich habe es auch mit einem Fahrtenregler versucht, aber der gibt
> auch nur Impulse an den Motor.

Ja, die geben ein PWM-Signal aus, also wieder Impulse.

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hoffe, das kam von mir nicht so rüber.
Kein Problem,

Ich werde mal ein Analogservo unter die Lupe nehmen. Denn so vorstellen
kann ich mir es nicht.
Den sonnst würde der Motor ja bei 0,9 ms eine kleiner  Spannung
bekommen als bei 1,5 ms, und dann zu einer Seite schneller drehen als
zur anderen.

Oder meinst du, dass der Motor immer die gleiche Spannung bekommt, und
der Regelkreis mit dem Poti bestimmt ob der Motor eine Spannung bekommt
oder nicht?

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Prinzip kannst du die Impulse direkt nutzen.
Schalte ein Diode-C-R-Glied dahinter.
Durch diese Kombination wird der Kondensator aufgeladen und auch durch
den Widerstand entladen. Wenn aber immer Impulse mit der gleichen
zeitlichen Dauer anstehen, wird sich die Spannung am C auf einen Wert
einpendeln.
Mit ein wenig experimentieren mit den Werten für C und R solltest du
auf den von dir gewünschten Wert kommen. Diese Spannung solltest du
dann über einen Operationsverstärker mit der Verstärkung 1
(Spannungfolger) stabilisieren für die weitere Anwendung.
Die Diode ist dafür da, dass der Kondensator nicht auch noch durch die
Quelle entladen wird.

Dein Datenerfassungsgerät hat dann wohl eher einen Stromeingang und
einen Spannungseingang. Vielleicht lässt sich der Stromeingang schon
für diese Zwecke nutzen.

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erst mal für alle Anregungen.

In einem Analogservo wird der Motor auch mit Impulsen angesteuert, also
auch keine Spannung die lineare zu Impulslänge ist.


>Im Prinzip kannst du die Impulse direkt nutzen. Schalte ein
Diode-C-R-Glied dahinter.
Ich habe es mit verschiedenen C-R Glieder versucht. Leider hat es nicht
geklappt Kannst du mir irgend eine Richtung für die Wehrte von R und C
geben.

Mit einem R-C Glied komme ich fast hin. Aber durch den Kondensator ist
hingt die Spannungsveränderung ein wenig nach. Da dürfte nur eine
minimale Verzögerung sein, den sonst wenn ich z.B. nach Rechst drehe
zeichnet das Gerät die Bewegung erst 20 Meter später auf.

Es gibt eine Lösung mit einem Poti den ich mit einem Servo steuere,
aber wegen Gewicht und Aufbau wollte ich den Mechanischenweg
vermeiden.

MFG
Guy

Autor: anm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wärs mit mittelwertbilden? dann hast du eine spannung die du
einlesen kannst oder auch einfach direkt an den eingang hängen kannst -
ich glaub du willsts ja an ein messgerät oder so hängen und das wäre
dann eine gute möglichkeit! kann aber auch sein dass dir das zu träge
geht oder sonst irgendwelche nachteile mit sich bringt!
habe den beitrag auch nur überflogen - sollte ich einen blödsinn reden
- bitte ignorieren :)

mfg andi

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass mich mal raten :

Du möchtest einem Modellauto eine bestimmte Strecke "einprägen". Es
soll diese Strecke dann ohne Fernsteuerung - quasi "alleine" -
durchfahren.

Gehen deine Bemühungen in diese Richtung ?

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Lass mich mal raten :

>Du möchtest einem Modellauto eine bestimmte Strecke "einprägen". Es
>soll diese Strecke dann ohne Fernsteuerung - quasi "alleine" -
>durchfahren.

>Gehen deine Bemühungen in diese Richtung ?

Nein, aber wenn ich noch mal 20 währe, würde ich so was in Betracht
ziehen.

Es geht darum die Daten vom Lenkung, Bremse, Geschwindigkeit und so
weiter Aufzuzeichnen. Damit kann ich feststellen ob die Räder
durchdrehen oder das Auto über oder unter steuert.

Ich werde wohl notgedrungen meine alten Elektronikbücher ausgraben
müssen. Ich glaubte wirklich das sei einfacher.

Ist es nicht Möglich mit einem D-A Wandeler ??

Autor: anm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, ein DAW wird dir in diesem fall wenig nützen! auswetung könntest
du am ehesten noch mit einem controller machen

einfach den controller bei einem interrupt (steigende flanke) einen
timer starten lassen und bei fallender flanke das wieder beenden! habe
ich schon einmal gemacht - hat funktioniert! 50Hz ist aber schon viel
für einen avr!!

mfg andi

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"50Hz ist aber schon viel für einen avr!!"
Wo hast du denn diese Weisheit her? Mal irgendwo gehört?
50Hz=20ms, selbst bei nur 1MHz hat man immerhin 20.000 Takte, da kann
man allerhand anstellen. In diesem Fall hat man Schwierigkeiten, auch
nur 5% der zur Verfügung stehenden Zeit mit sinnvollem Code zu füllen.

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh...ooh..

Ich fürchte, da braucht's etwas mehr als nur ein Poti oder "alte
Elektronikbücher".
Das geht ja schon in die Richtung ESD, ABS, Antischlupf und wie diese
kleinen elektronischen Helferlein in einem modernen Kfz heissen.
Auch wirst du mit den dazu nötigen Sensoren und Auswertern das
zulässige Gesamtgewicht deines Modellautos leicht überschreiten......
augenverdrehundhämischguck

Autor: anm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crazy horse: hab schon wieder blödsinn geschrieben bzw. gesehen - ich
lasses jetzt doch besser, ist wohl schon zu spät! gehört hab ichs
nicht, aber ich habe jetzt etwas falsch gedacht! wenn die wechsel mit
50hz kommen gehts sicher, aber ich hatte das problem ein videosignal
auszuwerten und dort kam das bildsynchronisationssignal mit 50hz - dann
sind die pixel etwas schneller unterwegs ;-)

sorry
mfg andi

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht einen LM2907 nehmen

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@anm

>einfach den controller bei einem interrupt (steigende flanke) einen
timer starten lassen und bei fallender flanke das >wieder beenden!

Ja ok. Ich habe auch schon an einen PIC gedacht Aber wie soll ich dann
eine Spannung am Ausgang des Controllers steuern. Der Controller mußte
ja dann einen Ausgang mit einer verstellbaren Spannung haben. Ich will
ja nicht 0 oder 5 Volt sondern von 0 bis 5 Volt je nach dem also 0 Volt
= 0,9 ms 2,5 Volt = 1,5 ms also die Spannung linear zu Impulslänge.

@Wolle
>Ich fürchte, da braucht's etwas mehr als nur ein Poti oder "alte
Elektronikbücher".

Ich fürchte, du hast was falsch verstanden. Ich will das Auto nicht
Steuern oder beeinflussen. Ich will nur die Daten von Gas, Bremse, und
so weiter aufzeichnen. Das Aufzeichnungsgerät habe ich schon, und mit
dem Gewicht ist das kein Problem. Das ist ein 1/5 er der wiegt 10 KG
mit einem 4 PS Motor. Da spielen 300 Gr keine große Rolle.

Ob wohl ich auch schon das Auto mit einer Automatischengegenlenkung
ausgerüstete hatte. Mit einem Kreisel wie sie in Hubschrauber verwendet
werden auf dem Lenkservo. Wenn das Auto hinten rutschte, hat der Kreisel
gegen gelenkt.

@Thomas
vielleicht einen LM2907 nehmen

Ich nehme mal an das ist ein OP – Verstärker. Aber was mach der, oder
wo kann ich ein Datenblatt finden?

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.googel.de  ->  LM2907.pdf

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas

Danke!
Hätte auch selber draufkommen können.

Aber ich glaube nicht, daß es mit dem LM2907 klappt. Der wandelt eine
Frequenz in eine Spannung um, meine Frequenz ist fix (50Hz) nur die
Plusweite ändert.

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso du möchtest das Tastverhältniss wissen, dazu reicht eine einfache
RC-Schaltung aus. Also Wiederstand und Elko dadruch bekommste eine
ruhige Gleichspannung die je anch Tastverhältniss höher oder niedriger
ist. Umso großer der Wiederstand und der Elko desto langsammer ist die
Spannungsänderung und wenn du ein Poti nimmst kannste es schön
einstellen.

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem R-C Glied habe ich es auch versucht. Leider ist das zu
langsam. Durch den Kondensator fällt die Spannung nicht schnell genug.
Wenn der Kondensator zu klein ist, bekomme ich keinen Gleichstrom.

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wiederstand vergrößern

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke.

Ich werde es noch mal versuchen.

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh....'n 1/5er...nicht schlecht.
Aber dann hast ja Platz. Idee :
Es gibt Schiebpotis. Wenn du so ein Teil mit der Spurstange/dem
Lenkhebel koppelst (vllt. über einen Hebel, wegen der erforderlichen
Auslenkung), kannst du entweder den Widerstandswert auslesen. Oder du
beaufschlagst das Poti mit 5V und liest die Spannung am Schleifer ab.
Es gibt diese Potis mit verschiedenen Schiebewegen. Üblich sind so 60 -
80mm.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Guy,
nimm' doch einen Controller, der Dir die anstehende PWM in eine neue
PWM mit 0-100% (mit ca.4Khz, glaube ich) wandelt. Wenn Du jetzt Da ein
RC-Glied hinterhängst, kannst Du kleinere Kondensatoren nehmen und die
Spannung folgt deiner Eingangsimpulsfolge nahezu verzögerungsfrei.
Ich habe mal mein FastAVR bemüht und den Quelltext angehangen.

ist jetzt keine Fehlerkorrektur usw. drinne, dafür sieht jeder durch.
Basic eben duck
Gruß
Axel

+++++ Quelltext
'/////////////////////////////////////////////////////////
'///   FastAVR Basic Compiler for AVR by MICRODESIGN   ///
'///   PWM2U.BAS untested by axel.ruehl<at>gmx.de      ///
'/////////////////////////////////////////////////////////
$Device= mega8    ' used device
$Stack = 32    ' stack depth
$Clock = 8    ' adjust for used crystal
$Timer2 = Timer, Prescale=8
$Timer1 = PWM,10,PwmA=Normal,PwmB=DisConnect
Dim impulse As Word
Declare Interrupt Int0()
Declare Interrupt Int1()
Declare Interrupt Oc2()
Pwm2=&h0A    ' Timer2 auf 1.25us
Pwm1A=0
Int0 Rising    ' Int0(PIN4) und Int1(PIN5) zusammenlöten
Int1 Falling    ' steigende bzw. fallende Flanke
Set DDRB.1    ' OC1A (PIN15) als Ausgang
Set PORTD.2    ' PullUps' für int0 und int1
Set PORTD.3    ' werden zusammengelötet, einer hätt gereicht
impulse=0    ' impulse auf Null setzen
Reset Int0    ' evtl. anstehende Interrupts löschen
Reset Int1
Start Timer2    ' Timer2 starten
Start Timer1    ' Timer1 starten
Enable Int0    ' int0 freigeben
Enable Int1    ' int1 freigeben
Enable Interrupts  ' Interrupts erlauben

Do      ' Hauptschleife
Idle      ' schlafen legen
Loop      ' zurück nach "Do"


Interrupt Oc2()    ' 1.25us Interrupt
Incr impulse    ' Impulse hochzählen
End Interrupt

Interrupt Int0()  ' durch steigende Flanke ausgelöst
Start Timer2    ' Timer0 starten
End Interrupt


Interrupt Int1()  ' durch fallende Flanke ausgelöst
Stop Timer2    ' Timer2 stoppen, keine Impulse mehr zählen
Pwm1A= impulse -720  ' 720 abziehen und der PWM übergeben
End Interrupt
'( 900us/1.25-720=0
 21000us/1.25-720=960 -> 1023 wären 100%PWM, also 5 Volt,naja
 RC-Glied an PIN15 (Portb.1) und gut.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
meine schönen Tabstops!! in der Eingabemaske EXTRA nochmal hingerückt -
und nu? alles durcheinander. vorschaufunktionvermissentu

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interrupt Int1()    ' durch fallende Flanke ausgelöst
Stop Timer2         ' Timer2 stoppen, keine Impulse mehr zählen
Pwm1A= impulse -720 ' 720 abziehen und der PWM übergeben

impulse = 0

' klar, die impulse musst Du zurücksetzen,
' damit sie bei der nächsten "Fernsteuerpaket" wieder von Null
' anfangen zu zählen - sorry, war schon spät gestern

End Interrupt
Gruß
Axel

Autor: Guy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Wolle

Danke, aber solche Lösungen habe ich. Das Problem ist, daß ich die
vermeiden will, und zwar aus folgendem Grund. Bei den Rennen baue ich
den Datalogger ab. da sind Überschläge und harte Stöße keine
Seltenheit. Die sind nicht unbedingt gut für das Gerät. Mit einer
Elektronischenlösung brauche ich nur ein Paar Stecker ab zuziehen, und
fertig. Andernfalls muß ich noch vieles abschrauben, und nachher wieder
aufbauen und Justieren.

@Axel
Vielen Dank für die Muhe. Wie ich oben geschrieben habe, habe ich seit
vielen Jahren nichts mehr mit Controller zutun. Wenn ich sage viele
Jahre, dann sind das so 20 Jahre. Aber das hindert mich nicht daran
wieder anzufangen. Nur du kannst dir vorstellen wenn man 20 Jahr kein
Assembler mehr gesehen hat, daß das nicht einfach ist. Aber wie sagt
man so schon "wo ein Wille ist, ist auch ein Weg. Und aufgeben kennen
wir nicht.

Ich werde mich jetzt mal schlau machen, was ich alles so brauche.
Programmiergerät, Compiler etc. Da hat sich ja in letzter Zeit so
einiges getan.

Aber noch mals Danke.

Mit freundlichen Grüßen
Guy

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe das gerade eben gefunden!
Das sollte Dir weiterhelfen...

http://www.avr-asm-tutorial.net/avr_de/remote.html

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.