[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: