Ja zgłosiłem się do przetestowania modułu o roboczej nazwie X-NUCLEO-IKA01A1. Jednym słowem jest to płytka z trzema wzmacniaczami operacyjnymi które realizują siedem podstawowych konfiguracji. Szerzej będziemy je omawiać w kolejnych częściach tej recenzji. Są to:
- struktura wzmacniacza pomiarowego
- Pomiar prądu urządzenia USB
- Pomiar prądu fotodiody
- Bufor
- Prostownik dwupołówkowy
- Stałoprądowy sterownik LED
- Komparator okienkowy
Jak sama nazwa wskazuje jest to shield (ekspander) dla płytek STM32 Nucleo. Warto dodać, że jest kompatybilna ze złączem Arduino UNO R3.
Co można powiedzieć na pierwszy rzut oka? Dla mnie plusem są dobrze oddzielone sektory na PCB realizujące poszczególne funkcje. Czytelnie wykonana warstwa opisowa i wyróżniające się złącza na sygnały wejściowe i wyjściowe pozwolą uniknąć pomyłem w trakcie eksperymentów.
Na początku chciałem testować ów shield na kolnie Arduino Uno, jednak właśnie wtedy pojawił się pewien problem. Płytka nie pasuje bezpośrednio jako nakładka, gdyż gniazdo USB na Arduino zwiera się z gniazdem na X-Nucleo przez co nie jest możliwe dociśnięcie obu modułów. Rozwiązaniem mogłaby być dodatkowa listwa goldpin włożona między nie.
Nie mając takiej pod ręką postanowiłem użyć NUCLEO-F103RB - czyli dedykowanej do tego rozszerzenia zestawu. Oczywiście całość pasuje idealnie.
Skoro mamy już połączony sprzęt pora zabrać się za pierwsze uruchomienie. Na stronie producenta (http://www.st.com/content/st_com/en/pro ... a01a1.html) mamy do dyspozycji wszelakie dokumentacje i narzędzia. Pierwszym moim krokiem będzie użycie przykładowego projektu ze strony ST i przetestowanie czy płytka w ogóle działa. Do tego będziemy potrzebować:
- komputera
- 2xkabla USB-miniUSB
- kabla USB-micro USB
- dwóch przewodów połączeniowych męsko-żeńskich
- konwertera USB-UART
Ja użyję konwertera opartego na chipie FT232RL. Można je nabyć np. tutaj: https://kamami.pl/konwertery-usb-uart-r ... results=23
U mnie sygnały RX i TX znajdują się pinach opisanych poniżej:
Zanim zaczniemy wszytko podłączać musimy pobrać trzy pliki ze strony ST. Najpierw paczka z gotowym projektem dla naszego Nucleo. W tym celu przechodzimy tutaj: http://www.st.com/content/st_com/en/pro ... alog1.html i na samym dole kilkamy "Get Software"
Jak ktoś nie ma konta na stronie ST może wpisać swoje imie i nazwisko oraz adres email i bez rejestracji pobierać pliki. Na maila dostaniemy odpowiedni link do kliknięcia.
Dalej potrzebujemy aplikacji STM32 ST-LINK utility do wgrania gotowego pliku .hex na naszą płytkę STM32. Klikamy tutaj: http://www.st.com/content/st_com/en/pro ... nk004.html i analogicznie jak wyżej:
Ostatnim plikiem są sterowniki do naszego Nucleo. W moim przypadku, tj. NUCLEO-F103RB można je pobrać tutaj: http://www.st.com/content/st_com/en/pro ... nk009.html
Mając rozpakowane pliki podłączamy kablem miniUSB STM32 Nucleo do komputera. Jeżeli robimy to pierwszy raz wyskaczą nam w menadżerze urządzeń dwie pozycje.
W systemie Windows 7 wyszukujemy dla nich sterownik w folderze który pobraliśmy dla naszego Nucleo. W Windows 8/8.1/10 trzeba najpierw wyłączyć wymuszanie podpisów sterowników. Jak to zrobić można wygooglować.
Jeżeli zrobimy wszystko jak trzeba będziemy mieć dwie nowe pozycje:
Teraz nadszedł czas na wgranie wsadu do naszego SMT32. W tym celu rozpakowujemy plik pobrany jako pierwszy i przechodzimy do następującej lokalizacji:
en.x-cube-analog1_software\STM32CubeExpansion_ANALOG1_V1.4.0\Projects\Multi\Examples\OpAmp\Binary\STM32F103RB-Nucleo
Tam znajdziemy plik o rozszerzeniu .bin oraz .hex. Może taki wsad wgrać na dwa sposoby. Jeżeli mamy Windows 7 to po podłączeniu płytki pojawi nam się dysk przenośny i do niego wystarczy skopiować plik .bin.
Można też zainstalować pobrany wcześniej STM32 ST-LINK utility. Po uruchomieniu wejść w ustawienia i wybrać jak na screenie:
Następnie klikamy Target -> Connect. Po udanym połączeniu wybieramy File -> Open File i wybieramy nasz plik .hex bądź .bin. Następnie Target -> Programm & Verify.
W kolejnym okienku zaznaczamy jak na screenie i klikamy start.
Po tej operacji zamykamy program i mamy już gotowy i działający zestaw. Teraz wystarczy podłączyć się pod UART w naszym shieldzie i sprawdzić jakie dane odbierzemy i czy nasza płytka działa. Pierwszą oznaką poprawnego działania, jeszcze przed transmisją danych, będzie świecąca coraz mocniej pomarańczowa dioda na ekspanderze.
Przejdziemy teraz do podłączenia konwertera USB-UART do komputera za pomocą kabla miniUSB. Przed tym łączymy pinu RX i TX na X-Nucleo z odpowiednio TX i RX na konwerterze. Gdyby ktoś nie mógł znaleźć:
Jeżeli nie mamy zainstalowanych sterowników do konwertera to dla chipu FT232RL są one dostępne na tej stronie: http://www.ftdichip.com/Drivers/D2XX.htm. Jeżeli poprawnie zainstalowaliśmy to pojawi nam się taki urządzenie:
Zapamiętujemy numer COM gdyż przyda się on do dalszej pracy. Teraz pobieramy dowolny program typu terminal, np. Putty, Tera Term czy Termite. Ja pokaże na przykładzie tego ostatniego. Pobieramy go ze strony http://www.compuphase.com/software_termite.htm. Następnie po instalacji klikamy na Settings i wybieramy
Oczom naszym powinien się teraz ukazać taki oto obraz:
Jest to pięć odczytów z testowanej przez nas X-Nucleo-IKA01A1 wysyłanych okresowo. Teraz wyjaśnię po krótce co one oznaczają i jak sprawdzić z grubsza ich poprawność. Zacznijmy od ostatniej
.Setting duty cycle to x percent
Jest to nic innego jak sterowanie sygnałem PWM z płytki SMT32 i wyświetlanie wypełnienia sygnału na UART. Im niższa wartość tym dioda świeci słabiej. Istnieje też możliwość podłączenia własnej LED gdyż mamy wyprowadzone dwa złącza na pytce:
Ktoś może pomyśleć, że po co używać do tego op-ampa. Do jednej diody faktycznie jest to strzelanie do muchy z armaty. Jednak chodzi tutaj o to, aby poznać działanie wzmacniaczy w różnych konfiguracjach. W tym przypadku obrazuje to krótko mówiąc sterowanie diody stałą wartością prądu, który przy większym obciążeniu na wyjściu (np. kilka diod czy jakiś układ zewnętrzny) musi być odpowiednio wzmocniony. Więcej o tym w innej części.
Kolejna linijka to
PhotoDiode output Voltage
Jak się można domyślić po nazwie chodzi tutaj o fotodiodę. Mamy na płytce rezystor połączony z fotodiodą przez który płynie prąd zależny od oświetlenia tej diody. Taki prąd może przyjmować bardzo małe wartości dlatego używany wzmacniacza który prócz wzmocnienia oferuje również możliwość reagowania na niewielkie zmiany tego prądu. Na wyjściu jest mierzone napięcie na pinie A4 płytki oraz wyświetlane po UART. Jeżeli poświecimy na diodę to napięcie wzrośnie. Więcej w odpowiedniej części poradnika. Na screenie sytuacja po oświetleniu oraz ulokowanie
Następna linijka
Win_Cmp D2:1 Win_Cmp D4:1
Jest to wynik działania tzw. komparatora okienkowego. D2 i D4 są wyjściami i mogą się na nich pojawiać stany niskie lub wysokie (0 lub 1). Ale po kolei. Najpierw odpowiednio dobierając wartości rezystorów (u nas mamy od tego potencjometr) ustalamy korzystając z odpowiednich wzorów dwie wartości napięcia. Następnie podajemy jakieś zmienne napięcie na wejście komparatora i sprawdzamy w którym przedziale napięć się znajduje. Przed, w środku, czy za naszym "okienkiem napięcia". W zależności od tego na obu wyjściach mamy stan wysoki jeżeli mieści się w przedziale, lub wysoki i niski jeżeli napięcie wykracza poza ustalone ramy. Więcej i dokładniej będzie w dalszej części. Na screenie miejsce do podawania napięcia:
Kolejna linijka jest chyba najłatwiejsza do sprawdzenia:
Current sensing Output Current
Jest to pomiar pobieranego prądu przez urządzenie podpięte do USB na X-Nucleo podany w mA. Aby go zmierzyć należy najpierw podłączyć do komputera X-Nucleo kablem microUSB a następnie wpiąć do gniazda dowolne urządzenie. Op-amp służy do pomiaru prądu bardzo blisko zasilania w tzw. konfiguracji high-side. Więcej opiszę w kolejnych częściach. Ja po wpięciu pendrive otrzymałem taki wynik:
Na tym zakończę pierwszą część moich testów. Kolejne pojawią się niebawem. Jeżeli ktoś ma sugestie jakie kwestie powinny zostać poruszone to proszę o komentarz. Temat wzmacniaczy operacyjnych jest tak szeroki, że ciężko poruszać wszystkie aspekty danych konfiguracji. Liczę również na wyrozumiałość, gdyż nie jestem ekspertem i cały czas poznaję temat op-ampów. Ten test traktuję bardziej jako sposób nauczenia się czegoś nowego a nie tworzenie merytorycznego poradnika. Dzięki wszystkim którym chciało się to czytać