Hallo Zusammen, nachdem hier Beitrag "Hat schon jemand Erfahrung mit AS5030 bzw AS5040 ?" niemand sinnvoll antworten wollte, will ich mal meine Routinen zum Auslesen des Drehwinkelsensors AS5040 hier reinstellen. Diese Routinen betreffen den 10-bit Sensor AS5040 von Austria Microsystems. Die Codegrösse ist so, dass man die Routinen auch mit ATMEGA8, ATTiny etc. einsetzen kann. Ich habe bewusst auf die Nutzung von Timern/Interrupts etc. verzichtet, damit man den Sensor quasi in alle bestehenden Programme "integrieren" kann. Pinbelegung etc. steht im Header-File. getestet hab ich mit einem ATMEGA644. Vielleicht kanns jemand brauchen. Die UART Routinen sind von Peter Fleury und dienen nur zur Testausgabe Viel Spass. Wolfram ADD: In die Prog Leitung sollte man einen 1.5K Widerstand reinsetzen. Winkelgeber, Winkelsensor, Drehencoder, Winkelencoder
Hallo Wolfram, ich habe bei meiner Diplomarbeit gerade mit dem AS5040 zu tun und bin auf dein Quellcode gestossen. Dabei hätte ich eine Frage und wäre sehr froh wenn du mir helfen könntest...!! es geht in der Datei "as5040.c" in der Funktion "as5040_ssi(void)" um folgenden Teil: if ( AS5040_PORT & (1<<AS5040_PIN_DI) ) // read port bit { data |=0x01; // set new bit in 16 bit variable } Diesen Teil verstehe ich leider nicht ganz... =( Was bewirkt in diesem Fall die if-Abfrage?? Was ist bei dir "AS5040_PORT"?? In der dazugehörigen Header-Datei hast du geschrieben: #define AS5040_PORT PINA #define AS5040_PIN_DI PINA1 Was bedeutet das? Ich wäre über deine Hilfe sehr dankbar. Grüße Daniel
Ich empfehle das AVR Tutorial hier im Forum und ein gutes C Buch. z.B. C/C++ von Markt und Technik.... PINA ist übrigens der Eingangsport A des ATMEGA.
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.