-
Data: 2012-10-09 12:50:29
Temat: Re: ATmega, jak zaprogramować narastanie wartości sygnału, bez użycia operacji zmiennoprzecinkowych?
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 09.10.2012 12:19, Robbo wrote:
> Czas będzie zawsze liczony od zera. Prąd początkowy także będzie
> narastać od zera.
> Więc jeśli I(S0) = 0, S0 = 0. Zatem powyższe formuły można uprościć do:
> I(s) = I(Se) * (s/Se)
> I(s) = I(Se)/Se*s
Dokładnie. Ale tak długo jak zmiany są liniowe to wystarcza raz policzyć
iloraz różnicowy.
>
>> Przekształcasz to sobie na:
>> I(t)=I(T0)+t*dI
>> I(t)=I(t-1)+dI
>>
>> Raz wyliczasz iloraz różnicowy dI, potem masz w każdym cyklu jedno
>> dodawanie i jeden shift.
>
> Tu bym prosił o wyjaśnienie. Mało spałem i chyba nie do końca myślę,
> dlatego proszę o wybaczenie.
>
> Czy dI będzie wartością zmiennoprzecinkową?
Stałoprzecinkową, np. o 16 bitach części całkowitej i 16 po przecinku:
uint16_t I=0;
uint32_t I_accu=0;
uint32_t dI;
time_t last_time=0;
void new_setting(/**/){
dI=(I_target<<16)/time_slices;
}
void calc(time_t t){
I_accu+=dI*(t-last_time);
I=I_accu>>16;
last_time=t;
}
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Co z Fideltronikiem?
- Zamiana aku żelowych w UPS na LiFePo4
- stara idea nowe hardware
- Dzwonek gong z transformatorem
- espnow przerywa na jeziorze?
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
Najnowsze wątki
- 2024-07-18 Plaj blokuje usuwanie swoich kontaktów. A to SZMATY
- 2024-07-19 Re: Zgody...
- 2024-07-19 Octavia 2011r vs Audi A3 2007r
- 2024-07-18 ANNA BRYŁKA - RZĄD MANIPULUJE INFORMACJAMI O PODATKACH OD AUT SPALINOWYCH
- 2024-07-19 Co z Fideltronikiem?
- 2024-07-18 Zamiana aku żelowych w UPS na LiFePo4
- 2024-07-19 Warszawa => Head of International Freight Forwarding Department <=
- 2024-07-19 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-19 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-07-19 Warszawa => Senior Rust Software Engineer <=
- 2024-07-19 Poznań => UX/UI Designer <=
- 2024-07-19 Łódź => Senior PHP Developer <=
- 2024-07-19 Ryga => Junior NOC Engineer <=
- 2024-07-19 Ulm => Technischer Rollouter (d/m/w) <=
- 2024-07-19 Warszawa => International freight forwarder <=