Forum: Projekte & Code AS5040 Drehwinkelsensor C- Routinen für ATMEGA


von Wolfram L. (amazon)


Angehängte Dateien:

Lesenswert?

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

von Daniel (Gast)


Lesenswert?

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

von Wolfram (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.