Inhaltsverzeichnis:

ESP32: Interne Details und Pinbelegung - Gunook
ESP32: Interne Details und Pinbelegung - Gunook

Video: ESP32: Interne Details und Pinbelegung - Gunook

Video: ESP32: Interne Details und Pinbelegung - Gunook
Video: #esp32 #esp8266 #Arduino Stromversorgung: welche Pins, welche Netzteile, PC Netzteil Umbau 2024, Juni
Anonim
Image
Image

In diesem Artikel werden wir über die internen Details und das Pinning von ESP32 sprechen. Ich zeige Ihnen, wie Sie die Pins anhand des Datenblatts richtig identifizieren, wie Sie erkennen, welcher der Pins als AUSGANG / EINGANG funktioniert, wie Sie sich einen Überblick über die Sensoren und Peripheriegeräte verschaffen, die uns der ESP32 bietet, zusätzlich zu den Stiefel. Daher glaube ich, dass ich mit dem folgenden Video mehrere Fragen beantworten kann, die ich unter anderem in Nachrichten und Kommentaren zu den ESP32-Referenzen erhalten habe.

Schritt 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Hier haben wir die PINOUT der

WROOM-32, das Ihnen beim Programmieren als gute Referenz dient. Es ist wichtig, auf General Purpose Input / Output (GPIOs) zu achten, also programmierbare Dateneingangs- und -ausgangsports, die weiterhin ein AD-Wandler oder ein Touch-Pin sein können, wie beispielsweise GPIO4. Dies tritt auch beim Arduino auf, wo die Eingangs- und Ausgangspins auch PWM sein können.

Schritt 2: ESP-WROOM-32

Im Bild oben haben wir den ESP32 selbst. Je nach Hersteller gibt es verschiedene Arten von Einsätzen mit unterschiedlichen Eigenschaften.

Schritt 3: Aber was ist die richtige Pinbelegung für meinen ESP32?

Aber was ist die richtige Pinbelegung für meinen ESP32?
Aber was ist die richtige Pinbelegung für meinen ESP32?
Aber was ist die richtige Pinbelegung für meinen ESP32?
Aber was ist die richtige Pinbelegung für meinen ESP32?
Aber was ist die richtige Pinbelegung für meinen ESP32?
Aber was ist die richtige Pinbelegung für meinen ESP32?
Aber was ist die richtige Pinbelegung für meinen ESP32?
Aber was ist die richtige Pinbelegung für meinen ESP32?

ESP32 ist nicht schwer. Es ist so einfach, dass wir sagen können, dass es in Ihrer Umgebung keine didaktischen Bedenken gibt. Allerdings müssen wir didaktisch sein, ja. Wenn Sie in Assembler programmieren möchten, ist das in Ordnung. Aber Engineering-Zeit ist teuer. Wenn Ihnen also alles, was ein Technologielieferant ist, ein Werkzeug an die Hand gibt, das Zeit braucht, um seine Funktionsweise zu verstehen, kann dies leicht zu einem Problem für Sie werden, denn all dies erhöht die Entwicklungszeit, während das Produkt immer teurer wird. Dies erklärt meine Vorliebe für einfache Dinge, die unseren Alltag erleichtern können, denn Zeit ist wichtig, besonders in der heutigen hektischen Welt.

Zurück zum ESP32, in einem Datenblatt wie im obigen, haben wir die richtige Pin-Identifikation in den Highlights. Oft stimmt das Etikett auf dem Chip nicht mit der tatsächlichen Nummer des Pins überein, da wir drei Situationen haben: den GPIO, die Seriennummer und auch den Code der Karte selbst.

Wie im Beispiel unten gezeigt, haben wir den Anschluss einer LED im ESP und den richtigen Konfigurationsmodus:

Beachten Sie, dass das Etikett TX2 ist, aber wir müssen der richtigen Identifizierung folgen, wie im vorherigen Bild hervorgehoben. Daher ist die korrekte Identifizierung des Pins 17. Das Bild zeigt, wie nah der Code bleiben sollte.

Schritt 4: EINGANG / AUSGANG

INPUT-OUTPUT
INPUT-OUTPUT

Bei der Durchführung von INPUT- und OUTPUT-Tests an den Pins haben wir folgende Ergebnisse erhalten:

INPUT funktionierte nicht nur auf GPIO0.

OUTPUT funktionierte nicht nur an den GPIO34- und GPIO35-Pins, die VDET1 bzw. VDET2 sind.

* Die VDET-Pins gehören zum Leistungsbereich der RTC. Dies bedeutet, dass sie als ADC-Pins verwendet werden können und der ULP-Coprozessor sie lesen kann. Sie können nur Eingänge sein und niemals Ausgänge.

Schritt 5: Blockdiagramm

Blockschaltbild
Blockschaltbild

Dieses Diagramm zeigt, dass der ESP32 über einen Dual-Core verfügt, einen Chipbereich, der WLAN steuert, und einen anderen Bereich, der Bluetooth steuert. Es verfügt auch über eine Hardwarebeschleunigung für die Verschlüsselung, die eine Verbindung zu LoRa ermöglicht, einem Langstreckennetzwerk, das eine Verbindung von bis zu 15 km mit einer Antenne ermöglicht. Wir beobachten auch den Taktgenerator, die Echtzeituhr und andere Punkte, die unter anderem PWM, ADC, DAC, UART, SDIO, SPI umfassen. Dies alles macht das Gerät ziemlich vollständig und funktionsfähig.

Schritt 6: Peripheriegeräte und Sensoren

Peripheriegeräte und Sensoren
Peripheriegeräte und Sensoren

Der ESP32 verfügt über 34 GPIOs, die verschiedenen Funktionen zugeordnet werden können, wie zum Beispiel:

Nur digital;

Analog-fähig (kann als digital konfiguriert werden);

Kapazitiv-Touch-fähig (kann als digital konfiguriert werden);

Und andere.

Es ist wichtig zu beachten, dass die meisten digitalen GPIOs als interner Pull-Up oder Pull-Down oder für hohe Impedanz konfiguriert werden können. Bei Einstellung als Eingang kann der Wert über das Register gelesen werden.

Schritt 7: GPIO

Analog-Digital-Wandler (ADC)

Der Esp32 integriert 12-Bit-ADCs und unterstützt Messungen auf 18 Kanälen (analogfähige Pins). Der ULP-Coprozessor im ESP32 ist auch darauf ausgelegt, Spannungen im Schlafmodus zu messen, was einen geringen Stromverbrauch ermöglicht. Die CPU kann durch eine Schwellwerteinstellung und/oder durch andere Trigger geweckt werden.

Digital-Analog-Wandler (DAC)

Zwei 8-Bit-DAC-Kanäle können verwendet werden, um zwei digitale Signale in zwei analoge Spannungsausgänge umzuwandeln. Diese Dual-DACs unterstützen die Stromversorgung als Eingangsspannungsreferenz und können andere Schaltungen ansteuern. Zwei Kanäle unterstützen unabhängige Konvertierungen.

Schritt 8: Sensoren

Sensoren
Sensoren
Sensoren
Sensoren

Berührungssensor

Der ESP32 verfügt über 10 kapazitive Erkennungs-GPIOs, die induzierte Variationen beim Berühren oder Nähern eines GPIO mit einem Finger oder anderen Objekten erkennen.

Der ESP32 hat auch einen Temperatursensor und einen internen Hallsensor, aber um damit zu arbeiten, müssen Sie die Einstellungen der Register ändern. Weitere Informationen finden Sie im technischen Handbuch über den Link:

www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Schritt 9: Watchdog

Der ESP32 verfügt über drei Überwachungstimer: einen an jedem der beiden Timer-Module (genannt Primary Watchdog Timer oder MWDT) und einen am RTC-Modul (genannt RTC Watchdog Timer oder RWDT).

Schritt 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Bluetooth-Schnittstelle v4.2 BR / EDR und Bluetooth LE (Low Energy)

Der ESP32 integriert einen Bluetooth-Verbindungscontroller und ein Bluetooth-Basisband, die Basisbandprotokolle und andere Low-Level-Verbindungsroutinen wie Modulation / Demodulation, Paketverarbeitung, Bitstromverarbeitung, Frequenzsprung usw. ausführen.

Der Verbindungscontroller arbeitet in drei Hauptzuständen: Standby, Verbindung und Sniff. Es ermöglicht mehrere Verbindungen und andere Operationen, wie Abfrage, Page und sicheres einfaches Pairing und ermöglicht somit Piconet und Scatternet.

Schritt 11: Booten

Stiefel
Stiefel
Stiefel
Stiefel

Auf vielen Entwicklungsboards mit eingebettetem USB / Serial kann esptool.py das Board automatisch in den Boot-Modus zurücksetzen.

ESP32 wird in den seriellen Bootloader eintreten, wenn der GPIO0 beim Zurücksetzen niedrig gehalten wird. Andernfalls wird das Programm im Flash ausgeführt.

GPIO0 hat einen internen Pullup-Widerstand. Wenn es also keine Verbindung hat, wird es hoch.

Viele Boards verwenden eine Taste mit der Bezeichnung "Flash" (oder "BOOT" auf einigen Espressif-Entwicklungsboards), die den GPIO0 beim Drücken nach unten führt.

GPIO2 sollte auch unverbunden / schwebend bleiben.

Im Bild oben sehen Sie einen von mir durchgeführten Test. Ich habe das Oszilloskop auf alle Pins des ESP gelegt, um zu sehen, was beim Einschalten passiert ist. Ich entdeckte, dass, wenn ich einen Stift bekomme, er Schwingungen von 750 Mikrosekunden erzeugt, wie im hervorgehobenen Bereich auf der rechten Seite gezeigt. Was können wir dagegen tun? Wir haben mehrere Möglichkeiten, wie zum Beispiel eine Verzögerung mit einer Schaltung mit einem Transistor, einem Türerweiterungsgerät. Ich weise darauf hin, dass GPIO08 umgekehrt ist. Die Schwingung tritt nach oben und nicht nach unten aus.

Ein weiteres Detail ist, dass wir einige Pins haben, die in High beginnen und andere in Low. Daher ist diese PINOUT ein Hinweis darauf, wann sich der ESP32 einschaltet, insbesondere wenn Sie mit einer Last arbeiten, um beispielsweise einen Triac, ein Relais, ein Schütz oder eine Leistung auszulösen.

Empfohlen: