Actions

Kamod ESP32-C3 (PL)

From Kamamilabs.com - Wiki

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ł
1 x prosta listwa goldpin 12-pin raster 2,54 mm 1 x prosta listwa goldpin 16-pin raster 2,54 mm


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

Podłączany moduł Kamod ESP-C3 do komputera z zainstalowanym środowiskiem Arduino IDE. W oknie wyboru modułu wybieramy moduł ESP32C3 Dev Module i wirtualny port szeregowy COMx z którym moduł jest połączony.

W naszej procedurze testowej będziemy używali okna terminala, w którym będą wyświetlanie wyniki działania programu. Żeby to było możliwe trzeba odblokować domyślnie zablokowaną opcję USB CDC On Boot

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

Konfiguracja środowiska do programowania w języku Rust i programy testowe


Włączenie repozytorium Universe
Instalacja pakietów libssl-dev, libudev, kompilatora C/C++ clang i interpretera Python 3
Instalacja pakietów Rust i menadżera Cargo
Tworzenie projektu
Testowanie modułu – miganie diody D2 podłączonej do portu IO7
Testowanie modułu – odczyt danych z termometru SHTC3 i akceleratora ICM42670

Wymiary


Linki zewnętrzne