Forum: Mikrocontroller und Digitale Elektronik ESP8266_PC817C_RaspberryPi


von Michael T. (michael_t156)


Lesenswert?

Guten Tag allerseits, vorweg ich bin in diesem Bereich ein absoluter 
Neuling.
In der Regel programmiere ich und erstelle keine Schaltungen, daher 
bitte ich schon vorweg um Nachsicht, sollte ich mich falsch ausdrücken.


Nun zu meinem Anliegen:

- als erstes, das Ziel:

ESP pingt RPI an, bekommt Antwort, speichert Timestamp,
bekommt länger als 5 Minuten keine Antwort, ESP resettet den RPi.

- die zunächst geplante Schaltung:

Einfach ESP D1 Low/High schalten und mit dem RUN von RPi verbinden.
Dies klappt so mal gar nicht.

- die zweite Schaltung

D1 und GND auf Pin1 und Pin2 des 817C, GND RPi und RUN RPi auf Pin3 und 
Pin4 des 817C.

ESP, 817C und RPi sind natürlich alle mit der gleichen 5V und GND 
Schiene verbunden.

Funktioniert ebenfalls nicht.

Der Tipp mit dem Optokoppler kam aus dem Internet, kann also nicht genau 
sogen ob das so überhaupt funktioniert.

Daher meine Frage an euch ob ihr mir hier Bitte helfen könntet um das 
Problem zu lösen ?

Vielen Dank !

von Jörg R. (solar77)


Lesenswert?

Michael T. schrieb:
> - die zunächst geplante Schaltung:

Zeige die Schaltung(en) als Schaltplan. Dazu auch Deinen Aufbau, aber so 
dass man etwas erkennen kann.

> D1 und GND auf Pin1 und Pin2 des 817C, GND RPi und RUN RPi auf
> Pin3 und  Pin4 des 817C.

Der PC817C benötigt einen Vorwiderstand auf der Eingangsseite.

Der „Ausgang“ des PC817 liefert keine Spannung, das fehlt scheinbar ein 
Pullup von PIN4 nach Plus der Versorgungsspannung des RPi.

: Bearbeitet durch User
von Michael T. (michael_t156)


Lesenswert?

Danke erstmal für deine Antwort. Schaltung kann ich aktuell keine 
Zeichnen, bin auf Arbeit und hab mir nur das Breadboard mitgenommen.

Schon alleine der Hinweis, das der 817C einen Vorwiderstand benötigt, 
ist mir schon neu, einen solchen habe ich nicht.

       ESP  ->   D1  ---1  PC  4--- RUN RPi  <-  RPi
                 GND ---2 817C 3--- GND

5V und GND ist bei allen Komponenten der gleiche.

Sketch für den ESP (nur Test):

const int optokopplerPin = D1;
const int ledPin = LED_BUILTIN;

void setup() {
  Serial.begin(115200);
  pinMode(optokopplerPin, OUTPUT);
  pinMode(ledPin, OUTPUT);

  Serial.println("ESP8266 initialisiert. Warte auf Befehl...");
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(100);
  digitalWrite(ledPin, LOW);
  delay(2900);

  if (Serial.available() > 0) {
    String command = Serial.readStringUntil('\n');
    if (command == "kill") {
      digitalWrite(optokopplerPin, HIGH);
      Serial.println("Befehl 'kill' erkannt. Optokoppler aktiviert.");
      delay(3000);
      digitalWrite(optokopplerPin, LOW);
      Serial.println("Optokoppler deaktiviert.");
    }
  }
}

von Jörg R. (solar77)


Lesenswert?

Michael T. schrieb:
> Danke erstmal für deine Antwort. Schaltung kann ich aktuell keine
> Zeichnen, bin auf Arbeit und hab mir nur das Breadboard mitgenommen.
>
> Schon alleine der Hinweis, das der 817C einen Vorwiderstand benötigt,
> ist mir schon neu, einen solchen habe ich nicht.

Ich vermute auch dass, wie schon erwähnt, ein Pullup-Widerstand an PIN4 
fehlt.

>        ESP  ->   D1  ---1  PC  4--- RUN RPi  <-  RPi
>                  GND ---2 817C 3--- GND

> 5V und GND ist bei allen Komponenten der gleiche.


> Sketch für den ESP (nur Test):

Da bin ich raus;-) Sicherlich gibt es aber User die Dir hier helfen 
können.

> const int optokopplerPin = D1;
> const int ledPin = LED_BUILTIN;
> ..

: Bearbeitet durch User
von Michael T. (michael_t156)


Lesenswert?

Ich danke dir dennoch für deine Antworten und der Hinweis mit dem 
Vorwiderstand war schon mal der erste Schritt in die richtige Richtung 
:)

Ruhig Nacht wünsche ich.

von Jörg R. (solar77)


Angehängte Dateien:

Lesenswert?

Michael T. schrieb:
> Ich danke dir dennoch für deine Antworten und der Hinweis mit dem
> Vorwiderstand war schon mal der erste Schritt in die richtige Richtung
> :)

Nach meinem Verständnis und Deiner Beschreibung müsste der OK so 
beschaltet werden:

https://www.mikrocontroller.net/attachment/626172/PC817-A.jpg

Aber..brauchst Du unbedingt einen Optokoppler? Reicht nicht ein 
NPN-Transistor?

> Ruhig Nacht wünsche ich.

Ebenso;-)

: Bearbeitet durch User
von Michael T. (michael_t156)


Lesenswert?

Öhm :D

Keine Ahnung was das ist. Ich bin für jeden Tipp dankbar!
Je einfacher umso besser.

Dankeschön für die Schaltung. Beende jetzt meinen Nachtdienst, schlaf 
mich aus und dann führe ich mir das Ganze nochmal zu Gemüte.

von Rainer W. (rawi)


Lesenswert?

Jörg R. schrieb:
> Reicht nicht ein NPN-Transistor?

Reicht nicht ein Draht oder ein Widerstand?
Wozu die Invertierung?

von Michael T. (michael_t156)


Lesenswert?

So heute Abend kann ich mich nochmal auf das Projekt stürzen.
Habe nun endlich mein Elektronik-Kit erhalten und kann somit auch besser 
testen.

Bin mal gespannt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.