INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Nano CH340 - Software Reset
17.03.2019, 10:37 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2019 11:08 von Lite.)
Beitrag #1
Nano CH340 - Software Reset
Moin,

Ich habe einen China-Nano verbaut und teste nun ausgiebig meinen Sketch.
Gleich zu Beginn stößt mir sauer auf, daß der Nano beim Einschalten der Versorgungsspannung nicht betriebsbereit ist.
Das Gleiche passiert beim Übertragen des Sketches aus der IDE.
Erst wenn ich die Reset-Taste auf dem Nano drücke ist alles bereit und funktioniert.

Woran liegt das?
Gibt es eine einfache Lösung?

Danke & Gruß

Lite

P.S.:
Den hier habe ich dazu gefunden: https://forum-raspberrypi.de/forum/threa...no-reboot/
Aber das geht wohl auch nicht, da der Nano ja diesen Code wohl auch nicht ausführen wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2019, 11:49
Beitrag #2
RE: Nano CH340 - Software Reset
Da gibt es 2 Varianten.

1. Dein Sketch blockiert irgendwas
2. Dein Nano ist defekt

Ansonsten ist mir dieses Verhalten nicht bekannt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2019, 12:05
Beitrag #3
RE: Nano CH340 - Software Reset
Danke für die Info Tommy.

Hmmm....hab gerade eine anderen, auch anders aufgebauten Nano probiert.
Das gleiche Problem.

Blockade des Sketches kann wodurch hervorgerufen werden, wenn er dann nach Reset doch funktioniert?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2019, 12:21
Beitrag #4
RE: Nano CH340 - Software Reset
Das weiß ich ohne Sketch auch nicht. Hast Du mal einen einfachen Blink-Sketch, z.B. Datei/Beispiele/Digital/BlinkWithoutDelay probiert?

Ich habe es gerade einen NANO probiert. Ergebnis nach dem Hochladen bzw. nach der Wartezeit von 1-2 Sekunden nach dem Anstecken startet das Programm problemlos, ohne dass ich Reset drücken muss.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2019, 12:42
Beitrag #5
RE: Nano CH340 - Software Reset
Ja, mit ´nem simplen Sketch geht es einwandfrei.

Meinen Sketch "kennst" Du schon:

Code:
//  BIBLIOTHEKEN EINBINDEN

//OneButton Headerdatei einbinden
#include <OneButton.h>
//Pin 12 als Taster-Eingang
OneButton button(12, true);

//LiquidCrystal_I2C Headerdatei für das LCD-Display einbinden
#include <LiquidCrystal_I2C.h>

//LCD 16x2 an Adresse 0x3F konfigurieren oder falls es nicht geht, ggf. an 0x3F
LiquidCrystal_I2C lcd(0x27, 16, 2);

//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■​■■■■

//  ANALOGE PINS KONFIGURIEREN (A4 & A5 reserviert für den I2C-Bus)
//Analoger Pin A1 < Feuchtesensor
const byte Nass = 15;

//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■​■■■■

//  DIGITALE PINS KONFIGURIEREN
//Digi Pin 9 > Mosfet > MV4 (Rohwasser > Osmosefilter-System)
const byte Rohwasser = 2;

//Digi Pin 3 < Schwimmerschalter NC (Behälter VOLL) per Interrupt (Int1)
const byte Voll = 3;

//Digi Pin 4 > Taster-LED (Anforderungstaster)
const byte TasterLED = 4;

//Digi Pin 5 > Mosfet > MV3 (Reinwasser > Glasbehälter)
const byte Reinwasser = 5;

//Digi Pin 6 > Mosfet > MV2 (Stehwasser > Abfluss)
const byte StehwasserSpuelung = 6;

//Digi Pin 1 > Mosfet > MV1 (Membranspülung > Abfluss)
const byte MembranSpuelung = 9;

//Digi Pin 13 > aktiver Piezo-Summer
const byte Piezo = 13;

//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■​■■■■

//  VARIABLEN DEKLARIEREN
//Aktuell abgelaufene Füllzeit des Behälters in millis
unsigned long Fuellzeit = 0;

