ESP32 Timer Probleme

OP #6285678
Lesenswert?

Hallo!
Ich bin gerade dabei an einem komischen Phänomen zu verzweifeln:
Ich verwende einen ESP32 (NodeMCU 32S) und will einen Timer mit AutoLoad 
implementieren. Und das funktioniert auch, mittels Debugging-Ausgaben 
auf der Konsole sehe ich genau, dass er das alles richtig ausführt.
Wenn ich allerdings den uC über ein Netzteil anschließe (12DC and Ext. 
VCC von dem uC), ist die Funktion des Timers nicht mehr gegeben. Die 
Ausgaben auf der Konsole kann ich mir wegend er ext. Versorgung nicht 
anschauen.


Gleichzeitig verwende ich auch Bluetooth und Wifi, die ja auch Timer 
Interrupts verwenden, allerdings funktioniert das ganze mit 
USB-Versorgung auch alles problemlos.

Unten ist mein Code angehängt, auch wenn ich nicht wüsste wie dieses 
Verhalten code-bedingt hervorgerufen werden kann.
Vielen Dank im Vorraus.

1
hw_timer_t * timer = NULL;
2
volatile byte state = LOW;
3

4
void IRAM_ATTR onTimer(){
5
  state = !state;
6
  InterruptRoutine();
7
}
8

9
void setup(){
10
  timer = timerBegin(0, 80, true);
11
  timerAttachInterrupt(timer, &onTimer, true);
12
  timerAlarmWrite(timer, RefreshRate*TimerConstant, true);
13
  timerAlarmEnable(timer);
14
  Serial.println("start interrupt");
15
  
16
}
#6285681
Lesenswert?

Fabi R. schrieb:
> Wenn ich allerdings den uC über ein Netzteil anschließe (12DC and Ext.
> VCC von dem uC), ist die Funktion des Timers nicht mehr gegeben. Die
> Ausgaben auf der Konsole kann ich mir wegend er ext. Versorgung nicht
> anschauen.

Funktioniert nur der Timer nicht mehr mit dem externen Netzteil, oder 
gehen mehrere Sachen nicht mehr?
Miss mal nach ob am 3,3V Pin auch wirklich 3,3V anliegen
#6286032
Lesenswert?

Fabi R. schrieb:
> Ja, ist auf 2,5A ausgelegt.

das heisst aber nicht das die auch ankommen und was meinst du mit

Fabi R. schrieb:
> über ein Netzteil anschließe (12DC

wo schliesst du denn deine 12V an?
wie willst du Serial Ausgaben sehen ohne das der USB dran hängt und wenn 
der drann hängt gehen die USB 5V erst mal zu dem ESP Regler, da scheint 
mir noch viel Unklarheit zu herrschen, abgesehen vom fehlenden 
Schaltplan!
OP #6286080
Lesenswert?

Joachim B. schrieb:
> Fabi R. schrieb:
>> Ja, ist auf 2,5A ausgelegt.
>
> das heisst aber nicht das die auch ankommen und was meinst du mit
>
> Fabi R. schrieb:
>> über ein Netzteil anschließe (12DC
>
> wo schliesst du denn deine 12V an?
> wie willst du Serial Ausgaben sehen ohne das der USB dran hängt und wenn
> der drann hängt gehen die USB 5V erst mal zu dem ESP Regler, da scheint
> mir noch viel Unklarheit zu herrschen, abgesehen vom fehlenden
> Schaltplan!
Doch kommt alles an. Verwende den linearregler im ESP32-Modul.
Eben das ist ja das Problem, dass das Debugging schwer ist, wenn man 
keine serielle Ausgabe hat.
Schaltplanseitig ist kein Fehler, da die Uhr ja funktioniert. Nur wenn 
der Interrupt aufgerufen wird, will sie nicht mehr.
OP #6286085
Lesenswert?

Bin inzwischen auf die Idee gekommen, das Debugging über die RX/TX-LED 
auf dem ESP-Modul zu machen.
Erkenntnis: Er geht in den Interrupt, und alle darin aufgerufenen 
Funktionen und Unterfunktionen.
Es scheint alsob die GPIOs einfach nicht mehr reagieren.

Hab dazu mal einen neuen Thread gemacht, falls jemand Lust auf 
Fehlersuche im Code hat:
Beitrag "Fehlersuche Code Arduino IDE ESP32 - Timer Interrupt - NTP-Client"


Damit ist der Thread hier für mich geschlossen, danke an alle die 
mitgedacht haben. ♥
#6286149
Lesenswert?

Fabi R. schrieb:
> Damit ist der Thread hier für mich geschlossen, danke an alle die
> mitgedacht haben. ♥

das soll wohl ein Witz sein! (die Bildgröße)
Du hast jedenfalls nicht mitgedacht oder ich erkenne es nicht, weder 
deine komplette Verkabelung, PC ja nein USB ja nein, 12V DC ja nein und 
wo rein?

Der kleine Regler auf dem ESP mag sicher keine 12V zu 3,3V wandeln, bei 
Spitzenströme um 0,5A wären das 4W.

Und der Vin Pin verbietet sich ja auch bei USB Verkabelung!
OP #6286164
Lesenswert?

Joachim B. schrieb:
> Fabi R. schrieb:
>> Damit ist der Thread hier für mich geschlossen, danke an alle die
>> mitgedacht haben. ♥
>
> das soll wohl ein Witz sein! (die Bildgröße)
> Du hast jedenfalls nicht mitgedacht oder ich erkenne es nicht, weder
> deine komplette Verkabelung, PC ja nein USB ja nein, 12V DC ja nein und
> wo rein?
>
> Der kleine Regler auf dem ESP mag sicher keine 12V zu 3,3V wandeln, bei
> Spitzenströme um 0,5A wären das 4W.
>
> Und der Vin Pin verbietet sich ja auch bei USB Verkabelung!

Die Schaltpläne sind A3 und A4 PDFs. Versuch die mal zu downloaden.
Ja, der Linearregler ist nicht sonderlich effizient, ist aber genau für 
diese Aufgabe dimensioniert, den ESP32 mit ausreichend Strom zu 
versorgen. Außer dem ESP hängt nichts auf der 3V3-Schiene.
Wie gesagt: Ich verwende den USB-Port im Betrieb ja nicht, weil mit 
sonst der PC brennt.
Gast #6286294
Lesenswert?

Fabi R. schrieb:
> Ja, der Linearregler ist nicht sonderlich effizient, ist aber genau für
> diese Aufgabe dimensioniert, den ESP32 mit ausreichend Strom zu
> versorgen.

Aber nicht für 12V, sondern für 5V. Siehe 
http://wiki.ai-thinker.com/_media/esp32/docs/nodemcu-32s_product_specification.pdf

Schon mit der Ruhestromaufnahme des ESP32 ist der kleine Spannungsregler 
bei 12V deutlich überfordert. Joachim hat das schon Recht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren