-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: RP6Control_MultiIO_selbsttests - keine ausgabe?

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.344

    RP6Control_MultiIO_selbsttests - keine ausgabe?

    Anzeige

    hi,

    eigentlich wollte ich nur einen servo testen...

    nicht dass ich irgendwelche probleme gehabt hätte, ich habe nur ein servo angeschlossen und wollte es testen. Die multiIO meldet sich am LCD und auch im terminal, die LEDs werden angemacht und dann auch ausgeschaltet. Und dann ist funkstille...

    mit einem anderen programm geht der servo...

    die selbsttest_2 scheint zu funktionieren, die meldung kommt, die ADC werte auch...

    die selbsttest_3 meldet sich, die LEDs an der bumperplatine blinken abwechselnd, dann komt im LCD die abfrage der bumper, beim betätigen leuchten die zugehörigen LEDs, im LCD kommt aber nichts an, im terminal kommen noch die werte der sharps, obwohl ich keine habe...

    die selbsttest_5 bringt im LCD verschiedene werte der minimu - da ich die noch nicht richtig kalibriert habe, kann ich nicht sagen ob diese stimmen, sie verändern sich, wenn m,an den RP6 dreht...

    was mich beunruhigt ist die reaktion auf die selbsttest_1 - nämlich gar keine...

    alle testdateien (hex) stammen aus den beispielen, am inhalt habe ich nichts geändert...

    bevor ich anfange alles auseinander zu schrauben und löten, woran könnte es liegen???
    gruß inka

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hi inka,

    zum Selbsttest 1:
    Keine Ahnung, woran das liegt.
    Klappte die Demo denn früher OHNE den Servo-Anschluß?
    Wenn ja:
    Nimm mal die Servopower raus:
    // setServoPower(1); // Servo power ON!
    ... und auch die Servoansteuerung:
    // setServo(1, servopos);

    Läuft der Selbsttest 1 (natürlich neu kompiliert!) jetzt?
    Wenn nein:
    Nimm nacheinander die Teile für RTC, EEPROM, LTC2990 usw. raus und teste nach Neukompilierung die Restfunktionen.
    So kannst du vielleicht eingrenzen, wo es hakt.

    Zum Selbsttest 3:
    Wenn du keine Sharps hast, muss die Definition:
    #define SHARP_SENSORS // SHARP IR distance sensors are used
    ... in der RP6M256_LFSBumperLib.h auskommentiert sein. Dort dürfen nur die Definitionen aktiv sein, für die auch Hardware angeschlossen ist.
    Gruß
    Dirk

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.344
    Hi Dirk, das wirtd ja immer schlimmer!!!

    mit diesem
    Code:
    #include "RP6ControlLib.h"
    #include "RP6I2CmasterTWI.h"
    #include "RP6Control_MultiIOLib.h"
    #include "RP6Control_I2CMasterLib.h"
    #include "RP6Control_MultiIO.h"
    #include "RP6ControlServoLib.h"
    
    #define I2C_RP6_BASE_ADR 10
    
    
    uint16_t servopos;
    uint8_t i;
    
    
    /*********************I2C-fehlermeldungen******************/
    
    void I2C_transmissionError(uint8_t errorState) //gibt I2C fehlermeldungen über LCD aus
    {
        clearLCD();
        writeStringLCD_P("I2C ERROR -->");
        setCursorPosLCD(1, 0);        // line 2
        writeStringLCD_P("TWI STATE: 0x");
        writeIntegerLCD(errorState, HEX);
    }
    /****************************************************/
    int main(void)
    {
    
        initRP6Control();
        multiio_init();
        initLCD();
    
        setLEDs(0b1111);
        mSleep(500);
        setLEDs(0b0000);
    
        I2CTWI_initMaster(100);
        I2CTWI_setTransmissionErrorHandler(I2C_transmissionError); //aktiviert I2C fehlermeldungen
    
        showScreenLCD(" RP6Control M32", " servo_test","","");
        mSleep(1500);
        clearLCD();
    
    
        setLEDs(0b0001);
        multiio_init();
    
        while(true)
        {
            setMultiIOLED1(1);
            setMultiIOLED1(0);
    
            }
    
    
    
        return 0;
    }
    leuchten nun nicht einmal die multi_IO LEDs!!!


    was ist da wieder schiefgelaufen? Wie bekomme ich das raus???

    edit: der selftest läuft jetzt durch:

    Code:
    3V3 Voltage:  0.0V
    ADC 3V3: 0
    NOT touched.
    ADC Touch: 0
    Temperature:  22.9°
    RTC: 18:48:44  16.02.2014
    Temperature:  21.4°
    BAT Current:    4.1mA
    BAT Voltage:  7.3V
    SERVO Volt.:  5.0V
    VCC Voltage:  5.1V
    Geändert von inka (16.02.2014 um 18:31 Uhr)
    gruß inka

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hi inka,
    leuchten nun nicht einmal die multi_IO LEDs!!!
    In deiner Schleife müßtest du noch 2 Pausen (mSleep(500); ) einbauen, um das Blinken der LED1 sehen zu können.

    Wie ist das in der Original-Demo?
    Da müßten ja die 4 LEDs auf der MultiIO im Wechsel blinken. Klappt das so?
    Gruß
    Dirk

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.344
    hi Dirk,

    gleich zu anfang - es geht wieder (fast) alles. Erklärung habe ich keine, versuche aber die situation so gut wie möglich zu beschreiben:

    - im oktober 2013 habe ich den USRBUS1 mit dieser belegung auf die EXP-platine herausgeführt, die verbindung der beiden anschlüsse (Y7 und Y9) zum neuen start/stop button wurde innerhalb der EXP mit zwei steckverbindungen realisiert, die verbindung zwischen base und dem USRBUS1 wurde nach dem_hier ausgeführt

    - vorgestern habe ich diese steckverbindungen durch gelötete verbindungen ersetzt, danach funktionierte zunächst alles wie gehabt, einen ganzen tag lang...

    - gestern nun die beschriebenen schwierigkeiten...


    als erstes habe ich natürlich die neuen verbindungen geprüft, alles ok.... Die richtigen pinns, keine lötbrücken woandershin...

    dann lief nicht einmal mehr das selftest_1 programm der multiIO, wie bereits beschrieben...

    gestern, spät abends, als ich schon fast die hoffnung aufgegeben habe, machte ich folgenden versuch:

    ich löste die verbindung des USRBUS1 steckers auf der EXP-platine und startete das selftest_1 mit dem ursprünglichem start/stop button auf der base - und es lief! Keine ahnung wieso...

    Jetzt ist die steckverbindung des USRBUS1 zu der EXP und dem neuen startbutton wieder angeschlossen und es geht alles wie gehabt...


    Wie gesagt, eine erklärung ist die beschreibung hier nicht, vielleicht findet jemand von Euch eine...



    Zitat Zitat von Dirk Beitrag anzeigen
    In deiner Schleife müßtest du noch 2 Pausen (mSleep(500); ) einbauen, um das Blinken der LED1 sehen zu können.
    nachdem die probleme verschwunden waren leuchtete die LED1 immerhin...

    Zitat Zitat von Dirk Beitrag anzeigen
    Wie ist das in der Original-Demo?
    Da müßten ja die 4 LEDs auf der MultiIO im Wechsel blinken. Klappt das so?
    nein, nix...

    noch eine frage: im selftest_1 für die multiIO ist ein shutdown drin, der auf die taster 4 und 1 reagiert. Es passiert immer wieder (zumindest ist mir das beim ausführen des selftest_1 aufgefallen), dass - wenn vorher das selftest_1 lief - nach dem einschalten des RP6 zwei LEDs auf der multiIO leuchten, was ja wohl bedeutet, dass dieser shutwdown nicht durchgeführt wurde. Ist da evtl. ein zusammenhang mit meinen problemen?

    momentan gibt der selftest_1 folgendes aus:
    Code:
    3V3 Voltage:  0.0V
    ADC 3V3: 0
    NOT touched.
    ADC Touch: 0
    Temperature:  22.4°
    RTC: 19:08:04  16.02.2014
    Temperature:  20.9°
    BAT Current:    5.7mA
    BAT Voltage:  7.2V
    SERVO Volt.:  5.0V
    VCC Voltage:  5.1V
    ist das normal, dass die 3.3V als "0" ausgegeben werden? NOT touched kommt auch wenn ich den bestimmten pin berühre...
    gruß inka

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hi inka,

    im Grunde funktioniert ja das meiste.

    Zu der 3V3 Sache:
    Hast du die 3,3V-Versorgung eingeschaltet: Klick?

    Zum Touchsensor:
    Wenn der gar nicht reagiert, müßtest du rund um den NE555 (IC14), Q13, Q14, R58, R59, C31 schauen und evtl. nachlöten.

    Zu den Status-LEDs und Servo-Ansteuerung:
    Beides wird ja mit dem PCA9685 gesteuert. Wenn die 4 LEDs bei der Original-Demo 1 nicht abwechselnd (je 2 an) blinken, funktioniert evtl. der PCA9685 nicht. Wenn das so wäre, könnte auch das Servo nicht angesteuert werden. Das würde auch erklären, warum nach Shutdown LEDs an bleiben.
    Wenn die Adress-Jumper für den PCA9685 (sitzen unterhalb des PCA) richtig sitzen, müßtest du evtl. den Vielbeiner nachlöten oder die MultiIO fabqu zur Reparatur schicken.
    Gruß
    Dirk

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.344
    hi Dirk,

    eigentlich war ja alles schon mal bei der inbetriebnahme der multiIO so weit ok, die 3.3V und auch der touchsensor. ansonsten siehe im text...

    Zitat Zitat von Dirk Beitrag anzeigen
    Zu der 3V3 Sache:
    Hast du die 3,3V-Versorgung eingeschaltet: Klick?
    der jumper J3_ON war schon drauf, den J3_SDA habe ich draufgesteckt, ausgabe hat sich nicht geändert: (bis auf ADC 3V3 und ADC Touch, was bedeuten die zahlen?)
    Code:
     3V3 Voltage:  0.0V
    ADC 3V3: 6
    NOT touched.
    ADC Touch: 7
    Temperature:  22.6°
    RTC: 15:52:41  17.02.2014
    Temperature:  22.0°
    BAT Current:  378.8mA
    BAT Voltage:  7.9V
    SERVO Volt.:  5.0V
    VCC Voltage:  5.1V
    
    3V3 Voltage:  0.0V
    ADC 3V3: 6
    NOT touched.
    ADC Touch: 7
    Temperature:  22.6°
    RTC: 15:52:43  17.02.2014
    Temperature:  23.7°
    BAT Current:   14.8mA
    BAT Voltage:  8.0V
    SERVO Volt.:  5.0V
    VCC Voltage:  5.1V
    
    3V3 Voltage:  0.0V
    ADC 3V3: 6
    NOT touched.
    ADC Touch: 7
    Temperature:  22.5°
    RTC: 15:52:44  17.02.2014
    Temperature:  21.6°
    BAT Current:   12.5mA
    BAT Voltage:  7.8V
    SERVO Volt.:  5.0V
    VCC Voltage:  5.1V
    
    3V3 Voltage:  0.0V
    ADC 3V3: 7
    NOT touched.
    ADC Touch: 7
    Temperature:  22.6°
    RTC: 15:52:46  17.02.2014
    Temperature:  21.1°
    BAT Current:   14.0mA
    BAT Voltage:  8.0V
    SERVO Volt.:  5.0V
    VCC Voltage:  5.1V


    Zitat Zitat von Dirk Beitrag anzeigen
    Zum Touchsensor:
    Wenn der gar nicht reagiert, müßtest du rund um den NE555 (IC14), Q13, Q14, R58, R59, C31 schauen und evtl. nachlöten.
    kann ich irgendwo was mit dem multimeter messen?

    Zitat Zitat von Dirk Beitrag anzeigen
    Zu den Status-LEDs und Servo-Ansteuerung:
    Beides wird ja mit dem PCA9685 gesteuert. Wenn die 4 LEDs bei der Original-Demo 1 nicht abwechselnd (je 2 an) blinken, funktioniert evtl. der PCA9685 nicht. Wenn das so wäre, könnte auch das Servo nicht angesteuert werden. Das würde auch erklären, warum nach Shutdown LEDs an bleiben.
    Wenn die Adress-Jumper für den PCA9685 (sitzen unterhalb des PCA) richtig sitzen, müßtest du evtl. den Vielbeiner nachlöten oder die MultiIO fabqu zur Reparatur schicken.
    die LEDs blinken abwechselnd (über kreuz) bei der selftest_1, der servo wird auch angesteuert, die LEDs bleiben nur nach dem beenden des selftest_1 ohne shutdown an, nach dem ausschalten per S1 gehen sie auch wieder an. Auch wenn der RP6 länger ausgeschaltet bleibt (so lange wie ich diesen text geschrieben habe - ca 15sec.) Wenn der stecker zum loader abgezogen ist, gehen die LEDs beim erneuten einschalten des RP6 nicht mehr an. Was hat das damit zu tun?
    gruß inka

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hi inka,
    die LEDs blinken abwechselnd (über kreuz) bei der selftest_1, der servo wird auch angesteuert,...
    Na, dann ist ja doch alles ok mit dem PCA9685. Was hattest du für Sorgen?

    die LEDs bleiben nur nach dem beenden des selftest_1 ohne shutdown an, nach dem ausschalten per S1 gehen sie auch wieder an. Auch wenn der RP6 länger ausgeschaltet bleibt (so lange wie ich diesen text geschrieben habe - ca 15sec.) Wenn der stecker zum loader abgezogen ist, gehen die LEDs beim erneuten einschalten des RP6 nicht mehr an. Was hat das damit zu tun?
    Das klingt alles ganz normal.
    Erklärung:
    Nur wenn du in der Demo 1 mit den Tasten 4 und danach 1 den Shutdown-Modus gewählt hast, ist die MultiIO auch im Shutdown-Modus.
    Nach der Meldung:
    The MultiIO now is in SHUTDOWN MODE!!!
    RESET the M256 microcontroller now...

    ... kannst du Reset oder irgend etwas anderes am RP6 machen (d.h.: MultiIO wird nicht benutzt und bleibt dauerhaft im Shutdown-Modus).

    Wenn du die Demo 1 beendest (per Reset o.ä.), ohne vorher in den Shutdown-Modus eingeschaltet zu haben, bleibt die MultiIO aktiv (z.B. LEDs an oder die Servo-Power an).
    Erst nach einem kompletten Ausschalten des RP6 (VCC aus) startet die MultiIO (nach ihrem eigenen Init) wieder geordnet (z.B. alle LEDs aus), auch wenn vorher nicht der Shutdown-Modus aktiv war.

    ... ADC 3V3 und ADC Touch, was bedeuten die zahlen?
    Das ist der Wert, den der AD-Wandler misst.
    Der ist in beiden Fällen sehr niedrig. 3,3V ist wohl nicht messbar und Touch sagt: Nicht berührt.
    Wäre Touch berührt, würde bei ADC Touch über 900 stehen.

    Zu 3,3V:
    Es gibt ja den 6-poligen, einreihigen Stecker "Luftdruck". Am linken Pin (mit 3V3 beschriftet) müßte 3,3V gegen GND zu messen sein.

    Zu Touch:
    Du könntest am Wahl-Jumperblock am Pin NE5 messen, welche Spannung der Touch-Sensor ausgibt (gegen GND).
    Hast du dort auch die Jumper richtig stecken: Klick?
    (Wenn die Jumper nicht richtig sitzen, könnte das auch die fehlende 3V3-Messung erklären. Übrigens: Der ADC-Stecker der M32 ist mit der MultiIO [ADC_Mxxx] verbunden?)
    Gruß
    Dirk

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.344
    Hi Dirk,
    Zitat Zitat von Dirk Beitrag anzeigen
    Na, dann ist ja doch alles ok mit dem PCA9685. Was hattest du für Sorgen?
    tja, das war gestern am tag leider nich alles so...


    Zitat Zitat von Dirk Beitrag anzeigen
    Wenn du die Demo 1 beendest (per Reset o.ä.), ohne vorher in den Shutdown-Modus eingeschaltet zu haben, bleibt die MultiIO aktiv (z.B. LEDs an oder die Servo-Power an).
    Erst nach einem kompletten Ausschalten des RP6 (VCC aus) startet die MultiIO (nach ihrem eigenen Init) wieder geordnet (z.B. alle LEDs aus), auch wenn vorher nicht der Shutdown-Modus aktiv war.
    Ich habs jetzt noch einmal durchgespielt:
    - selftest_1 geladen und ausgeführt
    - abbruch/ausschalten ohne shut down
    - RP6 (die m32) mit loaderkabel mit dem PC verbunden

    - die multiIO bleibt in NICHT shutdownmodus, die LEDs brennen, servopower ist an.
    - loaderkabel abgezogen, RP6 aus und eingeschaltet,multiIO befindet sich im shutdown modus, LEDs sind aus, servopower OFF


    Zitat Zitat von Dirk Beitrag anzeigen
    Zu 3,3V:
    Es gibt ja den 6-poligen, einreihigen Stecker "Luftdruck". Am linken Pin (mit 3V3 beschriftet) müßte 3,3V gegen GND zu messen sein.
    An allen 3V3 pins habe ich auch 3.1V gemessen, das war mir letzendlich wichtig, weil ich demnächst evtl. ein modul anbauen will, das 3.3V braucht...
    Warum werden sie aber nicht angezeigt?

    Zu Touch:
    Zitat Zitat von Dirk Beitrag anzeigen
    Du könntest am Wahl-Jumperblock am Pin NE5 messen, welche Spannung der Touch-Sensor ausgibt (gegen GND).
    Hast du dort auch die Jumper richtig stecken: Klick?
    (Wenn die Jumper nicht richtig sitzen, könnte das auch die fehlende 3V3-Messung erklären. Übrigens: Der ADC-Stecker der M32 ist mit der MultiIO [ADC_Mxxx] verbunden?)
    am NE5 wird 0V gemessen, alle stecker verbunden, jumper gesetzt...
    gruß inka

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hi,
    Ich habs jetzt noch einmal durchgespielt:
    - selftest_1 geladen und ausgeführt
    - abbruch/ausschalten ohne shut down
    - RP6 (die m32) mit loaderkabel mit dem PC verbunden
    - die multiIO bleibt in NICHT shutdownmodus, die LEDs brennen, servopower ist an.
    - loaderkabel abgezogen, RP6 aus und eingeschaltet,multiIO befindet sich im shutdown modus, LEDs sind aus, servopower OFF
    Klingt alles völlig normal. Was gefällt dir daran nicht?

    Warum werden sie aber nicht angezeigt?
    Wenn du alles, wie beschrieben, angeschlossen/gejumpert ... hast, fällt mir nichts weiter ein.
    Letztlich müßtest du die ganze Verbindungs-Kette von Touch und 3V3 bis auf die M32 durchmessen.Da aber beide nicht funktionieren, denke ich eher nicht an einen Defekt, sondern an einen Fehler bei den Jumper-Verbindungen.
    Check auch noch mal die Standard-Jumperstellung für die M32.
    Gruß
    Dirk

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Keine Ausgabe über UART
    Von tuempeltaucher im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 5
    Letzter Beitrag: 19.12.2011, 19:23
  2. Antworten: 5
    Letzter Beitrag: 13.11.2010, 16:02
  3. Mega16 PWM am OC2 über Timer2 - keine Ausgabe am Pin?
    Von BlooD im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 22.07.2007, 21:58
  4. AVR kaptt? Keine ausgabe an 3 pins...
    Von Maverick89 im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 25.05.2007, 22:11
  5. Warum keine Klassen für Ein-/Ausgabe?
    Von p_mork im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 17.03.2007, 15:42

Berechtigungen

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