Kamod ESP32-C3 (PL): Difference between revisions
From Kamamilabs.com - Wiki
| Line 76: | Line 76: | ||
==== Schemat elektryczny ==== | ==== Schemat elektryczny ==== | ||
<center> | <center> | ||
[[File:KAmodESP32-C3_sch.png|none|1000px|thumb|center]] | [[File:KAmodESP32-C3_sch.png|none|1000px|thumb|center]] | ||
</center> | </center> | ||
<hr> | |||
==== Opis wyprowadzeń ==== | ==== Opis wyprowadzeń ==== | ||
Revision as of 17:39, 20 October 2025

Opis
Kamod ESP32-C3 - Płytka rozwojowa z układem ESP32-C3 Mini-1
Kamod ESP32-C3 jest układem opartym na zintegrowanym module mikrokontrolera ESP32-C3 Mini-1 firmy Espressif. ESP32-C3 Mini-1 zawiera 32-bitowy jednordzeniowy mikrokontroler SoC o architekturze RISC-V i maksymalnej częstotliwości taktowania 160 MHz. Dzięki 22 konfigurowalnym wejściom GPIO, 400 KB wewnętrznej pamięci RAM i obsłudze trybu niskiego zużycia energii, może być stosowany w różnych zastosowaniach związanych na przykład z układami IoT, systemami nadzoru lub sterowania. MCU jest dostępny w wielu wariantach ze zintegrowaną i zewnętrzną pamięcią flash. Wysoka maksymalna temperatura pracy sprawia, że idealnie nadaje się do zastosowań przemysłowych. Możliwości stosowania ESP32- C3 znacznie poszerzają wbudowane radiowe interfejsy Wi-Fi i Bluetooth 5 (LE) z obsługą dalekiego zasięgu (LR). Bezpieczeństwo aplikacji zapewniają funkcje bezpiecznego rozruchu oparty na RSA-3072 i szyfrowanie flash z AES-128/256-XTS.
Moduł Kamod ESP32 C3 jest przeznaczony do uruchomiania i testowania własnych aplikacji na przykład w środowisku Arduino, lub w języku Rust . Pomocne w tym mogą być umieszczone na płytce modułu układy peryferyjne: dokładny czujnik temperatury i wilgotności SHTC3, oraz czujnik MEMS typu ICM42670 zawierający 3-osiowy żyroskop i 3-osiowy akcelerometr. Dodatkowo do testów można wykorzystać diodę LED podłączoną do jednego z portów mikrokontrolera i programowaną 3-kolorową diodę WS28212.
Moduł jest zasilany napięciem +5V dostarczanym przez złącze USB-C, lub napięciem z baterii Li-Jon. Napięcie +3,3V zasilające mikrokontroler i układy peryferyjne wytwarza przetwornica Buck DC/DC typu SY8088 o napięciu wejściowym z zakresu 2.5….5V. Po zaniku napięcia ze złącza USB-C zasilanie przełącza się automatycznie na baterię (jeżeli jest podłączona). Układ zasilania bateryjnego jest uzupełniony o ładowarkę baterii Li-Jon opartą o układ MCP7383 zasilany z napięcia VBUS +5V pochodzącego ze złącza USB-C.
Podstawowe cechy i parametry
- Moduł ESP32C3 Mini-1
- IEEE 802.11 b/g/n-compliant
- Bluetooth 5, Bluetooth
- 32-bit RISC-V jednordzeniowy taktowanie do160MHz
- 384 KB ROM
- 400 KB SRAM (16 KB pamięć cache)
- 8 KB SRAM dla modułu RTC
- 22 × programowanych linii GPIO
- 3 × SPI
- 2 × UART
- 1 × I2C
- 1 × I2S
- 2 × 54-bit uniwersalnych timerów
- 3 × watchdog timers
- 1 × 52-bit system timer
- Remote Control Peripheral (RMT)
- LED PWM controller (LEDC)
- Full-speed USB Serial/JTAG controller
- General DMA controller (GDMA)
- 1 × TWAI®
- 2 × przetwornik 12-bit SAR ADCs, do 6 kanałów
- 1 × sensor temperatury
- Akcelerometr ICM42670
- Trójosiowy żyroskop MEMS Czujniki prędkości kątowej osi X, Y i Z z wyjściem cyfrowym (z programowalnym zakresem pełnej skali ±250, ±500, ±1000 i ±2000 stopni/sek.
- Trójosiowy akcelerometr MEMS osi X, Y i Z z wyjściem cyfrowym i programowalnym zakresem pełnej skali ±2 g, ±4 g, ±8 g i +16 g
- Zasilanie od+1.7V do +3,3V
- Interfejs komunikacyjny I3C, I2C, SPI
- Termometr/higometr SHTC3
- Zakres pomiaru wilgotności 0…100%RH z dokładnością +/- 2%
- Zakres pomiaru temperatury -40 do +125 °C. Dokładność pomiaru +/-0.2°C w zakresie od 0°C do +60°C
- Napięcie zasilania od+1.6V do +3,6V
- Interfejs komunikacyjny I2C
- Przetwornica DC/DC SY8088
- Układ ładowarki baterii Li-JON MCP73831
- Programowana dioda WS2812
- Złącze USB-C
- Zasilanie modułu napięciem +5V
- Interfejs programujący pamięć Flash mikrokontrolera
- Interfejs JTAG
- Przyciski Reset i Boot
Wyposażenie standardowe
| Kod | Opis |
|---|---|
| KAmod ESP32-C3 |
Zmontowany i uruchomiony moduł |

Schemat elektryczny

Opis wyprowadzeń
Zasilanie układu
Standardowo moduł jest zasilany napięciem VBUS o wartości +5V ze złącza USB-C. To napięcie jest również wykorzystywane do ładowania pojedynczej celi baterii Li-Jon podłączonej do wyjścia Charger. Ładowaniem zajmuje się układ MCP7381 wykorzystujący algorytm ładowania o stałym natężeniu prądu/stałym napięciu z możliwością wyboru wstępnego kondycjonowania i zakończenia ładowania. Stała regulacja napięcia jest ustalona za pomocą czterech dostępnych opcji: 4,20 V, 4,35 V, 4,40 V lub 4,50. Stała wartość prądu jest ustawiana za pomocą jednego zewnętrznego rezystora. W naszym przypadku prąd ładowania to 100mA, a napięcie wyjściowe 4,20V.
Konfiguracja środowiska Arduino i program testowy
Czynności wstępne
Konfiguracja okna preferences
Wybór typu procesora dla programowanego modułu
Instalowanie bibliotek
Program testowy wymaga zainstalowania bibliotek obsługujących układy peryferyjne: akcelerometr ICM42670P, termometr/higrometr SHTC3 i 3-kolorową diodę LED typu WS2812B.
Instalowanie biblioteki do obsługi układu ICM42670P
Instalowanie biblioteki do obsługi układu SHTC3
Instalowanie biblioteki obsługującej 3-kolorową diodę RGB typu WS2812
Obsługa akcelerometru ICM42670P
Obsługa termometru/higrometru SHTC3
Obsługa diody RGB WS2812B
Sprawdzanie działania modułu WiFi
Program testowy
Program testowy ma zadanie przetestować wszystkie komponenty umieszczone na płytce modułu. Test składa się z kolejnych kroków:
- Zapaleniu diody czerwonej LED podłączonej do linii portu IO7
- Odczytaniu i wyświetleniu w konsoli Arduino IDE odczytanych danych z ICM42670P
- Odczytaniu i wyświetleniu w konsoli Arduino IDE odczytanych danych z SHTC3
- Skanowaniu sieci WIFI i wyświetleniu w konsoli Arduino IDE identyfikatorów SSID siłę sygnału radiowego, numer kanału WIFI i rodzaj kodowania danych w sieci dla każdej ze znalezionych sieci
- Zgaszeniu czerwonej diody LED
- Zapaleniu co 0,5 sekundy kolejnych diod WS2812B czerwonej, zielonej i niebieskiej
- Zgaszeniu wszystkich diod WS2812B i rozpoczęciu testu od nowa
Poniżej pokazany jest fragment ekranu konsoli znakowej Arduino IDE wyświetlający jeden przebieg programu testowego