PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beschleunigungssensor ADXL 202 JQC



Manf
16.04.2005, 16:25
Ich möchte hier den Beschleunigungssensor ADXL 202 JQC diskutieren, von dem ich zwei Muster erhalten habe, vielen Dank noch mal dafür.

Wenn früher schon von SMD Schaltungen die Rede war ging es häufig auch um die Frage, wie die Anschlüsse kontaktiert werden. Um erst mal mit einem Steckbrett anzufangen habe ich die Schaltung mit allen 14 Pins an eine "Präzisionsfassung" angeschlossen die ins 1/10 Zoll Steckbrett passt.

Dazu habe ich Drähte aus einem Netzkabel mit 21x0,17 (also dünne Drahtstückchen) gut verzinnt und über den Baustein gelegt, nach unten abgewinkelt und jeweils an zwei gegenüberliegenden Pins (1,14) (2,13) ... angelötet. Nach der Lötverbindung mit der Fassung wurden die Drähte oben durchtrennt so waren die Drähte beim Löten einigermaßen stabil.


https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=481

Die Beschreibung des Bausteins ist ja im Datenblatt.
http://www.androidworld.com/ADXL202E_a.pdf
Single power supply 5V, 3 externe Komponenten ein Widerstand (R=125k – 1M für 1kHz und tiefer) für die Messrate und PWM Frequenz, und zwei Kondensatoren (C=1nF-500nF) für die Filterung des Rauschens und damit für Grenzfrequenz der x- und y- Beschleunigung (in der Bausteinebene).

Wenn man wie vorgeschlagen die Pins (13) und (14) für Ub sowie (4) und (7) für Masse verbindet dann gibt es noch den Selfttest (3) der frei bleiben kann. Und es bleiben:

extern
(4) (7) Masse
(13) (14) Ub
(10) Ausgang x
(9) Ausagng y

intern (gegen Masse)
(5) R
(12) Cx
(11) Cy

Man kann die Signale hochohmig als Spannungen an den Kondensatoren abgreifen, oder eben an den Ausgängen als Tastverhältnis.
Die Schaltung verbraucht nur etwa 1mA.

Auf dem Steckbrett hat die Schaltung an den Kondensatoren und an den PWM Ausgängen schon eine Reaktion auf Kippen in der Ebene und auf Klopfen an das Steckbrett gezeigt. Mal sehen was noch so geht.

Manfred

vish
16.04.2005, 17:14
Hallo Manfred!

Wo hast du diese zwei Muster denn her? Ich interessiere mich auch brennend für die Dinger aber 45€ für zehn bei Ebay und 50€ für einen bei Conrad ist mir dann doch ein bisschen viel. Ein oder zwei rechen zum experimentieren völlig.

Grüße,
Jonas

RCO
16.04.2005, 17:33
Hi Manf, ist das Teil des "Balacnierender Roboter" Projekts?
Ich habe eine kleine Verständnissfrage, der ADXL erkennt, wenn ich das richtig verstehe, eine Schräglage nicht als solche, sondern gibt nur veränderungen der Lage als "Stromimpuls" aus. Würde ich ihn also ein wenig kippen, würde (während des Kippens) der PWM mir eine höhere Spannung ausgeben, oder?
Wäre es nicht vielleicht sinnvoll, den Chip mit etwas Heißkleber zu fixieren, bevor man mal ausversehen 2 der Drähte zusammendrückt und einen Kurzschluss provoziert?

Manf
16.04.2005, 17:45
Wo hast du diese zwei Muster denn her? Ich interessiere mich auch brennend für die Dinger aber 45€ für zehn bei Ebay und 50€ für einen bei Conrad ist mir dann doch ein bisschen viel. Ein oder zwei rechen zum experimentieren völlig.
Ich gebe das mal weiter.
Manfred


ist das Teil des "Balacnierender Roboter" Projekts?
Eher allgemeine Grundlage für auch die folgende Frage


der ADXL erkennt, wenn ich das richtig verstehe, eine Schräglage nicht als solche,
Doch das ist wichtig. Ein Beschleunigungssensor mißt die Beschleunigung und auch die Erdbeschleunigung und auch ihren Anteil beim Kippen um weniger als 90°.


Wäre es nicht vielleicht sinnvoll, den Chip mit etwas Heißkleber zu fixieren, bevor man mal ausversehen 2 der Drähte zusammendrückt und einen Kurzschluss provoziert?
Das ist richtig. Ich wollte nur mal schnell die Schaltung testen. Für die weiteren Versuche werde ich die Schaltung minimieren. Die Kondensatoren und den Widerstand vor die Fassung setzen und wenger Anschlüsse herausführen.
Manfred

Manf
18.04.2005, 13:59
Das Thema günstige Beschaffung ist auch sehr wichtig, ich habe es mal in einen getrennten Thread geschoben.
https://www.roboternetz.de/phpBB2/viewtopic.php?t=8573


Nochmal zum Anschluß des ADXL mit seinen 14 Beinen.

Mit zwei SMD Kondensatoren 220nF und einem 330kOhm Widerstand hat man die Beschaltung an den Baustein gebracht und kann das Ganzeauf eine 8Pin Dip Fassung moniteren.

Die Dahtstärke ist hierbei 0,4mm, die geht am besten in die Fassung und ist auch stabil. Die NC-Pins (Pin 1, Pin 8 am SMD) kann man auch zur mechanischen Befestigung mitbenutzen. In der Fassung habe ich es zur bessern Stabilität trotzdem noch gelötet.

Für Drahtverbindungen unter dem IC kann man beispielseise den 0,17mm Litzen-Einzeldraht nehmen und mit Bohrmaschine und eingespanntem Winkel-Imbusschlüssel 1,5mm kleine Schlaufen für SMD Beinchen bilden. Auf diese Weise erreicht man ein Fixieren der Drähte vor dem Löten und damit ein sicheres Arbeiten.

Den verdrillten Daht kann man auch in ein Stückchen Isolationsschlauch von einer dünneren (Litze 18x0,1) stecken.

Ganz schön sieht die Schaltung vielleicht nicht aus aber sie ist stabil und sicher und vor allem ohne viel Nachlöten aufgebaut worden.
Manfred


https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=483

Manf
19.04.2005, 09:12
Jetzt also zu einem Einsatzfall für den Beschleunigungssensor.

Das interessante an einem Beschleunigungssensor ist ja, dass er auf die Erdbeschleunigung reagiert und auf die Beschleunigung die er durch Bewegung erfährt. Die Betrachtung der Kombination der beiden Fälle wird leicht etwas ungewohnt.

Im Bild sind 3 Beschleunigungsverläufe aufgetragen. Die Verläufe ergeben sich bei der Anbringung des Sensors an einem Lineal. Das 30cm Kunststofflineal, ist an einer durch seine Bohrung gesteckte Achse aufgehängt und wird jeweils um einen festen Winkel (ca.20°) ausgelenkt und zum freien Pendeln losgelassen.

Man erkennt in jedem der drei Bilder eine gedämpfte Schwingung mit einer Periodendauer von, naja da gibt es leichte Unterschiede, die Grundschwingung liegt bei knapp einer Sekunde.

Klar zu erkennen ist zunächst einmal die Auslenkung am Anfang. Es ist ein tiefer Wert, der sich deutlich vom Endwert oder Mittelwert der Schwingung unterscheidet.

Dann wird das Lineal losgelassen und die Schwingung beginnt.
Manfred



https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=484

RCO
19.04.2005, 11:37
NIcht schlecht, der ADXL liefert ja tatsächlich astreine Werte!
Ich schätz mal im Bild ganz rechts hast du das Linieal aus der waagerechten losgelassen, aber wie hast du es bei den anderen gemacht?

Minifriese
19.04.2005, 11:43
Moin moin,
Vielen Dank für diesen Thread! Da ich selber wegen eines temporären Anwesenheitsdefizit gerade nicht basteln oder rumprobieren kann, verfolge ich deine Versuche mit großem Interesse...
Mich würde vor allem interessieren: Welche Auflösung ist reprodzierbar möglich (bei Verwendung als Lagesensor) und wie empfindlich wäre das Lagesignal gegenüber Vibrationen, z.B. durch in der Nähe laufende Motoren bzw Rotoren? Vielleicht fällt dir auch dazu ein schlauer Versuchsaufbau ein :-)

Nils

UlliC
19.04.2005, 12:14
Hallo Manfred,

schöner Versuchsaufbau und tolle Ergebnisse.

Wenn wir diese Ergebnisse auf einen balancierenden 2-Rad Roboter (ASURO ?) anwenden wollen, wäre es gut, zusätzlich einen Gyro am Lineal anzubringen.
Dann könnte man sehr schön den 90° Phasenversatz sehen. Ich habe leider nur EXCEL-Diagramme von Meßwerten meines UCBalBot, die nicht frei schwingend aufgenommen wurden und deshalb verrauscht sind.

Manf
19.04.2005, 12:49
Welche Auflösung ist reprodzierbar möglich (bei Verwendung als Lagesensor) und wie empfindlich wäre das Lagesignal gegenüber Vibrationen, z.B. durch in der Nähe laufende Motoren bzw Rotoren? Vielleicht fällt dir auch dazu ein schlauer Versuchsaufbau ein
Die Frage bedeutet wie hoch ist die Empfindlichkeit und der Rauschabstand sowie der Abstand zur Drift? Muss ich auch noch ermitteln, das Datenblatt ist aber schon recht ausführlich.

Beim Rauschen geht direkt die Bandbreite ein. Ich habe die Kondensatoren relativ groß gemacht, für ein Bandbreite von 20Hz (Tabelle Seite 9). Auf Seite 1 steht: allowing signals of 2mg to be resolved (at 60Hz Bandwidth).

TPC6 (Seite 4) beschreibt die X-axis Sensitivity sie liegt bei 0,32V/g. TPC 19 und 20 (Seite 7) geben die Zero Drift mit 0,8mg/°C und die Sensitivity Drift mit 0,025%/°C an. Das müssten die Werte zur Bestimmung des Störabstandes bezüglich der Drift sein.


Ich schätz mal im Bild ganz rechts hast du das Linieal aus der waagerechten losgelassen, aber wie hast du es bei den anderen gemacht

Es ist schon so wie beschrieben: Das 30cm Kunststofflineal wird jeweils um einen festen Winkel (ca.20°) ausgelenkt und zum freien Pendeln losgelassen. Trotzdem bestehen Unterschied in den drei Kurven.

Welche der drei Kurven etwas mit einer Milchkanne zu tun hat, das wissen vielleicht gerade noch die Älteren. Ich bin stolz, als Großstädter mit 5-6 Jahren auf Besuch bei der Oma in der Kleinstadt das Experiment beim Frühstückholen gemacht zu haben. Nicht ganz ohne Sorge im Zweifelsfall, wenn der Versuch misslingt, ziemlich umständliche Erklärungen abgeben zu müssen.


http://images.google.de/images?q=tbn:lKgAcEFwwEYJ:www.friesenmilch.de/images/Milchkanne.jpg

Man kann natürlich auch unter "Milchkanne" und "Gravitation" unter Google nachschauen. Ich werde es dann auch noch erklären, nur erst mal so zum Nachdenken.

Manfred

JanB
19.04.2005, 13:58
Hallo,

"Milchkanne" und "Gravitation"
Ich schätze, du spielst auf das Beharrungsvermögen von Milch bezüglich
einer Änderung der Bewegungsrichtung an,
und damit auf den temporären Ersatz von Gravitation durch eine bekannte Scheinkraft.

Gruß Jan

Manf
19.04.2005, 15:28
Ja geau, das Beharrungsvermögen der Milch wenn keine Kraft in der Ebene der Oberfläche der Flüssigkeit wirkt, die die Milch zum seitlichen Überschwappen bringt. (Es soll natürlich auch die Randbedingung gelten, dass die Kraft senkrecht zur Oberfläche in die Kanne hineinzeigt, und nicht in Richtung Ärmel. )

Ich habe versucht das noch einmal zu verdeutlichen. Im aktuellen Versuch ist ein Brett an den Ecken mit vier Klammern gehalten. An den Klammern sind einen Meter lange Schnüre befestigt. In der Mitte des Brettes steht eine kleine Schüssel mit etwa einem Liter Wasser.
Bei kontinuierlicher Angegung zum Schwingen lassen sich recht deutliche Amplituden bis zu 90° Auslenkung und mit ein bisschen Geschick dann auch der Überschlag errichen, ohne daß die Wasseroberfläche sich merklich relativ zur Schüssel bewegt.

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=485

Das entspricht einem der Fälle unter den obigen Oszillogrammen, nämlich dem mitteren. Der Beschleunigungssensor zeigt nur vor der Schwingung einen deutlichen Ausschlag. Sobald das Pendel frei schwingt wirkt (im wesentlichen) keine Kraft mehr quer zum Pendelstab.

Dann sind noch die beiden anderen Kurven zu erklären.
Manfred

Manf
19.04.2005, 20:53
Ich fange mal rechts an.

Die rechte Kurve
Die Kraft, die auf den Beschleunigungssensor vor dem Loslassen wirkt ist gegeben. Sie ist bestimmt durch den Winkel den der Sensor an Lineal zur Erdanziehung hat, unterer Wert, jeweils links im Bild.

Nach dem Loslassen wirken zwei Kräfte, weiterhin die Kraft der Erdanziehung deren Winkel sich sinusförmig ändert und die Kraft der beschleunigten Bewegung. Bewegt sich der Sensor mit dem Pendel, dann ist die Beschleunigung immer dann groß, wenn die Geschwindigkeitsänderung groß ist. Sie ist am größten an den Umkehrpunkten der Bewegung, also am Startpunkt und am gegenüberliegenden Umkehrpunkt.

Die Kurve geht aber kontinuierlich vom Startpunkt aus und kehrt nach einer Periode, abgesehen vom Amplitudenverlust durch die Dämpfung wieder an den Startpunkt zurück. Die Kraft die durch die beschleunigte Bewegung bedingt ist, die hier ihren Maximalwert hat, ist damit null.

Der Sensor wird damit nicht durch die Pendelbewegung um die Achse beschleunigt, er wird nur gekippt. Er befindet sich aber am Lineal, also muss er an der Achse sein.

Na also, die hätten wir, ganz ohne Gleichungen.


https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=484


Die mittlere Kurve
Bei der Betrachtung der mittleren Kurve fällt auf, dass der Sensor nach dem Loslassen keine Kraft in seiner Messrichtung (um die Achse) mehr erfährt. Das ist ein spezieller Fall. Er kommt auch bei einem Fadenpendel vor, bei dem eine kompakte Masse an einem Faden pendelt. Das ist leicht einzusehen, denn der Faden kann ja nur in Längsrichtung eine Kraft ausüben, nicht in Querrichtung.

Der Sensor pendelt also gerade so schnell, als wäre er an einem Fadenpendel aufgehängt. Er könnte auch an einem Fadenpendel aufgehängt sein und neben dem Lineal pendeln. Die Bewegungen müssten synchron ablaufen, denn er erfährt ja keine Kraft vom Lineal um gerade in dieser Geschwindigkeit zu pendeln.

Wenn man nun herausbekommt wie schnell ein 32cm langes Lineal, das bei 29cm drehbar aufgehängt ist pendelt, und auch noch bestimmt, wie lang ein Fadenpendel mit konzentrierter Masse ist das die gleiche Schwingungsdauer hat, dann kann man direkt angeben an welcher Stelle des Lineals der Sensor angeklemmt war.

Die Berechnung nur kurz im Überblick:
Periodendauer des Fadenpendels: T = 2*pi* Wurzel (L / g)
Periodendauer des Stab-Pendels : T = 2*pi* Wurzel (J / m*g*r); (r =Abstand Drehpunkt Schwerpunkt).
Für einen Stab mit Drehachse durch den Endpunkt gilt J = m * l² /3.
Die beiden Seiten des Lineals addiert ergeben J = 8,14*10-³m² * m’ (m’ = Massenbelegung des Stabes).
T= 0,89s
Länge des Fadenpendels L=0,196m
Der Sensor war bei der Markierung 8,4cm angeklemmt.
(stimmt sogar, experimentell hatte ich so zwischen 8 und 9 ermittelt.)

Manfred

Roberto
20.04.2005, 04:12
Hallo

Häte kurz eine Frage:
Wieviel Weg braucht den der Sensor, dass er die Beschleunigung messen kann und wie schnell ist so ein Sensor eigentlich ?

Habe da so eine Blöde Idee, wo ich in z.B. in eine Holzplatte ein Schwingung einbringe und auf der anderen Seite dann messen will, wie hoch sie ist.

Aber ich glaube das wir so einem Sensor wohl nicht gehen..
(Vielleicht mit einem Mikro?)

Manf
20.04.2005, 06:27
Bei der im Datenblatt angegebenen Auflösung von 2mg bei 60Hz hat man eine Amplitude von etwa 1µm.
Die maximale Messfrequenz ist 5kHz.
Manfred

Manf
20.04.2005, 09:26
Die linke Kurve
Sie erscheint auf den ersten Blick ein bisschen schwierig zu interpretieren, aber sie lässt sich erstaunlich einfach aus den beiden anderen herleiten. Dazu betrachtet man zunächst die rechte Kurve bei der allein die Kippung des Sensors wirksam ist. Die gleiche Kippung ist in jeder Kurve eines am pendelnden Lineal befestigten Sensors in gleicher Größe wirksam.

Unterschiede ergeben sich damit nur durch die Größe des Anteils der Kraft, die von der beschleunigten Bewegung stammt. Diese ist an der Drehachse null und sie nimmt proportional mit dem Abstand von der Achse zu.

Der Punkt an dem sie genau so groß ist wie die Kraft die von der Kippung herrührt ist auch schon bestimmt worden: bei 8,4cm wo sich die Kräfte gerade aufheben. Man kann nun einfach aus Amplitude und Phasenlage der Schwingung die Position bestimmen. Die Phasenlage der Schwingung ist ja, wie man gleich zu Beginn nach dem Loslassen sieht, entgegengesetzt. Der Sensor war hier also an der Position beim Skalenwert 2cm.

Das ging dann wieder leicht.


https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=486

Es ist noch zu beachten, dass die Kurven nicht gemeinsam aufgenommen wurden. Die Verschiebung des Sensors mit Halterung auf den Skalenwert 2cm hat eine Vergrößerung der Schwingungsdauer um 8% hervorgerufen. Man kann es bei genauem Hinsehen auch beim Vergleich der linken und der rechten Kurve erkennen. Bei der langsameren Schwingung ist auch die Beschleunigung um diesen Faktor geringer. Der Effekt wurde bei der grafischen Auswertung durch eine leicht erhöhte Linienbreite berücksichtigt. O:)

Zwischen den beiden Kurven rechts und in der Mitte ergibt sich kein Unterschied in der Schwingungsdauer. Bei der Montage in der Nähe der Achse hat der Sensor kein merkliches Trägheitsmoment und im anderen Fall hat er als Teilsystem die gleiche Schwingungsdauer wie das Lineal ohne Sensor.

Manfred

UlliC
20.04.2005, 20:57
Hallo Manfred,

wo würdest du demnach den Beschleunigungssensor positionieren, um den Neigungswinkel eines balancierenden (2-Rad) Roboters mit diesem Sensor bestimmen zu können ?
Hierbei handelt es sich ja um ein "invertiertes Pendel".

Manf
20.04.2005, 22:19
Das geht deutlich über die grundlegenden Betrachtungen hinaus.

Wählt man beim Balancieren eine Beschleunigung, die umso größer ist, je größer die Abweichung von der (instabilen) Gleichgewichtslage ist, mit einem Proportionalitätsfaktor k, dann hat man eine gewisse Annäherung an die Pendelbewegung.

Aus diesem Parameter k zusätzlich zu den Fahrzeugdaten und der Erdanziehung ergibt sich eine Pendelbewegung mit einem Drehpunkt auf einer bestimmeten Höhe des Fahrzeugs, (oder grundsätzlich auch darüber). Auf dieser Höhe ist der Winkel ablesbar, mit Sicherheit aber nur solange er null ist, oder ausreichend kleine Werte hat.

Manfred

JanB
21.04.2005, 11:49
wo würdest du demnach den Beschleunigungssensor positionieren,
um den Neigungswinkel eines balancierenden (2-Rad) Roboters mit diesem Sensor bestimmen zu können ?
Am Besten würrde man den ADXL-202 im Drehpunkt des 2-Rad-Robots,
also zwischen den Rädern anbringen.
Und zwar hochkant, so das die beiden Sensoren die Erd-Gravitation
um 90 Grad versetzt messen.
Dann lässt sich der Neigungswinkel des Robots aus den Signalen
der beiden Sensoren sehr genau errechnen.
In meinen Experimenten komme ich auf eine Auflösung
von deutlich weniger als 1 Grad.

Zwischen den Rädern, damit der Sensor durch das Pendeln nicht
mitbeschleunigt wird, sondern nur gedreht wird.
Sonst wird die Messung unnötig verfälscht.

Gruß Jan

Manf
21.04.2005, 17:27
Zwischen den Rädern, damit der Sensor durch das Pendeln nicht
mitbeschleunigt wird, sondern nur gedreht wird.
Sonst wird die Messung unnötig verfälscht.

Können wir das noch weiter betrachten?
Wenn das Rad sich dreht und auf dem Boden entlangfährt, dann bewegt sich doch die Achse über dem Boden.

