Skocz do zawartości

Biblioteka arm_math.h do obsługi PID


Pomocna odpowiedź

Cześć,

mam pytanie o regulator PID z biblioteki dla procesorów ARM: arm_math.h.

W bibliotece tej są 3 funkcje do obsługi regulatora:

- arm_pid_f32(),

- arm_pid_q31(),

- arm_pid_q15().

1. W jakich przypadkach powinno  się używać której wersji?

2. Której wersji najlepiej użyć w przypadku potrzeby regulacji prądu generowanego przez PWM? Prąd jest regulowany poprzez ustawianie odpowiedniego wypełnienia sygnału PWM.

 

Link to post
Share on other sites

arm_pid_f32() używa zmiennych zmiennoprzecinkowych (floating point) typu float, natomiast arm_pid_q31() i arm_pid_q15() używają zmiennych stałoprzecinkowych (fixed point) pod którymi tak faktycznie kryją się typy integer.

obraz.thumb.png.8f162862dc941a30afcd679b2df5aa87.png

W kwestii kiedy czego używać (moja opinia/podejście): jeśli Twój procek ma wbudowane FPU lub nie zależy Tobie na szybkim wykonywaniu obliczeń to śmiało używaj arytmetyki bazującej na typach zmiennoprzecinkowych. Jeśli natomiast zależy Tobie na czasie wykonywania operacji, nie masz FPU w procku (bo jest to na przykład ARM Cortex-M0/M0+) to przyjrzyj się arytmetyce stałoprzecinkowej i skorzystaj z niej. Z doświadczenia w pracy mogę powiedzieć, że fixed point jest równie dobry jak floating point.

Odpowiadając jeszcze na drugi punkt, pod kątem jakości/dokładności nie ma to większego znaczenia, u mnie w pracy poprzez algorytm FOC sterujemy silnikami bezszczotkowymi wykorzystując oba typy przy czym zmiennoprzecinkowe na prockach z jednostką FPU (Cortex-M4/M7), a stałoprzecinkowe na prockach bez FPU (Cortex-M0/M0+/M3).

  • Pomogłeś! 2
Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.