//Zeitpunkt der letzten Reinwasserproduktion in millis
unsigned long LastReinwasser = 0;


//ZUM TEST ALLE ZEITWERTE 710, also anstatt 5*60*1000L auf 5*60*100L
//Maximale Füllzeit (5min) des Behälters in millis
const long Fuellzeit_Grenzwert = (5 * 60 * 100UL);

//Maximale Pausen-Zeit (15min) für Stehwasser in millis
const long Stehzeit_Grenzwert = (15 * 60 * 100UL);

//Maximale Pausen-Zeit (6h) für Membranspülung in millis
const long Pause_Grenzwert = (6 * 60 * 60 * 100UL);

//(20s) für Membranspüldauer für die Nachspülung in millis
const long Spuelzeit_Membran = (20 * 100UL);

//(3min.) für Membranspüldauer beim Filterwechsel in millis
const long Filterwechsel_Membran = (3 * 60 * 100UL);

//(2,5min) für Stehwasserspüldauer in millis
const long Spuelzeit_Stehw = (2.5 * 60 * 100UL);

//(10min) für Stehwasserspüldauer beim Filterwechsel in millis
const long Filterwechsel_Stehw = (10 * 60 * 100UL);

//Grenzwert für die Feuchtemessung
const int Nass_Grenzwert = 700;

//Messwert der Feuchtemessung
int Nass_Wert = 0;

//(0,5s) Blinkinterval für die Taster-LED
int Blink_Interval = (0.5 * 1000);

//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■​■■■■

//  SETUP
void setup() {

  // Watchdog-Timer auf 4 Sekunden setzen
  //  wdt_enable (WDTO_4S);

  //LCD-Display
  //LCD initialisieren
  lcd.init();

  // Setup Serial connection
  Serial.begin(115200);

  //Initialisieren des Displays mit 16 Zeichen und 2 Zeilen
  lcd.setCursor(16, 2);

  //Arduino
  //Eingang für Schwimmerschalter
  pinMode(Voll, INPUT_PULLUP);

  //Interner Pull up Widerstand für Schwimmerschalter auf 5V
  digitalWrite(Voll, HIGH);

  //Interner Pull up Widerstand für Schwimmerschalter (NC) auf 5V
  attachInterrupt(1, Func_Voll, HIGH);  //Wenn Voll=Pin 3 (INT 1) auf 5V (HIGH) geht, Func_Voll aufrufen

  //Mit internem Pullup-Widerstand (Anforderungs-Taster schaltet auf Masse)
  pinMode(12, INPUT_PULLUP);

  //Ausgang für Betriebs-LED
  pinMode(TasterLED, OUTPUT);

  //Ausgang über MosFet auf Magnetventil 1
  pinMode(MembranSpuelung, OUTPUT);

  //Ausgang über MosFet auf Magnetventil 2
  pinMode(StehwasserSpuelung, OUTPUT);

  //Ausgang über MosFet auf Magnetventil 3
  pinMode(Reinwasser, OUTPUT);

  //Ausgang über MosFet auf Magnetventil 4
  pinMode(Rohwasser, OUTPUT);

  //Ausgang für aktiven Piezo (Alarm für Feuchte-Behälter und Feuchte-Filter)
  pinMode (Piezo, OUTPUT);

  //Alle Magnetventile ZU & Piezo Aus
  digitalWrite(Rohwasser, LOW);
  digitalWrite(Reinwasser, LOW);
  digitalWrite(MembranSpuelung, LOW);
  digitalWrite(StehwasserSpuelung, LOW);
  digitalWrite(Piezo, LOW);

  //Deklaration, bei welchen Clicks zu welcher Funktion gesprungen werden soll
  button.attachClick(Func_Anforderung);
  button.attachDoubleClick(Func_Filterwechsel);
  button.attachDuringLongPress(Func_Desinfektion);

} //Ende Setup
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■​■■■■

//  HAUPTSCHLEIFE

