Hallo ihr Mikrocontroller,
ich hab die Suche schon bemüht und viel Nützliches erfahren, leider sind
viele Sachen für mich böhmische Dörfer.
Als erstes zu meiner Anwendung: ich entwickle gerade im Rahmen meiner DA
für ein kleines Unfallgutachterbüro ein kostengünstiges
Spurführungssystem für Crashfahrzeuge. Dafür wird eine induktive
Spurführung verwendet,im Rahmen dieser sendet eine Lenkantenne ein
Spannungssignal. Dieses wird mit einem Messystem aufgenommen und
ausgewertet. Software hierfür kann noch gewählt werden (entweder Matlab,
Simulink,o.ä.). Als Lenkung werden Servomotoren mit dem Lenkrad
gekoppelt, für diese benötige ich das PWM-Signal. Das Messsystem hat
digitale Ausgänge (TTL) und analoge Ausgänge (-10V bis +10V, 0,1A). Nun
zu meiner Frage, kann man das PWM softwaremäßig erzeugen und über die
Ausgänge ausgegeben oder brauche ich da noch zusätzliche Bausteine?
Wie schon geschrieben, das System soll günstig sein, im Fahrzeug wird ja
auch was kaputtgehen. Verwendet wird hier ein kleines Notebook mit
Flashspeicher und als Messystem dient das USB-AD16f von BMCM.
Ich kann mir vorstellen das die USB-Verbindung sicher nicht ideal ist,
anders geht es aber erstmal nicht. Kann meinen Auftraggeber erst von
anderen Sachen überzeugen wenn das hier scheitert. :(
Sorry für den langen Text, aber besser zuviel geschrieben als zu wenig.
LG
Steffen
Hallo Steffen,
wieso Not-book für das bischen Regelung.
Lässt sich mit einem AVR einfacher und rüttelfaster aufbauen.
Es gibt hier schon eine Menge Beiträge zu Servomotoren am AVR.
Das Analogsignal muss dann noch an die 0-5V des AVR angepasst werden.
Axel
Und das Anpassen ist das Problem, wenn ich nen Spannunsbereich von 20V
auf 5V verkleinern muss und gerade das Wichtige im Bereich von -1V bis
+1V passiert ist wahrscheinlich die Auflösung von so einem AVR nicht
groß genug, oder irre ich mich da?
Falls ich irren sollte, kann man auch diverse PID-Regler, Beobachter
o.ä. programmieren? Stecke da echt noch in den Kinderschuhen, sowas
lernt man im Studium nicht wirklich.
LG
Steffen
wenn des Wichtige sich in diesem kleinen Bereich abspielt, musst Du das
Signal in diesem Bereich eh verstärken.
Programmieren kann man auf dem AVR so ziemlich alles, matürlich aich
kleine Regler.
Axel
Wie jetzt Signal verstärken? Was gewinne ich damit wenn ich einen
bestimmten Teil eines Signals verstärke, den Rest jedoch dann ausser
Acht lasse? Oder raff ich das mit der Verstärkung jetzt nicht?
Also brauchen tue ich den ganzen Spannungsbereich, nur besonders wichtig
für die Regelung wird denk ich mal der Bereich von -1V bis +1V sein, das
wird sich aber erst bei den Tests zeigen wie sich die Spannung ändert.
Gibt mehrere einfache Lösungen für das Problem.
Es ist ja möglich, ganz ohne Controller, spannungsgesteuerte PWM mit
entsprechenden IC oder einer OPV-Schaltung zu bauen.
Wenn hauptsächlich der Bereich um den Nullpunkt der Spannung
interessiert und der Rest des Bereiches weniger genau verarbeitet werden
soll bietet sich ein nichtlinearer Verstärker an, ist aber nicht so
simpel das genau und stabil hinzubekommen wenn man damit keine Erfahrung
hat.
Die andere Variante wäre einen automatisch umschaltenden Verstärker zu
nehmen (ähnlich den in automatisch umschaltenden DMM) was recht leicht
genau zu realisieren ist.
Nur, wenn Dein Messystem sowohl TTL als auch analoge Ausgabe hat so
verwende doch die digital ausgegebenen Werte. Controller mit PWM-Ausgabe
+ Motortreiber dahinter und fertig.
Zitat: Nur, wenn Dein Messystem sowohl TTL als auch analoge Ausgabe hat
so
verwende doch die digital ausgegebenen Werte. Controller mit PWM-Ausgabe
+ Motortreiber dahinter und fertig.
Also den digitalen Ausgang kann ich nicht direkt dazu verwenden sondern
muss auf jeden Fall den Umweg über nen Controller machen? Wozu der
Motortreiber? Ich dachte das PWM-Signal wird vom Servoempfänger direkt
umgewandelt?
Ich merk schon das wird nicht einfach, abrer danke schonmal für die
Hilfe.
Vielleicht geh ich mal nen Schritt zur Seite um vom Schlauch
runterzukommen. :D
Steffen
> Ich dachte das PWM-Signal wird vom Servoempfänger direkt umgewandelt?
Ups... - hier riecht es nach Missverständnissen...
Das liest sich, als ob Du ein Modellbauservo meinst.
In Deinem ersten Post ist aber von einem Servomotor die Rede. Dazu
kommen Begriffe wie DA (Diplomarbeit), Unfallgutachterbüro,
Spurführungssystem, Crashfahrzeuge, Crashfahrzeuge und Simulink. Das
suggeriert nun wieder eine Ebene, auf der Modellbauservos nichts zu
suchen haben. Servomotor_ und _Modellbauservo_ ist nämlich _Zweierlei
und auch ein Servomotor (falls es ein DC-Motor ist) kann per PWM
gesteuert werden. Die PWM von Modellbauservos ist zwar eine PWM, würde
ich aber Servoimpuls oder Kanalimpuls nennen, um es klar von der
Motor-PWM (also dem Takten des Motorstroms durch PWM) unterscheiden zu
können.
~
Hallo,
ne sind schon Modellbauservos, frag mich nicht wieso. Aber die Lenkung
per Fernsteuerung funzt eigentlich recht gut. Nur soll das Ganze jetzt
automatisiert werden. Es soll halt preislich im Rahmen bleiben, die
Einzelkomponenten sollen günstig und schnell austauschbar sein usw.
LowCost halt. ;)
Versprech ich mir zuviel von Allem? Ich bin halt kein Informatiker und
kein E-Techniker und für das meiste was hier steht muss ich googlen
und/oder Wikipedia besuchen.
Gut, dann ist das mit den Servos geklärt. Wo genau ist da Dein Problem?
Die Servos werden über Impulse gesteuert, die sich etwa alle 20 ms
wiederholen. Die mechanische Position (Sollwert), die das Servo anfahren
soll, ist mittels Impulsbreite codiert. Üblich ist 1,5 ms für die
Neutralstellung (Mitte), und 1,0 ms bzw. 2,0 ms für den Arbeitsbereich.
Bei einigen Servos reicht der Arbeitsbereich von 0,7 ms bis 2,3 ms. Dein
System muss also alle 20 ms einen Impuls erzeugen, dessen Impulsbreite
die gewünschte Position definiert.
Dafür reicht eigentlich ein kleiner Mikrocontroller (z.B. 8-Bit-AVR),
wobei ich jetzt nicht beurteilen kann, was der Controller sonst noch
alles so machen muss. Ich habe Servoimpulse bisher immer auf AVR in ASM
programmiert, das wird für Dich aber kaum die erste Wahl sein, wenn Du
(beruflich oder hobbymäßig) weder aus der Informatikecke noch aus der
Elektronikecke kommst.
~
Wie die Modellbauservos ansich funktionieren weiß ich ja auch schon.
Mein Problem ist wie ich das Signal erzeuge.
Brauche ich zusätzlich noch einen Controller der das Signal erzeugt oder
kann ich das über den Schlepptop machen und mittels der digitalen
Ausgänge des Messsystems ausgeben?
Für nen Noob ist das alles ganz schön starker Tobac und nicht grad
einfach sich da reinzufitzen.
Achso um die Kommentare bezüglich des Gutachterbüros mal nicht so im
Raum stehen zu lassen. Dort wird grundlegende Forschung bezüglich
Unfallhergängen, Kontrahentenbewegungen, Deformationen und
Auslaufbewegungen betrieben. Allerdings wird sowas nicht immer unbedingt
gefördert also wird mit z.T. simplen Methoden gearbeitet. ;)
Wenns mit nem Modellbauservo funktioniert warum dann was anderes und
teureres nehmen?
gruß
Steffen
Müsste ich vom PC aus Modellbauservos steuern, dann würde ich einen
ATTiny2313 mit MAX232 und Baudratenquarz einsetzen und ein ASM-Programm
schreiben, das per UART Kommandos empfängt, decodiert, und die
Positionen der Servos ins Positionsarray schreibt. Im Hintergrund in
einem Timer1-Compare-Interrupt werden dann die Servoimpulse reihum
generiert. Auf einfachste Weise geht bis zu 8 Servoimpulse, mehr ist
aber auch möglich. Falls Du dazu meine Hilfe wünscht, kannst Du mich ja
anschreiben (Nick@gmx.de).
Betreffs Gutachterei: Ein Modellbauservo kann gut die Lenkung eines
Modells betätigen, beim Original-Auto ist es hoffnungslos überfordert.
Chrashtests mit Modellen halte ich für nicht aussagekräftig (um nicht
"lächerlich" zu sagen).
~
Was heisst hoffnungslos überfordert? Die Lenkung funktioniert mit zwei
Servos, glaubs mir ruhig. Sind zwar keine großen Lenkwinkel möglich aber
der Wagen soll ja auch mehr oder weniger nur geradeaus fahren. Und es
werden keine Modelle verwendet sondern richtige Autos. ;) Einziges
Problem derzeit, die Servos stellen erst bei ner bestimmten
Fahrgeschwindigkeit, zumindest wenn der Wagen ohne Servolenkung ist. Man
darf halt die Stellkraft solcher Servos, oder um bei der Sache zu
bleiben Modellbauservos, gepaart mit nem passenden Hebelarm zum Lenkrad
hin nicht unterschätzen.
Also brauch ich auf alle Fälle noch einen zusätzlichen Controller?! 8
Kanäle brauch ich nicht, zur Zeit werden nur die zwei Servos für die
Lenkung angetrieben, evtl. noch einer für die Notbremsung. Mal schauen,
vllt. kommt noch einer fürs Gasgeben. Macht zusammen also 4 Kanäle,
wobei zwei ja gleich sind, also eigentlich 3.
gruß
Steffen
> glaubs mir ruhig.
Ob ich Dir das glaube, oder auf'm Bau fällt 'ne Schaufel um, wo ist der
Unterschied. Ich brauche das nicht, daher ist mir das auch egal. Ich
wäre nur nicht auf die Idee gekommen, ein normales Auto mit einem
Modellbauservo lenken zu wollen. Da hätte ich schon einen
DC-Getriebemotor in der Größenordnung eines Wischermotors eingesetzt.
Ein Akkuschrauber-Antrieb mit nachgeschalteter Untersetzung käme wohl
auch in Frage.
> Also brauch ich auf alle Fälle noch einen zusätzlichen Controller?!
Das kann ich nicht beurteilen. Ich weiß nicht, wie genau die
Impulserzeugung mit einem WINDOWS- oder anderem
Multitasking-Betriebssystem wird.
Ich würde (zur Servoimpulserzeugung) die Mittel einsetzen, mit denen ich
umgehen kann und die geforderte Genauigkeit garantieren kann. Und dies
wäre in diesem Falle eben ein kleiner AVR, also der Tiny2313.
~
my 2ct:
Im Prinzip könnte man die Servo-Impulse auch durch einen PC erzeugen.
Allerdings braucht man dann ein RealTime-System, d.h. ein System das
eine Antwort in einer genauen Zeitspanne garaniert. Und gängige
PC-Betriebsysteme, insbesondere Windows, sind alles andere als RealTime.
Für Linux gibt es IMHO einige Erweiterunge, das einfachste wäre aber
vermutlich einen kleinen Controller zu nehmen. Beispiel finden sich im
Forum genug. Eventuell schaust Du mal auf http://www.roboternetz.de/
Das mit der Ansteuerung der Servos habe ich noch nicht ganz verstanden.
Wie wird das ganze gesteuert? Auf dem Boden liegen Metall-Schienen, im
Fahrzeug Spulen und es wird eine Art "Line-Follower" gebaut?
PS: erinnert mich an Mythbusters, die haben auch Modellbau-Servos (wenn
auch sehr kräftige) für RC-"Autos" genommen. IMHO relativ Standard im
Stunt-Bereich!