ich bau gerade eine ps/2-mouse mit beschleunigungssensoren, ps/2 mausprotokol hab ich schon implementiert und funktioniert auch wunderbar. den zurückgelegten weg möcht ich mittles beschleunigungssensoren feststellen... und geh mit den signalen (x,y-koordinate) über verstärker auf zwo adc eingänge.... frage: nun muß ich ja beschleunigung 2 mal integrieren um auf den weg zu kommen....würds sich ja ein op-integrierschaltung anbieten...mag ich aber nicht....hat da irgenwer was mal softwaremässiges gesehen zum integrieren... naja, war nur frage.... ;) mfg, bernie
ja, ich hab zurzeit den beschleunigungssensor noch nicht....hab mich nur mit dem mausprotokol bis jetzt beschäftigt....also noch alles graue theorie....mal sehen ;)
Hallo, langsame Beschleunigung sollte kein Problem sein wenn du die richtigen Sensoren verwendest. Z.B. ADXL 05 oder ADXL202 da diese auch statische Beschleunigung erfassen können. Infos gibts bei Analog Devices (http://www.analog.com/index_noflash.html unter MEMS-Technology). Die sind aber nicht ganz billig (ADXL202 +/-2g Messbereich, 2 Messachsen, ca. 25,-- Euro bei Segor). Dafür hat er PWM-Ausgänge und läßt sich mit etwas Zusatzbeschaltung auch mit Analogausgängen versehen. Häufig günstig zu beschaffende Piezo-Sensoren scheiden aus da sie keine statische Beschleunigung erfassen können. Tschau Christian
ja das mit dem piezo hab ich schon selber herausbekommen, weil ich es damit probiert habe ;)) den ADXL202AE, hat mir ein uniassistent auch empfohlen und den hab ich jetzt auch bestellt....man wird sehen trotzdem danke grüße bernd
achja, problem mit ADXL202AE ist halt der preis, weil in der aufgabenstellung auch gefordert ist das ich mit dem preis in einer serienproduktion deutlich unter eine optische maus kommen muß.....also wäre ich für alternativen (billigere wie der ADXL202AE) SEHR dankbar
eine ganz verwegene idee wäre vielleicht für jede achse ein blechstück mit kleine gewicht oben drauf....und beschleunigung mittels einen dms welches auf dem blech sitzt zu bestimmen..wow..das müsste ja echt gehen ;)
Moin, sorry about that. Ich habe völlig verdrängt das noch andere Hersteller sich an Beschleunigungssensoren versuchen. Einer davon ist ST-Micro. Die haben vor einiger Zeit den LIS3L02AS angekündigt. Bei den Distributoren konnte ich aber keine Auskunft über Preis & Verfügbarkeit bekommen. Wenn ich mich recht entsinne ist er aber für den Consumerbereich gedacht. Nähere Info´s findest Du hier: http://eu.st.com/stonline/prodpres/dedicate/mems/mems.htm Tschau Christian
LIS2L02 hab ich grade gefunden..und der scheint echt sehr gut zu passen..auf den ersten blick
Hi, ich hab so einen beschleunigungssensor und hab das mit der maus auch mal zum spaß ausprobiert. es gibt dabei nur ein problem: wenn der sensor leicht schräg liegt, kann er die beschleunigung deiner hand nicht von der erdbeschleunigung unterscheiden, d.h. der mauszeiger wandert immer langsam in eine richtung. mit "schräg liegen" meine ich übrigens neigungen von 0,5-1° wenn man einen winkel von +-2° als null definiert, reagiert die maus erst auf abruppte bewegungen. ich hätte da noch eine andere frage: hat einer zufällig die "ps2mouse_emulator.lbx"-datei für den bascom-compiler? die fehlt mir irgendwie mfg ralf
Hallo Bernd Ich glaube Du wirst mit deinen Beschleunigungsmessern nicht glücklich werden. Der Nullpunk dieser Sensoren müßte etwa die Qualität von Trägheitsplattformen haben. Falls Du versuchst mit einem Hochpaß diesen Nullpunktsfehler wegzukriegen so wird der Mauspfeil sich auch bei Stillstand der Maus langsam weiterbewegen bis der Kondensator (vom Hochpaß) entladen ist. Gruß Michael
Ich habe mir vor einiger Zeit mehrere Beschleunigungssensoren von Analog Devices im Wert von ca. 74 US$ als Samples (kostenlos) bestellt. Hat wunderbar geklappt :) Der einzige Haken ist, dass einige davon sone blöde Bauform ohne pins haben, nur mit winzigen Kontaktflächen an den Seiten; mit etwas Geschick aber kein Problem zu löten. Gruß, Camo
Hi man müßte das Signal nur softwaremäßig differenzieren. Dann hat man die Beschleunigungsänderung. Daraus kann man dann wohl die Bewegung des Mauszeigers berechnen. Aber denn Sinn dahinter hab ich noch nicht so ganz entdecken können. Schließlich sind optische Mäuse gut und günstig. Matthias
Hmm hab mir den Beitrag mal durchgelesen und ich find das ganze sehr interessant. Wie man das problem mit der "schiefen" Unterlage wegbekommen könnte wäre vielleicht wenn man für x jeweils 2 sensoren und für y 2 nehmen würde. Die beiden müssten dann um einen gewissen winkel gedreht zu einander sein (in der x richtung also in der y richtung und umgekehrt) dann könnte man glaub ich die erdbeschleunigung wegrechnen wenn mich net alles täuscht. wird dann aber schon ganz schön komplizert/teuer... MfG Martin
Hi ich hab mich bei ner Facharbeit von nem Kumpel "Orientierung im Raum mittels Beschleunigung" um die Hardware und Software gekümmert. Hab für X,Y den ADXL202 verwendet(über PWM) und für Z einen Selbstgebauten(über A/D). Die Ergebnisse mit dem ADXL202 war gar net schlecht wären vielleicht besser wenn ich gewusst hät wie man float zahlen rundet. hab da nichts gefunden(peinlich peinlich). DOch wie Martin angesprochen hat mit der schiefen is das so ne Sache. Ebenso wenn man die den Sensor dreht(Wegen der Fliehkraft). Meine Lösung: einen ADXL202 der x,y misst um das Problem mit der schiefen ebene zu lösen würd ich die Maus auf die Oberflache setzten, und eine Intitialisierungsfunktion ausführen lassen, die die Hangabtrieb für x und y misst diese Werte addierst du nach jeder messung dazu Dies ist aber nur geeignet wenn die Oberfläche nicht krumm ist,d.h. die Neigung darf sie nicht ändern wenn ja neu Init. Mit der Ratation gibs von mir keine Lösung. Mir ist da noch keine eingefallen Wenn interesse am C-Quellcode besteht kann ich den ja mal raussuchen und in ne zip stecken. Verwendeter µC M16. Beim ADXL202 hab ich den PWM ausgang verwendet. Denke wenn man den Analogen ausgang nimmt kann man's genauer machen, da man mehr messungen <1ms machen kann und übern Filter laufen lassen kann.
so einen Nullpunktabgleich hatte ich auch schonmal gemacht, aber das Problem ist, daß der Sensor selbst bei absoluter Ruhe nicht bei diesem Nullpunkt bleibt. Der Sensor ist für eine Beschl. von +-2g ausgelegt, allerdings liegen die Beschleunigungen einer Maus im Normalbetrieb (nicht bei extreme-Gamern) bei 0,01g.
somit ist der Abstand vom Rauschen des Sensors um den justierten Nullpunkt, und dem eigentlichen Signal ziemlich klein. mfg Ralf
Hallo wenn der ADXL202 zu teuer ist dann schau mal nach dem ADXL311 der kostet nur 5.10$ und hat auch zwei achsen jedoch keine PWM Ausgang sondern nur Analog
Hallo Ihr, ich arbeite zur Zeit auch mit Beschleunigungssensoren und will eine Drehung um ca. 40° auf der X-Achse ,und die aufgenommenen Werte als Gradwinkel auf einem LCD-Display anzeigen! Wäre super wenn ihr mir bei diesen Problem helfen würde! Kenny
hi zusammen, ich hab mich vor jahren mal mit beschleunigungssensoren beschaeftigt und ein testboard mit dem adxl202 verwendet. das teil hat den vorteil, dass es eine rs232 integriert hat (ueber pic realisiert) und man ueber eine mitgelieferte software gleich zu ergebnissen kommt. ich bin damals zur erkenntnis gekommen, dass die positionsbestimmung (momentan, oder mit diesem sensor) nicht moeglich ist, weil durch die doppelte integration der fehler durch das eigenrauschen des sensors so schnell so gross wird, dass die errechnete position schon nach wenigen sekunden in eine zufaellige richtung "abhaut".. trotz filterung und interpolation ueber mehrere werte (das hat schon was gebracht) bin ich zu keinem brauchbaren ergebnis gekommen, allerdings war meine "forschungszeit" auch sehr begrenzt. wenn da jemand zu brauchbaren loesungen kommt bin ich natuerlich sehr daran interessiert, vielleicht greife ich das thema ja wieder mal auf ;) lg andi
@ xxxxx gibts die Facharbeit irgendwo zum downloaden?? Ich schreib grad eine Facharbeit über eine inertiale Messeinheit für meinen Modellhubschrauber - die Einheit gibts schon so seit einem Jahr, aber sie funktioniert nicht gut (Integrieren ist hoffnungslos - vor allem wegen den Vibrationen - ich hätt mir ein anderes Fluggerät nehmen solln... ;-) mfg Christian
Hallo @Christian mit der Facharbeit kann ich noch nicht dienen die hat mein Kumpel(ich werd ihn aber mal fragen, denk schon, dass ich se bekomm), aber mit dem Source code kann ich gleich dienen und wenn du fragen zur Integration hast ich versuch sie gern zu beantworten @ralf hab mich jetzt grad wieder ein bissel mit dem ADXL202 wieder beschäftig und das hab ich zum Thema Genauigkeit. im Datenblatt steht dass bei einer bandbreite von 60Hz 2mg Genauigkeit besteht die genauigkeit(rausch) die ich bis jetzt hin bekam bei einer Bandbreite von 50HZ(Cx/Cy = 0,1µF) lag bei +-0,03m/s² = ca. 3mg @postmen meine Ergebnisse waren sehrwohl brauchbar. Ich glaub, dass bei dir nicht der Eigenrausch des sensor verantwortlich war sondern dass die Oberfläche, auf dem du den sensor bewegt hast, nicht eben war. Da reicht schon ein kleine Neigung, und die sx sy werte hauen in eine Richtung ab. Zum SOurce code: Der ist in C geschrieben für einen M16C. Wertet den ADXL202 über das DCM(PWM) singal aus und einen über nen A/D Wandler Er schickt die Werte ax,ay,az und sx,sy,sz als Text über die serielle Schnittstelle Gruß Jochen
@Christian um was gehts in deiner Facharbeit eigentlich. Wenn du denn ADXL202 verwendest, könntest du durch die Cx/Cy(0,47µF = 10Hz Bandbreite) das Problem mit den Vibrationen lösen. Denn durch die stellst du eine Bandbreite ein für den low pass filter. Jetzt ist halt die Frage wie hoch ist denn die Frequenz der Vibrationen.
Hallo Jochen, vielen Dank für deine Tips und Hinweise!! Kennst du http://autopilot.sourceforge.net/ ?? Dort wird auch ein ADXL202 zur Beschleunigugnsmessung auf einem Modellhubschrauber verwendet und die hatten die selben Probleme - drum hab' ich einfach ihre Lösung übernommen (siehe Anhang). Die Probleme liegen glaub ich eher in der Abtastrate vom AD Wandler - eine Mittelung der Werte wäre sicherlich auch sinnvoll.... Trotzdem nochmals besten Dank!! Die Facharbeit beschäftigt sich mit dem Bau einer inertialen Messeinheit mit Drehratesensoren, Beschleunigungssensoren für alle 3 achsen und zusätzliche Sensoren wie Temp. E-Kompass, Ultraschall höhenmessung und Rotordrehzahlerfassung!!! Mein Physik Lehrer blickt mal wieder überhaupt nix und hat auch noch eine eher skeptische Einstellung gegnüber Schülern die was wissen was er nicht weiß ;-) - macht aber nix - mir macht Basteln halt Spaß.... Viele Grüße Christian
So ... erstens bitte ich um Verstaendnis, mein Deutsch ist ein bischen .. sagen wir "primitiv" ;-) Re Maus mit Beschleunigungsensoren: Nein, das geht nicht. Andi ist richtig, wenn man ueber Zeit integriert, um die Position zu berechnen, man kann nicht 100% die kumulative Integrationsfehler auf Null bringen. Mit der Zeit und sogar schnell, die berechnete Position des Kursors wird bedeutungslos sein. Es gibt kein MEMS Sensor, das genug wenig "noise" hat, um eine solche Anwendung zu implementieren. Micorsoft und Apple R&D haben versucht und nicht geschafft ein solches Maus zu implementieren. Was dagegn moeglich ist, ist das Winkel mit Bezug zum Gravitationsvektor zu brauchen .. in other words, tilting angle. The solution is called Finring http://www.the-gadgeteer.com/cateye-finring-review.html http://www.bosswave.com/mouse/finring/index.shtml Nur .. das letzte Mal, dass ich die BossWave Firma angesprochen habe, das Finring war nicht mehr in Produktion ... die Idee ist aber einfach zum realisieren. Viel Spass! Re inertialen Messeinheit Sentera Technology (www.senteratechnology.com) hat eine inertielle Messeinheit mit dynamisch integrieten output (pitch and roll), die in der Form eines "Motion Processor Kits" gekauft werden kann. Sehr billing und wirklich cool. Viels Spass Paolo
@ paolo das beschleuigungsmaus nicht einfach zu implemntieren ist, ist klar ABER: studenten der cornell university und das frauenhofer institut haben es schon erfolgreich geschafft!!! und bei mir sind die ersten tests auch ok..also GEHT NICHT gibts NICHT ;) bernie
das man über längere wegstrecken probleme mit beschleunigungssensoren bekommt steht ausser zweifel..ABER: zb bei der ps/2 mouse gibt es folgende mögliche abtastungen pro sekunde : 10, 20,30,40, 60,80,100,200....a also 100 ms - 5 ms.....nach dieser zeit werden die berechneten wege (x,y richtungen) an den rechner gesendet..danach die register gelöscht.. und das ganze geht von vorne los....das ganze funktioniert sehr schön und gut!!
Bernie, es gibt sicher Loesungen, nur wenn du ein Produckt kreieren will, dann hast du viele Restriktionen ... zum Beispiel es ist einfach zu teuer, ein DSP chip in ein Maus einzubetten (zu teurer gegenueber die "konventionelle" Loesungen, die verfuegbar sind). Wenn du ein Expriement machen will, dann schon ... nur das wird nicht zum Market koomen. Immerhin, ich glaube shcon das gewisse Resultate moeglich sind, nur habe ich eine Frage: wie gut ist die Genauigkeit wenn die Bewegung sehr langsam und konstant wird, was meistens in die vorletzten Sekunden der Mausbewegung passiert, genau wo die Genauighkeit wichtig ist. Hast du Test-daten ueber wie genau die Cornell und Frauenhofer Projekte geleistet haben? Thanks in advance! Paolo
testergebnisse von frauenhofer und cornelluji gibts nicht, aber hier (kurze) projektbeschreibungen: http://www.teg.fraunhofer.de/german/projekte/index54.html http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2002/pw33/ece476finalweb.htm
Thanks Bernie! Ja, das ist eben was ich gedacht habe. Dies sind keine traditionelle Maus, es wird kein Position berechnet, sondern das Neigungswinkel ausgenutzt, um die Bewegungsrichtung und Gescwindigkeit zu messen. Dies is dasselbe wie den Finring by Bosswave. Die Projekte sind aber sehr interessant.
Also ich hab ne Maus gesehen, die hat den Beschleunigungssensor und einen Gyrosensor der soll $58 kosten http://autopilot.sourceforge.net/ahrs.html Und das mit dem Fehler kann ganz einfach durch Grenzwerte behoben werden. D.h. wenn die Geschwindigkeit nach dem die Maus zum stillstand gekommen ist z.b. 0,1 m/s wegen denn Fehlern, dann kann man einfach zwei Grenzwerte setzten indem die Geschwindigkeit als null definiert wird. -> 0,1m/s wird als null gesehen und auch gesetzt.
hi jochen, ich kann dir leider nicht recht geben was die fehlereliminierung mit der untergrenze betrifft. leider entsteht der fehler auch dann wenn die werte ueber der untergrenze liegen und summieren sich dann genauso. natuerlich hast du fuer ebene statische situationen dann eine loesung des problems, aber wann hast du schon eine solche situation? so gut wie nie. allein die erdbeschleunigung bei schraeghaltung des sensors bewirkt hoehere werte die du aber eigentlich messen solltest. hier kann nur eine sehr intelligente filterung und auswertung der messwerte abhelfen, und ich denke das ist genau das woran die leute vom fraunhofer institut arbeiten, nebst der miniaturisierung.. grenzwerte sind vergleichbar mit rauschunterdrueckung bei audio (unter einem bestimmten pegel wird das signal komplett oder stark gedaempft) - alle diese massnahmen wirken unrealistisch und sind fuer positionsbestimmungen nicht geeignet. andi.
Ich glaube dass Andi richtig ist, nur ich verstehe nicht, wie man durch Filtern die Zweifachintegrationsfheler auf Null bringen kann. Die Berechnung der Position braucht bei jedem Schritt einen Anfangswert fuer Position und Geschwindigkeit. Doch durch Filtern werden die Sensorenwerte "gereinigt" und dazu koennen diese Werten "ausgewertet" werden, nur wenn es nicht 100% genau ist, dann wird der Fehler bei jedem Schritt addiert und so mit der Zeit die totale Genauigkeit der Position wertlos. Je grosser die Fehler, desto schneller die Genauigkeitsverlust. Mit billigen Sensoren solches Problem wird sehr schnell relevant (einige Sekunden). Wenn ich was verpasst habe, dann moechte ich gern verstehen ... ich kann nur lernen hier! Danke ;-) Paolo
hi paolo, neinnein, du hast schon vollkommen recht, man kann auch durch filterung die fehler nicht eliminieren, aber dadurch (z.b. mittelwertbildung ueber mehrere werte) kann man z.b. die abtastrate reduzieren, was auch ein langsameres driften bewirkt. im grunde denke ich, dass der fehler umso geringer wird, je oefter man abtastet und je mehr man filtert, d.h. fehler in hoeheren frequenzbereichen werden wieder kompensiert. vielleicht kann das aber auch jemand mathematisch korrekt bestaetigen oder widerlegen? gruss andi ps.. fuer relatives tracking gibt es auch schon kommerzielle loesungen, allerdings sind diese immer mit einer absoluten loesung kombiniert (z.b. akustische oder optische systeme). der vorteil der systeme mit beschleunigungssensoren ist, dass sie einerseits recht guenstig sind, andererseits aber eine sehr hohe abtastrate haben (im vergleich zu akustischen systemen, die ja die schallgeschwindigkeit beruecksichtigen muessen). daher ist eine kombination 2er solcher systeme in einem hybriden nur logisch.
alsooooo.... alle einwände bezüglich rückrechnung auf weg, miteinbeziehungen des neigungswinkel sind ja gut und richtig: aber: 1.) neigungswinkel tischplatte und daraus resultierende beschleunigungen werden einfach softwaremässig, über grenzwertbeschränkung nicht beachtet. natürlich höre ich den einwand: aber was ist wenn man sehr langsam die maus bewegt und der wert unter diesen grenzwert bleibt...hab ich mir natürlich auch gedacht...aber was ich so ausprobiert habe funkts so mit grenzwertbeschränkung ausreichend und man merkt bei der bedienung keinen wirklichen unterschied zwischen mech. + optischen mäusen 2.) einmal hab ich die werte aufintegriert.....einmal ohne integrieren direkt (also) beschleunigungswerte gesendet...bringt für den benutzer so gut wie keinen unterschied...das einzige was wirklich großen einfluß ausübt, ist die über treiber einstellbare sample time...das heißt: wie oft pro sekunde wird ein datenpacket (besteht aus 3 byte:x-,y- und tastendaten) an den rechner gesendet...das geht von 10 mal pro sekunde bis 200 mal pro sekunde najo..das wars...das schwierige kommt natürlich erst jetzt: versuchen das ganze als pointer, frei im raum zu bewegen...hier wirds natürlich ein wenig schwieriger ;) projektdoku in den nächsten tagen unter: http://109322007.home.icq.com/projekte.html greats, bernie
@bernie: die sache vereinfacht sich natuerlich wenn du die erdbeschleunigung wegrechnen kannst, der fall bei einer maus die auf einer tischplatte liegt. ich gehe natuerlich davon aus, dass das trackingsystem frei beweglich ist, den ersatz einer maus am rechner find ich nicht notwendig, die vorhandenen systeme funktionieren doch gut, oder.. bin auf deine doku gespannt ;) lg andi
naja...der stromverbrauch des beschleunigungsmaus ist schon erheblich kleiner als bei der optischen..und deshalb halt besser für kabellose übertragung geeignet....und billiger ists halt auch..aber in wirklichkeit wars nur ne spielerei...;)
Hi weiss eine(r) wo oder wie eine math. Anwendung(Kalman Filter) auf die Anordnung der 2 Beschleunignungssensoren im X-Y Richtung? Danke im Vorraus Kenny
Kenny, es gibt ein sehr gutes Buch ueber Kalman Filter .. eigentlich ueber optimierte "estimation". Baut Begriffe von Grund ab ... nicht sehr teuer $40 ... "Applied Optimal Estimation", MIT Press.
Hi Leute - würd mich auch gern an so einem Projekt versuchen - wo finde ich am schnellsten das erforderliche Mausprotokoll - sprich - was hat die Maus dem PC wie zu sagen.. Wenn's schon wer in Assembler programmiert hab würd ich mich natürlich auch freuen es nicht selbst nochmal programmieren zu müssen. mfg Bernhard
hallo bernhard! hier findest du alles über mouse und tastaturprotokole....sowie pic-codes.... auf atmel könnte ich dir ps/2 mouseprotokol anbieten... grüsse, bernhard
ahhh...ganz vergessen..der link zum mouseprotokol ;)) http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/PS2/ps2.htm bernie
Hallo Leute. Wie ich sehe, kennt ihr euch mit ADXL202 aus. In meinem Maturaprojekt verwende ich ebenso einen ADXL202. Es geht lediglich darum, dass der ADXL202 Verzögerung misst und es dann zu einem Microkontroller schickt, und wir es dann bearbeiten und dann auf einer Balkenanzeige (16 LEDs) angezeigt. Dadurch sollte man erkennen können, wie stark die Verzögerung ist. Ich habe einen ADXL202 bestellt, nur hab ich wenig Informationen darüber gefunden, außer die von analog Devices. Ich würd gern wissen, was für ein Signal er gibt und wie ich es im Mikrokontroller bearbeiten. Für jede Hilfe wär ich dankbar. DANKEEEEEE mfg,Michael
Möglichkeit a: du nutzt den PWM Ausgang des Sensors und wertest den irgendwie aus (siehe Datenblatt) Möglichkeit b: du nutzt den Analog ausgang und liest ihn mit einem AD Wandler ein Vorteil: Vibrationen können durch analoge Filter weggefiltert werden, Nachteil: der Analoge Ausgang nutzt den Messbereicht eines AD Wandlers schlecht aus --> siehe Filterschaltung im Anhang (mist - da steht " Dateianhang: - vorübergehende deaktiviert" - bei Interesse reiche ich den Schaltplan nach - sie filtert und verstärkt soweit, dass die Ausgangsspannung des Signals von fast 0 - fast 5 Volt geht. Ist für deine Anwendungsfall aber egal, weil du ja eh bloß 16 LEDs "Auflösung" haben willst. Ich würd mir das raussuchen was mir lieber ist zum programmieren weils für 16 LEDs mit Sicherheit immer reicht - egal für welchen Lösungsweg du dich entscheidest.... Viel Spaß und Erfolg mit dem Sensor!!! Christian
Hallo, ich beschäftige mich (als Newbie) ebenfalls mit den adxl202-Sensoren, allerdings, um tatsächlich Beschleunigungen zu messen und zu protokollieren. Was das Maus-Problem mit der Neigung angeht: Könnte man die Erdbeschleunigung nicht eliminieren, wenn man einen weiteren Sensor 90°, hochkant zu jeweils einer Messachse anordnet? Durch quadratische Addition muss zwischen den rechtwinklig zu einander angeordneten Achsen immer 1g rauskommen. Ist dies nicht der Fall, wird die Maus tatsächlich in die eine Messrichtung beschleunigt. Für meine Zwecke will ich Beschleunigungen mit der C-Control M-unit (Mikrokontroller von Conrad, aber wem sag ich das...) messen. Möglichst mit 50 Hz oder mehr. Kann mir jemand sagen, wie ich den adxl202 beschalten muss, um z. B. über einen A/D-Wandlereingang die Beschleunigungen zu messen? Mit welchen Kondensatoren muss ich den Sensor beschalten? Der Messbereich sollte natürlich möglichst groß innerhalb von 0 bis 5 Volt abgebildet sein. Außerdem suche ich noch eine Lösung, die Messwerte über die serielle Schnittstelle möglichst in Excel einlesen zu können. Vor allem soll das ganze irgendwann auch auf nem PDA laufen träum Vielen dank schon mal für Eure Hilfe! Gruß von Markuso
Hallo Leute Als erstes Danke an Christian. Bis jetzt haben wir immer noch nicht den Beschleunigungssensor bekommen, aber wir haben schon angefangen, die 16 LEDs anzusteuern. Aber nur zum testen haben wir einen counter und mutiplexer benützt. Du hast etwas von Schaltplan gesprochen, ich würd sie mir gern mal ansehen. Jedoch werden wir wahrscheinlich den PWM-Ausgang benützten, weil es ja digital ist. Für jede weitere Hilfe, bzw. Datenblätter wär ich sehr froh darüber. Mfg, Michael
Die Schaltung für die Verstärkung und Anpassung des Analogsignals würde mich auch brennend interessieren! Leider reichen meine Kenntnisse nicht aus, sowas selbst zu entwickeln.
Hallo, die Forumfunktion für Dateianhänge ist leider immer noch deaktiviert - macht aber nix: http://www.darc.de/c/34/hallo Bei mir funktioniert die schaltung - garantie gebe ich natürlich keine. Außerdem hab' ich die schaltung selbst bloß abgekupfert - den OP gibts als Sample gratis ins Haus von Burr brown glaub ich!! Die schaltung filtert das signal (50 Hz) und verstärkt den analogausgang des Sensors um den Faktor 3,2 soweit ich weiß... viel spaß und Erfolg!! Christian
Vielen Danke @ christian Nun, würd ich gerne wissen: was tut diese Schaltung genau? mfg
Hallo weiss jemand wo man detailierte Beschreibung von Beschleunigungs-und Drehratensensor(gyroskopen) findet. Danke Kenny
Hi, @ Michi: Die Schaltung verstärkt die Analogausgänge eines ADXL202 um den Fakter 3,2, sodass ein A/D Wandler mit einem Messbereich von 0 - 5 Volt nahezu optimal ausgenutzt werden kann. Außerdem wird das Signal gefliltert (Frequenzen über 50 Hz werden rausgefiltert, das kann bei Problemen mit Vibrationen sinnvoll sein - ich hatte meine Sensoren auf einem Modelhubschrauber montiert - deswegen der Filter) @ Kenny: was verstehst du unter detaillierten Beschreibungen?? Was willst du denn wissen?? mfg Christian
@Christian: Kennst du einen Distributor, bei dem man den OPA4342E beziehen kann? (Oder jemand anders..?)
Distributor kenn ich keinen, sind aber mit sicherheit auf der Herstellerhomepage zu finden. Ich hab' meine als Muster von www.ti.com glaub ich!! mfg Christian
HI Leute, bin durch Zufall in dieses Forum gekommen und habe mich sofort für Euer Thema und Eure Probleme begeistern können. Ich hätte da aber eine Anfrage an jene, die schon Erfahrung mit dem ADXL202 oder ähnlichen haben. Im Datenblatt steht +-2g Bereich. Bedeutet dieses, dass die Sensoren in +X und -X Richtung die Beschleunigung messen oder bedeutet -g die Verzögerung oder Bremsung in +X Richtung. mfg Claudius
hallo, das bedeutet, dass du (positive) beschleunigung bis 2g und negative Beschleunigung (also bremsen sozusagen) bis 2g messen kannst mfg Christian
... und das in zwei Richtungen, die im rechten Winkel zu einander stehen.
HI, danke Christian und danke Markuso - bitte haltet mich nicht für ganz blöd aber wenn Ihr eine 2D Maus oder dergl. konstruiert. Wie wird dann die -X oder -Y Achse angegeben. (analoge Betrachtung) Wenn zB 20m/s2 (2g) in pos. X Achse 5 Volt sind Ruhelage = +2,5 Volt und die Abbremsung von 20m/s in einer Sekunde (-2g) 0Volt sind wie bekommt Ihr dann Werte für die Mausbewegungen in die neg. Richtung. Also wenn Ihr die Maus zurück bewegt. Verwendet Ihr dann noch zusätzlich einen zweiten ADXL202. - Wird ne teure Angelegenheit oder?
Hallo, eines vorweg: Leider ist es nicht so, dass bei 0V -2g und bei 5V +2g anliegen. Die Empfindlichkeit liegt (glaube ich) bei 300mV/g. Dabei muss man den Nullpunkt erst noch suchen. Daran arbeite ich auch immer noch. Nun zu deiner Frage: Die Bewegungsrichtung hängt nicht von der Beschleunigung ab. Wenn du die Maus nach vorn bewegst und sie konstant verzögerst (nach hinten beschleunigst), bewegt sie sich irgendwann rückwärts. Ich beschäftige mich übrigens mit der Beschleunigungsmessung in Autos. Gruß Markuso
HI, danke für info. Aber wenn ich eine Maus in Vorwärtsrichtung (Y)verzögern muss, um neg. Werte zu bekommen (Sprich, dass sich die maus wieder zurück bewegt), ist wohl ein zweiter Sensor besser oder? 1 Sensor für +X und +Y 1 Sensor für -X und -Y Richtung Dann könnte man die Maus einfach einmal ruhig hinlegen - das würde den Null Punkt geben. (Spannung) und die ziehe ich einfach mit einem Subtrahierer ab. Danach messe ich nur pos. Spannungen für pos. Beschleunigungen. Alles anere unter Null wird ignoriert. mfg Claudius
Hallo Leute Ich hab ein Problem, und zwar: 1.Ich möchte unseren Sensor ADXL202 in Eagle zeichnen, aber ich möchte mir das ersprachen alles zu zeichnen, hab zwar ein Bauteil gefunden, welches Package dem ADXL202 passt, aber dafür stimmt die Schematic nicht. Bauteil: Linear-ADC08032S mit 14 Pins (Board) aber mit 8 Pins (in Schematic), aber ich brauche min. 8 Pins in Schematic, natürlich wärs super, wenn alle 14 Pins in Schematic gezeigt werden, ist aber nicht notwendig. Also könnte ihr mir irgendwie helfen? 2.Es wird in den Datenblättern sehr schön gezeigt, wie man T2 und T1 berechnen, bzw. wiedergeben kann, jedoch wird aber nicht beschrieben, in welche richtung T1 bei Verzögerung wandert? Ich meine, bei Stillstand ist T1 50% vom T2 .... aber, was passiert bei Verzögerung, bzw. Beschleunigung??? Wird T1 bei Beschleunigung größer, oder kleiner?? Wär euch sehr dankbar, wenn ihr mir helfen könntet. Ich könnte es zwar auch nachmessen, aber damit ich es nachmessen kann, muss ich mir zuerst mal die Kondensatoren, bzw. Widerstände aussuchen, was ich noch nicht hab. Ich weiß noch nicht, welchen T2 ich verwenden soll, und welche Bandbreite. Falls ihr daüfr Ideen habt, wär ich euch auch dafür dankbar. Mit freundlichen Grüßen Michi T. P.S.: Ich weiß, ich verlange viel :))
wie wäre es den mit nem kleinen pendel, das elektronegativ geladen wird, an allen 4 seiten kann man dann eine positive gegenektrode platzieren über die kriechströme könnte man dann die relative beschleunigung messen. mit einer positiven elektrode unten könnte man die nulldrift ermitteln, ist aber glaub ich weit mehr als ein kleiner bastlerakt. vorallem mit hochspannung!!!!
Hallo, ich habe ADXL202JE-Beschleunigungssensoren und mir sind ein paar Punkte noch unklar. 1.: Ich kann die Bandbreite zwischen 10 Hz und 5 kHz einstellen. Je höher meine Bandbreite, je ungenauer das Ergebnis, richtig? Aber was bedeutet diese Bandbreite überhaupt? Wie oft sich die Beschleunigung pro Sekunde ändern darf? Falls ja, warum liegt die obere Grenze dann nicht bei 2 kHz, da die Länge der ausgegebenen Periode ja minimal 0,5ms ist. 2.: Warum brauche ich die oben angegebenen Schaltungen mit den OPVs? Ist es nicht wesentlich einfacher den "Duty Cycle" direkt per Timer abzufragen? Danke schonmal! :-) Sebastian
Hi ich habe letztens auch mit dem adxl202 und 210 gearbeitet. Duty cycle genau auszuwerten hat mich einige Mühe gekostet, geht aber besser und genauer als der analoge weg. Bzgl. der schräglage, kannst du denn die maus nicht initialisieren, bzw. den offset zu beginn erfassen und entsprechend rausrechnen ? So habe ich es gemacht, und das geht prima. Allerdings nicht mit ner Maus, sondern echte, vertikale Beschleunigungen. Viele Grüße Marco
Hallo Marco, welche Messfrequenz hast du im Endeffekt realisiert und mit welchem Mikro-Controller? Gruß von Markuso
Ich hatte den mit 250 Hz Bandbreite und 488Hz-PWM-Wiederholfrequenz eingestellt. Bei H-Pegel vom ADXL wurde ein Counter von Null gestartet, und zählte bis zum Ende der theoretischen Periodendauer genau 2043 Pulse --> d.h. bei Null Beschleunigung lag der Zählerwert, den ich in der L-Zeit abfrage und verarbeite bei ca. 1023. Also 10Bit für jede Acc-Richtung Auflösung. 1:1 wird das Tastverhältnis nie werden, da das Acc-Maximum bei 90% bzw. bei 10% liegt. VG Marco
Gerade zu den ADXL-Teilen gibt es doch jede Menge gute App-Notes im Netz, die liest man einmal durch und schon muss man nicht mehr nachdenken. Sehr empfehlen kann ich die hier: www.microchip.com/download/appnote/pic16/00715a.pdf
Hi! Ich habe mit dem ADXl gute Erfahrung gemacht mit den D-Ausgängen :-) wenn ihr nicht in "mg" rechnen müsst -reicht ein Timer für X und Y - Achse . der Timer ruft eine Sig-Routine auf die in abhänghigkeit von H oder L - Wert einen Zähler erhöht - beim flankenwechsel wird der jeweilge Zählerstand in eine Werteregiter übernommen und der Zähler genullt die werte geb ich auf die uart getrennt mit komma aus. Wenn Ihr H -von L -Wert abzieht erg. sich ein pos. oder neg. wert. -> somit ergibt sich die Richtung ! " LPEGEL X-Wert, HPEGEL X-Wert, LPEGEL Y-Wert, HPEGEL Y-Wert /n/r," den kram kann man dann ein eine Tabellkalkulation übern. und weiterbearbeiten. DIAGRAMME etc. das ganze läuft unter C auf einen AT90L8535 mit 8Mhz. nebebei bedient die Sig-Routine moch eine Echtzeituhr der ADXL macht 50Hz Die Ausgabe sieht dann so aus: HH, MM, SS,10S,,LPX,HPX,,LPY,HPY,, 000,000,000,008,,147,152,,142,158,, 000,000,000,005,,147,152,,142,158,, 000,000,000,002,,148,153,,142,157,, 000,000,001,008,,148,153,,142,158,, 000,000,001,006,,147,152,,141,158,, 000,000,001,003,,147,152,,141,157,, 000,000,002,009,,147,152,,141,158,, 000,000,002,006,,147,153,,141,158,, 000,000,002,003,,147,152,,142,158,, 000,000,002,009,,148,153,,142,158,, 000,000,003,006,,147,153,,142,158,, 000,000,003,003,,147,152,,142,159,, 000,000,003,001,,148,145,,104,247,, 000,000,004,007,,167,122,,127,131,, 000,000,004,004,,145,138,,119,095,, 000,000,004,001,,154,143,,217,128,, 000,000,005,007,,158,122,,180,117,, 000,000,005,004,,204,101,,166,153,, 000,000,005,001,,184,078,,128,151,, 000,000,006,008,,163,132,,216,104,, 000,000,006,005,,167,138,,119,202,, 000,000,006,002,,160,108,,101,070,, 000,000,007,008,,151,142,,109,193,, 000,000,007,005,,152,147,,108,191,, 000,000,007,002,,152,147,,109,191,, 000,000,008,008,,153,147,,108,191,, 000,000,008,006,,153,147,,108,191,, 000,000,008,003,,153,147,,109,190,, 000,000,009,009,,152,147,,109,191,, 000,000,009,006,,153,147,,109,190,, usw. So bleibt der HW-Aufwand in Grenzen ! - nur die beiden Ausgänge an die AVR PINS C und R ran "Ferritperle nicht vergessen am ADXL"
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.