Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

PICiga sageduse mõõtmine

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    PICiga sageduse mõõtmine

    Elou!

    Mure selline: sagedusemõõtja 0...100Hz

    Et mitte loendada mingi kindla aja jooksul impulsse, see teeks seadme väga aeglaseks. Tahan kasutada sageduse mõõtmiseks impulsside vahe mõõtmist, et tuleb esimene, panen taimeri käima ja ootan järgmist. Saadud tulemuse
    järgi vaatan tabelist milline on sagedus. Tabeli koostan sagedusgeneraatoriga erinevaid sagedusi ette andes...

    Kirjutasin PIC16F628 jaoks programmi mis kasutab TMR1 käivitamiseks ja seiskamiseks RB0 katkestust. Aga mure on selline, et sellisel juhul läheb tabel väääga suureks ja komakohti kah väga ei tekita. Töötav variant toimib hetkel, tabel on koostatud 20...53Hz
    Kas on võimalik kuidagi arvutada see sagedus, saadud tulemusest, ilma tabelita?

    näit: 50Hz on ühe hamba vahe TMR1H=77x255=19,639us ehk siis 19,6ms.
    Kas saab kuidagi PICis ilma tabelita teisendust teha?
    Või lahendada asi kuidagi teistmoodi?

    EDIT: Leidsin sellise valemi F = 1/T

    Parimat soovides,
    gOb
    Meie üle nalja ei mõisteta!

    #2
    Kuskohas seda sagedust edaspidi vaja läheb ? Nipp on selles, et kirjutatud algoritmi lõpuni lahti ning optimiseerid valemid ja tihtipeale ei ole siis enam teisendada vaja.

    Comment


      #3
      Kunagi sai õpitud tipis jagamist ja sellest on pikemalt siin: http://www.pld.ttu.ee/~kruus/aritmeetika.htm. Uuri ujukomaarvude jagamist, see on võimalik suhteliselt lihtsalt realiseerida. Või siis võta C-kompilaator ja kirjuta kogu asi C-keeles. Tasuta C-kompilaatoreid on Atmeli AVR kividele(RISC), pic käsustik ei ole kõige parem masinaga kompileeritud koodile ja sellele on vähem kompilaatoreid.

      Comment

      Working...
      X