Hallo, hat jemand von Euch schon mal einen Kompass mit dem Hallsensor von Conrad aufgebaut? Es gibt einige Seiten im Internet, die den Baustein beschreiben, aber kiener in Kombination mit einem MC, obwohl in der Datenblatt beispielhaft die Anwendung mit einem MC abgebildet ist (Siehe S. 46) http://www-us.semiconductors.philips.com/acrobat/various/SC17_GENERAL_MAG_98_1.pdf . Es würde mich interessieren, welche Erfahrungen Ihr mit dem Baustein in Kombination mit einem MC gemacht habt. Gruß Zoltan
Bitte schön www.semiconductors.philips.com/acrobat/ applicationnotes/AN00022_COMPASS.pdf
Nochmal, ich hoffe der link geht jetzt www.semiconductors.philips.com/acrobat/applicationnotes/AN00022_COMPASS. pdf
Hi Reiner, ich kenne den Links schon, aber danke trotztdem. Mich würde eher interessieren, welche persönlichen Erfahrungen Ihr beim Aufbau der Schaltung gemacht habt. Und z.B. wie genau man die Orientierung mit dem Kompass messen kann, oder wie stark der Sensor auf Temperaturänderungen reagiert. Gruß Zoltan P.S.: Hast Du den Sensor schon mal eingesetzt?
Hallo Zolti, hab' mich mit dem KMZ51 Sensor nicht auseinandergesetzt, aber was hältst du von diesem Sensor: http://www.roboter-teile.de/Shop/pd172010061.htm?categoryId=1 Den Hab' ich schonmal verwendet und bin sehr zufrieden damit: misst Temperatur, Sensor muss nicht horizontal liegen, 2Grad Messgenauigkeit, geringer Stromverbrauch..... Was willst du denn damit anstellen?? mfg Christian
Hi Christian,
>Was willst du denn damit anstellen??
Ich habe die Bausteine bei Conrad bestellt, weil grad bis zum 24.02.04
Vesandkostenfrei ausgeliefert wird. Später soll aber mein Modell-U-Boot
automatisch den Kurs halten können.
"Dein" Sensor ist aber mit 55 EUR recht teuer. Ich brauche zwar zwei
KMZ51 aber die kosten dann zusammen nur 10 EUR. Ich werde mehrere
Sensoren auf einer Messplatte aufbauen: Druckmessung, Neigungsmessung
mit ADXL202 und den Kompass. Da ich die anderen Sensoren auch
temperaturkompensieren will, brauche ich nicht jeden Sensor einzeln zu
kompensieren, sondern kann einen einzigen Teperatursensor benutzten.
Es wäre für mich ausreichend, wenn ich 2° Genauigkeit hinbekommen
würde, nur wegen dem "horizontal liegen" könnte ich Probleme
bekommen.
Gruß
Zoltan
Alternative ist der hier vom gleichen Anbieter: http://www.roboter-teile.de/Shop/pd-256931129.htm?categoryId=1 der benutzt auch zwei KMZ51 und ist 15 Euro billiger. Habe den aber selbst noch nie verwendet. MfG, Dominik S. Herwald
Ich habe nun die bestelleten KNZ51 heute bekommen. Angelehnt an diese Schaltung (http://www.hw.cz/constrc/x51_kompas/schema1.gif) habe ich gleich eine an eine Atmega angeschlossen und getestet. Es funktioniert super! Zwar noch ohne Offset-und Temperaturkompensation, aber das Ergebeniss ist schon mal vielversprechend... Gruß Zoltan
Hallo Zoltan, ich hab' nicht gewusst, dass "Dein" Sensor so güntig ist - ich hatte den teuerer in Erinnerung. Bei diesem Preisunterscheid ist mein Sensor natürlich ein Witz.... Der2x-cmI Sensor hat den Vorteil, dass er bis 8 Grad Neigung noch passabel mist - wird die maximal zulässige Neigung überschritten gibt dieser eine Fehlermeldung aus. Außerdem lassen sich feste Störquellen "ausblenden" durch einen "eichvorgang". Das kann zum Beispiel Sinn machen, wenn du den Sensor aus irgend einem Grund in der nähe deines Motors aufstellen musst!! Vielleicht ist die Frage ein wenig dumm, aber funktioniert ein Kompass unter Wasser überhaupt?? Hast du eine Homepage?? Dein Projekt find ich ziemlich spannend!! Viele Grüße Christian
@Christian
>Vielleicht ist die Frage ein wenig dumm, aber funktioniert ein Kompass
unter Wasser überhaupt??
Ein elektronischer natürlich nicht, gibt doch einen Kurzschluß! Erst
recht in Meerwasser. ;-)
Sven
Ein Kompass hat doch nichts mit der Erdoberfläche zu tun. Womit es unter Wasser Probleme gibt ist GPS und Satelliten-Fernsehen ;)
@Chrisitan Meine Homepage ist ngrad.bei.t-online.de Ja, was mir aufgefallen ist, dass man mit dem Sensor auch hervorragend die Neigung messen kann. Das ist für den Einsatz als Kompass natürlich kein Vorteil, aber das ist in Griff zu bekommen. Die Application Note beschriebt das Problem auch ausführlich. Auch der Eichvorgang ist in der A.N. auch sehr gut beschrieben. Das sollte auch kein Problem darstellen. Die Frage anch dem Funktion eines Kompasses unter Wasser ist dagegen schwerer zu beantworten. Aber warumm sollte sich das Magnetische Feld der Erde im Wasser ändern? @Sven Was meinst Du mit Kurzschluß? Ich glaube Du verwechselst Elektrische Felder mit Magnetischen (Sagt mir ,wenn ich falsch liege). @Rahul So stelle ich mir das auch vor.
Hi, habe den CMS02 von Jörg vom Robotikshop. Mit nur 2 Hallsensoren ist das Ding mehr als lageempfindlich. Ein leichtes Kippen aus der Waagerechten bringt gleich einen Kursversatz von 5-80°. Wenn also einer ein 3-Sensormodul baut oder kennt bite ich um Info. Dominic
@Zoltan
>Was meinst Du mit Kurzschluß?
Natürlich funktioniert der Kompaß unter Wasser. Die magnetischen
Feldlinien werden nicht beeinflußt (naja, kaum). Gibt ja auch
Taucherkompanden. Bei einem elektronischen Kompaß muß aber ein Gehäuse
rum. Sonst gibt es eben einen Kurzschluß. Das meinte ich.
Ich könnte mir eher vorstellen, dass das Gehäuse Ärger macht, wenn es
aus Blech ist. Aus was baut ihr eure U-Boot? Konservendosen?
Plasteflaschen?
Sven
@Dominic Ich messe die Neigung mit den Beschleunigungssensoren (ADXL202). Dadurch müsse ich die Neigungsfehler des Kompasses kompensieren können. @Sven Ach, ich dachte Du meinst den Beitrag oben ernst, mit Kurzschluß im Wasser usw... Ja manche bauen die Modelle tatsächlich aus Konserevendosen, hauptsache es schwimmt und es ist innen hohl. Ein Gehäuse aus Metall wäre da natürlich nicht ideal.
Da bin ich nun mal gespannt ob Du das rausrechnen kannst. Halte mich bitte auf dem laufenden.
Hallo Zoltan, vielleicht wäre es doch besser den teuren 2xcmI sensor zu verwenden - ich bezweifle, dass es sich so leicht rausrechnen lässt mit der Neigung. Wenn du Pech hast ändert sich der Fehler nicht nur proportional zur Neigung, sondern auch in Abhängigkeit der Richtung (Bsp: Sensor "zeigt" nach Norden, schräglage 8Grad, Fehler:10 Einheiten; wenn du den Sensor jetzt nach Westen drehtst bei gleicher schräglage ist der Fehler vielleicht schon 20 Einheiten???) Oben genanntes Beispiel ist reine Spekulation und ich habe es noch nicht ausprobiert, aber ich könnte mir dieses Problem vorstellen.... Viel Erfolg!! Christian
Hallo , mit den KMZ 51 bzw. CMP03 arbeite ich schon längere Zeit. Den Neigungsfehler Mithilfe des ADXL 202 herauszurechnen ist mir bisher nicht gelungen,höchsten Ansatzweise und viel zu ungenau. Wer hierfür einen schlüssigen Alghorithmus entwickelt sollte dieses hier sofort kundtun. Ich fürchte jedoch, das dies ziemlich kompliziert ist, nicht umsonst gibt es 3-Achsen Sensoren, zB.von Jenoptik, siehe Anhang, allerding kosten die über 600.-
Hi Gigl, ich habe zwar jetzt eine Testschaltung auf meinem Steckbrett aufgabeut, die jetzt fürs erste ganz gut funktioniert, aber es würde mich interessieren, wie Deine Hardware aussieht. Könntest Du mir die Schaltung eventuell zuschicken? Die Schaltung im Anhang ist jetzt nur eine erste Vorvorläuferversion, aber Du kannst ja mal einen Blick drauf werfen. Eventuell muss ich noch die 3. Achse ergänzen. Gruß Zoltan
Könnte mir bitte jemand erklären, wie diese Schaltung im Anhang funktioniert, bzw hat die Schaltung der beiden Transistoren einen Namen, nach dem ich googeln könnte? Die Aufgabe der Schaltung ist, 3µs lange Strompulse von ungf. 2A zu erzeugen. Dabei soll sich die Stromrichtung nach jedem Puls ändern. Ließe sich ein Teil der Schaltung nicht durch den PWM ausgang des MC ersetzten? Gruß Zoltan
Das ist eine Gegentaktendstufe. Bei TR1 handelt es sich um einen PNP- und bei TR2 umd einen NPN-Transistor. Wenn beide gesperrt sind, ist der Ausgang hochohmig. Der Flipping-Generator erzeugt eine Frequenz (weiß jetzt nicht welche). Auf jeden Fall kommt bei beiden Transistoren eine Rechtechspannung an. Beim H-Impuls steuer TR2 durch und beim L-Impuls TR1. So wird die Spannung des Flipping-Generators an die Spulen des Hall-Sensors weitergeleitet und leistungsmässig verstärkt (mehr Strom). Da das Magnetfeld von IC6 (Flipping-Spule) in regelmässigen Abständen wegen der Kalibrierung umgepolt werden muss, ist diese Schaltung notwendig. C6 sorgt dafür, dass auch eine negative Spannung zur Verfügung steht, da die Schaltung nur eine unsymmetrische Versorgung hat. Es handelt sich dabei um eine Standard-Schaltung zur Leistungsverstärkung und ist in abgewandelter Form in jeder CMOS-Endstufe vorhanden. Gerade habe ich noch mal nachgeguckt: Die Gegentaktendstufe verwendet die beiden Transistoren in umgekehrter Reihenfolge (Kollektorschaltung), und wir für den Audiobetrieb verwendet. Bis auf den Namen sollte die obige Beschreibung aber richtig sein. Die beiden Dioden schützen die Basen der Transistoren vor zu grosser negativer Spannung. der vorgeschaltet Hochpass erzeugt ziemlich kurze Impulse, die dann von den Transistoren verstärkt werden. So, noch Fragen? Gruß Rahul
Hallo Zoltan, meine Hardware ist eigentlich identisch mit Deiner, da können wir uns zur Zeit noch nicht ergänzen. Du willst eine 3. Achse einfügen , zur Kompensation des Neigungsfehlers ? Wie sehen hierfür Deine Rechenoperationen aus ? In dem Kompassmodul von Jenoptik wird hiermit eine Neigungskompensation bis 60 Grad erreicht. Aber der Preis ist für uns hier indiskutabel. Wie schon zuvor erwähnt, habe ich das bisher mit dem ADXL 202 versucht, allerdings mit nur mäßigem Erfolg, da die Abweichungen des Magnetfeldes in jedem Winkelabschnitt in Bezug auf den Neigungwinkel differieren und in halbwissentschaftlicher Betrachtung ersteinmal chaotisch wirken. Noch schwieriger erscheint mir die nachträgliche Kompensation bei dem preiswerten Kompassmodul CMP03 , da hier am Ausgang nur noch ein Messwert zur Verfügung steht. Könnte man vieleicht mit einem 2-ten CMP03 rechtwinklig dazu angeordnet einen Lösungsansatz finden? Oder besser noch mit einem KMZ 51 eine Z-Achse realisieren, um mit diesem erzeugten Messwert eine Neigungskompensation zu erreichen. Aber auch hierfür fehlt uns dann wieder die " Weltformel " . Gruß Gigl
@Rhaul kann es sein, dass die Diode vor dem PNP Transistor falsch herum ist? Ich denke, dass das Problem darin liegt, dass die Schaltung bei 5V nicht genug Strom liefert. Anders kann ich mir das Bild im Anhang nicht erklären. Laut Oszi haben die Spannungsspitzten eine Spannung von nur 3V. Laut Datenblatt kann der Widerstand der Spule 1..3 Ohm betragen. Ich messe an meinem 12 Ohm. Was bedeuten würde, dass ich bei 3V nur 0.25 A erzeugen kann. Ungf. 2,8A wären aber laut diesen "Jungs" ideal: http://www.volny.cz/vopalem/Contribut/Eurosensors/AMR.pdf Hast Du vielleicht eine Idee, wie ich stärkere Ströme erzeugen kann? (Ladungspumpe??) @Gigl Wie Du siehst bin ich noch nicht so weit, um mich mit der "Weltformel" zu befassen. Um genau zu rechnen braucht man aber mindestens drei Hall sensoren, und zwei fürs Rollen (Adxl202). Ich habe aber grad noch ganz andere Sorgen... :( Könntest Du mir nicht trotztdem den Teil Deiner Schaltung schicken, indem Du die Flip-Imupse erzeugst. Verwendest Du 5V oder eine andere Versorgungspannung?
Hallo, Nun funktioniert auf dem Steckbrett das Flipping. Es bleibt jedoch ein Rauschen von 30mV...40mV übrig. Über die PWM Ausgänge und einem Teifpass lassen sich auch die Kompensationsspulen sehr schön steuern. Nun bleibt also die Theorie: Die Rotation, ohne die Sensoren zu kippen, ist nicht schwer zu realisieren. Aber dafür wird die Kompensation der Neigung um so komlexer. Ich habe einen Teil der Theorie mit Maple darestellt(siehe Anhang). Es Fehlt mir aber noch eine Sache: Nämlich der Zusammenhang zwischen verschiedenen Winkeln beim Kippen eines kartesisches Koordinatensystems. Dazu habe ich ein Bild gemacht. Veilleicht kennt sich ja jemand damit aus, und kann mir weiterhelfen: Wie komme ich von Alpha und Beta auf die restlichen drei Winkel? (Bild siehe nächster Anhang) Gruß Zoltan
also rein von der logik her ist es imho unmöglich alpha' und beta' zu bestimmen wenn nur alpha und beta bekannt sind. denn die 3 roten achsen lassen sich doch zu den 3 grünen "verdrehen", so das sich alpha' und beta' ändern, ohne das sich alpha und beta ändern. oder liege ich da falsch?
ooh nach genauerer betrachtung des bildes hab ich festgestellt das ich falsch liege und sich die roten achsen nicht zu den grünen verdrehen können, bzw. das nicht die frage ist :)
Ja, das ganze ist schon etwas tricky. Sobald man beide Achsen kippt entsteht auch eine Drehung um die nach unten zeigende Achse (Z). Das Maß für die Drehung muss sich aber irgendwie aus den beiden Winkel Alpha' und Beta' bestimmen lassen.
sehe ich es richtig, dass die grünen Pfeile das Weltkooradinatensystem darstellen und die roten Linien die Bewegung deines Kompasses?
Hi Zoltan, ich hab leider jetzt nicht die Zeit, mir über das mathematische Problem gedanken zu machen, allerdings spannst Du mit den Einheitsvektoren und den Winkeln zwei Ebenen auf, so das Du über das Kreuzprodukt den orthogonalen z-Einheitsvektor aufspannen kannst und betrachtest das ganze dann als Ebenschnittproblem. Du kannst dann durchaus auch die Winkel mit denen sich die beiden Ebenen schneiden ermitteln. Zudem kannst Du die Winkel zwischen den beiden Fläachennormalen Vektoren bestimmen und vielleicht somit auch auf den Winkel der Z-Achse kommen bzw. diese warscheinlich auch in Relation setzen. Obs so ganu funktioniert weiß ich nicht, weil es für mich jetzt nicht sofort ersichtlich ist, welche Werte Du hast. Schau aber mal bei google oder in mathematik Unterlagen nach. Dort gibts sicher sehr gute Lösungen zu dem Problem. Stichwort Ebenenschnitt Probleme - Vektorrechnung. Gruß Marcus
@Rahul Ja die grünen Pfleie sind das Weltkooradinatensystem, aber die roten Linien stellen nicht die Drehung des Kompasses, sonder nur die Neigung/Kippung (roll/pitch) da! Die Berechnung der Richtung, also das was eingetlich den Kompass ausmacht, erfolgt erst später(siehe Kompass.zip). Die Winkel sind ja auch unabhängig davon, ob der Sensor nach Norden oder sonstwohin zeigt. @Marcus Bis zu dem Ebenschnittproblem bin ich auch gekommen. Leider ist meine Vektorrechnung schon etwas eingerostet. Ich werde aber Deinen Rat befolgen, und etwas googlen. Ich habe nämlich bis jetzt immer nur nach Koordinatentransformation gesucht. Gruß Zoltan
Vieleicht noch ein Wort zu den Winkeln Alpha' und Beta': Wenn man die Platine mit den beiden KMZ51 für die Richtingsmessung neigt, dann verändert sich deren 90° Ausrichtung zueinader, in Bezug auf das Weltkooradinatensystem. Das sieht man oben rechts auf dem Bild "Koordinatensystem.gif". Deswegen verschieben sich auch die sin und cos (siehe Anhang), da sie dann nicht mehr 90° Phasenverschiebung zueinander haben. Um das zu korgieren brauche ich Alpha' und Beta'.
Hallo Zoltan, halte vor allem nach der Hessischen Normalform (HNF) aussschau. Wenn Du mit Einheitsvektoren arbeitest, die X und Y-Werte solltest Du ja kennen, dann ergibt sich z = sqrt(1-x²-y²). Hoffe, das hilt Dir jetzt irgendiwe weiter. Gruß Marcus
Jetzt habe ichs endlich. Maple kann jetzt die Winkel Phi und die Summe aus Alpha' und Beta' berechnen. Die Gleichung ist aber mit... cos(phi)=cos(alpha)*(tan(alpha)^2*cos(beta)^2+cos(beta)^2-tan(alpha)^2)^ (1/2)/(cos(beta)*((1-cos(beta)^2)*tan(alpha)^2/cos(beta)^2+(tan(alpha)^2 *cos(beta)^2+cos(beta)^2-tan(alpha)^2)/cos(beta)^2)^(1/2)*(abs(sin(alpha )*(tan(alpha)^2*cos(beta)^2+cos(beta)^2-tan(alpha)^2)^(1/2)/cos(beta))^2 /((1-cos(beta)^2)*tan(alpha)^2/cos(beta)^2+(tan(alpha)^2*cos(beta)^2+cos (beta)^2-tan(alpha)^2)/cos(beta)^2)+abs(sin(alpha)*(1-cos(beta)^2)^(1/2) *tan(alpha)/(cos(beta)*((1-cos(beta)^2)*tan(alpha)^2/cos(beta)^2+(tan(al pha)^2*cos(beta)^2+cos(beta)^2-tan(alpha)^2)/cos(beta)^2)^(1/2))+cos(alp ha)^2*(1-cos(beta)^2)^(1/2)*tan(alpha)/(cos(beta)*((1-cos(beta)^2)*tan(a lpha)^2/cos(beta)^2+(tan(alpha)^2*cos(beta)^2+cos(beta)^2-tan(alpha)^2)/ cos(beta)^2)^(1/2)*sin(alpha)))^2+abs(cos(alpha)*(tan(alpha)^2*cos(beta) ^2+cos(beta)^2-tan(alpha)^2)^(1/2)/cos(beta))^2/((1-cos(beta)^2)*tan(alp ha)^2/cos(beta)^2+(tan(alpha)^2*cos(beta)^2+cos(beta)^2-tan(alpha)^2)/co s(beta)^2))^(1/2)) ...etwas lang, und es ist auch noch nicht komplett :-) Ich denke aber, dass aus der Gleichung sich eine Tabelle erstellen lässt, auf den ich zur Kompensation der Neigung zugreifen kann. Z.B. bräuchte man um +-30° Neigung in 1° Schritten kompensieren zu können ein 60x60 großes Datenfeld mit insgesammt 3600 Einträgen. Das ist bei zB 16K Flash kein Problem, und dieses Verfahren beschleunigt natürlich die "Berechnung" enorm. Gruß Zoltan
Hi, Zoltan! Ich wollte mal fragen, was aus dem Kompass geworden ist. Bei uns in der FH läuft gerade die Fortführung eines Projektes mit dem KMZ51, allerdings nicht als Kompass, sondern Magnetfeld-Erkennung. Gruß Rahul
ich glaube nicht das man mit dem ADXL-Beschleunigungs-Sensor den Neigungsfehler rausrechnen kann. Das ging nur dann wenn das Modell in dem der Sensor eingebaut wurde physikalisch still steht. Sobald sich das Modell aber bewegt verändert sich der Meßwert im Sensor. Fährt er durch eine Kurve so misst er zusätzlich noch die Fliehkräfte. Sogesehen misst der ADXL eigentlich die falsche physikalische Größe. Zum Messen der exakten Neigung==Raumlage des Modells benötigt man ein Kreiselsystem. Gruß Hagen
Hallo, den Sensor vielleicht "kardanisch" lagern(wie beim Kreiselkompass)
Ich habe den KMZ51 als Kompaß für Rally-Motorräder eingesetzt und zwar in einer Schaltung in der die Kompensationsspulen von einem Regelkreis so angesteuert werden daß das Erdmagnetfeld kompensiert wird. Der dazu erforderliche Strom ist dann proportional zur Erdmagnetfeldstaerke. Mit zwei Sensoren und einer arctang Tabelle habe ich die beiden Signale ausgewertet. Die erreichbare Genauigkeit liegt bei ca einem Grad. Ich halte auch eine kardanische Aufhängung für eine gute Idee. Möglicherweise mit einer geeigneten Dämpfung kombiniert so daß das Ding nich zu sehr schaukelt. Störend ist halt daß in unseren Breiten die Magnetfeldlinien relativ steil (ca 50 Grad) in die Erdoberfläche eindringen. Dadurch wird der Einfluß der Nick bzw Rollage in West-Ost bzw Nord-Süd Richtung relativ stark. Am Äquator wäre alles viel einfacher.
Hallo, das finde ich echt witzig, dass dieses thread wieder auftaucht, weil ich auch gerade dieses Wochenende vor hatte etwas zu dem Thema zu posten. Und zwar hatte die letzten Wochen etwas Zeit und diese habe ich genutzt um ein Simulink Modell von einem einfachen Kompass zu erstellen. Ich verwende das ADXL202 Simulink Modell von Analog Devices (kann man auf deren Seite downloaden). Die restlichen Blöcke sind von mir zusammengebaut. Links oben (siehe Anhang) auf der Simulink Oberfläche ist ein grüner Subsystem in dem die Neigung und der Azimuth bezogen auf den magnetischen Nordpol eingegeben werden können. Weitehin kann man hier den Erdmagnetfeldvektor definieren. Aus den Winkeln und dem Vektor ist es nun mit Hilfe der Kardanrotation möglich, die Feldstärke verteilt auf die einzelnen Hallsensoren zu berechnen. Ebenso werden die Komponenten der Erbeschleunigung für die zwei Achsen des ADXL ermittelt. Nach den Sensormodellen folgen RC-Filter und die Verstärker (es lässt sich das Rauschen der Sensoren ein und ausschalten). Am Schluss der Kette steht eine S-Function, welche die Funktion eines AVR nachbildet. Das wichtigste Ergebniss aus dem simulierten AVR ist der Azimuth der nun mit dem im grünen Eingangsblock definierten Azimuth verglichen werden kann (Vergleich siehe Scopes rechts unten). Wie schon Hagen schrieb, kann man mit dem ADXL nur die Neigung in Ruhe messen, und nicht wenn der Sensor bewegt wird. Allerdings enthält das Simulink Modell noch keinen Kreisel (Gierratensensor), da es sich hier um die erste Version handelt. Dennoch bietet dieses Modell die Möglichkeit physiklaische Grössen zu betrachten( die zum Teil nur mit sehr teuern Messgeräten annähernd so genau gemessen werden könnten wie hier) und verschiedene Kalibrierungs und Kompensationsvarianten zu testen. Das Problem ist dass die S-Funktion in Simulink zum Teil anders aufgebaut werden muss, wie die AVR-C-Kode. Dadurch macht man sich dann fast die doppelte Arbeit. Leider gibt es keinen AVR-Modell in Simulink der es erlauben würde die hex Files der kompilierten AVR-Kode zu benutzten. Doch vielleicht gibt es eine Möglichkeit in Simulink -AVRStudio oder einen anderen AVR Simulator einzubinden? -oder mit Hilfe des JTAG die Finktion des AVR-Kode in der Harware zu testen und den ATEMAG8 Simulink block(S-funtion) durch einen "Simulink Daten in JTAG Konverter"-Block zu ersätzen. Da die Dynamik in der Simulation (zB. RC-Glied) nicht von der Geschwindigkeit der Simulation abhängt könnte man nach jedem Zeitschritt die eintprechenden Simulierten analogen Werte über JTAG (USART??) in den AVR übermitteln, und erst wenn dieser die Daten Verarbeitet hat zum nächsten Simulations-Zeitschritt gehen. Das würde natürlich, wenns überhaupt geht, die Simulationsdauer nicht grad verkürzen. -oder??? Meine Frage wäre wie man die Funktion eines AVR in die Simulation einbinden könnte, ohne die orignal AVR-Kode (zu sehr) ändern zu müssen? Gruß Zoltan
Im Anhang befindet sich das Simulink Modell (Matlab 7) und eine dazu erforderliche Bibliothek. Nach dem man die beiden Verzeichnisse (in z.B. Matlab/Work) entpackt hat muss man noch in Matlab unter ->File -> Set Path... -> Add Folder die MyLibrary Verzeichniss in die Matlab Bibliothek einbinden. Gruß Zoltan
Auch eine kardanische Lagerung der ADXL's wird nichts bringen. Bewegt sich das Modell in einer Kurve dann wird die kardanische Lagerung ebenfalls den Fliehkräften zum Modell unterliegen. Ok zwar zeitlich verzögert aber denoch wirken die Kräfte bezogen zum Modell und nicht zur Erde. Kreisel sind kardanisch gelagert UND erzeugen durch hohe Rotation ein "Ruhemoment". Sie behalten also ihre Lage durch die hohe Rotation bei, da diese die Fliehkräfte/Bewegungen/Beschleungungen des Modells kompensieren. Die hohe Rotation und die daraus resultierenden Fliehkräfte heben die Fliehkräfte die auf das Modell wirken fast auf. Mit einem Kreisel misst man auch nur die Winkelbeschleunigungen des Modells relativ zur Startposition in Ruhelage. Mit den ADXL's kann man also nur die Beschleunigungen des Modells relativ zu sich selber messen. Steht das Modell ruhig, also synchron zur Erde und der ADXL misst senkrecht zum Erdmittelpunkt wird die Erdbeschleunigung von 1G gemessen. Die Beschleunigung eines Modells durch Bewegung ist mit dem ADXL nur relativ zum Modell selber zu messen. Um den relativen Winkel des Modells zur Erdachse mit den ADXL's berechnen zu können darf sich das Modell besogen zur Erde nicht bewegen. Da aber auch die Beschleunigung Erde wiederum nur releativ zu sich selber durch die ADXL's gemessen wird, beisst sich die Katze ind den Schwanz. Man benötigt ein Instrument das ausgehend von einer Startposition in Ruhelage des Modells (als Nullpunkt) später die Bewegungen des Modells relativ messen kann. Am besten sollte dieses Instument die Winkelabweichungen zum Ruhepunkt messen können. Nun, exakt das kann nur ein Kreisel oder eben eine Ortsgebundene Triangulierung mit Hilfe von äußeren Meßpunkten -> GPS zB. Gruß Hagen
Hallo ! Im Rahmen einer Diplomarbeit habe ich ebenfalls den KMZ 52 aus elektronischen Kompass eingesetzt. Jetzt ist allerdings folgendes Problem aufgetreten : Nach einiger Zeit im einwandfreien Betrieb hat sich die Ausrichtung der Sensoren verändert. Mein Nordpol ist jetzt um ca. 40° versetzt. Kann es sein, dass der Sensor von aussen oder durch den normalen Betrieb irgendwie magnetisiert wurde ? Wie kann ich ihn wieder zurücksetzen ? In einer Doku zum KMZ (ich weiss nicht mehr welcher) habe ich auch etwas von einer Initialisierung vor dem ersten Anschluss gelesen. Kann mir jemand von euch weiterhelfen ? Danke schon einmal im voraus ! Grüße, Martin
Hallo zusammen bin jetzt so gut wie fertig mit der kompenstation des KompassSignals mit Hilfe des Micromag3. Es gibt allerdings noch ein großes Problem. Überall wird beschrieben wie die x und y Achse kalibiert werden müssen das ist kein Problem. Aber nirgens steht wie man die Z Achse kalibiert so das man in der Kompensationsformel auch richtige Werte bekommt. Momentan sind x und Y Werte wie zu erwarten x entspricht einem cos und y einem -sin. Z ist horizontal Ausgerichtet nahe maximalwert und auf dem Kopf nahezu minimal. Beim drehen von z fällt auf das er in die eine Richtug konstant fällt aber in die andere kurz ansteigt und dann anschließend fällt ist das normal hat das was mit den 66° Winkel der Erdmagnetfeldlinien zu tun? Frage weiß jemand wie der Z Wert sein muss das die Kompensation funktioniert. Bin echt am verzweifeln! Gruß Patrick
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.