Pixelxx napisał(a):
Jeżeli chodzi o pomiar mocy to bym musiał wykorzystać jakaś metodę całkowania numerycznego np: prostokątów?
1. Musisz mieć pomiar napięcia i prądu. Ewentualnie chociaż detektor przejścia przez zero żeby wiedzieć w którym punkcie sinusa jesteś. Zakładamy że amplituda napięcia sieciowego to 230V * sqrt(2)
2. Robisz próbki prądu dajmy na to co 500us a więc Twoje dt = 0.0005 będziesz miał 40 takich próbek na 1 okres sinusoidy.
3. Skoro wiesz w jakim momencie sinusa jesteś, bo masz synchronizacje, odczytujesz z tablicy wartość chwilową napięcia. Tak, nmusisz wcześniej stablicować sobie sinusa żeby nie liczyć go w locie bo to za wolne na AVR. nie będzie to dokładna wartość ale niestety nie masz pomiaru napięcia. Chyba że takowy dołożysz, wtedy jest bajeczka.
4. co te 500us mnożysz: u * i * dt i dodajesz do zmienej moc która pomieści takie wartości. Powiedzmy coś takiego:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
5. jak zrobisz to 40 razy, dzielisz:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
6. Nie używaj zmiennych zmiennoprzcinkowych.