Serielle Kommunikation

Hallo Leute,

hab ein Uno und ein ESP32 Dev Module.

Diese habe ich per Tx/Rx verbunden.m
Arduino sendet, ESP empfängt.

Hab jeweils nen Minimalcode gebaut der das auch macht.

Nun zum Problem:

Ersetze ich diesen UNO durch ein atmega328p Standalone, klappt diese Verbindung nicht mehr.

Mein Standalone funktioniert, das ESP und der jeweilige Code.

Am Uno klappts, nehme ich den Chip ausm Uno und steck ihn aufs Standalone Brett, dann nicht mehr.

Verdrahtung passt. Masse - Masse sind verbunden.

Liegt das an einem fehlenden Bauteil? Weiß jemand mehr ?

Der Code im Atmega besteht aus einfachen delays mit Serial.println(Zahlen)

Im Seriellen Monitor im ESP sollte das doch sichtbar sein.
Klappen tut das auch, aber einfach nicht beim standalone Arduino.

Danke für folgende Antworten
Franz

Was mir dazu einfällt:

UNO 5 V, ESP 3,3 V, wie hast Du das berücksichtigt?

UNO ATmega328p ist mit dem IC für USB verbunden, das hängt dann vom Hersteller ab, wie das aussieht. Da gibt es auf jeden Fall einen Unterschied. Beim Arduino hängt auch noch ein 1 kOhm Widerstand dazwischen, das Schaltbild macht Dich klüger.

Franz_grundi:
Am Uno klappts, nehme ich den Chip ausm Uno und steck ihn aufs Standalone Brett, dann nicht mehr.

ein unveränderter “Chip ausm Uno” funktioniert nicht ohne dem Rest des Unos.

Wenn du etwas geändert hast, sollst du beschreiben was du auf ihn aufgebracht hast.
Eine Heartbeat LED würde dir Erkenntnis bringen ob dein Sketch läuft.

Wenn das alles nichts hilft:

  • Beide Sketche posten
  • Schaltbild erstellen. Schreiben kannst viel, aber mach ein Schaltbild.
  • ECHT-Bild deines Aufbaus damit wir sehen, was du da gebaut hast und wie sehr es dem Schaltbild entspricht.

ein unveränderter "Chip ausm Uno" funktioniert nicht ohne dem Rest des Unos.

Nicht alles vom Uno ist da nötig, aber ganz sicher der Resonator oder Quarz mit Kondensatoren.
Auch Abblockkondensatoren an den 5V-Pins des Atmega sowie ein 10 k Widerstand am Resetpin gegen 5V.

Und der schon genannte "Levelshifter" für die serielle Verbindung. Meist reicht auch ein 1k Widerstand.
Dann kann es funktionieren, wenn du alles richtig verdrahtet hast. Aber das zeigst du uns sicher noch.
Hier mal ein minimaler Steckbrettaufbau:

Solltest du die Möglichkeit haben, den Atmega328 auch extern (auf dem Steckbrett) zu flaschen, dann kannst du den auch mit einem 8MHz Quarz bestücken und dann mit 3,3V betreiben.

HotSystems:
Solltest du die Möglichkeit haben, den Atmega328 auch extern (auf dem Steckbrett) zu flaschen, dann kannst du den auch mit einem 8MHz Quarz bestücken und dann mit 3,3V betreiben.

Auch 8 Mhz intern sollte gehen, wenn kein passender Quarz zur Hand.

agmue:
Auch 8 Mhz intern sollte gehen, wenn kein passender Quarz zur Hand.

Ja, stimmt auch wieder.
Da spart man noch mehr Teile.
Aber Achtung, in allen Fällen muss der Bootloader auch dazu passen.

Hallo Leute,

danke vorab schonmal.

Einen Standalone hab ich, der funktioniert. Darauf ist alles was der ATMega zum laufen braucht.
Sprich Quarz, Kondensatoren usw.
Der Code darauf läuft auch. Das sieht man am Display der damit betrieben wird.
Ich wollte eben das Gerät erweitern, damit er mir bei bestimmten Ereignissen über TX Daten rausgibt.

Das andere ist ja wie gesagt ein ESP32. Die laufen ja mit 3,3 V also hab ich von Atmega Tx zu ESP Rx einen Levelshifter auf 3,3V drinnen.

Was ich aber eben nicht checke :
Stecke ich den Atmega wieder ins UNO, verbinde das Uno mit dem ESP, liefert es Daten.

Stecke ich es wieder in den Sockel im Standalone Aufbau, sendet er nichts mehr.

Trotz richtiger Verdrahtung und Gemeinsamen Ground. ( Verdrahtet ist von atmega Tx auf ESP Rx über Levelshifter )

Versteht ihr wie ich es meine?

Liebe Grüße

Hallo Franz,

mach mal ein Foto von Deinem UNO und von Deinem Aufbau als Standalone.
Irgendwas scheint da noch nicht zu passen, sonst sollte es ja gehen.

Ist auf dem UNO z.B. ein Quarz drauf oder ein Resonator? Sieht man dann theortisch auf den Bildern.

Gruß, Jürgen

Franz_grundi:
Einen Standalone hab ich, der funktioniert. Darauf ist alles was der ATMega zum laufen braucht.
Sprich Quarz, Kondensatoren usw.
Der Code darauf läuft auch. Das sieht man am Display der damit betrieben wird.
......

Hallo Leut,

warum gibst du uns nicht gleich die vollständigen Informationen ?

Und das wir nicht auf deinen Arbeitsplatz sehen können ist doch auch klar, oder ?

Also poste uns ein Bild deines Aufbaus mit dem Standalone, auf dem wir alles sehen können.
Wurde dir ja schon geschrieben, mach es einfach.
Und eine Schaltung, wie du den Levelshifter verdrahtet hast, ist auch sinnvoll.