[PRZYKŁAD] P-NUCLEO-IKA02A1 – zestaw rozwojowy do współpracy z czujnikami gazów

P-NUCLEO-IKA02A1 to nowy zestaw deweloperski z mikrokontrolerem STM32L053 oraz nakładką do rozwoju aplikacji wykorzystujących elektrochemiczne czujniki dymu. W niniejszym artykule przedstawię prosty przykład wykorzystania produktu STMicroelectronics. Przygotowany program odczytuje i przelicza odczytane wartości do odpowiednich zmiennych. Dane można wyświetlić później na ekranie LCD lub przesłać dalej, np. przez port szeregowy.

Zdj. 1. Połączony zestaw P-NUCLEO-IKA02A1

Zestaw P-NUCLEO-IKA02A1 składa się z płytki NUCLEO-L053R8 – zestawu startowego z mikrokontrolerem z rodziny STM32L0 oraz nakładki przeznaczonej do dołączenia elektrochemicznych czujników gazu. Nakładka wyposażona jest we wzmacniacze operacyjne TSU111, czujnik temperatury STLM20 oraz czujnik tlenku węgla Figaro TGS5141. Ten ostatni można wymienić na inny czujnik gazu. Na płytce znajdują się pady lutownicze, do których pasują sensory z footprintami: PCD13,5, PCD17, Mini oraz TGS5141.

Projektowanie kodu na mikrokontroler STM32 odbędzie się z wykorzystaniem standardowych, darmowych narzędzi polecanych przez STMicroelectronics – STM32CubeMX oraz środowiska System Workbench for STM32. Płytka do obsługi czujników komunikuje się z mikrokontrolerem za pośrednictwem trzech sygnałów analogowych. Fabrycznie na płytce sygnały są zwarte do następujących pinów

Sygnał Pin płytki do obsługi czujników
Pin mikrokontrolera STM32L053
Czujnik CO A3 PB0
Napięcie referencyjne A2 PA4
Czujnik temperatury A5 PC0

W razie potrzeby, zmieniając położenie zworek SMD, można podłączyć w.w. sygnały do innych pinów złącza. Więcej szczegółów można znaleźć w instrukcji do zestawu.

Szczegółowy opis narzędzia CubeMX znajduje się w artykule:

STM32Cube graficzny konfigurator STM32

Aby móc wyliczyć stężenie CO razem z kompensacją temperaturową należy odbierać wartość wszystkich trzech napięć. W związku z tym, w zakładce Pinout, należy powyższe piny mikrokontrolera ustawić jako wejścia analogowe. W tym celu należy włączyć kanały przetwornika ADC: czwarty, ósmy i dziesiąty. Należy do zrobić włączając na liście ADC opcje IN4, IN8, IN10. Ustawione piny przedstawia poniższy obraz:

Rys. 2. STM32Cube – zakładka Pinout

W zakładce Configuration należy ustawić konfigurację peryferiów, w tym przypadku przetwornika analogowo-cyfrowego. Opcje, które można ustawić to m.in. Clock Prescaler na Asynchronous clock mode divided by 8, Resolution na ADC 12-bit resolution, oraz Sampling Time na 160.5 Cycles. Poniżej znajduje się obraz demonstrujący pełną konfigurację użytą w przykładzie:

Rys. 3. STM32Cube – konfiguracja przetwornika ADC

Do pobrania

O autorze