Forum: Mikrocontroller und Digitale Elektronik VTI Gyroskop und SPI


von Dani H. (sinthoras)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich brauch mal wieder Eure Hilfe bei einem VTI Sensor. Es handelt sich 
um das Gyroskop SCR1100, welches ich gerne über die SPI Schnittstelle 
ansprechen würde.
Ich möchte mit nachfolgendem Code die Winkelgeschwindigkeit auslesen, 
bekomme auch eine Antwort, allerdings ändert sich diese bei Drehung des 
Gyros nur minimal.....

uint16_t gyro_abfragen(void){
  uint16_t rueckgabe = 0;
  PORTD &= ~(1<<PD4);
  SPDR = (0x00);
  //warten bis übertragung komplett
  while(!(SPSR & (1<<SPIF)));
  SPDR = 0x01;
  while(!(SPSR & (1<<SPIF)));
  SPDR = 0x00;
  while(!(SPSR & (1<<SPIF)));
  rueckgabe = (SPDR<<8);
  SPDR = 0x01;
  while(!(SPSR & (1<<SPIF)));
  rueckgabe = rueckgabe + SPDR;
  PORTD |=(1<<PD4);
  return rueckgabe;
}

Danke im Voraus für jede Hilfe!

Grüße
Dani

von Joachim .. (joachim_01)


Lesenswert?

Haste den SPI-Übertragungs-Mode richtig eingestellt? Wenn nicht, dann 
probieren, es gibt vier Modi. Ich hatte damit mal mit nem Thermometer 
die gleichen Probs.

von Dani H. (sinthoras)


Lesenswert?

Hallo,
Spi modus stimmt, gibt es noch andere Ideen?

Grüße
Dani

von Dani H. (sinthoras)


Lesenswert?

ich glaube der Fehler besteht darin, dass beim ersten auslesen des SPDR 
der lsb-Teil des Status Information gelesen wird... und nicht der 
msb-Teil der Drehrate......  allerdings erschliest sich mir nicht 
warum....

von Dani H. (sinthoras)


Angehängte Dateien:

Lesenswert?

hatte heute mal die Möglichkeit die Signale am Oszi anzuschaun, konnte 
aber keinen Fehler finden, habe ich etwas übersehen?
Grüße
Dani

von Dani H. (sinthoras)


Lesenswert?

kann mir wirklich keiner helfen?

von Karl H. (kbuchegg)


Lesenswert?

Den SS Pin vom Mega hast du als Output konfiguriert?


Ansonsten: zeig halt mal mehr!

Wie ist der Sensor angeschlossen?
Wie sieht dein Programm aus?

von Pit (Gast)


Lesenswert?

Setzt mal den Taktteiler auf das Maximum, vlt. liesst Du einfach nur zu 
schnell.

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.