[STM32] Mikrokontrolery STM32 w systemach sterowania i regulacji. Maciej Szumski. Mała recenzja
: niedziela 18 mar 2018, 16:53
Witam - za pośrednictwem forum otrzymałem od firmy KAMAMI w.w. książkę w celu napisania jej recenzji. Gdy tylko pojawiła się informacja o jej wydaniu na forum było małe poruszenie i zainteresowanie nią - więc zapewne taki tekst się przyda.
Zanim zacznę właściwą recenzję – krótka historia odnośnie mojego podejścia do książki od samego początku. Gdy natrafiłem na zapowiedź książki na stronie wydawnictwa znalazłem jej spis treści . Po jego przejrzeniu – sam nie wiedziałem co myśleć – bardzo szeroki zakres materiału, więc sądziłem, że będzie trochę chaotycznie i co za tym idzie wszystko opisane „po trochu” – potem okazało się, że bardzo się myliłem. Dodam też, że bardzo lubię metodę tłumaczenia jakiś zagadnień „pod kątem czegoś”, a nie bez jakiegoś odgórnego celu. Tutaj mamy naukę programowania STM32 pod kątem sterowania i regulacji w układach przemysłowych. Dlaczego taki temat – otóż książka jest tak naprawdę podręcznikiem do przedmiotu Systemy Mikroprocesorowe w Sterowaniu. Patrząc z tej perspektywy rozjaśnia się ten szeroki zakres materiału – zawarte są podstawy wiedzy jakie studenci powinni wynieść z innych przedmiotów przed przystąpieniem do tego, dzięki książce mają to zebrane w jednym miejscu. Sam nie raz nie dwa szukając informacji o różnych zagadnieniach trafiałem na strony z prezentacjami/wykładami z różnych uczelni. Niestety – sama prezentacja bez narracji prowadzącego nie wyjaśni nam kompleksowo tematu – a w książce mamy też ową narrację umieszczoną. Z tego powodu części „typowo naukowe/teoretyczne” odnośnie regulatorów są bardzo dobrze wyjaśnione.
Spis treści i wstęp do książki, a także kody projektów możemy znaleźć tutaj: https://kamami.pl/arm/569025-mikrokontrolery-stm32-w-systemach-sterowania-i-regulacji-maciej-szumski.html
Zacznę od rzeczy, która mnie bardzo zaskoczyła – asembler. W książce jest go sporo. Praktycznie rozdziały 5-10 oraz 14 są przeznaczone na asembler. Jeśli masz przed sobą w tym momencie spis treści zobaczysz, ze rozdział 9 to obsługa HD44780 – tak, ona też jest zrobiona w asemblerze. Jednak w tych rozdziałach poukrywane jest bardzo dużo wiedzy odnośnie działania mikrokontrolerów STM32, organizacji ich pamięci, sposobów przekazywania parametrów do funkcji i porównań kodu C i asemblera – jak podstawowe konstrukcje z języka C wyglądają w asemblerze. Przeskoczmy teraz na koniec książki – rozdział 22 na temat RTOS – przyznam, ze liczyłem na uruchomienie np. FreeRTOSa – ale nie zgadzała mi się ilość stron na to przeznaczona (trochę za mała). W zamian jest to bardzo ciekawy opis jak architektura wspiera uruchomienie RTOSa i prosty przykład ich wykorzystania – tutaj też mamy do czynienia z asemblerem dlatego teraz o tym wspominam.
Środkowa część książki przedstawia sposoby działania i obsługi wielu peryferii wewnętrznych uC w praktycznych przykładach. Mamy więc omówione:
- RCC
- GPIO (ale one są omówione wcześniej w rozdziałach asemblerowych)
- przerwania i NVIC – na przykładzie klawiatury matrycowej
- RTC
- timery – sterowanie silnikami DC, odczyt dalmierza ultradźwiękowego, odczyt wypełnienia PWM w celu komunikacji z odbiornikiem aparatury RC
- SPI – obsługa kolorowego wyświetlacza, termometr TC77
- DMA, ADC i DAC, które są wykorzystywane w końcowych projektach regulatorów, odczytów danych z sensorów 4-20mA
- uart + modbus – jako przykład komunikacji między urządzeniami wykorzystywany w przemyśle
- I2C – komunikacja z układem termometru STLM75
Pomiędzy mamy także sterowanie silnikami krokowymi wraz z bardzo dokładnym opisem ich działania wraz z różnymi opcjami sterowania jak np. sterowanie z kluczowaniem prądu lub L/nR.
Ważna kwestia – w książce wykorzystane są biblioteki SPL. Nie są one już zbyt często spotykane i pomału wypierane są przez HAL oraz LL. Tutaj lepszym podejściem moim zdaniem byłoby wykorzystanie HALa, aczkolwiek mają podobną budowę i dzięki wiedzy „ogólnej” na temat danych peryferii zdobytej w książce późniejsze poradzenie sobie z HALem nie będzie stanowiło problemu.
Środowisko programistyczne opisywane w książke to Keil uVision – jego wersja darmowa pozwala na kompilowanie kodów do 32kB pamięci. Znajdziemy informację na temat obsługi tego programu, a także kilka innych zagadnień jak podstawowe debugowanie, czy też używanie „4-Pin Trace ETM”.
W kwestii tytułowych systemów sterowania - oprócz wyżej wymienionych przykładów używania sensorów 4-20mA i Modbusa pod kątem komunikacji z gotowymi układami mamy rozdział gdzie implementujemy swój własny obiekt oscylacyjny, którym potem będziemy sterować za pomocą regulatora PID w kolejnych rozdziałach. Regulator jest rozbity na wiele mniejszych sekcji - warto zerknąć w spis treści.
Domyślnie przykłady są pisane na zestaw uruchomieniowy ZL27ARM z układem STM32F103VB oraz STM32F10E-EVAL.
Kilka ogólnych plusów tej książki:
+ oscylogramy! – jest ich naprawdę dużo i bardzo dobrze prezentują działanie przykładów oraz inne ciekawe rzeczy np. wpływ ustawienia stromości zbocza – mamy podgląd jak w rzeczywistości to wygląda, tak samo dla filtrów cyfrowych, działania timerów, czy też podgląd napięcia na oporniku podczas kluczowania prądu w celu sterowania silnikiem krokowym
+ jako dopowiedzenie do oscylogramów – kolorowe wykresy/oscylogramy, które zwiększają czytelność, zwłaszcza w przypadku pokazania odpowiedzi regulatorów, gdzie naniesionych jest kilka przebiegów na jednym wykresie
+ dużo odniesień do Refference Manuali – polecam mieć je otwarte podczas wykonywania ćwiczeń i też przeczytać jako uzupełnienie, jednak książka w wielu miejscach odsyła nas do dokumentacji co początkującym może pozwolić się szybciej z nią oswoić
+ generalne nastawienie na praktykę – wszystkie teoretyczne kwestie mają swój praktyczny przykład i to zazwyczaj w ujęciu przemysłowym
Wady:
- małą wadą wydaje mi się wykorzystywania bibliotek SPL
Zależne od podejścia:
+ dla mnie zaletą jest podejście niskopoziomowe, dokładne opisy działania peryferii, aczkolwiek tutaj inni mogą mieć odmienne zdania
W moim odczuciu – książka bardzo dobra. Zebrane bardzo dużo wiedzy nie tylko na temat STM32, ale też ogólnie działania uC, silników i regulatorów w jednym miejscu. Zdecydowanie polecam. Jak do każdej technicznej książki – możemy do niej wrócić, gdy coś nam wyleci z głowy i odświeżyć sobie wybrany rozdział. Powtórzę się - ale koncepcja książek jako podręczników do przedmiotów na studiach bardzo mi się spodobała.
Jeśli macie jakieś pytania/własne przemyślenia na temat tej książki to śmiało pisać
Edit -> otrzymałem zgodę na ilustrację - wstawiłem jako potwierdzenie
Zanim zacznę właściwą recenzję – krótka historia odnośnie mojego podejścia do książki od samego początku. Gdy natrafiłem na zapowiedź książki na stronie wydawnictwa znalazłem jej spis treści . Po jego przejrzeniu – sam nie wiedziałem co myśleć – bardzo szeroki zakres materiału, więc sądziłem, że będzie trochę chaotycznie i co za tym idzie wszystko opisane „po trochu” – potem okazało się, że bardzo się myliłem. Dodam też, że bardzo lubię metodę tłumaczenia jakiś zagadnień „pod kątem czegoś”, a nie bez jakiegoś odgórnego celu. Tutaj mamy naukę programowania STM32 pod kątem sterowania i regulacji w układach przemysłowych. Dlaczego taki temat – otóż książka jest tak naprawdę podręcznikiem do przedmiotu Systemy Mikroprocesorowe w Sterowaniu. Patrząc z tej perspektywy rozjaśnia się ten szeroki zakres materiału – zawarte są podstawy wiedzy jakie studenci powinni wynieść z innych przedmiotów przed przystąpieniem do tego, dzięki książce mają to zebrane w jednym miejscu. Sam nie raz nie dwa szukając informacji o różnych zagadnieniach trafiałem na strony z prezentacjami/wykładami z różnych uczelni. Niestety – sama prezentacja bez narracji prowadzącego nie wyjaśni nam kompleksowo tematu – a w książce mamy też ową narrację umieszczoną. Z tego powodu części „typowo naukowe/teoretyczne” odnośnie regulatorów są bardzo dobrze wyjaśnione.
Spis treści i wstęp do książki, a także kody projektów możemy znaleźć tutaj: https://kamami.pl/arm/569025-mikrokontrolery-stm32-w-systemach-sterowania-i-regulacji-maciej-szumski.html
Zacznę od rzeczy, która mnie bardzo zaskoczyła – asembler. W książce jest go sporo. Praktycznie rozdziały 5-10 oraz 14 są przeznaczone na asembler. Jeśli masz przed sobą w tym momencie spis treści zobaczysz, ze rozdział 9 to obsługa HD44780 – tak, ona też jest zrobiona w asemblerze. Jednak w tych rozdziałach poukrywane jest bardzo dużo wiedzy odnośnie działania mikrokontrolerów STM32, organizacji ich pamięci, sposobów przekazywania parametrów do funkcji i porównań kodu C i asemblera – jak podstawowe konstrukcje z języka C wyglądają w asemblerze. Przeskoczmy teraz na koniec książki – rozdział 22 na temat RTOS – przyznam, ze liczyłem na uruchomienie np. FreeRTOSa – ale nie zgadzała mi się ilość stron na to przeznaczona (trochę za mała). W zamian jest to bardzo ciekawy opis jak architektura wspiera uruchomienie RTOSa i prosty przykład ich wykorzystania – tutaj też mamy do czynienia z asemblerem dlatego teraz o tym wspominam.
Środkowa część książki przedstawia sposoby działania i obsługi wielu peryferii wewnętrznych uC w praktycznych przykładach. Mamy więc omówione:
- RCC
- GPIO (ale one są omówione wcześniej w rozdziałach asemblerowych)
- przerwania i NVIC – na przykładzie klawiatury matrycowej
- RTC
- timery – sterowanie silnikami DC, odczyt dalmierza ultradźwiękowego, odczyt wypełnienia PWM w celu komunikacji z odbiornikiem aparatury RC
- SPI – obsługa kolorowego wyświetlacza, termometr TC77
- DMA, ADC i DAC, które są wykorzystywane w końcowych projektach regulatorów, odczytów danych z sensorów 4-20mA
- uart + modbus – jako przykład komunikacji między urządzeniami wykorzystywany w przemyśle
- I2C – komunikacja z układem termometru STLM75
Pomiędzy mamy także sterowanie silnikami krokowymi wraz z bardzo dokładnym opisem ich działania wraz z różnymi opcjami sterowania jak np. sterowanie z kluczowaniem prądu lub L/nR.
Ważna kwestia – w książce wykorzystane są biblioteki SPL. Nie są one już zbyt często spotykane i pomału wypierane są przez HAL oraz LL. Tutaj lepszym podejściem moim zdaniem byłoby wykorzystanie HALa, aczkolwiek mają podobną budowę i dzięki wiedzy „ogólnej” na temat danych peryferii zdobytej w książce późniejsze poradzenie sobie z HALem nie będzie stanowiło problemu.
Środowisko programistyczne opisywane w książke to Keil uVision – jego wersja darmowa pozwala na kompilowanie kodów do 32kB pamięci. Znajdziemy informację na temat obsługi tego programu, a także kilka innych zagadnień jak podstawowe debugowanie, czy też używanie „4-Pin Trace ETM”.
W kwestii tytułowych systemów sterowania - oprócz wyżej wymienionych przykładów używania sensorów 4-20mA i Modbusa pod kątem komunikacji z gotowymi układami mamy rozdział gdzie implementujemy swój własny obiekt oscylacyjny, którym potem będziemy sterować za pomocą regulatora PID w kolejnych rozdziałach. Regulator jest rozbity na wiele mniejszych sekcji - warto zerknąć w spis treści.
Domyślnie przykłady są pisane na zestaw uruchomieniowy ZL27ARM z układem STM32F103VB oraz STM32F10E-EVAL.
Kilka ogólnych plusów tej książki:
+ oscylogramy! – jest ich naprawdę dużo i bardzo dobrze prezentują działanie przykładów oraz inne ciekawe rzeczy np. wpływ ustawienia stromości zbocza – mamy podgląd jak w rzeczywistości to wygląda, tak samo dla filtrów cyfrowych, działania timerów, czy też podgląd napięcia na oporniku podczas kluczowania prądu w celu sterowania silnikiem krokowym
+ jako dopowiedzenie do oscylogramów – kolorowe wykresy/oscylogramy, które zwiększają czytelność, zwłaszcza w przypadku pokazania odpowiedzi regulatorów, gdzie naniesionych jest kilka przebiegów na jednym wykresie
+ dużo odniesień do Refference Manuali – polecam mieć je otwarte podczas wykonywania ćwiczeń i też przeczytać jako uzupełnienie, jednak książka w wielu miejscach odsyła nas do dokumentacji co początkującym może pozwolić się szybciej z nią oswoić
+ generalne nastawienie na praktykę – wszystkie teoretyczne kwestie mają swój praktyczny przykład i to zazwyczaj w ujęciu przemysłowym
Wady:
- małą wadą wydaje mi się wykorzystywania bibliotek SPL
Zależne od podejścia:
+ dla mnie zaletą jest podejście niskopoziomowe, dokładne opisy działania peryferii, aczkolwiek tutaj inni mogą mieć odmienne zdania
W moim odczuciu – książka bardzo dobra. Zebrane bardzo dużo wiedzy nie tylko na temat STM32, ale też ogólnie działania uC, silników i regulatorów w jednym miejscu. Zdecydowanie polecam. Jak do każdej technicznej książki – możemy do niej wrócić, gdy coś nam wyleci z głowy i odświeżyć sobie wybrany rozdział. Powtórzę się - ale koncepcja książek jako podręczników do przedmiotów na studiach bardzo mi się spodobała.
Jeśli macie jakieś pytania/własne przemyślenia na temat tej książki to śmiało pisać
Edit -> otrzymałem zgodę na ilustrację - wstawiłem jako potwierdzenie