void loop() {

  // Watchdog-Timer zurücksetzen
  //wdt_reset();

  //################################################################################​###########################

  //Überwachung des Tasters
  button.tick();

  //################################################################################​###########################

  //Auslesen von A1 (Feuchtesensor)
  Nass_Wert = analogRead(Nass);

  //Wenn der Messwert >= Nass_Grenzwert ist, rufe Func_Nass auf
  if (Nass_Wert >= Nass_Grenzwert) Func_Nass;
  
} //Ende Loop

Kannst du da was erkennen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2019, 12:59
Beitrag #6
RE: Nano CH340 - Software Reset
(17.03.2019 12:42)Lite schrieb:  Ja, mit ´nem simplen Sketch geht es einwandfrei.
Meinen Sketch "kennst" Du schon:
Dann wird es klar am Sketch liegen Wink

Ich merke mir nicht sämtliche Sketche Wink

Folgendes ist mir aufgefallen:
Code:
const long Fuellzeit_Grenzwert = (5 * 60 * 100UL);
sollte besser const unsigned long sein, da es nicht negativ werden kann.

Code:
//Wenn der Messwert >= Nass_Grenzwert ist, rufe Func_Nass auf
  if (Nass_Wert >= Nass_Grenzwert) Func_Nass;
Func_nass ist nicht definiert und der Code macht garantiert nicht, was Du Dir vorstellst.
Richtig wäre:
Code:
//Wenn der Messwert >= Nass_Grenzwert ist, rufe Func_Nass auf
  if (Nass_Wert >= Nass_Grenzwert) Func_Nass();

Mit dem Watchdog kenne ich mich nicht aus. Tritt der Effekt auch auf, wenn Du den weg läßt?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2019, 13:22
Beitrag #7
RE: Nano CH340 - Software Reset
Okay, danke.

"Alles" in UL geändert.
Func_Nass ist in Func_Nass() geändert.
Die Func_Nass-Funktion ist weiter unten, ich hatte den Sketch nur bis zur Loop eingestellt.

Der Watchdog war ja hinter //
Ich habe trotzdem alles zum WD rausgeschmissen....keine Änderung.

OneButton kpl. rausgeschmissen...keine Änderung.

Zum Test hab ich in der Loop eine LCD-Ausgabe eingefügt und wie es aussieht, kommt er nicht bis zur Loop.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2019, 14:16 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2019 14:17 von Tommy56.)
Beitrag #8
RE: Nano CH340 - Software Reset
(17.03.2019 13:22)Lite schrieb:  Zum Test hab ich in der Loop eine LCD-Ausgabe eingefügt und wie es aussieht, kommt er nicht bis zur Loop.
Das würde ich daraus nicht zwingend schließen. Es kann ja auch am LCD liegen.

Mach doch mal am Anfang und nach jedem Aufruf im Setup ein Serial.println rein und schau Dir im seriellen Monitor an, wieweit er kommt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Nano Funktioniert nicht? acca500 7 742 10.05.2020 10:22
Letzter Beitrag: hotsystems
  Nano nur mit CH340 USB ?? Franz54 23 3.040 18.04.2020 21:16
Letzter Beitrag: Franz54
  Nano und 12Volt für Weichensteuerung Jan99 2 788 13.04.2020 12:30
Letzter Beitrag: hotsystems
  Stand-alone-Nano an USB leuchtet nicht AnFi 5 908 23.03.2020 10:08
Letzter Beitrag: SOFTHARD
Photo der NANO will nicht sensor 8 1.710 02.03.2020 17:26
Letzter Beitrag: hotsystems
  Stromversorgung Nano + Servos turold 13 2.335 04.02.2020 23:40
Letzter Beitrag: Chopp
  Sketch auf Arduino Nano laden berny46 5 1.406 05.01.2020 11:05
Letzter Beitrag: berny46
  Arduino Nano keine Verbindung zu nRF24L01 Modul Jonaz2 9 2.144 26.11.2019 21:38
Letzter Beitrag: hotsystems
  Arduino Nano + W5500 Server Problem Plammi 8 2.260 23.11.2019 19:40
Letzter Beitrag: ardu_arne
Question Relaisboard resettet Arduino Nano tramspotters 44 7.744 01.11.2019 22:23
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste