Hasicské stopky na mega2560

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Hasicské stopky na mega2560

Příspěvek od ondraN » 16 říj 2023, 14:08

A jakým zdrojem signálu ten časovač krmíš? Pokud používáš signál z hodin MCU (podle nastavení používáš), tak jsi si napsal jen nové millis, uplně stejně (ne)přesné. Takže, můžeš ten čítač nastavit pro čítání externího signálu z nějakého přesného generátoru signálu, třeba s tím zmiňovaným krystalem 4,194...MHz, nebo můžeš použít přesný oscilátor 16MHz jako zdroj hodin pro MCU a pak ta millis bude přesná.

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: Hasicské stopky na mega2560

Příspěvek od peterple » 16 říj 2023, 19:13

By som povedal že to máš dobre. Nie som si istý či tá hodnota OCR1A má byť 249 alebo 250. Tiež mi to vychádza 249.
No ešte obkukaj z millis ako to atomicky vyťahujú do hlavného loopu. Alebo celé počítanie rob priamo v prerušení. Ale to atomické čítanie budeš potrebovať tak či tak. Ja mám stopky na dva útoky a časy počítam v prerušení, s tým že počítanie zastavujú plaváky pomocou INT0 a a INT1. Hlavný program tie data zobrazuje na LCD a posiela cez BT modul buď do telefónu alebo noťasa. Odkiaľ sa to dá aj riadiť.

Ondra: Nie je to to isté ako millis. V arduine millis používa timer0 ktorý je 8 bitový a navyše nemá CTC mód takže ho nevieš skrátiť. Potom keď si spočítaš presný čas prerušenia tak to nie je 1ms ale niečo trochu dlhšie. Takže sa neviem koľká milisekunda skracuje, aby to celkovo vyšlo. Pri stopkách je to trochu problém, aj keď súhlasím že to nie sú stopky na medzinárodné závody a teda je to každému u prdele.
Ale tak prečo to robiť na ftáka keď je to pár inštrukcií a ten hw tam tak či tak je. To je len známka humpoláctva a by som povedal aj východnej kultúry. Ničomu nerozumieť a kašlať na všetko.

Karo88
Příspěvky: 7
Registrován: 26 črc 2019, 01:15
Reputation: 0

Re: Hasicské stopky na mega2560

Příspěvek od Karo88 » 16 říj 2023, 21:44

peterple: tiež idem na dva časy, na zastavenie u sklopiek idem tiež cez INT0 a INT1 a LCD plus cez USB data do softu budem riešiť...
Atomické čítanie si pozriem. Ja inak budem stále pracovať už len s new_millis, ktorý prevádzam na min:sek:tisíciny.

Ten BT modul ti nevypadáva? lebo mne to po určitej dobe ako keby zamrzlo.
Pekná práca tie stopky.

Ešte som našiel jeden kód na 1Hz, tak pôjdem ešte porovnať presnosť s kalibrovanými stopkami, pre tú srandu.

Kód: Vybrat vše

//set timer1 interrupt at 1Hz
  TCCR1A = 0;// set entire TCCR1A register to 0
  TCCR1B = 0;// same for TCCR1B
  TCNT1  = 0;//initialize counter value to 0
  // set compare match register for 1hz increments
  OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
  // turn on CTC mode
  TCCR1B |= (1 << WGM12);
  // Set CS12 and CS10 bits for 1024 prescaler
  TCCR1B |= (1 << CS12) | (1 << CS10);  
  // enable timer compare interrupt
  TIMSK1 |= (1 << OCIE1A);

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: Hasicské stopky na mega2560

Příspěvek od peterple » 16 říj 2023, 22:01

To len zmeriaš ako presný máš ten 16Mhz krystál. To robím tak že vo fuses sa dá Fosc pustiť rovno na nejaký pin. A tam to meriam presným čítačom ešte pred vydelením.
Čo robí Bt netuším. S mobilom to moc nepoužívajú a na ntb zatiaľ nie je soft. Teraz cez zimu sa bude robiť na to krabica. Takéto podružnosti neriešim. To si riešia po vlastnej ose. Viac skúseností bude o rok po lete. Ovládať sa to dá samozrejme aj tlačítkami, takže nejký BT je tam len ako lusxusný doplnok. Toto je už verzia 2.0. Pôvodné stopky boli tak 20 rokov staré, mali 2x 6 sedemsegmentový displej + 1x5 sedemsegment veľký displej na ávii. Postupne to ale dochlo až to zdochlo úplne (asi prepolovanie) Tak som na jar robil novú verziu.

Z iného projektu mám ovládanie cez BT ktoré je pomerne spoľahlivé aj keď obsluha okolo zariadenia behá v dosť veľkom rádiuse (je to vonku). Ale nie sú to nejak dlhé časy. max hodina dve. A nie je tam 1000 ľudí s BT a wifi.

Btw moji po čase prišli s tým že chcú formát ssss:tisiciny a tak aj tieto posledné majú tento formát.

Karo88
Příspěvky: 7
Registrován: 26 črc 2019, 01:15
Reputation: 0

Re: Hasicské stopky na mega2560

Příspěvek od Karo88 » 17 říj 2023, 10:05

Ja som pre zmeny času si narobil makrá, a na časomiere si potom vedia vybrať zobrazenie, pri previerkach a detských súťažiach sa udáva čas v sek:stotiny, ale pri pohárovke zase lepšie min:sek:stotiny.
Akurát na tréningu idú na sek:tisíciny.

Dobre viem o čom hovoríš aj u nás býval na ávii veľký segmentový display. A ten vedel zblbnúť... To sme vyriešili zámenou rs232 za rs485 plus opticky oddelili aby nám to nikde neprebíjalo + na napajanie pribudli diódy aby nedošlo k prepólovaniu.

Čo sa týka softu ten som si robil ešte ku starej časomiere čo nám robil jeden pán. Kde bolo čas 1 a 2 a výsledný. Teraz už soft finuše skoro na verzii 1.9.0.5 kde pribudlo mnoho funkcií od kategórie, poznámky, neplatný pokus, trestné body a kompenzácia veku....

Fosc to som nepoznal to pôjdem pogoogliť nejaký ten návod :)

Ďakujem za rady

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 41 hostů