HardwareSerial Arduino Nano

Hallo zusammen,

ich brauche bei meinem Aufbau die Serielle USB Kommunikation des Nano´s nur wenn ich diesen programmiere.
Der Nano ist sonst über die Serial Pins Tx und Rx mit einem ESP32 verbunden. Über diese Verbindung läuft ein Protokoll mit 115200 Baud.

Wenn ich nun den Nano kurz flashen will ziehe ich die beiden Kabel von Tx und Rx ab. Da diese ja über den USB Anschluss direkt verbunden sind und sonst das flashen nicht möglich ist.

Später in der Schaltung kann ich natürlich zwei Schalter einbauen welche die Leitung unterbrechen. Nun meine Frage an euch ist gibt es vielleicht eine Intelligentere Möglichkeit? Ich hatte da schonmal an zwei Transistoren Gedacht die das Regeln könnten aber vielleicht gibt es ja schon ein bewährtes Konzept welches ich dafür einsetzen könnte.

Meine Google Suche blieb dabei bis jetzt erfolglos. Bis auf die ewig gleiche Antwort einen Mega einzusetzen
habe ich nicht viel gefunden zu dem Thema. Und die SoftwareSerial lib ist so unzuverlässig das ich diese leider nicht einsetzen werde.

sector:
...
Später in der Schaltung kann ich natürlich zwei Schalter einbauen welche die Leitung unterbrechen. Nun meine Frage an euch ist gibt es vielleicht eine Intelligentere Möglichkeit?
.....

Je nach dem, wie du die Spannungsversorgung an den Nano bringst, könntest du es mit zusätzlichen Gattern lösen. Wenn Spannung von USB kommt. dann externe UART trennen.

Allerdings musst du hier auch aufpassen, dass du nicht 2 verschieden Spannungen gleichzeitig auf den Nano schaltest.

sollte mit einem cd4066 gehen
oder so mit 7400

ElEspanol:
sollte mit einem cd4066 gehen
oder so mit 7400

Stimmt, der 4066 ist gut dafür geeignet.
Nur muss der Eingang dann invertiert werden und umschalten braucht man nicht.
Einfach nur die externe UART wegschalten wenn Spannung von USB kommt.

ElEspanol:
oder so mit 7400

Das dürfte eher schwierig werden, da man dazu die Verbindung von Seriell-USB umsetzer zum Nano unterbrechen müsste, um diese Umschaltung einzuschleifen. Der Weg über den 4066 ist auf jeden Fall eher gangbar, da man damit einfach die externe Verbindung zu TX/RX wegschalten kann.

Wie oft mußt Du den Nano den Progrmmieren?
Hast Du eine Pegelwandler oder Spannungsteiler zwischen Nano und ESP geschaltet?

Grüße Uwe

Ich werfe mal die ISP Schnittstelle in die Runde. Mittels USBasp, der von der IDE als Programmer unterstützt wird, ist das problemlos möglich. Ein USBasp kostet in etwa genauso wenig, wie ein USB-Seriell Wandler. :wink:

Wow, erstmal vielen Dank für die tollen Antworten. Damit hatte ich so gar nicht gerechnet, deshalb meine
verspätete Antwort.

Ich versuche mal alles an Fragen was ich so raus gelesen habe zu beantworten.

Frage: Wie oft mußt Du den Nano den Progrmmieren?

Das kommt drauf an. Der Nano übernimmt gerade den Empfänger Part für einen RFM12B Chip den ich hier noch
hatte aus einem altem Projekt. Da das noch nicht ganz rund läuft, muss ich ihn leider im Moment noch häufiger programmieren. Als Lib kommt dabei die JeeLib zu Einsatz. Das funktioniert ganz gut bis auf ein ACK Problem was ich gerade noch habe. Ich bin mir sicher, ich könnte das auch alles mit dem ESP lösen, nur fehlt mir gerade die Zeit das um zu schreiben.
Des weiteren bedient der Nano auch ein altes HD44780 Display. Welches aber noch mit 5V TTL Pegel läuft. Ich muss zu geben das ich aber seit 1 Stunde richtige Pegelwandler habe. Vielleicht könnte ich dann das auch mit dem ESP32 lösen. Ich bin leider kein Elektronikentwickler, deshalb kann ich das noch nicht so einschätzen. Aber ich wollte das am Wochenende mal probieren.
Ok das hat jetzt glaube ich noch weitere Fragen beantwortet.

Frage: Hast Du eine Pegelwandler oder Spannungsteiler zwischen Nano und ESP geschaltet?

Ich werfe mal die ISP Schnittstelle in die Runde

Habe ich sogar hier einen avr MKII Original.

Stimmt, der 4066 ist gut dafür geeignet.

Das eine sehr interessant Lösung. Ich meine ich hätte sowas auch schon mal in einen Projekt hier im Forum gesehen was sich FunkBox nennt.

  • Ein andere Verbindung wählen (I2C, SPI...)

Tja da bin ich gerade ein bisschen überfragt, da fehlt mir die Erfahrung.
Ich bin schwer am überlegen am WE die Pegelumwandler zwischen ESP und Display zu setzten und dann zu versuchen noch des RFM12 durch zu programmieren.

sector:
.....
Ich bin schwer am überlegen am WE die Pegelumwandler zwischen ESP und Display zu setzten und dann zu versuchen noch des RFM12 durch zu programmieren.

Wieso Display ?

Der Nano wird mit 5 Volt und der ESP mit 3,3Volt betrieben. Da gibt es eine Differenz.
Für die UART zwischen den beisden, reicht es, wenn du 1k Widerstände je Leitung einsetzt.

Und du solltest erst ein Problem lösen, bevor du dir ein weiteres ans Bein bindest.

Der Nano wird mit 5 Volt und der ESP mit 3,3Volt betrieben. Da gibt es eine Differenz.

Wenn der ESP das Display und den RFM12B bedient dann brauche ich den Nano nicht mehr. Das wäre ja eine Problemlösung oder viele weitere :slight_smile:

sector:
Wenn der ESP das Display und den RFM12B bedient dann brauche ich den Nano nicht mehr. Das wäre ja eine Problemlösung oder viele weitere :slight_smile:

Ahhh....ok, dann können wir das Thema hier erstmal beenden.
Und ja, mit dem richtigen Levelshifter kannst du dein Display direkt am ESP nutzen und den RFM12B evtl. auch.

Hallo,

sowas wie der 4066 ist der richtige Weg. Allerdings empfehle ich einen HCT4053, er hat die besseren Werte, weniger Signalverluste. Damit schalte ich die ISP/SPI Signale um wenn ich über ISP flashe und die Pins außen benötigt werden. Die Umschaltung regelt hier allein das Resetsignal. Funktioniert natürlich nur mit eigenen Platinen.
Das mit dem Resetsignal funktioniert bei serieller Flash Übertragung nicht. Der Resetimpuls kommt erst am Ende der Übertragung. Aber dazu gibts ja schon im Thread die Idee mit der USB Erkennung.
Hier die ISP Umschaltung, vielleicht als Vorlage zum abändern dienlich.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.