Maussensor zählt x kontinuierlich rückwärts [gelöst]

Alles zum Thema Sensoren

Moderator: Moderatoren Team

Antworten
caramba
Friends of Marvin
Friends of Marvin
Beiträge: 8
Registriert: 24 Nov 2012, 14:59

Maussensor zählt x kontinuierlich rückwärts [gelöst]

Beitrag von caramba » 24 Nov 2012, 15:13

Hallo,

habe den aktuellen ct'Bot-Bausatz (von Segor) ohne Erweiterung. Es läuft alles bis auf der Maussensor. Habe Quarz und Sensor bereits getauscht.
Der y-Wert scheint zu passen, der x-Wert läuft nach dem Einschalten schnell rückwärts ohne zu Stoppen.
Gleicher Effekt tritt auf, wenn ich die Sensorplatine gar nicht anschließe.

Hat jemand einen Tipp, wie ich dem Fehler auf die Schliche komme?

Danke und viele Grüße.

tobi
Friends of Gort
Friends of Gort
Beiträge: 50
Registriert: 28 Apr 2011, 16:45
Wohnort: Pforzheim

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von tobi » 24 Nov 2012, 23:33

Hi,

prüf doch mal, ob die Pins SDIO bzw. SCK am Maussensor Verbindung zu den Prozessorpins MISO bzw. SCLK haben.

Gruß
Tobi

caramba
Friends of Marvin
Friends of Marvin
Beiträge: 8
Registriert: 24 Nov 2012, 14:59

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von caramba » 25 Nov 2012, 09:16

- Maus-SCK ist mit CPU-SCLK verbunden
- Maus-SDIO ist mit CPU-MISO(pin7) verbunden

- Maus-SDIO ist nicht mit CPU-MOSI (pin6) verbunden (wie es hier steht: http://wiki.ctbot.de/index.php/Agilent_ADNS-2610 )

caramba
Friends of Marvin
Friends of Marvin
Beiträge: 8
Registriert: 24 Nov 2012, 14:59

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von caramba » 25 Nov 2012, 14:48

Die TTL-Pegel an J4 scheinen auch nicht zu passen. Jedenfalls bekomme ich keine PC-Verbindung. Vielleicht hängt das mit dem Maus-Fehler zusammen.

marvin
Wiki Master
Wiki Master
Beiträge: 440
Registriert: 18 Jan 2006, 16:21
Wohnort: Berlin
Kontaktdaten:

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von marvin » 25 Nov 2012, 18:35

Hi caramba,

willkommen im Forum.
Falls dein LCD Modul funktioniert könnte dir das folgende Testprogramm weiterhelfen. Damit lassen sich die Werte der wichtigsten Register des Maus Sensors uaf dem LCD darstellen.

Code: Alles auswählen

#include "ct-Bot.h"
#include "init.h"
#include "sensor.h"
#include "display.h"
#include "mouse.h"


/**
 * Hauptprogramm des Bots. Diese Schleife kuemmert sich um seine Steuerung.
 * \param argc Anzahl der Kommandozeilenparameter
 * \param *argv Array aller Kommandozeilenparameter
 * \return Exit-Code
 */
int main(int argc, char * argv[]) 
{
    uint8_t id, dx, dy, sq, minp, maxp, psum;
	/* Alles initialisieren */
    ctbot_init(argc, argv);
    id = (uint8_t) ((mouse_sens_read(MOUSE_STATUS_REG) & 0xE0) >> 5);
    display_cursor(1, 1);
    display_printf("ID: %02X ", id);

	/* Hauptschleife des Bots */
	for (;;) 
    {
       dx = mouse_sens_read(MOUSE_DELTA_X_REG);
       dy = mouse_sens_read(MOUSE_DELTA_Y_REG);
       sq = mouse_sens_read(MOUSE_SQUAL_REG);
       minp = mouse_sens_read(MOUSE_MIN_PIXEL_REG);
       maxp = mouse_sens_read(MOUSE_MAX_PIXEL_REG);
       psum = mouse_sens_read(MOUSE_PIXEL_SUM_REG);
       display_cursor(2, 1);
       display_printf("Delta: X   %02X Y   %02X", dx, dy);
       display_cursor(3, 1);
       display_printf("Pixel: Min %02X Max %02X", minp, maxp);
       display_cursor(4, 1);
       display_printf("Div:   SQ  %02X Sum %02X", sq, psum);

       delay(100);
    }

    return 0;
}
So sollte das dann bei einem funktionierenden Maus Sensor aussehen:
IMG_3731.JPG
(89.7 KiB) 5626-mal heruntergeladen
ID muß 0 sein. X und Y bei einem ruhenden Bot ebenfalls 0.
Die anderen Werte sind abhängig vom Untergrund (weisse Tischplatte).
Dateianhänge
mouse_lcd1.zip
(4.31 KiB) 187-mal heruntergeladen

tobi
Friends of Gort
Friends of Gort
Beiträge: 50
Registriert: 28 Apr 2011, 16:45
Wohnort: Pforzheim

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von tobi » 25 Nov 2012, 20:55

Hi,
caramba hat geschrieben:- Maus-SCK ist mit CPU-SCLK verbunden
- Maus-SDIO ist mit CPU-MISO(pin7) verbunden

- Maus-SDIO ist nicht mit CPU-MOSI (pin6) verbunden (wie es hier steht: http://wiki.ctbot.de/index.php/Agilent_ADNS-2610 )
Achtung, das Bild und der Text im Wiki sind falsch! So wie du es gemessen hast, ist es korrekt!

Gruß,
Tobi

marvin
Wiki Master
Wiki Master
Beiträge: 440
Registriert: 18 Jan 2006, 16:21
Wohnort: Berlin
Kontaktdaten:

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von marvin » 25 Nov 2012, 23:04

Hallo Tobi,
danke für den Hinweis. Der Wiki Artikel wird korrigiert.
Grüße Peter

caramba
Friends of Marvin
Friends of Marvin
Beiträge: 8
Registriert: 24 Nov 2012, 14:59

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von caramba » 26 Nov 2012, 08:09

Im IRC war "ip" so nett mir zu helfen. Es war ein Fehler im Makefile für den mega1284p. Ich hatte die Variable MCU deshalb damals nicht vom Standardwert geändert. Er hat das Makefile repariert, ich habe die Variable angepasst und nun läuft es!
Danke an alle =D>

marvin
Wiki Master
Wiki Master
Beiträge: 440
Registriert: 18 Jan 2006, 16:21
Wohnort: Berlin
Kontaktdaten:

Re: Maussensor zählt x kontinuierlich rückwärts

Beitrag von marvin » 30 Nov 2012, 10:17

Mich wundert, das da überhaupt etwas funktioniert hat. Bei einem anderen CPU Typ sind das doch dann u.U. völlig andere CPU Register und Register Belegungen. Ich setze das Thema dann mal auf gelöst.
Grüße Peter

Antworten