Ich denke, wenn der Roboter sich dabei in Richtung der senkrechten Lage aufrichtet, dann gibt es einen Punkt weiter oben am Roboter, der der Bewegung der Achse nicht folgt und im wesentlichen eine Drehbewegung macht. Dort hätte ich einen guten Punkt zur Anbringung eines Lagesensors gesehen.

Andererseits lassen sich bekannter Geometrie und ohne Schlupf die Werte wohl auch transformieren.

Manfred

JanB
21.04.2005, 19:59
Hallo,
gibt es einen Punkt weiter oben am Roboter,
der der Bewegung der Achse nicht folgt und im wesentlichen eine Drehbewegung macht
Das müsste der Schwerpunkt sein.
Alle starren Körper drehen sich um den Schwerpunkt,
wenn sie sich frei drehen können.
Das müsste auch für einen 2-Rad-Robo gelten,
obwohl der ein wenig rauf und runter geschoben wird,
weil die Räder auf einer geraden Fläche laufen.
Eigentlich müssten sie in einer Mulde laufen, deren Radius der Abstand
der Räder zum Schwerpunkt ist.
Die Frage ist, wieviel das ausmacht ??

Hmm...

Gruß Jan

UlliC
21.04.2005, 20:47
Hallo,

prinzipiell habt ihr natürlich beide recht. Das invertierte Pendel dreht sich um den Schwerpunkt, wenn der 2-Rad Roboter auf der Stelle balanciert, sich also vor und zurück bewegt. Das Reaktionsmoment der Räder wirkt auf die (untere) Pendelachse, gleichzeitig bewegt sich diese Achse in x-Richtung.

Wie sieht es aber aus, wenn das Fahrzeug fährt ?

UlliC
21.04.2005, 20:54
Noch ein Nachtrag.

Bei unterschiedlichen Lasten (Beispiel Segway) verschiebt sich der Schwerpunkt des Pendels. Es ist also kaum möglich, den Sensor immer im Schwerpunkt zu installiieren.

Manf
21.04.2005, 22:08
mit einem Proportionalitätsfaktor k, dann hat man eine gewisse Annäherung an die Pendelbewegung.
Aus diesem Parameter k zusätzlich zu den Fahrzeugdaten und der Erdanziehung ergibt sich eine Pendelbewegung mit einem Drehpunkt auf einer bestimmeten Höhe des Fahrzeugs,

Das müsste der Schwerpunkt sein.
Der Parameter k ist frei, er kann so gewählt werden, dass sich für kleine Winkel der Schwerpunkt als Drehpunkt ergibt. Wen dies realisierbar ist, dann kann man mit relativ geringer Leistung arbeiten.

Das invertierte Pendel dreht sich um den Schwerpunkt, wenn der 2-Rad Roboter auf der Stelle balanciert, sich also vor und zurück bewegt.
Es ist nicht automatisch der Schwerpunkt, es ist aber durch die Regelparameter einstellbar.
Schön wäre es natürlich, die Ergebnise eines praktischen Versuchs daraufhin zu überprüfen.
Manfred

UlliC
22.04.2005, 15:19
Es ist nicht automatisch der Schwerpunkt, es ist aber durch die Regelparameter einstellbar.
Schön wäre es natürlich, die Ergebnise eines praktischen Versuchs daraufhin zu überprüfen.

Hallo Manfred,
diesmal kann ich dir nicht zustimmen. Wenn die Regelung meines UCBalBot in Aktion ist, kommt es nur zu sehr kleinen Ausschlägen in +/- x Richtung des Fahrzeugs in Höhe der Radachsen. Das FZ selbst dreht sich um den Schwerpunkt.
Das kann man sich auch anhand der Differentialgleichungen des Pendelsüberlegen, wenn man sin(phi) durch phi und cos(phi) durch 1 ersetzt.

Bei größeren Ausschlägen gilt dies natürlich nicht mehr und der Drehpunkt "wandert" höher.
Das Wissen um den variablen Drehpunkt hilft aber bei der Erfassung des Neigungswinkels nicht wirklich weiter.

Offen ist also noch die Frage wo, wie und welche Sensoren installiert werden müssen , um eine Balancierregelung zu realisieren.

Roberto
22.04.2005, 15:51
Hallo Leute

Was haltet ihr davon:
einen Beschleinigungssensor am Drehpunkt der Achsen zu positionieren und einen ganz oben.
Die Differenz der beiden würde man dann als Signal für das Balancieren verwenden.
Das iritiert dann auch die Regelung nicht, wenn der Robo in eine Richtung fährt :-)

Manf
22.04.2005, 21:49
Offen ist also noch die Frage wo, wie und welche Sensoren installiert werden müssen , um eine Balancierregelung zu realisieren.
Prima, dem kann ich leicht zustimmen.

Bisher meine ich nur, dass die optimale Lage vom Regelalgorithmus abhängt und ich vermute, dass es gut wäre, alles so abzustimmen, dass die Sensoren im Schwerpunkt des Fahrzeugs liegen.

Manfred

recycle
24.04.2005, 05:45
Bisher meine ich nur, dass die optimale Lage vom Regelalgorithmus abhängt

Wie habe ich mir so einen Regelalgorithms denn überhaupt vorzustellen?
(Ich gehe als erstes Etappenziel mal nur vom Balancieren ohne umzukippen aus, egal ob das Fahrgestell sich dabei ein wenig von der Stelle bewegt oder nicht )
Als Stellgrössen hat man nur die Drehrichtung und die Beschleunigung der Motoren.
Die Drehrichtung muss natürlich stimmen und dafür braucht man den Winkel in dem sich das Fahrgestell im labilen Gleichgewicht befindet.

Macht es auch Sinn mit x unterschiedlichen Steuerspannungen abhängig vom Winkel zu arbeiten um die Beschleunigung der Motoren zu beeinflussen? Ist ein Getriebemotor da nicht viel zu träge für?
Ich stell mir das eher so vor, dass man einen gewissen Toleranzbereich um das Gleichgewicht definiert. Wenn das Gestell aus diesem Bereich herauskippt steuert man gegen bis der Bereich wieder erreicht wird.

Dafür müsste man dann aber doch eigentlich gar nicht ständig den genauen Winkel wissen, sondern nur wann das Gleichgewicht erreicht ist und in welche Richtung das Gestell aktuell kippt.

Wie funktionieren das denn bei so einem elektrischen Einrad mit dem man durch die Gegend fahren kann?
http://fhznet.fh-bielefeld.de/fb2/labor-le/einrad.html
Da verändert sich der Schwerpunkt doch auch abhängig von Gewicht und Körperhaltung des Fahrers und man muss vermutlich nicht jedesmal den Regelalgorithmus neu einstellen.

UlliC
24.04.2005, 09:58
Wie habe ich mir so einen Regelalgorithms denn überhaupt vorzustellen?
(Ich gehe als erstes Etappenziel mal nur vom Balancieren ohne umzukippen aus, egal ob das Fahrgestell sich dabei ein wenig von der Stelle bewegt oder nicht )
Als Stellgrössen hat man nur die Drehrichtung und die Beschleunigung der Motoren.
Die Drehrichtung muss natürlich stimmen und dafür braucht man den Winkel in dem sich das Fahrgestell im labilen Gleichgewicht befindet.

Der einfachste Regelalgorithmus besteht aus einem P-Regler. Man gibt einen SOLLwinkel, z.B 0° (senkrecht) vor, mißt den ISTwinkel und bildet die Differenz. Angenommen diese ist positiv, wenn der Roboter nach vorn geneigt ist. Dann wird diese Differenz verstärkt und als Steuerspannung an die Motoren gegeben, so daß diese das Fahrzeug nach vorne bewegen

Diese Bewegung hat zwei Effekte

1. Das Reaktionsmoment der Motoren richtet den Roboter auf
2. Das Trägheitsmoment des Roboters wirkt in die gleiche Richtung


Macht es auch Sinn mit x unterschiedlichen Steuerspannungen abhängig vom Winkel zu arbeiten um die Beschleunigung der Motoren zu beeinflussen? Ist ein Getriebemotor da nicht viel zu träge für?
Ich stell mir das eher so vor, dass man einen gewissen Toleranzbereich um das Gleichgewicht definiert. Wenn das Gestell aus diesem Bereich herauskippt steuert man gegen bis der Bereich wieder erreicht wird.

Wenn der Bereich wieder erreicht ist, ist die Regeldifferenz Null und die Steuerspannung wird zu Null. Damit wäre alles ok, wenn das Trägheitsmoment und die beschleunigte Bewegung des Roboters nach hinten nicht wären (siehe oben).
Eine Lösung ist tatsächlich, statt des linearen P-Reglers in der Form y= a x einen nichtlinearen, z.B y = x^2 zu verwenden.


Wie funktionieren das denn bei so einem elektrischen Einrad mit dem man durch die Gegend fahren kann?
http://fhznet.fh-bielefeld.de/fb2/labor-le/einrad.html
Da verändert sich der Schwerpunkt doch auch abhängig von Gewicht und Körperhaltung des Fahrers und man muss vermutlich nicht jedesmal den Regelalgorithmus neu einstellen.

Beim Einrad wird der Regelalgorithmus tatsächlich nicht verändert. Der Regler ist analog mit Operationsverstärkern realisiert. Der Winkel wird ständig mit einem Poti gemessen.

recycle
24.04.2005, 16:47
Der einfachste Regelalgorithmus besteht aus einem P-Regler. Man gibt einen SOLLwinkel, z.B 0° (senkrecht) vor, mißt den ISTwinkel und bildet die Differenz. Angenommen diese ist positiv, wenn der Roboter nach vorn geneigt ist. Dann wird diese Differenz verstärkt und als Steuerspannung an die Motoren gegeben, so daß diese das Fahrzeug nach vorne bewegen


Hierzu würde es dann ja reichen den SOLLwinkel relativ genau zu messen, beim ISTwinkel müsste die qualitative Erfassung (grösser oder kleiner) ausreichen.
Interessant wäre dann die Abschätzung wie genau der SOLLWinkel gemessen werden muss und welche Rolle die Positionierung des Sensors im Rahmen dieser Toleranz spielt.



Eine Lösung ist tatsächlich, statt des linearen P-Reglers in der Form y= a x einen nichtlinearen, z.B y = x^2 zu verwenden.

Bei dieser Variante wäre dann interessant, wieweit man die Nichtlinearität sinnvoll in die Steuerung einfliessen kann.
Dabei dürfte die Trägheit des Antriebsmotors eine wesentliche Rolle spielen. Wenn man von einem gegebenen System, z.B. dem Asuro ausgeht, werden die kleinen Getriebemotoren der Ansteuerung sicher nicht beliebig genau folgen.
Interessant ist also wie oft es überhaupt innerhalb einer Periode sinnvoll ist die Ansteuerspannung für die Motoren zu ändern, was dann wiederum die sinnvolle Messgenauigkeit mit der man den ISTwinkel erfassen muss beeinflusst.

