- LiFePO4 Speicher Test         
Seite 5 von 12 ErsteErste ... 34567 ... LetzteLetzte
Ergebnis 41 bis 50 von 118

Thema: Suche Leute die mitmachen beim programmieren von Robby

  1. #41
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Anzeige

    Praxistest und DIY Projekte
    Also, zum I2C READ:

    Leider kann man nicht schreiben "DataByte = SYS ..."; das geht anscheinend nur bei Unterprogrammen, nicht bei SYS.
    Deshalb musst Du jetzt irgendwo ein Unterprogramm definieren:

    #I2C_READ
    sys I2C_READ_ I2C_ADDR
    return

    und kann dann aufrufen:

    value = i2c_read

    Bin mir nicht 100 pro sicher, ob das Ergebnis dann wirklich im low byte von VALUE steht und ob das high byte wirklich 0 ist;
    zum Testen am besten ein WORD deklarieren (PARAM kannst Du hernehmen), und dann explizit LBYTE und im HBYTE ausgeben.

    (Kann grad nix testen: Robby Akkus werden geladen, und muss erst wieder PCF als READ zusammenstecken)

    Ich werde die Schnittstelle zum I2C ändern, z.B.
    IN: Adresse in LBYTE, Daten in HBYTE (nur WRITE)
    OUT: Daten in HBYTE (nur READ)
    Muss dazu aber auch den Assembler-Teil ändern.

  2. #42
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Die Kinder haben mir die Kamera geliehen, und damit ist es mir gelungen, Bilder von meinem Erweiterungs-Board und vom LCD Mini-Board zu machen: https://www.roboternetz.de/phpBB2/vi...hp?p=5400#5400.

  3. #43
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    68
    Beiträge
    398
    Hallo jörg!
    Du schreibst:
    Aber: was macht man, wenn paar Ports desselben PCF IN sind, und paar sind OUT? Denn: technisch gesehen, werden beim READ immer alle 8 PCF-Ports gelesen, und ich weiss nicht, was "quasi tristate" beim PCF heissen soll.

    Die ports sind quasi bidirektional.
    Das quasi deshalb , weil man ja z.B. nur schreiben kann und danach lesen und nicht beides gleichzeitig.
    Die Ports für in zum testen würde ich mit einem Draht kurz an + oder - legen, noch nichs mit Tastern.
    Man kann das auch trennen , um eine Vereinfachung zu erreichen
    1.PCF8574 für Ausgabe , 2. PCF für eingabe.
    Also 1. LCD-Ausgabe und 2. für Eingabe
    MfG
    janpeter

  4. #44
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    68
    Beiträge
    398
    Hallo jörg!
    Das geht nicht so , wie du beschrieben hast :

    #I2C_READ
    sys I2C_READ_ADDR
    return

    Ich muss ja irgendwo die Adresse mit Übertragen , dass das Programm weiss, wo es lesen soll (bei welchem PCD8574) !
    MfG
    janpeter

  5. #45
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Das ist hier schlecht zu lesen, und die Namen sind vielleicht bisschen blöd mit all den I2C und _;
    das muss heissen:

    sys I2C_READ_ I2C_ADDR

    Der Parameter I2C_ADDR ist definiert auf den WRITE (!!) Port, z.B. auf &H40. Es ist auch beim READ der WRITE Port, damit man nicht 2 defines braucht für jeden PCF, sondrn nur einen.

    Ich hoffe, es geht!

    Hoffe, es geht!

  6. #46
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Oha, da gehen alle SPACES verloren, die ich so mühsam eintippe; also

    Code:
    sys    I2C_READ_    I2C_ADDR

  7. #47
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Da wird sich Robby aber freuen:
    Ich hab seine Akkus aufgeladen, und könnte jetzt eigentlich wieder testen.

    Aber ob sich meine Bauteile auch freuen, weiss ich nicht;
    immerhin messe ich jetzt 8.2 V an der BATT, und 7.4 an Vcc.

    Oh je!

  8. #48
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    68
    Beiträge
    398
    Hallo jörg!
    Ich werde es Heute ausprobieren .
    Mit der Spannung gefällt mir auch nicht .
    Ich habe Robby jetzt NiMH-Akkus mit 2100mAh gegönnt.
    Bei erster inbetriebnahme hatte ich nach dem laden der Akkus 7,8 Volt!
    Und Robby wollte erst nach dem 5. Versuch sein Programm ausführen.
    Ich glaube wir brauchen wirklich 5 Volt Versorgungsspannung.
    Ich trau mich nicht ran mit dem Regler 5V/3A, weil ich nicht weiss , ob die Mosfets zur Motorregelung mit der Ansteuerung der Versorgungsspannung von 5 Volt richtig angesteuert werden.
    MfG
    janpeter

  9. #49
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Hallo JanPeter:

    Ich hab auch NiMH, mit 2000 mAh.
    Ich könnte wetten, dass das Programm beim ersten Einschalten nicht angelaufen ist, erst nach Ausschalten, Einschalten und nochmal START; aber ich bin mir nicht sicher, weil meine START manchmal nicht geht. Seitdem hatte ich keine Probleme mehr.
    Die zusätzlichen Bauteile (74HCT00, PCF8574, LCD, PCF8574A) laufen auch unauffällig vor sich hin.

    Trotzdem!
    Aber das mit dem Regler ist mir auch nicht ganz geheuer. DIE HARD hatte da mal geschrieben, welche Teile UNBEDINGT auch mit 7 V laufen müssen (Mosfets? ).

    Der I2C_READ läuft. Ich hab folgendes gemacht:

    Auf Steckbrett:
    1. PCF8674 mit Adressen auf Gnd, = &H40 (am LCD habe ich ja PCF8574A...)
    2. Alle 8 Daten-Ports über 10 k nach "Vcc"
    3. Steckbrett samt PCF mit 4 Käbelchen an Gnd, Vcc, SDA, SCL in meine parallele zweite I2C-Buchse am LCD MiniBoard gesteckt
    4. Zum Testen mit Käbelchen die Daten-Ports des PCF auf Gnd gelegt.

    Im CCBASIC Testprogramm irgendwo Endlosschleife eingefügt:
    Code:
    #show_i2c_read
        gosub lcd_cls
        gosub lcd_print : print "I2C read";
        
        #read_loop
            gosub lcd_line2
            gosub lcd_print : print "val=";
            subcmd = i2C_read
            gosub lcd_write_hex
        goto read_loop
    
    
    und am Ende irgendwo die Basistreiber
    
    
    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
    'IIIIIIIIII              CCRP5 I2C DRIVERS
    'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
    
    #I2C_READ  ' reads and RETURNs one byte from the I2C device with WRITE (!) address I2C_ADDR
               ' IN:  ---
               ' OUT: RETURN = byte read from device
               ' EX:  value = i2c_read
        sys I2C_READ_ I2C_ADDR
        return
    
    #I2C_WRITE ' writes HBYTE to the I2C device with (WRITE) address I2C_ADDR
               ' IN:  HBYTE:  byte to be written to I2C device
               ' OUT: ---
               ' EX:  hbyte = 123 : gosub I2C_WRITE
        sys I2C_WRITE_ hbyte, I2C_ADDR
        return
    Viel Erfolg damit!

  10. #50
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Jetzt gehts ja mit sogar Bild!
    Brauch ich nie wieder Schaltplan zeichnen!

    Geht doch nicht: Ich hab meine Upload Quota Grenze erreicht...

Seite 5 von 12 ErsteErste ... 34567 ... LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad