Arduino byłoby pierwszą płytą dla wielu hobbystów (w tym dla mnie) i inżynierów, kiedy zaczynali od elektroniki. Jednak gdy zaczynamy budować więcej i kopać głęboko, wkrótce zdamy sobie sprawę, że Arduino nie jest gotowy na przemysł, a jego 8-bitowy procesor z absurdalnie wolnym zegarem nie zapewnia wystarczającej ilości energii dla twoich projektów. Mamy jednak nadzieję, że mamy na rynku nowe płyty rozwojowe STM32F103C8T6 STM32 (Blue Pill), które mogą z łatwością przewyższyć Arduino dzięki 32-bitowemu procesorowi i architekturze ARM Cortex M3. Kolejnym garnkiem miodu jest to, że możemy użyć tego samego starego Arduino IDE do programowania naszych płyt STM32. W tym samouczku zacznijmy więc od STM32 aby poznać trochę podstaw na temat tej płytki i zamrugać wbudowaną diodą LED za pomocą Arduino IDE.
Oprócz płyty STM32 Blue pill używanej w tym samouczku, istnieje wiele innych popularnych płyt STM32, takich jak płyta STM32 Nucleo Development. Jeśli jesteś zainteresowany, możesz również zapoznać się z recenzją płyt STM32 Nucleo 64, a jeśli chcesz dowiedzieć się, jak z nich korzystać i programować za pomocą STM32 CubeMX i True studio, możesz zapoznać się z samouczkiem dotyczącym rozpoczęcia pracy z STM32 Nucelo64.
Wymagane materiały
- STM32 - (BluePill) płytka rozwojowa (STM32F103C8T6)
- Programator FTDI
- Płytka prototypowa
- Przewody łączące
- Laptop z Internetem
Wprowadzenie do tablic STM32 (Blue Pill)
Płyta STM32 aka Blue Pill to płytka rozwojowa do mikrokontrolera ARM Cortex M3. Wygląda bardzo podobnie do Arduino Nano, ale ma dość mocne uderzenie. Płytka rozwojowa jest pokazana poniżej.
Płyty te są wyjątkowo tanie w porównaniu z oficjalnymi płytami Arduino, a także sprzęt jest open source. Mikrokontroler na nim to STM32F103C8T6 firmy STMicroelectronics. Oprócz mikrokontrolera na płycie znajdują się również dwa oscylatory kwarcowe, jeden to kryształ 8 MHz, a drugi to kryształ o częstotliwości 32 kHz, który może być używany do sterowania wewnętrznym zegarem czasu rzeczywistego (RTC). Z tego powodu MCU może działać w trybach głębokiego uśpienia, dzięki czemu idealnie nadaje się do zastosowań zasilanych bateryjnie.
Ponieważ MCU współpracuje z napięciem 3,3 V, na płycie znajduje się również układ scalony regulatora napięcia od 5 V do 3,3 V do zasilania MCU. Mimo że MCU działa przy 3,3 V, większość jego pinów GPIO ma tolerancję 5 V. Kołki MCU są starannie wyciągnięte i oznaczone jako szpilki nagłówka. Na płycie znajdują się również dwie diody LED, jedna (kolor czerwony) służy do wskazywania zasilania, a druga (kolor zielony) jest podłączona do pinu GPIO PC13. Posiada również dwa styki nagłówkowe, których można użyć do przełączania trybu rozruchu MCU między trybem programowania a trybem pracy, dowiemy się więcej o nich w dalszej części tego samouczka.
Teraz niewiele osób może się zastanawiać, dlaczego ta tablica nazywa się „Niebieska pigułka”, poważnie, nie wiem. Może dlatego, że tablica jest koloru niebieskiego i może zwiększyć wydajność twoich projektów, ktoś wymyślił tę nazwę. To tylko przypuszczenie i nie mam źródła, które mogłoby to potwierdzić.
STM32F103C8T6 Specyfikacje
ARM Cortex M3 STM32F103C8 Mikrokontroler jest stosowany w niebieską pigułkę pokładzie. W przeciwieństwie do nazwy „Blue Pill”, nazwa mikrokontrolera STM32F103C8T6 ma za sobą znaczenie.
- STM »oznacza nazwę producenta STMicroelectronics
- 32 »oznacza 32-bitową architekturę ARM
- F103 »oznacza, że architektura ARM Cortex M3
- C »48-stykowe
- 8 »64KB pamięci Flash
- T »typ pakietu to LQFP
- 6 »temperatura pracy -40 ° C do + 85 ° C
Spójrzmy teraz na specyfikacje tego mikrokontrolera.
Architektura: 32-bitowy ARM Cortex M3
Napięcie robocze : 2,7 V do 3,6 V.
Częstotliwość procesora: 72 MHz
Liczba pinów GPIO: 37
Liczba pinów PWM: 12
Piny wejścia analogowego: 10 (12 bitów)
Urządzenia peryferyjne USART: 3
Urządzenia peryferyjne I2C: 2
Urządzenia peryferyjne SPI: 2
Urządzenie peryferyjne Can 2.0: 1
Timery: 3 (16-bitowe), 1 (PWM)
Pamięć Flash: 64 KB
RAM: 20kB
Jeśli chcesz wiedzieć