- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 9 von 9

Thema: I2C Ausgabekarte mit PCF8574

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    03.07.2004
    Beiträge
    5

    I2C Ausgabekarte mit PCF8574

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    ich habe auf www.horter.de eine I2C Ausgabekarte entdeckt, auf der ein PCF8574 verbaut ist und man dadurch nur 2 Ports an der C-Control benötigt.
    Wie man die anschließt ist mir klar, aber nicht wie man die einzelnen Relais ansteuert, kann mir das vielleicht jemand erklären?

    Danke schonmal im Voraus.

  2. #2
    Gast
    Ist denn keine Anleitung dabei? Eine etwas belastbarere Relaiskarte sogar mir Umschalterelais gibts hier http://www.robotikhardware.de/relaisplatine.html
    Ansteuerung dürfte gleich sein, es ist auch ein PCF8574 verbaut. Schau doch da mal in die Anleitung

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    03.07.2004
    Beiträge
    5
    Also ne Anleitung ist ned dabei in der steht wie man die Karte ansteuern kann.
    Hab mir mal den Link von dir angeschaut, ist schon nicht schlecht, aber ich bräuchte halt nen Beispiel in Basic...

  4. #4
    Gast
    In Bascom hab ich was:

    Code:
    $regfile = "m32def.dat" 
    $crystal = 1000000 
    $baud = 9600 
    
    
    Declare Sub Schalte_relais(byval Relaisnr As Byte , Byval Status As Byte) 
    
    
    Dim I As Byte 
    Dim Relaisstatus As Byte 
    
    
    Const Relaisport_adr = &H76 
    
    
    'Ports für I2C-Bus 
    Config Scl = Portc.0 
    Config Sda = Portc.1 
    
    'I2C-Bus initialisieren 
    I2cinit 
    
    
    Config Porta = Output 
    
    
    Main: 
    
       For I = 0 To 7 
    
          Porta.i = 0 
          Call Schalte_relais(i , 1) 
          Wait 1 
    
          Porta.i = 1 
          Call Schalte_relais(i , 0) 
          Wait 1 
    
       Next I 
    
    Goto Main 
    
    
    Sub Schalte_relais(byval Relaisnr As Byte , Byval Status As Byte) 
    
       Relaisstatus.relaisnr = Status 
    
       I2cstart 
    
       I2cwbyte Relaisport_adr                        'Schreibbefehl an PCF 
       I2cwbyte Relaisstatus                          'Datenbyte an PCF 
    
       I2cstop 
    
    End Sub

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    03.07.2004
    Beiträge
    5
    naja, also wie gesagt, basecom bringt mir nicht viel, ich brauch basic...

  6. #6
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Bei der C-Control brauchst du noch ein Assemblerprogramm zur Ansteuerung des I2C-Bus. Schau mal im Download-Bereich, da haben wir ein geeignetes I2C-Assemblerprogramm für die C-Control. Das kannst du in Basic einbinden. Ich glaub es ist sogar Beispiel für den PCF dabei.

    Gruß Frank

    PS. Bascom ist auch Basic, allerdings für die Atmel Controller.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    03.07.2004
    Beiträge
    5
    Hallo Frank,
    könntest du mir vielleicht den zusammenhang von dem Beispiel und dem Assemblerprogramm erklären? und am besten auch wo ich was in welcher Form angeben muss...

  8. #8
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hi,
    den Treiber (AssemblerProgramm) findest du hier https://www.roboternetz.de/phpBB2/dl...file&file_id=2

    Ich glaube eine compilierte Fassung ist auch dabei. In dem Demo siehst du wie der Maschinencode mit dem Befehl SYSCODE eingebuden wird und wie einzelne Ports gesetzt werden. Im Grunde ist es auch oben in dem Bascom Beispiel schon zu erkennen.
    Es müssen dann beim Aufruf zwei Parameter angegeben werden. Die I2C-Adresse der Relaisplatine (die steht in der jeweiligen Anleitung und kann meist frei über Jumper konfiguriert werden, bei rnrelais wird das beschrieben). Als zweiten Parameter die Binärzahl die den Schaltzustand angibt. Beispielseweise ist ja 255 = Binär 11111111. Also alle 8 Relais ziehen an. Oder Dezimal 3 = Binär 00000011 Also nur das erste und zweite Relais zieht an. So ist es zumindest bei rnrelais, manchmal ist es bei anderen Karten auch umgekehrt. Mußt du austesten. Am besten versuchst du erst mal den I2C Code runter zu laden und das Beispiel zu compilieren. Dann musst du versuchen den Code nachzuvollziehen

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    03.07.2004
    Beiträge
    5
    Ok, danke erstmal.
    Sobald ich meine "Ausgabekarte" hab werd ichs halt mal ausprobieren...

Berechtigungen

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

Solar Speicher und Akkus Tests