- LiFePO4 Speicher Test         
Ergebnis 1 bis 7 von 7

Thema: Bei EncoderInit() leuchten die Backleds mit, Odometrie ...

  1. #1

    Bei EncoderInit() leuchten die Backleds mit, Odometrie ...

    Anzeige

    Praxistest und DIY Projekte
    Beim aufruf der Funtion Encoderinit() leuchten die Backleds mit die Odometrie-Sensoren fuktionieren nicht.

    Hallo zusammen,

    habe schon allerhand an meinem asuro rumgetestet, nun wollte ich um die Funktionen Go und Turn nutzen zu können, die Odemetrie-Sensorik mit "AsuroSensoren" (V200) von Sternthaler auslesen und kallibrieren.

    Nun zu meinem Problem:

    Während des Tests bleiben die Werte der Odometrie auf 120 (Wert für hell und Dunkel!!!) stehen. Dazu leuchten die Backleds, was mich doch wundert, da man in verschiedenen Beiträgen liest, daß sie bei der Nutzung der Odometrie nicht leuchten dürfen?! Wenn ich die Funktionen selbst ausprobiere, dreht sich Asuro eigentlich nur auf der stelle, das Abschirmen der Odometriesensoren hab ich auch schon versucht, bringt keine Verbesserung.

    Kann es sein, daß irgendetwas mit den Ports des Microcontrollers durcheinander ist? Oder sind einfach die FotoLeds oder die Fototransistoren im Eimer? Bringt die Funktion EncoderInit() auch die Backleds zum leuchten?

    Vielen Dank für eure Hilfe!
    Grüße
    Sucuk67

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Die Backleds sollten nicht leuchten durch anruf von EncoderInit. Vielleicht hast du die BackLEDS im falsche richtung eingelötet. Die BackLEDs haben ein flache Seite die ubereinstimmen soll mit den Abbildung auf den Platine.

    Kannst du auch mit ein handycamera sehen ob die OdometrieLEDS leuchten nach anruffen von EncoderInit?

  3. #3

    Überprüfung der IR-Leds der Odometrie

    Hallo,

    habe die Leds überprüft (mit Digitalkammera), sie haben dabeiu nicht geleuchtet.
    Habe sie ausgetauscht wieder überprüft, sie leuchten immer noch nicht.
    Hab keine Ahnung was es sein könnte? [-(

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Wenn du von Go und Turn schreibst gehe ich davon aus, dass du die aktuelle Lib verwendest. Da ich die nicht verwende, kann ich nicht sagen, wie und was die Funktion EncoderInit() alles macht. Erster Verdacht: Du hast Init() nicht aufgerufen und die Ports sind deshalb nicht richtig eingestellt.

    Hintergrund: Die BackLeds und die OdoLeds teilen sich den gemeinsamen Pin PD7 des Mega8. PD7 auf low schaltet die BackLeds ein (zusammen mit einem High auf PC0/1), ein High an PD7 hingegen schaltet die OdoLeds an. Deshalb kann man BackLeds und Odometrie nur bedingt zusammen verwenden. Wenn PD7 ein Eingang ist, glimmen die BackLeds wie beim Selbsttest. Um die OdoLeds sicher einzuschalten könnte man folgenden Code verwenden:

    DDRD |= 0b10000000; // PD7 ist Ausgang
    PORTD |= 0b10000000; // und high
    while(1); // und halten ;)

    Dann sollten die OdoLeds mit der Digicam erkennbar sein.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Hallo Radbruch,

    habs gerade mit deinem Code versucht, funktioniert leider auch nicht!
    Bin nicht ganz sicher ob ich ´s richtig verstanden habe:

    Deine Programmierung für die Ports muss ich im mein bestehendes Program einfügen?! Wenn ja, an welcher Stelle?

    Vielen Dank für deine/eure Hilfe.

    Grüße

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Ein guter Platz wäre direkt nach Init(); oder gleich ein eigenes Testprogramm:
    Code:
    // OdoLeds einschalten
    
    #include "asuro.h"
    
    int main(void)
    {
    	Init();
    
    	DDRD |= 0b10000000; // PD7 ist Ausgang
    	PORTD |= 0b10000000; // und high
    	while(1); // und halten ;)
    	
    	// alles was jetzt noch kommt wird nicht ausgeführt
    	return 0;
    }
    Ich kann's eben leider grad nicht selbst testen, vielleicht könnte das mal jemand mit orginalem und funktionierendem asuro verifizieren.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Hallo Radbruch

    Hab' s mit dem kleinen Testprogramm ausprobiert, aber auch dann leucht en die Odometrie-LEDs nicht.

    Grüße

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen