Forum: Mikrocontroller und Digitale Elektronik ESP32-S3-Touch-LCD-4.3B


von Michael M. (michael_m260)


Lesenswert?

hallo,
ich bin mir sicher hier kann mir jemand auf die Sprünge helfen.

der ESP32-S3-Touch-LCD-4.3B hat einen RS485
Schaltplan: 
https://files.waveshare.com/wiki/ESP32-S3-Touch-LCD-4.3B/ESP32-S3-Touch-LCD-4.3B-Sch.pdf

wie muss ich die verdrahtung vom SP3485E (RS485 transceiver) verstehen?
Der TX steuert den DE/RE ?
In der Software ist der TX GPIO44 und RX GPIO43
Mein Problem ist der ESP empfängt keine Daten und beim senden beschwert 
er sich über einen crc fehler (schreibt das gesendete spiegelbild als 
empfangen hin auch wenn der rx an einem andern GIPO hängt)
ESP Home ist in Verwendung.

von Sebastian R. (sebastian_r569)


Angehängte Dateien:

Lesenswert?

Die Schaltung ist... Spannnend...

Beim Senden wird nicht der Treiber genutzt, sondern mit jedem Bit wird 
die Richtung umgeschaltet - Ich bezweifele, dass das zu einer korrekten 
Änderung auf der Busleitung führt.

Aber vielleicht weiß ja jemand mehr.

: Bearbeitet durch User
von Marc N. (neujahr)


Angehängte Dateien:

Lesenswert?

Wenn ich mir das Datenblatt und dort das Symbolbild, vermute ich, dass 
da wohl jemand komplett geschlafen hat.

von Michael M. (michael_m260)


Lesenswert?

Das senden kann ich mir ja noch schön reden auch wenns der Erfinder vom 
Transiver so nicht gemeint hat. aber wie soll ein normaler Treiber einer 
Uart das empfangen hinbekommen?

von Rahul D. (rahul)


Lesenswert?

Michael M. schrieb:
> aber wie soll ein normaler Treiber einer
> Uart das empfangen hinbekommen?

Nur dann lesen, wenn nicht geschrieben wird (Grundvoraussetzung von 
2-Wire-RS485).

von Michael M. (michael_m260)


Lesenswert?

dafür müsste in diesem Fall aber erst mal der TX read enablen weil er da 
dran hängt. Und noch besser wärs wenn er nicht selbst einen loobback 
simuliert der garnicht da ist. Schau dir die Schaltung an und erklähr 
mir was der Hersteller damit wollte.

von Rahul D. (rahul)


Lesenswert?

Michael M. schrieb:
> dafür müsste in diesem Fall aber erst mal der TX read enablen weil er da
> dran hängt.
Mal dir doch einfach mal eine Tabelle mit den logischen Pegeln für TX, 
RX und DE/RI auf.
Beachte dabei den (vorgespannten) Ruhepegel der RS485-Leitung.

> Und noch besser wärs wenn er nicht selbst einen loobback
> simuliert der gar nicht da ist.
> Schau dir die Schaltung an und erklähr
> mir was der Hersteller damit wollte.

1. Dich verwirren ;)
2. Eine automatische Sende-Empfangsumschaltung realisieren, wodurch man 
sich den Richtungsumschaltpin spart.

von N. M. (mani)


Lesenswert?

Solche Beschaltungen hatten wir hier schon ein paar Mal. Also das die 
Richtungsumschaltung als TX Pin verwendet wird.
Wenn du suchst findest du bestimmt andere Threads dazu.
Wahrscheinlich wollten man Pins sparen.
In meinen Augen Murks.
Das traurige ist, dass zumindest auf manchen Boards noch Pins frei sind.

Seither äußerte sich das nicht nur in schlechten Pegeln, sondern auch in 
viel langsameren Umschaltzeiten von Low auf High, weil da nicht aktiv 
getrieben wird.

von Michael M. (michael_m260)


Lesenswert?

OK also TX ist murx das ist schon klar, funktioniert dafür. RX geht 
nicht obwohl es hardwareseitig ansich ok ist.
RX sollte gehen wenn die Uart TX hi oder undefiniert ist, tut es aber 
nicht.
Ich bekomme (ESP Home) schlicht keine logischen daten im Log angezeigt, 
wenn ich was sende kommt laut log ein das gesendete 1:1 zurück, auch 
wenn ich die GPIOs in den Wald konfiguriere, muss also im Uart Treiber 
Teil sein. Wenn ich am Bus von anderen Geräten was versende sieht jeder 
de Daten nur der ESP nicht.
Wenn der ESP register abfragen will macht er das, bekommt auch Antwort 
aber er selbst behauptet eben laut log das er ein echo bekommen hat = 
crc fehler.

das steht im log vom esp:
[15:35:32.762][D][uart_debug:114]: >>> 01:04:00:64:00:01:70:15
[15:35:32.774][W][modbus:135]: Modbus CRC Check failed! C022!=64
[15:35:32.879][D][uart_debug:114]: <<< 01:04:00:64:00:01:70:15

das sehen alle anderen:
-<R [15:35:32:508]
01 04 00 64 00 01 70 15 01 04 02 00 00 B9 30

: Bearbeitet durch User
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.