Mit Arduino Uno Winkel und Längen messen

Guten Tag,

in der Uni habe ich ein neues Projekt, wo ich von Sensitec ein Evaluation-Kit (EBK 7000) zur Winkel und Längen Messung und ein Arduino Uno bekommen habe. Von Sensitec stehen die beiden Softwares zur Verfügung:

Über den Analog Plotter bekomme ich ein Sinus und ein Cosinus Signal und über die Software (EBK7000_PGA_TW2) kann ich den Interpolator(iC-TW2) auf dem shield programmieren, um die analogen Signale in digitale umzuwandeln.

Mein Problem ist momentan, dass ich das Datenblatt des iC-TW2 nicht verstehe.

iC-TW2 Datenblatt:
https://www.ichaus.de/upload/pdf/TW2_datasheet_E2en.pdf

Könnt ihr mir da weiterhelfen ? Ich weiss nicht, wie ich den iC-TW2 über die Software einstellen muss, damit ich die Signale digitalisieren kann.

Vielen Dank für eure Hilfe.

Hat da der Hersteller einen Wagon Hardware an den Unis abgekippt oder ist das alles das gleiche Projekt?

EBK7000 (Winkel/Längen Messung) mit Arduino Mega 2560

Gruß Tommy

Hallo mithrbt,

der TW2 ist recht komplex bzgl. seiner Einstellung - ist aber bereits vorkonfiguriert, dass die Signale des Sensors sinnvoll "digitalisiert" werden. D.h. An den Ausgängen PA und PB solltest du digitale Quadratursignale bekommen, wenn du den Sensor vor dem Maßstab bewegst.
Die Software hilft dann dabei einige wichtige Register im Baustein anpassen zu können.
Wenn du die Software EBK7000_PGA_TW installiert hast und über den Seriellen Monitor mit einer Baudrate von 115200 das Board kontaktierst, solltest du mit "i" (ohne Anführungszeichen) eine Info über einige Einstellungen erhalten (interessant hierbei z.B. die Auflösung - diese gibt an mit welcher Auflösung das analoge Signal des Sensors in das digitale Quadratursignal interpoliert wird).

Was hast du mit dem Board genau vor? Bei einer konkreteren Beschreibung geht das Helfen vielleicht etwas leichter.

Grüße René

Hallo,
vielen Dank für deine Antwort.
Ich habe die Offset Einstellungen für A und B vorgenommen, sodass ich von A und B die digitalen Signale auslesen kann. Leider verstehe ich nicht, wie ich den Offset für Z einstellen soll.

https://www.ichaus.de/upload/pdf/TW2_datasheet_E2en.pdf

Um ehrlich zu sein verstehe ich bei dem Datenblatt nicht, welches Register ich überschreiben muss, damit ich die Offset Einstellungen für Z und die Feinverstärkungen ändern kann.

Im Anhang findest du die Information zu den Einstellungen und ein Bild zu unserem Projekt.

Mit dem folgenden Code zähle ich die Signale.

/*********************************/
/* Programm zur Längenmessung    */
/* mit dem 2 mm Maßstab          */
/*********************************/

//DEFINES
#define pinA  PD5
#define pinB  PD7

// Globale Variablen
bool B;
bool A;
bool a_merke = LOW;
bool b_merke = HIGH;
int laenge;
int zaehler = 0; 



void setup() {

  //Legt die Datenrate ind Bit pro Sekunde (Baud) für die serielle Datenübertragung fest
  Serial.begin(57600);
  
  //Konfiguration der digitalen Pins als Input
  pinMode(pinA, INPUT);
  pinMode(pinB, INPUT); 
  

}


void loop() {

  // Einlesen der Werte der digitalen Pins
  A = digitalRead(pinA);
  B = digitalRead(pinB);
 
 

// if-Bediengungen zum zählen der digitalen Signale
if ( A != a_merke) {
  if ( B == LOW)
  {
    if( A == HIGH)
    {
     zaehler ++;
    }else{
     zaehler --;
      }
  }
}a_merke = A;

if ( B != b_merke) {
  if ( A == LOW )
  {
    if (B == LOW)
    {
      zaehler ++;
    }else{
      zaehler --;
      }
  }
}b_merke = B;

//Umrechnung der Signale in mm Schritten
laenge = zaehler / 13.75;

//Ausgabe der Umrechnung im Seriellen Monitor
Serial.print (laenge);
Serial.println ("mm");
}

Projektbild.png

Informations.png