Arduino Polska Forum
Programowy integrator w Arduino - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: Programowy integrator w Arduino (/watek-programowy-integrator-w-arduino)



Programowy integrator w Arduino - solark - 29-03-2018

Witam Wszystkich

Proszę o wyrozumiałość gdyż jestem początkujący


Mam następujący problem : 
Chciałbym osiągnąć coś w rodzaju Integratora sygnału 
Mam na wejściu taki oto sygnał (Pomiar ADC z częstotliwością około 1kHz) : 
A chciałbym osiągnąć coś w rodzaju sygnału takiego jak poniżej za pomocą kodu
Pró bowałem coś kombinować z PID ale albo coś żle robię ? ale wydaje mi się że PID nie do tego służy 
Próbowałem też ze średnią "running average"
Bardzo proszę Was o pomoc 
Bardzo proszę o przykładowy kod 
pozdrawiam 
Arek


RE: Programowy integrator w Arduino - kaczakat - 30-03-2018

Pokaż ten kod ze średnią "running average". I wrzuć wykresy z jakimiś wartościami na osiach, bo to wygląda na średnią, a na innym forum pisałeś, że to nie o to chodzi.


RE: Programowy integrator w Arduino - Robson Kerman - 30-03-2018

Jest takie twierdzenie, o ile pamiętam to Kotielnikowa-Shannona, dotyczące próbkowania sygnałów.
Z tego twierdzenia policz sobie częstotliwość  próbkowania, bo to jest istotne.
I dopiero wtedy zastanów się, jak chcesz scałkować próbkę.
Metoda trapezów była by miej więcej taka:
Kod:
int calka (int pin)
{
int x1;
int x2;
int y;
int deltaX;

x2= analogRead(pin);
y = y + ((x1 + x2)/2)*deltaX;
x1 = x2;

return y;
}

No i o tą deltę x się rozchodzi. Możesz tak dobrać parametr, aby mieć wynik zbliżony do, nazwijmy to, modulacji amplitudowej.