Prinzipiell sollte man ja niemals mehr Aufwand betreiben als unbedingt nötig.
Da hier viele Grössen, z.B. Motorkennlinien, der genaue Schwerpunkt, Messgenauigkeit usw. nur sehr schwer zu ermittleln oder sogar nur grob abschätzbar sind, finde ich es in diesem Fall besonders interessant gleich im Vorfeld erst mal zu sondieren welche Genauigkeit und welcher Aufwand überhaupt noch Sinn hat.

Ein zu genau abgestimmter Regelalgorithmus hätte auch den unschönen Nachteil, dass man ihn bei jeder kleinsten baulichen Veränderung wieder neu anpassen müsste. Das wäre beim Asuro noch zu verschmerzen, aber bei einem anderen Roboter den man noch weiter ausbauen möchte ziemlich lästig.

Schön wäre natürlich auch, wenn man einige Werte, z.B. die günstigste ansteuerung für die Motoren empirisch ermitteln könnte und den Regelalgorithmus nach baulichen Veränderungen vielleicht sogar nur neu kalibrieren müsste.

Wenns schon Roboter gibt die selbstständig das Laufen lernen, wäre es in diesem Fall hier eine Überlegung, ob sie nicht auch selbständig balancieren lernen könnten.

UlliC
24.04.2005, 18:46
Hierzu würde es dann ja reichen den SOLLwinkel relativ genau zu messen, beim ISTwinkel müsste die qualitative Erfassung (grösser oder kleiner) ausreichen.
Interessant wäre dann die Abschätzung wie genau der SOLLWinkel gemessen werden muss und welche Rolle die Positionierung des Sensors im Rahmen dieser Toleranz spielt.

Damit keine Mißverständnisse entstehen: Den SOLLwinkel gibt man beim balancierenden 2-Rad Roboter im Programm vor, man muß ihn also nicht messen. Beim manntragenden Fahrzeug könnte man ihn z.B. mit einem Poti o.ä einstellen, muß aber nicht.
Bei der Messung des ISTwinkel reicht eine Genauigkeit von 7-8Bit.


Dabei dürfte die Trägheit des Antriebsmotors eine wesentliche Rolle spielen. Wenn man von einem gegebenen System, z.B. dem Asuro ausgeht, werden die kleinen Getriebemotoren der Ansteuerung sicher nicht beliebig genau folgen

Die Zeitkonstante der ASURO - Motoren ist klein gegenüber der mechanischen Zeitkonstante aufgrund der Trägheit des Systems. Ich habe das mit MATLAB simuliert:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=6791&start=88

Die Frage nach dem sinnvollen Aufwand kann man natürlich nicht so einfach beantworten.
Will man möglichst wenig Sensoren und ein simples Regelungsprogramm einsetzen, kann man ein robustes und gegen Parameterschwankungen unempfindliches System nicht erwarten.
Das geht nur, wenn man z. B einen vollständigen Zustandsregler realisiert und die vier erforderlichen Zustandsgrößen auch hinreichend genau erfaßt.
Mit meinem UCBalBot habe ich damit jedenfalls gute Erfahrungen gemacht

recycle
24.04.2005, 21:53
Damit keine Mißverständnisse entstehen: Den SOLLwinkel gibt man beim balancierenden 2-Rad Roboter im Programm vor, man muß ihn also nicht messen. Beim manntragenden Fahrzeug könnte man ihn z.B. mit einem Poti o.ä einstellen, muß aber nicht.

Da dachte ich mir, dass man den Roboter erst mal einfach in der gewünschten Position (Gleichgewicht) festhält und den dabei aktuellen Wert als Sollwert speichert.



Die Frage nach dem sinnvollen Aufwand kann man natürlich nicht so einfach beantworten.

Mit sinnvollem Aufwand habe ich auch eher das gemeint, was du als "hinreichend" bezeichnest. Mir ging es erst mal mehr darum, dass man die Messwerte nicht genauer und öfter erfasst als man sie im Regelalgorithmus überhaupt einfliessen lassen kann und in dem Algorithmus nicht mehr macht als die Mechanik überhaupt hergibt.

Ich gehe da etwas mehr von bestehenden Systemen aus. Wenn man z.B. dem Asuro balancieren beibringen will hat man ja weniger Möglichkeiten und andere Randbedingungen, als wenn man den Roboter von vorneherein aufs Balancieren hin konzipiert.



Will man möglichst wenig Sensoren und ein simples Regelungsprogramm einsetzen, kann man ein robustes und gegen Parameterschwankungen unempfindliches System nicht erwarten.

Klar, aber man braucht ja auch seine Erfolgserlebnisse ;-)
Wenn mans erst mal geschaft hat, dass das Ding eine Weile rumeiert ohne umzukippen, kann man ja immer noch optimieren und ausbauen, oder auf Basis des gelernten noch mal von vorne anfangen.

UlliC
24.04.2005, 22:30
Da dachte ich mir, dass man den Roboter erst mal einfach in der gewünschten Position (Gleichgewicht) festhält und den dabei aktuellen Wert als Sollwert speichert.

Ja, das funktioniert.


Ich gehe da etwas mehr von bestehenden Systemen aus. Wenn man z.B. dem Asuro balancieren beibringen will hat man ja weniger Möglichkeiten und andere Randbedingungen, als wenn man den Roboter von vorneherein aufs Balancieren hin konzipiert.

Du hast vollkommen recht.
Aber ich denke der ASURO bietet fast alle Voraussetzungen zum Balancieren. Er hat Inkrementalgeber (leider nur einspurig, aber immerhin) und man könnte einen Gyro und einen Neigungssensor installieren und per ADC abfragen. Auflösung des ADC und Rechenleistung der CPU sind auf jeden Fall ausreichend.


Klar, aber man braucht ja auch seine Erfolgserlebnisse
Wenn mans erst mal geschaft hat, dass das Ding eine Weile rumeiert ohne umzukippen, kann man ja immer noch optimieren und ausbauen, oder auf Basis des gelernten noch mal von vorne anfangen.

Das kann ich nur bestätigen.
Und ich hoffe, daß es viele versuchen werden, denn es gibt wohl kaum ein Robotikprojekt, wo man so viel über Antriebe, Sensorik und Regelungstechnik lernen kann.

Rubi
21.06.2005, 08:28
Hallo

Habe mir ein Daughterboard für meinen ADXL202 gebaut.
Meiner hat eine andere Bauform, war aber erstaunlicher weise
sehr komfortabel zu löten.
Auf Wunsch maile ich gerne das Layout (Bitte Emaildresse beifügen).
Die Qualität des Bildes ist leider ziemlich schlecht, habe es mit meinem Handy fotografiert.

Jetzt zu meiner Frage:
Bei mir gibt der eine PWM aus, die sich je nach Beschleunigung im Dutycycle ändert, in den Bildern vom Manf ist es eine Schwingung, die sich in der Frequenz und Amplitude ändert.
@Manf, wie hast du die PWM in diese Schwingung umgewandelt?

An welche Pins von einem Mega8, würdet ihr die Ausgabe hängen?

Die Ausgabe die Manf bekommt ist sympathischer, da man diese an den ADWandler hängen könnte.

LG
Rubi

Rubi
21.06.2005, 08:47
Man kann die Signale hochohmig als Spannungen an den Kondensatoren abgreifen, oder eben an den Ausgängen als Tastverhältnis.
Manfred

Ups, bitte um Entschuldigung das habe ich überlesen,...

Bleibt die Frage, was besser (genauer,..) ist, die Spannung abzugreifen, oder die PWM.
IMHO müste man , wenn man sich für die PWM entscheidet, einen ziemlichen Aufwand bei der Berechnung treiben.
Wie lange ist der Impuls Hihg, wie lange Low, Verhältnis der Dauer von High/Low,...

LG
Rubi

Manf
21.06.2005, 11:16
@Manf, wie hast du die PWM in diese Schwingung umgewandelt?
Das steht in meiner Beschreibung und im Datenblatt. Die Analogausgänge ohne PWM sind hochohmig verfügbar (und sie haben auch eine höhere Grenzfrequenz).
Die Spannung wird zuerst geblidet sie ist von daher genauer. Sie sollte natürlich nicht belastet werden und ein solches Signal kann leichter gestört werden.

Manfred

Rubi
22.06.2005, 08:20
@Manf

Hallo Manf

Mit welcher Software hast Du denn die Meßwerte aufgenommen ?
Dieses Bild (der xy Schreiber) schaut richtig gut lesbar aus.

LG
Rubi

Manf
22.06.2005, 09:34
Das ist ein Speicher-Oszilloskop HM205. Es gibt bei dem Gerät wohl auch einige Nachfolger Generationen.
Manfred

Rubi
22.06.2005, 09:50
Hallo Manf

Hast Du das Bild vom DSO fotographiert ?

LG
Rubi

Manf
22.06.2005, 10:09
Ja, ich habe es fotografiert.
Es ist machmal ganz praktisch ein Universalfoto zu haben, das man dann grafisch ergänzen kann. Worauf möchtest Du hinaus?, die Gestaltung des Rahmens und die farbliche Abstimmung mit dem Hintergrund finde ich auch sehr gelungen. O:)
Manfred

Rubi
22.06.2005, 10:21
Worauf möchtest Du hinaus?
Manfred

Das war es eigentlich schon.



die Gestaltung des Rahmens und die farbliche Abstimmung mit dem Hintergrund finde ich auch sehr gelungen. O:)
Manfred

Ich auch ;-)

Man erkennt aber nicht wirklich, das es sich um ein Photo handelt, zumindest ich nicht.
Es schaut eher danach aus, als hätte eine Software den Speicher vom DSO eingelesen und dann das Bild erstellt.

LG
Rubi

Involut
23.06.2005, 17:11
Hi,
gibt es eine Möglichkeit den Sensor in einer "Nicht SMD" Form oder besser Anschlussfertig zu bekommen
?
Ich bin schon im normalen Löten sehr schlecht und bei SMD hört es endgültig auf.
Ich würde gerne mit dem adxl 202 experimentieren aber diese SMD Sache hat mich immer davon abgehalten.

mfg

Involut

Rubi
24.06.2005, 06:18
Hi,
gibt es eine Möglichkeit den Sensor in einer "Nicht SMD" Form oder besser Anschlussfertig zu bekommen?
Ich bin schon im normalen Löten sehr schlecht und bei SMD hört es endgültig auf.
Ich würde gerne mit dem adxl 202 experimentieren aber diese SMD Sache hat mich immer davon abgehalten.

mfg

Involut

Hallo Involut

Nein, die gibt es nur in SMD.
Wenn Du an einem Board wie in den Bild oben interessiert bist,
sende mir eine Email.


LG
Rubi

Involut
10.07.2005, 17:06
Kurze Frage:
Welche Spannung sollte ein Korrekt funktionierender Sensor bei welcher Beschleunigung ausgeben?

mfg

Involut

