Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Merenje efektivnog napona/struje 50 Hz microkontrolerom
#5
Postoji i druga varijanta koju ja praktikujem (lookup-tablica) uvek kada ima slobodne programske memorije u kontroleru, a obično ima, da se naprave pre-izračunate sve vrednosti matematičkog računa, dakle jedna "velika tablica" i u njoj poredjani rezultati za sva stanja/vrednosti ADC ulaza (primer 10bit A/D):

ADC=0  Rezultat=123
ADC=1  Rezultat=129
....

ADC=1023  Rezultat=3281

Praktično memorija se definiše kao 

koeficienti[1024] = {123, 129 .... 3281}; 

To zauzima 2kByte programske memorije ali zato radi DRASTIČNO BRŽE, u okviru nekoliko clock ciklusa koliko treba da se pročita memoriska lokacija u poredjenju da se to radi svaki put iznova u realnom vremenu, ovo je prakitično feed-forward tehnika gde smo neke konkretne rezultate ili neke medju rezlutate tj šta-god što može da pomogne "unapred" da se ne radi posle i tako se uštedi gomila procesorskog vremena i onda može opušteno da se dalje rade razne stvari po programu. To praktikujem i na procesorima koji imaju FPU unit u sebi, čak i na Cortex-A, kad se preskoči floating-point u realnom vremenu i predje na look-up tablice to tek počne da radi kako treba Smile

BTW: Više se svodi na to u kom programskom jeziku ćeš da izračunaš i formatiraš to parče memorije/C-code, neki Python, JavaScript i tome slično.
Na primer, na STM32 preko terminala imao sam funkciju koja mi je vraćala C-formatiran tekst koji je "popunjen" sa svim potrebnim stvarima, C funkcije i podaci koji je predvidjen da se uradi copy/paste preko terminala i da se to parče "pejstuje" u program za drugi kontroler koji radi neku drugu "uparenu" logiku pa se onda to prevede da se takve neke stvari nebi morale rade opet u realnom vremenu da se prozivaju kontroleri za neka stanja i statuse koji moraju da budu striktno upareni.
Reply


Messages In This Thread
RE: Merenje efektivnog napona/struje 50 Hz microkontrolerom - by mikikg - 10-19-2022, 06:28 PM

Forum Jump:


Users browsing this thread: 11 Guest(s)