Digilent Pmod i STM32 (cz. 5) – PmodCLS, PmodDPG1 i PmodISNS20

PmodISNS20

Ostatnim z prezentowanych w artykule modułów jest PmodISNS20, czyli moduł do pomiaru prądu oparty o czujnik ACS722. Czujnik ten jest w stanie mierzyć prąd stały lub zmienny o maksymalnej wartości 20 A. Układ posiada wyjście analogowe, z którego można odczytać napięcie proporcjonalne do mierzonego natężenia prądu. Czułość pomiaru wynosi 66 mV/A, a maksymalny błąd pomiaru 3%. Układ ACS722 umożliwia wybór pasma sygnału wyjściowego na 80 kHz, lub 20 kHz – jego zmiana jest możliwa za pomocą zworki JP2. Dodatkowo moduł PmodISNS20 pozwala na włączenie filtra analogowego, ograniczającego pasmo do 120 Hz – służy do tego zworka JP1. 12-bitowy przetwornik analogowo-cyfrowy ADCS7476 z interfejsem SPI mierzy napięcie wyjściowe. Przetwornik omówiono już przy okazji opisu modułu PmodDPG1.

Fotografia 6. Moduł PmodISNS20

Podobnie jak w przypadku dwóch poprzednich modułów omówionych w artykule, PmodISNS20 powinien zostać podłączony do złącza Pmod-SPI znajdującego się na płytce KAmeleon, tak jak na fotografii 7. Połączenia pinów mikrokontrolera z pinami modułu są zgodne z wymienionymi w tabeli 1.

Fotografia 7. Moduł PmodISNS20 podłączony do zestawu KAmeleon

Konfiguracja interfejsu SPI

Konfiguracja SPI dla ADCS7476, przedstawiona na listingu 8 i zaimplementowana w pliku src/PmodISNS20.c, wygląda podobnie jak w przypadku modułu PmodDPG1, jednak w tym przypadku pokażemy programową kontrolę linii CS.

Kod programu z plikami projektowymi środowiska Atollic można pobrać w sekcji „Do pobrania”

Listing 8. Inicjalizacja interfejsu SPI dla PmodISNS20

Ze względu na różnicę w konfiguracji SPI, zmianie musi też ulec konfiguracja GPIO, w której pin PB0, odpowiadający sygnałowi CS, działa jako wyjście z rezystorem podciągającym. Widać to na listingu 9.

Listing 9. Inicjalizacja pinów interfejsu SPI dla PmodISNS20

Odczyt i konwersja danych

Ostatnia z funkcji, pokazana na listingu 10, odczytuje wartość napięcia z przetwornika analogowo-cyfrowego. Następnie dokonuje jego konwersji na natężenie prądu mierzone przez czujnik ACS722. Transfer SPI należy wykonać dwukrotnie, ponieważ za pierwszym razem przetwornik dokonuje konwersji, a za drugim odczytywana jest zmierzona wartość. Konwersję na natężenie prądu zaimplementowano zgodnie z zależnością:

Listing 10. Odczyt i konwersja wartości różnicy ciśnienia

Przykładowy program dokonuje pomiaru natężenia prądu co pół sekundy. Zmierzoną wartość kod wypisuje na port szeregowy LPUART1 obsługiwany przez funkcje zaimplementowane w pliku src/serial.c.

Moduły PmodCLS, PmodDPG1 i PmodISNS20 a także zestaw KAmeleon oraz wiele innych płytek ewaluacyjnych i modułów rozszerzających można znaleźć w ofercie Kamami.pl
Zachęcamy do przeczytania szóstej części cyklu, w której omówiliśmy moduły PmodACL2, PmodDPOT i PmodSSDDigilent Pmod i STM32 (cz. 6) – PmodACL2, PmodDPOT i PmodSSD

Do pobrania

O autorze