Manf
10.07.2005, 17:42
Welche Spannung sollte ein Korrekt funktionierender Sensor bei welcher Beschleunigung ausgeben?

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=75159#75159

http://www.androidworld.com/ADXL202E_a.pdf

Das Datenblatt war für den Zweck extra angegeben steht der Wert nicht drin?

Doch, hier unter Sensitivity:
Duty cycle bei Vdd=5V: 12,5% /g
X filt, Y filt bei Vdd =5V: 312 mV/g

Involut
10.07.2005, 18:42
Danke Manf,
ich weiß das man viel Schelte bekommt wenn man Sachen aus dem Datasheet fragt und idr. auch zu recht.
Allerdings habe ich nun wiede rkeien Ahnung was dieses Duty cycle etc. und x filt und x filt beduetet?

mfg

Involut

Manf
10.07.2005, 19:03
X und X sind die Spannungen die für die x und y Beschleunigungen stehen. Sie sind direkt am filt (er) abgreifbar als Spannungen.
Als Tastverhältnisse (duty cycle); (PWM-Signale) stehen sie auch zur Verfügung. Sie können als PWM Werte besser störungsarm übertragen werden.
Manfred

Involut
10.07.2005, 19:48
..also 12.5% per g heist soviel wie 5 v * 0,125 = 0,625 v pro g beschleunigung?

mfg

inv

Manf
10.07.2005, 20:12
Ja, so in der Größe habe ich die Werte auch in Erinnerung nicht sehr viel, aber deutlich meßbar.
Was "duty cycle" oder PWM ist, ist schon klar oder?
Manfred

Involut
10.07.2005, 22:28
Okay auch wenn ich mich in der beziehung als noob oute:
PWM: ist klar
Duty cycle:nicht klar

mfg

inv

Manf
10.07.2005, 22:59
Duty cycle ist die relative Einschaltdauer, das Tastverhältnis oder der PWM Wert.
Stöbere bei solchen Begriffen auch ein bisschen im Netz, manchmal gibt es da gut Erklärungen, hauptsächlich für Begriffe deren Bedeutung man schon kennt, nur nicht unter dem Namen.
Manfred

Involut
11.07.2005, 08:16
Hallo und Danke nochmal jetzt denke Ich das verstaden zu haben.
PWM Signale kannte ich bis jetzt nur als Ausgabe Signale um zb. Motoren zu Steuern oder Servos.
Im Endeffekt ist es doch eine Form der DA Wandlung(bei Motorsteuerung mit l293) und eine Form der Datenübertragung(servos)?

Wie wird das PWM in einem AVR als Eingangsignal ausgewertet?
Ich könnte mir vorstellen das die Hi Flanke einen Interrupt auslöst in welchem dann ein Timer gestartet wird.
Die low Flanke löst dann wieder einen Interrupt aus welcher den Timer Stoppt.
Aber das ist wohl etwas zu kompliziert?
Bietet denn speziell das PWM Ausgangsignal beim adxl 202 Vorteile?

mfg

Involut

Manf
11.07.2005, 09:03
X und X sind die Spannungen die für die x und y Beschleunigungen stehen. Sie sind direkt am filt (er) abgreifbar als Spannungen.
Als Tastverhältnisse (duty cycle); (PWM-Signale) stehen sie auch zur Verfügung. Sie können als PWM Werte besser störungsarm übertragen werden.
Manfred
Wie gesagt, schnelle Reaktion über die Analogwerte Störsicherheit über PWM.
Manfred

Involut
11.07.2005, 12:48
..aha und kann ich ein PWM mit einem AVR decodieren ohne den oben beschieben sehr komplizierten weg zu gehen?

mfg

involut

Manf
11.07.2005, 13:34
Ja, man kann ein PWM Signal immer auch über einen Tiefpass in einen Analogwert umwandeln und den über einen A/D Wandler einlesen.

In einem anderen Zusammenhang könnte das auch Sinn machen.

Hier wird der PWM Wert aus einem Analogwert erzeugt und der Analogwert steht an einem anderen Ausgang des Beschleunigungssensors noch zur Verfügung. Da wird es im allgemeinen keinen Sinn machen das PWM Signal über einen Tiefpass wieder in einen Analogwert zurückzuwandeln um ihn vom Controller aufzunehmen.
Manfred

Involut
02.11.2005, 14:50
Hallo,
nach einer laaaangen Sommerpause will ich mich nun wieder dem Thema widmen.
Nach einigen Messungen bin ich zur Überzeugun gekommen dass das Signal vom Ad wandelr des AVR nicht genau genug aufgelöst wird.
Selbst wenn ich einen Spannungsteiler einsetzt und auf 2.5 V Uref schalte ist das nicht sehr genau.

Also hier meine Idee:
Mit dem Multimeter habe ich gemessen dass der ADXl bei 0g etwa 2.3 und etwa 2.6v bei 1g abgibt.
Ich würde nun einen OP-Subtrahierer vorschalten der 2.3v abzieht und Anschliessend einen nicht invertierenden OP mit der Verstärkung 16.
So könnte ich die fast volle AD-Auflösung bei 5V messen, oder?

Leider weiss ich nur dass es diese OP Schaltungen gibt und wie sie in etwa(Schematisch, diese Darstellung mit Dreicken und so) aussehen.
Ich weiss nicht welchen OP ich nehmen sollte(nur dass es da schon grosse Preisunterschiede gibt) und ob es sie schon fertig beschaltet gibt.

Wenn mir da jeman ein Bauteil/Schaltung empfehlen könnte wäre ich sehr dankbar.

mfg

Involut

Manf
02.11.2005, 15:08
Der TLC272 ist bei kleinen Spannungen ganz gut und preiswert.
Manfred

Rubi
02.11.2005, 15:27
Hallo

Warum setzt Du denn nicht die Referenz des AD herab?
Niemand sagt das die Bandbreite von 5 V in Stein gemeiselt ist.

LG
Rubi

Involut
02.11.2005, 16:43
Hi,
@manf thanx werde ich mir mal ansehen.

@rubi
So weit ich weiss kann man zwar eine beliebige Ref Spannung anlegen(mal abgesehen davon dass das auch etwas Aufwand ist) aber dann habe ich doch immer noch nicht die Volle Auflösung oder?
Angenommen es ist so dass die Ref Spannung 2.6v beträgt dann wird doch, bei 10 bit der Bereich von 0-2.6 v in 1023 Schritte eingeteilt?

mfg

Involut

Involut
02.11.2005, 17:04
..ach ja nochwas.
Wenn ich den Sensor über PWM (Bascom Pulsein) auswerte habe ich dann eine höhere Genauigkeit?
@Rubi
wenn ja könntest Du mir nochmal sagen wofür das Poti auf deiner Platine dann zu benutzen ist?

mfg

Involut

recycle
02.11.2005, 19:03
Wenn ich den Sensor über PWM (Bascom Pulsein) auswerte habe ich dann eine höhere Genauigkeit?

Wenn der ADXL das PWM-Signal intern aus der analog Spannung generiert, kann es eigentlich nicht genauer sein.

Was natürlich sein kann ist, dass du das PWM Signal genauer auswerten kannst als das Analog-Signal. Das liegt dann an deiner Messchaltung und nicht am Signal.

Grundsätzlich lässt sich das PWM Signal mit dem Pulsein-Befehl in Bascon sehr einfach auswerten.
Von der Genauigkeit her ist der Pulsein-Befehl allerdings nicht so dolle.
Wenn ich mich richtig erinnere, wartet der Befehll bis zur steigenden Flanke des Einganssignals und startet dann einen Zähler. Der Zähler wird dann alle 10 µS hochgezählt und sobald die fallende Flanke auftritt wird der Zählerstand als Ergebnis ausgegeben.

Die Periodendauer des PWM Signals kannst du bei dem ADXL über einen Widerstand einstellen. Die längste Periodendauer die im Datenblatt angegeben ist, ist 10 ms. Bei einem Duty-Cycle von 12,5/g entspricht das 1,25 ms/g. Wenn du diesen mit 10µS auflöst und den Digitalisierungsfehler berücksichtigst kommst du auf keine besonders berauschende Genauigkeit.
So aus dem Gedächnis heraus meine ich, ich habe damals mit einer Genauigkeit von +-3 Grad kalkuliert. Können auch +- 2 gewesen sein, ist schon einige Monate her, dass ich damit herumexperimentiert habe.

Wie genau du das Messergebnis für einen balancierenden Roboter brauchst, hängt aber auch von dessen Aufbau, z.B. Gewicht, Drehmoment der Motoren, grösser der Räder usw. ab. Allzu gross darf die Neigung ja meist nicht werden, damit es überhaupt noch möglich ist das Ding aufzufangen.

Ein weiterer Nachteil des Pulsein-Befehls ist, dass der nicht mit Interrupts arbeitet, sondern von der steigenden bis zu fallenden Flanke hochzählt. In dieser Zeit läuft dein Programm also nicht weiter, und was noch unangenehmer ist - wenn du in deinem Programm Interruptroutinen verwendest und die während des Pulsein-Befehls ausgeführt werden, wird das Messergebnis verfälscht.

Um erst mal ein bischen Gefühl für den ADXL zu bekommen und ein paar Experimente zu machen ist der Pulsein Befehl gut.
Wenn der Controller aber später noch was anderes machen soll als den ADXL auslesen, würde ich entweder das PWM Signal über eine bessere Routine mit Interrups auslesen oder halt doch das Analog-Signal auswerten.

Wie weit bist du denn mit deinen Experimenten mit dem ADXL schon gekommen?
Ich hatte damals das Problem, dass die Beschleunigung durch das Kippen und Aufrichten des Fahrgestells mein Messergebnis arg verfälscht haben.
Der ADXL misst ja leider nicht nur die Erdbeschleunigung sondern alle Beschleunigungen.

Involut
02.11.2005, 23:30
Hi,
erstmal Danke für die Erläuterungen!

Also zum ADXl 202

Ich benutze die RN Control und habe den Sensor an der Analogport A angeschlossen.
Über diesen Port erfolgt auch die Stromversorgung.

Ich habe 2 100kohm Wiederständ, als Spannungsteiler und Messe zwischen diesen beiden.
Die Interne Ref Spannung ist auf 2.5v gestellt.

Die Anzeige ist folgendermassen:
400 -1g
450 0g
500 +1g

Kleine neigungen unter 10° werden kaum registriert und wenn ich den Sensor Snekrecht zur gemessenen Achse auf dem Tisch hin und herbewege ergeben sich auch Werte zwischen 400 und 500.
obwohl sich doch eigentlich nichts tuen sollte?

Auf dieser Grundlage ist es absolut unmöglich auch nur näherungsweise einen TWR damit auszuregeln.
Im Moment kann ich den Sensor höchstens alls Erschsütterungssensor nehmen.
Oder vieleicht um Senkrecht und Waagerecht zu unterscheiden.

Wenn diese gyros nur nicht so teuer wären.
Der nbot hat ja einen für mehere hundert $.
Bei Sander gibt es welche für knapp unter 100€, aber soviel Geld zu investieren und dann nicht zu wissen ob es nützt ist ja auch nicht gerade toll.

Ich weiss das diese Frage eigentlich nicht hier hingehört aber gibt es nicht Entfernungsensoren wie den Sharp, welche aber genauer und schneller sind?

mfg

Involut

recycle
03.11.2005, 00:56
@Involut


Ich benutze die RN Control und habe den Sensor an der Analogport A angeschlossen.

Habe ich nach meinen Versuchen über PWM und Pulsein auch so gemacht



Über diesen Port erfolgt auch die Stromversorgung.

Ich glaube nicht, dass das eine Rolle spielt, aber ich habe den ADXL über VCC gespeist.



Ich habe 2 100kohm Wiederständ, als Spannungsteiler und Messe zwischen diesen beiden.
Die Interne Ref Spannung ist auf 2.5v gestellt.

Ich habe den Analog-Ausgang vom ADXL über einen 1k Widerstand direkt an den AD-Eingang gehängt und mit 5 Volt Referenzspannung gearbeitet.
So ganz ist mir nicht klar wie deine Schaltung aussieht. Mit einem Spannungsteiler verkleinerst du aber doch das Messergebnis. Damit hebt sich der Vorteil durch die kleinere Referenzspannung doch wieder auf.




Die Anzeige ist folgendermassen:
400 -1g
450 0g
500 +1g

Von den Zahlenwerten (Messwerten) kommt mir das bekannt vor.
Ich vermute allerdings, dass mit den g hast du falsch verstanden. 1g ist die Erdbeschleunigung. Je nachdem wie du den Sensor montierst, misst du die bei 0 oder bei 90 Grad Neigung. 0 g misst du dementsprechend bei 90 oder bei 0 Grad Neigung.
Wenn du -1g misst, müsste dein Sensor in absehbarer Zeit in der Stratosphäre verschwinden ;-)



Kleine neigungen unter 10° werden kaum registriert und wenn ich den Sensor Snekrecht zur gemessenen Achse auf dem Tisch hin und herbewege ergeben sich auch Werte zwischen 400 und 500.
obwohl sich doch eigentlich nichts tuen sollte?


Der ADXL 202 besteht eigentlich aus 2 Sensoren die senkrecht zueinander stehen. Kann es sein, dass du einfach nur die falsche Achse misst?
Bei mir haben sich die Messwerte auch ungefähr zwischen 400 und 500 bewegt. Neigungen um die 10 Grad konnte ich damit aber deutlich erfassen.
400-500=100
180Grad/100=1,8 Grad. Eine Abweichung von ca. 3 Grad solltest du also schon erfassen können.



Auf dieser Grundlage ist es absolut unmöglich auch nur näherungsweise einen TWR damit auszuregeln.

Das mag sein. Mir ist es wie gesagt auch nicht gelungen. Allerdings lag das weniger an der Genauigkeit des Sensors als an dem an der Beschleunigung durch die Pendelbewegung des Fahrgestells selber. Die hat nichts mit dem Winkel zu tun, der Sensor misst sie aber logischerweise mit.



Im Moment kann ich den Sensor höchstens alls Erschsütterungssensor nehmen.

Da würde ich mir das Datenblatt nochmal genauer ansehen. Für mich hört sich deine Beschreibung etwas danach an, als würdest du dein Ergebnis entweder falsch interpretiren oder der Sensor ist falsch beschaltet. Die Widerstandswerte und Kondensatoren spielen ja auch eine Rolle für das Messergebnis.



Oder vieleicht um Senkrecht und Waagerecht zu unterscheiden.

Wenn du das an den Messergebnissen eindeutig unterscheiden kannst, ist das wenigstens schon mal ein Schritt in die richtige Richtung. Es geht mit dem ADXL 202 aber wesentlich genauer. Überprüfe nochmal deine Schaltung.
(Ich gehe mal davon aus, dass du einen ADXL mit Messbereich bis 2 g und keinen mit Messbereich bis 10g hast.)




Wenn diese gyros nur nicht so teuer wären.
Der nbot hat ja einen für mehere hundert $.
Bei Sander gibt es welche für knapp unter 100€, aber soviel Geld zu investieren und dann nicht zu wissen ob es nützt ist ja auch nicht gerade toll.

Ich habe mir damals bei Conrad einen Modellbau-Gyro für 35 Euro gekauft. Bin allerdings bisher noch nicht dazu gekommen den anzuschliessen.



Ich weiss das diese Frage eigentlich nicht hier hingehört aber gibt es nicht Entfernungsensoren wie den Sharp, welche aber genauer und schneller sind?

Ich habe es damals auch mit einem Sharp GP2D12 probiert. Obwohl der von der Auflösung her schlechtere Ergebnisse lieferte und von der Messung her wesentlich langsamer ist als der ADXL. habe ich damit in Richtung balancieren wesentlich bessere Ergebnisse erzielt.
Meine Software zur Regelung war in beiden Fällen gleich und ziemlich primitiv.

Der Vorteil an dem Sharp ist einfach, dass der den Winkel über die Entfernung misst und die Fehlmessung durch die Beschleunigung beim Kippen und Aufrichten nicht eingeht.

Der Nachteil ist allerdings, dass der Sharp Sensor auf unterschiedliche Farben reagiert. Ein schwarz/weiss gestreiferter Teppich ist da z.B. kein besonders geeigneter Untergrund.

Versuchs doch einfach mal mit dem PWM Signal und dem Pulsein-Befehl in Bascom. Auch wenn das nicht genau genug fürs Balancieren funktioniert, bekommst du damit erst mal ein bischen Gefühl für deinen ADXL.

Involut
03.11.2005, 01:34
Hi,
...also Bist du auch noch wach...

Also um es mal anders zu Formulieren
400 bei 0 Grad
450 bei 90 Grad
500 bei 180 Grad

ich dachte das Minus bezieht sich auf die Achse.

Ich messe zum probieren nur eine Achse
Was die Genaugigkeit angeht erkläre ich mir das so:

Wenn ich "nahe" der Senkrechten bin ist Änderung der Erdbeschleunigung weniger stark Abhängig von der Änderung des Winkels als bei 45°(Wegen Sinus und Cosinus)?

Was die Beschaltung angeht so habe ich das Daughterboard von Rubi bekommen. Ich geh mal davon aus das er das sehr gut gemacht hat.

Was den Spannungsteiler angeht hast Du Recht...man das ist echt Blöde von mir gewesen. #-o

Die Frage ist jetzt ob das so aussreicht von der Genaugikeit. Man muss natürlich Versuche machen ,aber wenn man vorher wüsste dass es zum Scheitern verurteilt ist könnte Man sich viel (unütze)Arbeit sparen.

Im Endeffekt braucht man ja mindestens einen Sharp und den adxl 202.
Vor allem bin ich gespannt ob ein 3 Punkt regler reicht.

mfg

Involut

Rubi
03.11.2005, 13:14
@Rubi
wenn ja könntest Du mir nochmal sagen wofür das Poti auf deiner Platine dann zu benutzen ist?


Damit kannst Du die PWM frequenz festlegen, wenn du nicht den ADC Ausgang verwenden möchtest.
Vielleicht wäre das in deinem Fall die einfachere Lösung.

Bei 2,56 V ADD hast Du eine Auflösung von 0,0025V .
Ist Dir das wirklich zu grob ?

LG
Rubi

Involut
03.11.2005, 17:04
Hi,
ich werde mal schauen ob die genauigkeit reicht. Im 2 Rad robo treat habe ich mal ein Bild vom Aufbau gepostet.

mfg

Involut

recycle
03.11.2005, 20:56
Wenn ich "nahe" der Senkrechten bin ist Änderung der Erdbeschleunigung weniger stark Abhängig von der Änderung des Winkels als bei 45°(Wegen Sinus und Cosinus)?

Damit liegst du richtig. Siehe Datenblatt Seite 11 links unten: http://www.androidworld.com/ADXL202E_a.pdf
Sollte aber kein Problem sein, denn du kannst den Sensor doch einfach um 90 Grad gedreht montieren.



Die Frage ist jetzt ob das so aussreicht von der Genaugikeit. Man muss natürlich Versuche machen ,aber wenn man vorher wüsste dass es zum Scheitern verurteilt ist könnte Man sich viel (unütze)Arbeit sparen.

Das stimmt wohl. Andererseits macht aber doch gerade das Probieren und Experimentieren den Spass aus. Wenn das Ding erst mal richtig balancieren kann wird es doch schnell langeweilig. Deswegen bin ich gar nicht unbedingt am effektivsten Lösungsweg interessiert.
Außerdem finde ich, dass man aus den Fehlschlägen fast am meisten lernt. Wenn mir jemand sagt: "Das geht nicht", lasse ich es bleiben und fertig. Wenn ich selber herausfinde, dass etwas nicht geht, habe ich nachher meistens einen Eindruck warum es nicht geht und wo die Schwierigkeiten liegen.
Dass so ein balancierender Roboter nicht ganz einfach ist und es mit einem ADXL und ein paar Zeilen Programmcode nicht getan ist, kann man ja fast auf allen Webseiten zu dem Thema nachlesen.
So richtig geglaubt habe ich es trotzdem erst nachdem ich lange erfolglos damit rumexperimentiert habe ;-)

Involut
04.11.2005, 13:17
Hi,
deine Einstellung gefällt mir.

Also wenn die Hardware steht und es in Richtung Software geht, muss man glaube ich die alten Regelungstechnik Sachen rausholen.

Ich denke einen Wirkungsplan von dem TWR zu machen ist noch zu schaffen.

Dann müsten man das Übertragungsverhalten ermittlen; schon schwerer.

Und am Ende muss es halt Stabil sein......ich glaube eine Ungerade Anzahl von Minuszeichen im Wirkungsplan ist dafür hinreichend ;)

Achja wo ich gerade so schön am Träumen bin, wenn der TWR Stabil steht und fährt wäre natürlich es sehr schön wenn er auch noch "aufstehen" könnte.:-k

mfg

Involut

Rubi
04.11.2005, 13:56
Hallo Involut

Ich denke das balanzieren sollte machbar sein, mit dem ADXL202 ausschließlich.
Das Problem ist nur sobald er fährt die Beschleunigung abzuzziehen, wie schon of gesagt.
Außerdem je schneller er sich bewegen soll desto mehr muß er sich nach vorne neigen.
Das und dann auch noch die Drift in den Grif zu bekommen ist IMHO die Hauptschwierigkeit.

LG
Michael

recycle
04.11.2005, 17:24
Außerdem je schneller er sich bewegen soll desto mehr muß er sich nach vorne neigen.

Das habe ich mir eigentlich bisher eher umgekehrt vorgestellt.
Wenn der Roboter balancieren soll, muss ich meiner Regelung doch einen Soll-Wert vorgeben. Dieser Sollwert sollte normalerweise der Wert sein, bei dem der Roboter gerade (aufrecht) steht.
Wenn ich diesen Sollwert verschiebe, versucht die Regelung den Roboter in einer geneigten Position zu halten. Das kann sie aber glaube ich nur, wenn sie den Roboter dabei in Richtung der Neigung bewegt.

Wenn ich da richtig liege, müsste man also nur den Sollwert der Regelung verschieben, damit der Roboter sich in eine Richtung bewegt und je mehr man ihn verschiebt, desto schneller fährt er - bis er umkippt ;-)

Kann aber sehr gut sein, dass ich mir auch das viel zu einfach vorgestellt habe.
Um Kurven zu fahren reicht das Verschieben des Sollwertes natürlich nicht, aber über Kurven zerbreche ich mir jetzt auch noch ganz sicher nicht den Kopf ;-)

Rubi
08.11.2005, 12:50
Hallo Recycle

Also bin mir nicht sicher aber Kurven fahren habe ich so ein Ding nocht nicht gesehen. (Außer es wird eine Regelung um den Schwerpunkt zu verschieben eingebaut).

Die fahren eigentlich "chaotisch".
D.h. nach vorne bis sie wo anstoßen, zurück,... Dabei entsteht schon so
was wie Kurven, schon alleine durch den Richtungswechsel,...

LG
Michael

Günter49
08.11.2005, 13:42
Also bin mir nicht sicher aber Kurven fahren habe ich so ein Ding nocht nicht gesehen.

Z.B. hier kann man sehen, dass die Dinger auch Kurven fahren:
http://www.balbots.com/
Der BalBot nutzt übrigens zur Lageerkennung nur die üblichen Sharp-Infrarot-Entfernungssensoren(wahrscheinlich GP2D12 bzw. GP2D120).

Gruß, Günter

Rubi
08.11.2005, 14:09
SORRY

War blödsinn, habe mich selber verwirrt !!! mit der Schräglage,...
Danke Günter für den Hinweis

LG
Rubi

Richard
04.03.2006, 15:27
Wie habe ich mir so einen Regelalgorithms denn überhaupt vorzustellen?
(Ich gehe als erstes Etappenziel mal nur vom Balancieren ohne umzukippen aus,

Beim Einrad wird der Regelalgorithmus tatsächlich nicht verändert. Der Regler ist analog mit Operationsverstärkern realisiert. Der Winkel wird ständig mit einem Poti gemessen.

Moin moin,

Ich fange gerade mit Beschleunigungs Sensoren an, Kann man die Analogen Signale entsprechend aufbereitet, nicht diereckt zum Gegensteuern von Kipp Bewegungen und auch zum Geradeaus Fahren einsetzen? Dann würde der Prozessor nur noch als über geordnete Steuereinheit für den richtigen Kurs sorgen müssen...

Also ähnlich eines Gyros beim Modell Hubschrauber, der hält autonom und analog den vom Übergeordnetem Piloten Sender Befehl, die Richtung stabil.

Gruß Richard.

Manf
04.03.2006, 20:15
Kann man die Analogen Signale entsprechend aufbereitet, nicht diereckt zum Gegensteuern von Kipp Bewegungen und auch zum Geradeaus Fahren einsetzen?
Die Signale des Beschleunigungssensors geben einfach die gemessene Beschleunigung an.

Am Anfang des Threads wurde ja diskutiert woraus sich die Beschleunigung zusammensetzt, der Winkel zur Erdbeschleunigung und die Beschleunigung der Bewegung.

Möchtest Du einen Vorschlag zum Balancieren machen?
Manfred

Richard
05.03.2006, 08:08
Kann man die Analogen Signale entsprechend aufbereitet, nicht diereckt zum Gegensteuern von Kipp Bewegungen und auch zum Geradeaus Fahren einsetzen?
Die Signale des Beschleunigungssensors geben einfach die gemessene Beschleunigung an.

Am Anfang des Threads wurde ja diskutiert woraus sich die Beschleunigung zusammensetzt, der Winkel zur Erdbeschleunigung und die Beschleunigung der Bewegung.

Möchtest Du einen Vorschlag zum Balancieren machen?
Manfred

Ich habe mir den ganzen Thread duchglesen, was ich meinte war das dieses Analoge Ausgangssignal des Sensors mit einer Analogen Ausgangsspannung eines Potis vergleichbar ist und damit steuert man ja auch Servos im Modellbau vor/zurück. Das Sensorsignal mittels OP entsprechend verstärkt/abgeschwächt, je wie es benötigt wird, sollte also solch ein Servomotor entsprechend der Beschleunigung beim Kipp Vorgang entgegen Steuern können.

Ich habe mir jetzt einen Sensor mit Testboard bestellt, mal schauen was die Praxis dazu sagt....

Gruß Richard

adonis1982
29.03.2006, 13:37
so jungs neues glueck neues spiel, ich bin neu und das spiel heisst, gibt es auch einen sensor der alle drei achsen auslesen kann oder nur unseren kleinen freund hier mit 2achsen? weil wenn unser kleiner freund adxl schon das revolutionärste ist, dann muss ich wohl mehrere von ihnen vereinen um getäuschte x,y,z herauszubekommen.
eigentlich eine einfache frage...jetzt einfach anworten,
die neue

tobimc
29.03.2006, 13:43
Hi

Nein. Wenn du 3 Achsen mit jeweils 2g brauchen kannst, dann kannst du den ADXL330 nehmen. Der wurde spetiell für Handys entwickelt, und soll daher auch ganz besonders billig (!!) sein.
-> zumindest laut c't

VLG Tobi

Nachtrag: Sind anscheinend sogar 3g pro Achse

adonis1982
29.03.2006, 13:49
wunderbar,dank und weitermachen

adonis1982
29.03.2006, 14:12
okay so schnell ist dann doch noch nicht feierabend gesagt...
habt ihr mal versucht auf seine temperaturwiderstandfähikeit zu testen, in dem pdf-manual wird eine range von bis zu 70grad angegeben, aber ich muesste den eingepackten sensor in die SPUELMASCHINE schmeissen können, sprich 134grad sollte das ding mehrmalstäglich abkönnen...kommentare?
danke

tobimc
29.03.2006, 17:00
HI

DAS sollte ebenfalls im DS stehen... :D
(Aber im Normalfall dürfte er das schon vertragen, wenn du ne halbwegs isolierende Verpackung drumrumpackst...)

Ohne Gewähr versteht sich...

VLG Tobi

Crazy Harry
30.03.2006, 06:33
kennt ihr das schon ?

http://www.ploechinger.com/inclinos_d.html

cmorgen
30.03.2006, 08:31
Sieht gar nicht schlecht aus!
Aber die Teile scheint´s nocht nicht zu geben :(

Allerdings kann ich mir irgendwie schwer vorstellen, wie man bei so nem großen Messbereich auf die Genauigkeit kommt.
Aber vielleicht fehlt mir da ja auch nur die nötige technische Phantasie :-k

Crazy Harry
31.03.2006, 08:01
Sieht gar nicht schlecht aus!
Aber die Teile scheint´s nocht nicht zu geben :(

Allerdings kann ich mir irgendwie schwer vorstellen, wie man bei so nem großen Messbereich auf die Genauigkeit kommt.
Aber vielleicht fehlt mir da ja auch nur die nötige technische Phantasie :-k

ich hab mit dem herrn plöchinger gemail und muster sind lieferbar - mehr als muster brauchen wir doch sowieso nicht. die platine kostet übrigens 120 €

Manf
31.03.2006, 10:27
Ja, mit dem Herrn Ploechinger habe ich mich letztes Jahr in Nuernberg auf der Messtechnikmesse am Stand ausfuehrlich unterhalten und ihm dann auch noch einmal als Anregung den Link zu diesem Thread geschickt. https://www.roboternetz.de/phpBB2/viewtopic.php?p=81263#81263

Die Konvektionssensoren sind sicher gute Beschleunigungssensoren.
Manfred

Devil_RR
12.12.2006, 15:35
wollte gern diese bauteile einmal posten, ne sehr schöne lösung wenn man wenig löten will oder kann.

http://www.dimensionengineering.com/DE-ACCM2G.htm

falls schon bekannt, sorry.

Minifriese
19.02.2007, 13:10
Moin moin!

Ich würde gerne nochmal auf die Signalaufbereitung zurückkommen. Irgendwo hier hat ja schonmal jemand gefragt, wie man am besten von den 2,2..2,8 V auf 0..5V kommt. Ich hab mir dazu mal die folgende Schaltung überlegt. Hoffentlich blamier ich mich damit nicht zu sehr ;-) Dummerweise funktioniert sie nicht so, wie ich mir das vorstelle. Bei 2,5 V am Eingang messe ich 1,4V am Ausgang, was ja nicht sein sollte. Kann es daran liegen, daß ich den OPV (TL084) an 5V und GND betreibe? Dieser Mist mit +-15V ist ja nun für ne 5V-Schaltung etwas zu aufwendig, und ich habe mir von einem Kollegen sagen lassen, daß dieser OPV auch mit 5V laufen sollte. GND ist natürlich für alle auftretenden Spannungen (IN, OUT, Vcc am OPV) das gleiche.

Vielleicht könnte mal jemand drüberschauen, der von Elektronik mehr Ahnung hat als ich?

Danke,

Nils

Manf
19.02.2007, 13:26
Der TL084 arbeitet bei 5V schon noch, nur eben als Kleinsignalverstärker.
Er kommt mit dem Ausgang aber nur bis auf 1,5 bis 2V an die Grenzen, da bleibt in der Mitte nicht viel.

Wie wäre es mit TLC272
• Common-Mode Input Voltage Range
Extends Below the Negative Rail (C-Suffix,
I-Suffix types)
• Output Voltage Range Includes Negative
Rail

Minifriese
19.02.2007, 14:14
Moin!

Hm. In der schönen Bauform wie TL084 (vier Kanäle, DIP-Gehäuse) finde ich jetzt gerade nur den TLC274, der hat aber auch diese Eigenart, die du erwähnst, das mit der negative rail. Aber was soll das heißen? Ich meine, die Wörter verstehe ich, aber nicht den Sinn?? Ist das ein prinzipielles Problem, daß das Ausgangssignal eines OPVs nicht näher als ein paar Volt an die Betriebsspannungspotentiale herankommt?

Im Datenblatt vom TLC274 steht jetzt was von Common Mode und Vdd=5V, wozu dann bestimmte "Suffix"e angegeben sind. Was bedeuten die??
Als normale Versorgungsspannung sind 18V angegeben. Da bräuchte man immerhin schon keine negative Spannung mehr. Ist ja schon mal ein Fortschritt... Aber sind denn Anwendungen wie diese so selten, daß man nur 5V als Versorgungsspannung auf der Platine hat und mit dem 5V-Eingang eines MC ein verstärktes Signal messen will? Kann doch nicht sein, daß es keine OPVs gibt, die sowas können!

Und ist denn meine Schaltung als solche vernünftig? Wenn ich sie zum Beispiel (mit TL084) mit +-15V betreiben würde, woher auch immer ich die bekommen sollte, würde sie dann funktionieren?

Gruß,

Nils

nico23
22.03.2007, 21:15
Hallo Leute!
Ich bin noch ziemlich neu hier und habe noch die ein oder andere Anfängerfrage. Da ich auch etwas mit Beschleunigungssensoren plane bin ich auf diesen Thread hier gestoßen.
Ich habe mir jetzt auch mal das Datenblatt durchgelesen. Allerdings werde ich aus der einstellbaren Bandbreite nicht ganz schlau.
Ich verstehe das so, je höher die Bandbreite desto besser die Auflösung des Sensors (bei 60Hz -> 2mg). Bedeutet das automatisch das der Sensor 60mal pro Sekunde am Ausgang einen neuen Wert, bzw. Spannung liefert?
Was ist der Nachteil der hohen Bandbreite? Rauschen? Dann würde ja diese einstellbare Bandbreite eine simple Form eines Rauschfilters sein, oder?
Vielleicht bringe ich jetzt auch ein paar Sachen durcheinander. Vielleicht könnt ihr mich aufklären?! ;)
Gruß!

nico

jeffrey
23.03.2007, 09:26
Hi,
ich habe mir das datenblatt jetzt nicht angesehen, aber normalerweise hat die bandbreite nichts mit der Auflösung zu tun. Die bangbreite bestimmt, mit welcher frequenz sich das Eingangssignal ändern darf, damit dies noch am Ausgang regisriert wird. Da Rauschen meist viele hochfrequente anteile enthält kann mit der begrenzung der Bandbreite das Rauschen ausgefiltert werden.
MfG Jeffrey

Manf
23.03.2007, 09:51
Es meint wohl die zeitliche Auflösung.
Bei einer analogen Schaltung heißt das, dass es sich lohnen kann den Wert entsprechend einer Rate im Bereich der (doppelten) Grenzfrequenz zu messen. Wenn man den Wert nicht öfter benötigt kann man die Grenzfrequenz entsprechend absenken.

Es ist ja im Datenblatt beschrieben wie man die Bandbreite des Sensors einstellen kann. Wenn es Unklarheiten zum Datenblatt gibt dann wäre es am einfachsten die entsprechende Stelle zu diskutieren.
Manfred

nico23
23.03.2007, 14:55
Hallo!
Nein, zur Einstellung der Bandbreite habe ich keine Fragen. Das läuft ja durch Beschaltung entsprechender Kondensatoren. Ich habe nur nicht verstanden was mit Bandbreite gemeint war.
D.h. wenn ich den Wert des Sensors sowieso nur 10 Mal pro Sekunde wissen will kann ich auch die Bandbreite des Sensors auf 10Hz setzen?

Manf
23.03.2007, 14:59
Ja, so ungefähr, vielleicht nicht ganz so knapp je nach Anwendung, aber mehr als 30Hz wird er dann nicht brauchen.

nico23
23.03.2007, 15:03
Alles klar... Langsam ergibt das Ganze hier dann langsam auch für mich einen Sinn! ;)

