- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 12

Thema: PCF8574 macht Schwierigkeiten !

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    73
    Beiträge
    1.175
    Blog-Einträge
    1

    PCF8574 macht Schwierigkeiten !

    Hallo Freunde

    Ich habe Probleme mit einem I2C Portexpander PCF8574 P ich kann diesen nicht "programmieren/nutzen" was kann man denn in der An-/Beschaltung falsch machen ? Eine andere Platine(Industrielle) mit PCF8574 geht wunderbar mit dem Programm.

    Hier mal meine Schaltung:


    Bitte Beachtet nicht zu sehr meine Zeichenkünste, das erste Projekt mit KiCad, nie wiiieeder !!!

    Als Adresse habe ich 0x40 Hex eingestellt. oder ich verstehe das Datenblatt falsch, habe A0,1,2 auf GND also LOW gelegt. es gibt auch keine Fehlermeldung(LEDs) bei TWI-Start, Init usw...
    Wenn ich richtig verstanden habe soll nur der PCF8574A von dieser I2C Adresse abweichen, aber den habe ich ja nicht.
    Muss warten bis die Lieferung mit den anderen Chips kommt , kann deshalb den chip nicht tauschen, kann ja sein der hat ne Macke

    Nun ja vielleicht kann wer erfahrender User mal helfen.

    Gruss und Dank
    Gerhard
    Nachtrag die LEDs sind verkehrt gezeichnet, natürlich gehen die Anoden an +5V und die Kathoden zum Chip
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken pcf8574_led.jpg  
    Geändert von oderlachs (08.09.2017 um 18:40 Uhr) Grund: Nachtrag
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Guten Abend Gerhard:

    Deine beiden Pullupwiderstände
    sind die 7K... das kann ich nicht richtig erkennen, das ist zu hoch.
    Mach die mal auf 1,5K

    und die Adresse müste meiner Meinung nach 0x20 Hex sein.
    Bit 0 ist ja das Read Write Bit

    Siro
    Geändert von Siro (08.09.2017 um 20:22 Uhr)

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    73
    Beiträge
    1.175
    Blog-Einträge
    1
    Hallo Siro,

    habe von 1,5K....7,15K mal durchprobiert...nicht anders.
    Weiss auch nicht wo sich da der Fehler verkriecht.
    Werde heute mal noch einen anderen Aufbau auf dem Steckbrett probieren.

    Gruss und Dank

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Grüß Dich Gerhard,

    keine Ahnung obs hilft, aber ich finde diesen Ratgeber ziemlich gut. Hat mir vor kurzem s..viel geholfen.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    73
    Beiträge
    1.175
    Blog-Einträge
    1
    Hallo !
    Nun bin ich sprachloser als vorher, folgendes Testergebnis habe:

    Steckplatte mit LEDs und PCF8574 geht mit Arduino, nur mit ATMega32/STK500 nicht
    Industriell gefertigte Platine mit PCF8574 geht mit Arduino und ATMega32/STK500 ...
    Also kann das Programm vom ATMega auch nicht fehlerhaft sein....

    Nun bin ich aber am Raten.... die Pullups an SCL und SDA sind bei den 20cm Leitung vom Chip zum ATMega eigentlich Wurscht, der Test mit dem Arduino ging auch ohne Pullup R's.

    Na werder schon rausfinden was es ist.....

    Gerhard
    @ Oberall : Danke für den Link, kannte ich noch nicht das Dokument.....

    ..oh das ging ja schnell hier.... der Scanner zeigt 0x20 ganz eindeutig
    Geändert von oderlachs (09.09.2017 um 10:12 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  6. #6
    HaWe
    Gast
    mit welcher I2C Adresse?
    manche I2C libs verwenden übrigens die 7-bit Adresse (u.a. Arduino), manche die 8-bit Adresse.

    für Arduino:

    Code:
        // --------------------------------------
        // i2c_scanner
        //    
        // This sketch tests the standard 7-bit addresses
        // Devices with higher bit address might not be seen properly.
        //
         
        #include <Wire.h>
        
        #define ESP_SDA 4 //GPIO4=D2 SDA ESP8266 default
        #define ESP_SCL 5 //GPIO5=D1 SCL ESP8266 default
    
        byte error, address;
        int nDevices;
     
        void setup()
        {            
          // Wire.begin(ESP_SDA,ESP_SCL);  // only for ESP8266 if not default
          
          Wire.begin();                    // AVR, ARM, ESP8266 default
     
          Serial.begin(115200);
          while (!Serial);                 // Leonardo: wait for serial monitor
    
          Serial.println("\nI2C Scanner");     
          Serial.println("\nScanning...");           
        }
         
         
        void loop()
        {
          nDevices = 0;
          for(address = 0; address < 128; address++ )
          {
    
            if (address%16 == 0)  {   
              Serial.println();  
              Serial.print( (address+1)/16);
              Serial.print("  ");
            }
    
            
            if(address==0 || address==127) {
               Serial.print("** ");
               continue;
            }
            
            Wire.beginTransmission(address);
            error = Wire.endTransmission();
         
            if (error == 0)
            {          
              if (address<16) Serial.print("0"); 
              Serial.print(address,HEX); Serial.print(" ");         
              nDevices++;
            }
            else if (error==4)
            {
              Serial.print("?? ");   
            }    
            else
            {      
               Serial.print("-- ");   
            }          
          }
          
          Serial.println();
          Serial.print("found: "); Serial.print(nDevices); Serial.print(" devices \n");
          delay(10000);      
        }

  7. #7
    HaWe
    Gast
    Zitat Zitat von Siro Beitrag anzeigen
    Guten Abend Gerhard:

    Deine beiden Pullupwiderstände
    sind die 7K... das kann ich nicht richtig erkennen, das ist zu hoch.
    Mach die mal auf 1,5K

    und die Adresse müste meiner Meinung nach 0x20 Hex sein.
    Bit 0 ist ja das Read Write Bit

    Siro
    lass mal mit deinem µC einen i2c-Scanner laufen.
    Ich denke übrigens, 7k müsste gehen, ich habe schon alles an Pullups zwischen 1,8k und 10k damit an meinen Arduinos verwendet. Es wird wohl eher wie Siro schrieb die I2C Adresse sein (0x20), aber das wird dir der Scanner schon zeigen. Hast du auch einen Arduino?

Ähnliche Themen

  1. Schwierigkeiten mit Kommunikation
    Von Phren im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 11
    Letzter Beitrag: 01.10.2012, 18:05
  2. [ERLEDIGT] Schwierigkeiten mit Nibobee
    Von Nibo_user im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 8
    Letzter Beitrag: 22.07.2012, 17:58
  3. Leistungsstufe mit Schwierigkeiten
    Von rrobert im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 28.08.2011, 17:09
  4. Schwierigkeiten mit LM1881 ...
    Von vklaffehn im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 10.12.2007, 19:04
  5. AVR ISP-Dongle, kleine Schwierigkeiten...
    Von Bibiman im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 11.04.2007, 15:16

Berechtigungen

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

Solar Speicher und Akkus Tests