Witam,
aktualnie konstruuję pół-przenośne urządzenie do pomiaru drgań. Pół-przenośne, bo płytka z mikrokontrolerem, który programuję w LabVIEW jest zasilana z usb. Do pomiaru wykorzystuję czujnik przyspieszenia na EVAL-ADXL325Z, następnie układ kondycjonujący zasilany bateriami, bądź z płytki ewaluacyjnej - wzmacniacz skalujący, filtr antyaliasingowy oraz 12-bitowy przetwornik MCP3204 (3 kanały).
Zgodnie z normą ISO 8041 dot. mierników drgań, w urządzeniach tego typu powinny być zaimplementowane odpowiednie filtry korekcyjne. Uznałem, że najprostszym rozwiązaniem będzie implementacji cyfrowa tych filtrów. Jak już wspominałem, mikrokontroler LPC2378 programuję w LabVIEW 2011 Embedded Module for ARM Microcontrollers. Niestety moduł ten jest troszkę "okrojony", gdyż posiadając dodatkowe toolkity tj. Sound&Vibration albo MathScript zainstalowane w LabVIEW 2011, w module do programowania ARM'a są niedostępne. W normie można znaleźć przykładowe rozwiązanie implementacji filtru Wk jako funkcję w programie MATLAB:
Brak możliwości skorzystania z funkcji pozwalającej używania skryptu napisanego w MATLAB'ie pod LabVIEW, zmusiła mnie do pośredniej implementacji filtrów. Najpierw stworzyłem skrypt generujący współczynniki filtru IIR dla każdego stopnia - filtr górnoprzepustowy, dolnoprzepustowy, przejścia a-v oraz stopnia wznoszenia (wszystkie transmitancje podane w normie), później stworzyłem subVI pozwalający wybrać typ filtru korekcyjnego (odpowiednie współczynniki wyliczone w MATLAB'ie) utworzonego z bloków IIR Cascade Filter with I.C.. Poniżej przedstawiam skrypt oraz zrzut ekranowy ze stworzonego subVI.
Prosiłbym o Waszą opinię co do mojego rozwiązania. Czy filtr korekcyjny jako subVI w LabVIEW został zrobiony poprawnie. Nie jestem przekonany co do użytych bloczków IIR Cascade Filter with I.C.
aktualnie konstruuję pół-przenośne urządzenie do pomiaru drgań. Pół-przenośne, bo płytka z mikrokontrolerem, który programuję w LabVIEW jest zasilana z usb. Do pomiaru wykorzystuję czujnik przyspieszenia na EVAL-ADXL325Z, następnie układ kondycjonujący zasilany bateriami, bądź z płytki ewaluacyjnej - wzmacniacz skalujący, filtr antyaliasingowy oraz 12-bitowy przetwornik MCP3204 (3 kanały).
Zgodnie z normą ISO 8041 dot. mierników drgań, w urządzeniach tego typu powinny być zaimplementowane odpowiednie filtry korekcyjne. Uznałem, że najprostszym rozwiązaniem będzie implementacji cyfrowa tych filtrów. Jak już wspominałem, mikrokontroler LPC2378 programuję w LabVIEW 2011 Embedded Module for ARM Microcontrollers. Niestety moduł ten jest troszkę "okrojony", gdyż posiadając dodatkowe toolkity tj. Sound&Vibration albo MathScript zainstalowane w LabVIEW 2011, w module do programowania ARM'a są niedostępne. W normie można znaleźć przykładowe rozwiązanie implementacji filtru Wk jako funkcję w programie MATLAB:
Kod: SciLab
Brak możliwości skorzystania z funkcji pozwalającej używania skryptu napisanego w MATLAB'ie pod LabVIEW, zmusiła mnie do pośredniej implementacji filtrów. Najpierw stworzyłem skrypt generujący współczynniki filtru IIR dla każdego stopnia - filtr górnoprzepustowy, dolnoprzepustowy, przejścia a-v oraz stopnia wznoszenia (wszystkie transmitancje podane w normie), później stworzyłem subVI pozwalający wybrać typ filtru korekcyjnego (odpowiednie współczynniki wyliczone w MATLAB'ie) utworzonego z bloków IIR Cascade Filter with I.C.. Poniżej przedstawiam skrypt oraz zrzut ekranowy ze stworzonego subVI.
Kod: SciLab
Prosiłbym o Waszą opinię co do mojego rozwiązania. Czy filtr korekcyjny jako subVI w LabVIEW został zrobiony poprawnie. Nie jestem przekonany co do użytych bloczków IIR Cascade Filter with I.C.