Hellmut
17.02.2009, 13:35
Ein uralt Thread, möchte aber meine Frage an dieser Stelle stellen.
Ich möchte auf einem Segelboot eine Antenne immer senkrecht stellen damit so die Empfangsstärke maximal ist. Hierzu muß ich die Lage des Segelbootes um die Längsachse ermitteln und danach einen kleinen Schrittmotor aus einem alten CD-ROM-Laufwerk steuern. Alle Beiträge die ich per Suchfunktion "Lagesensor" fand und studierte sprechen von der Verwendung von Sensoren welche die Beschleunigung messen. Die Beschleunigung über die Zeit ermöglicht es einen Drehwinkel mehr oder minder exakt zu berechnen. Tötlich für meine Anwendung ist aber das das System nicht kalibriert werden kann, bzw. die sich summierenden Fehler durch Kalibration im Betrieb nicht zu korrigieren sind.
Liege ich hier mit meiner Erkenntnis richtig? Ich wollte eigentlich keine mechanische Lösung verwenden, es bleibt mir wohl nichts anderes übrig, oder?
Mechanisch würde ich mir ein kleines Pendel vorstellen welches die Achse eines Drehpotis dreht und über die Auswertung des Widerstandes die Lage-Info gibt. Da der Poti fest in Bezug auf den Rumpf des Bootes eingebaut ist liegt der Widerstandswert für die Lage wo das Boot senkrecht steht fest und die Differenz ergibt den Winkel.

Richard
19.02.2009, 19:23
Ein uralt Thread, möchte aber meine Frage an dieser Stelle stellen.
Ich möchte auf einem Segelboot eine Antenne immer senkrecht stellen damit so die Empfangsstärke maximal ist. Hierzu muß ich die Lage des Segelbootes um die Längsachse ermitteln

Moin moin Hellmut.

Das wird lustig, Dein Boot waggelt ja dauernd auf/mit den Wellen und
Wind herum. :-) Kein Schiff groß oder klein, braucht so etwas wirklich.
Die Funksignalstärke reicht auch wenn die Antenne mal aus der
Seknkrechte gerät, Funksignale sind GANZ erheblich schneller als
z.B. Wellenbewegungen + Masseträgheit vom Boot.

Neigungssensoren gibt es z.B. bei...

http://www.sensoren.de/neigungssensoren.htm?/main/inklinometer.htm

Beschleunigungssensoren währen eh nicht so gut, 2 Giros
(Drehwinkelsensoren) besser. Leider haben beide einen Zeitlichen
"Drift" müßten also permanent nachgeeicht werden.....

Aber ganz klar! Du wirst viel Geld und Geduld für quasie NIX
ausgeben. Lass die Antenne einfach waggeln/schwanken oder
gebe Dein Geld für eine bessere Funkanlage/Antenne aus. Da
wird Dir besser geholfen.

Gruß Richard

Hellmut
19.02.2009, 20:25
Guten Abend Richard

Tja, wenn man sich was auf der Basis von 2,4 GHz baut stimmt deine reizende Aussage so nicht. je höher die Frequenz desto wichtiger die direkte sicht. Wenn also ein Modellsegelboot, nicht ganz klein, mit einer Krängung von 60-70 Grad fährt liegt die Antenne waagerecht wenige Zentimeter über der Wasseroberfläche. Schon mal was von der Empfangscharkteristik gehört? Wenn Sender- und Empfängerantenne zueinander im 90 Grad winkel stehen ist die Empfangsstärke minimal!

Aber nett wie man so humorvoll mit wenig wissen oder vorschnellen nicht durchdachten Aussagen sein kann. Ruhig weiter so, ich freue mich auf die nächste Mitteilung!

Manf
20.02.2009, 06:02
Auf den Beschleunigungssensor (oder Inklinometer) wirkt die Erdbeschleunigung und die Beschleunigung der Bewegung. Lassen sich die Beschleunigungen der Bewegung (Bewegung durch Wellen) herausfiltern dann bleibt die Richtung der Erdbeschleunigung als Messwert.

Eine konstante Beschleunigung die noch übrig bliebe wäre die einer konstanten Kreisbewegung. Die wird wohl bei der Anwendung in Größe und Dauer untergeordnet sein.

Hellmut
20.02.2009, 08:18
@Manf: Ich denke ich werde doch mit einem Pendel arbeiten und diesen mit einem kontaktlosen magnetischen Drehsensor von AMS erfassen. Bewegungen durch Wellen und Drehungen um die Quer- und Vertikalachse werde ich dann wohl empirisch erfassen und raus rechnen müssen. Danke

Richard
21.02.2009, 14:37
@Manf: Ich denke ich werde doch mit einem Pendel arbeiten und diesen mit einem kontaktlosen magnetischen Drehsensor von AMS erfassen. Bewegungen durch Wellen und Drehungen um die Quer- und Vertikalachse werde ich dann wohl empirisch erfassen und raus rechnen müssen. Danke

Moin moin.

Kann man dann nicht die Antenne selber als Pendel gestalten
und in ein Kugelgelenk lagern? Aber das würde warscheinlich zu
groß ausfallen. :-(

Gruß Richard

Hellmut
21.02.2009, 17:23
Hallo Richard
An der Antenne ist noch die geschirmte Leitung zum IC und das würde das Pendeln verhindern.

Richard
26.02.2009, 16:53
Hallo Richard
An der Antenne ist noch die geschirmte Leitung zum IC und das würde das Pendeln verhindern.

Moin moin Hellmut.

wenn das Antennenkabel (nötigenfalls über winkeladapter) nahe,
besser mittig am Drehpunkt herausgeführt wird sollte es klappen.
Dann sollte man aber einen kleinen Ring Antennenleitung nahe dem
Drehpungt lassen, der kann dann ohne größere Kräfte auf-abrollen.

Das größte Hindernis wird der nötige Platz fürs Pendelgewicht sein
Dafür währe diese Lösung aber leicht und günstig (mechanisch) in
der Werkstatt zu testen sein? Das Pendelgewicht und die Pendellänge
muß ja auch ausprobiert werden....

Gruß Richard

drlovejoy
01.03.2009, 14:36
Hallo Vieleicht könnt ihr mir ja helfen , habe einen ähnlichen beweg. sensor den 320 glaub ich oder so ähnlich.
Bevor ich groß über neigungwinkel berechnung ect.. mich beschäftige wollte ich gern am sensor 4 led betreiben pro achse 2 led´s eine für link´s die andere für recht´s , an der 2 achse genau das gleiche eine für oben so gesehen und die andere für unten.
für meine erst versuche hab ich mir einen sensor auf print bestellt Beschleunigungssensor Typ (MMA7260QT) bevor ich mein teueren adxl benutze.
Link zum datenblatt http://robotikhardware.de/download/MMA7260QT.pdf

So am xout habe ich eine spannung von sagen wir mal 1,5 V In normaler lage ohne bewegung nach rechts oder links eingangspannung 3,3 volt.
Am sleep point liegen 2,7 volt an, sobald die spannungsversorgung eingeschaltet wird.

Wenn ich jetzt den sensor neige nach links hab ich 1 V mittelstellung 1,5 V und nach rechts geneigt 2V ( je nach neigungswinkel natürlich keine fest werte)

Ich hab mir überlegt den xout auf print 2-3 mal auf eine auf eine leiterbahn zu legen und dann über digitaltechnik als Nand nor and Xor ect.. irgend wie 2 zustände hin zubekommen , je nach richtung 1 led leuchten zu lassen .

Jemand vieleicht ne idee , muss ja nicht mit ttl bausteine oder so realisiert werden .
danke schon mal im vorraus