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
> 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.
>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
>> 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.
>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?
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.
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
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
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 ?
>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 ??
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
"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.
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
@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
@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?
@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.
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.
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.
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.
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.
meine schönen Tabstops!! in der Eingabemaske EXTRA nochmal hingerückt - und nu? alles durcheinander. vorschaufunktionvermissentu
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
@ 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
Habe das gerade eben gefunden! Das sollte Dir weiterhelfen... http://www.avr-asm-tutorial.net/avr_de/remote.html
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.