Zatial to nie je vyrobok, ale casom to snad dotlacim do hotoveho meraca urceneho ako prototyping pomocku.
Potreboval som kontrolovat rychlost kodu a update rate displejov atd.
Atmega328P, krystal 20MHz (keby chcem uart output bude treba 18.432MHz), obycajny znakovy displej z ciny.
Tlacitka z lava: reset cipu, reset avg hodnot merania, nizsi prescaler, vyssi prescaler.
Pouzivam analog comparator input positive, negative input ma na sebe trimer, ktorym nastavujem medznu hodnotu pre high a low urovne. Comparator je interne pripojeny na 16bitovy timer, ktoremu menim prescaler tlacitkami. Rychlost inkrementacie timeru je potom zobrazena na displeji vpravo dole.
Vyuzivam capture interrupt timeru (falling edge), a compare interruptu (rising edge).
Cisla vlavo su z hora: logic high "time", logic low "time", period "time". Vsetko su to hodnoty casovaca, aktualne casy sa mi zatial nechcelo pocitat, hlavny dovod je ze neviem 8bitovy cip donutit zobrazit float na display a nebolo to tak podstatne.
Ledky z prava signalizuju: counter overflow, period overflow, bottleneck (pri prekroceni urciteho duty cycle). Tieto chyby sa zobrazuju aj na displeji, a ked nie je ziadna chyba, pise pravo dole OK.
Posledna vec je bargraph hore, a v strede pri nom je priblizna hodnota v percentach duty cycle.
Pouzivam ho na porovnavanie rychlosti kodu trigrovaneho interruptom, kedy sa pri spusteni kodu v interrupte nastavi logic low, a pri dokonceni kodu nastavi cip logic high, cim sa da vidiet dutycycle, tj nieco ako cpu vytazenie.
Druha varianta je toggle pin pri obnoveni nejakej casti kodu, vtedy sledujem cislo period "time". Cim mensie, tym rychlejsi kod.
Dufam ze je to pochopitelne co tu pisem.
Jednoduchy merac, duty cycle a period
Moderátori: psichac, Moderátori
Re: Jednoduchy merac, duty cycle a period
Pekné. Bude z toho aj nejaký finálny výrobok alebo to ostane tak?
0
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 14 Odpovedí
- 1649 Zobrazení
-
Posledný príspevok od používateľa hordek