Sari la conținut
ELFORUM - Forumul electronistilor

Numarator de impulsuri cu atmega16


Vizitator aandrei

Postări Recomandate

http://www.h-renrew.de/h/avrclock/avrclock.html

The clocks heartbeat is a jitterfree, clock accurate frequency divider. Unfortunatly I've choosen a resonator as clock source, so that the clock runs to fast. After ajusting the divider value the error of about 1 second a day was acceptable.

poate te ajută la ceva văzând cum a reuşit tipu' să scape de jitter în software...
Păi normal, la frecvența aia de 1 Hz cred și eu..
Link spre comentariu
  • Răspunsuri 16
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • izua

    5

  • catkiller

    3

  • 10vid

    2

  • MifTy

    1

Top autori în acest subiect

Am constatat ca desi aveam 100Hz la intrare, programul meu imi numara doar 9 impulsuri la 100ms, si cum ajungeam la 100.2 Hz imi numara 10. Asa ca m-am gandit ca baza de timp nu este foarte exacta si am lasat counter0 (cel care imi crea baza de timp) sa mai execute niste instructiuni pana ajung cu adevarat la 100ms (numarul de instructiuni l-am aproximat). Se pare ca metoda a functionat, impreuna cu un mecanism de stabilizare in caz ca numarul de impulsuri oscileaza.Multumesc pentru ajutor!

Nu cred ca precizia bazei de timp era problema. Ce-s cateva microsecunde in plus sau in minus cand masuram impulsuri la 100Hz. (Erorile erau parca si la frecvente mici, nu?)Problema e ca iti trunchiaza rezultatul. Chiar daca au fost 99.9 impulsuri, iti da 99.Asa ca ai nevoie de inca o zecimala.Pentru asta trebuie sa numeri pe counter0 pana la 1s, apoi la numarul de impulsuri rezultat sa adaugi 5 (pentru rotunjire la cel mai apropiat intreg) si sa imparti la 10 pentru baza de timp de 0.1s.Astfel, daca ti-a numarat 99 in 0.1s, iti va numara, sa zicem 999 in 1s. (999+5)/10=100.4, adica luam doar intregul 100.
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări