Pic taajuuslaskin adj.

Rakensin taajuuslaskimen pic16F877A lla. Ongelma ilmenee kun syötän sisään esim 32MHZ oskilaattorista, ja yritän säätää säätötrimmerillä näyttöön tuon taajuuden. Säädettäessä lähelle ko. taajuutta, näytössä taajuus hyppää noin 200-500hz yli tai ali ko. taajuuden?
Olen vaihtanut virtalähdettä ja yrittänyt myös paristolla, ei muutosta. Vaihdoin myös kontrollerin kiteen, mutta ei auttanut. Nyt en tiedä onko vika kytkennässä vai picin ohjelmassa?
Kytkentä löytyy: www.best-microcontroller-projects.com ja siellä 7-segments led versio. Jos joku tietäis mistä ongelma voisi johtua, apu olisi paikallaan.
6528
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat
  • En osaa lukea lähdekoodia, on kirjoitettu C llä. Tässä kuitenkin lisätietoa laskimesta:
    This PIC frequency counter circuit uses a multiplexed seven segment display and uses timer 1 to count edges of the input signal.
    It uses the simpler method of direct frequency measurement which is easy to do but means that the number of digits displayed depends on the input frequency.

    This frequency counter circuit uses TMR1 in 16 bit counter mode to count the input signal edges. Counter overflows are accumulated to give the total count in multiples of 65536. Adding the current value of the counter at the end gives the total count.

    Äänestä

  • mittailtu kirjoitti:

    En osaa lukea lähdekoodia, on kirjoitettu C llä. Tässä kuitenkin lisätietoa laskimesta:
    This PIC frequency counter circuit uses a multiplexed seven segment display and uses timer 1 to count edges of the input signal.
    It uses the simpler method of direct frequency measurement which is easy to do but means that the number of digits displayed depends on the input frequency.

    This frequency counter circuit uses TMR1 in 16 bit counter mode to count the input signal edges. Counter overflows are accumulated to give the total count in multiples of 65536. Adding the current value of the counter at the end gives the total count.

    http://www.techsoft.fi/AjastimetPIC16F887.htm

    Miten ohjelmassa on esijakajat asetettu? Heitto johtuu siitä?

    Äänestä

  • jos olisi apua? kirjoitti:

    http://www.techsoft.fi/AjastimetPIC16F887.htm

    Miten ohjelmassa on esijakajat asetettu? Heitto johtuu siitä?

    Ok, tutkin tuon antamasi linkin kun ehdin ja yritän päästä perille esijakajien asetuksista, kiitos!

    Äänestä

Katsoin tuon kytkennän, eikä tuolla periaatteella pysty tekemään parempaa/tarkempaa. Ongelma on siinä, että tuossa kytkennässä käytetään PIC:in sisäisiä jakajia laskemaan suoraan mitattavaa taajuutta. Koska PIC:in laskurit eivät pyöri noin lujaa (32 MHz), joudutaan käyttämään esijakajia ja kertomaan tulosta. Koska näytöllä oleva tulos on siten kertolaskun tulos, niin totta kai se hyppää satoja herzejä kerrallaan.

Toisin sanoen kytkennän resoluutio on huono, vaikka se näyttääkin "herzilleen". Siksi toiseksi, koska tuossa ei ole tarkkaa referenssioskillaattoria vaan toimitaan PIC:in oman kiteen varassa, ei olisi mitään hyötyäkään mitata herzilleen. PIC:in oma kello on joka tapauksessa pielessä vähintään kymmeniä...satoja Hz.

Oikean taajuuslaskimen rakentaminen on huomattavasti monimutkaisempaa. Tarvitaan jokin nopeampi laskijapiiri sekä gate, jota ajastetaan tarkalleen tietyin välein. Resoluutiota saadaan paremmaksi lisäämällä vaihekohinaa gating-signaaiin ja sen jälkeen keskiarvostamalla tulokset.

Lisäksi tarvitse OCXO-tyyppisen (uunioskillaattorin) referenssiksi tai sitten ulkoinen rubidium/cesium tai GPS-referenssi. Vasta sen jälkeen voit saada tuloksia 1 Hz tai 0.1 Hz tarkkuudella.

Täsä syy, miksi kunnollinen taajuuslaskin maksaa PALJON.

Äänestä
  • Kiitos vastauksesta. Olin itsekin päätynyt tuohon, että ongelma on ohjelma/periaate puolella.

    Äänestä

Kommentoi aloitusta


mittailtu kirjoitti:

Rakensin taajuuslaskimen pic16F877A lla. Ongelma ilmenee kun syötän sisään esim 32MHZ oskilaattorista, ja yritän säätää säätötrimmerillä näyttöön tuon taajuuden. Säädettäessä lähelle ko. taajuutta, näytössä taajuus hyppää noin 200-500hz yli tai ali ko. taajuuden?
Olen vaihtanut virtalähdettä ja yrittänyt myös paristolla, ei muutosta. Vaihdoin myös kontrollerin kiteen, mutta ei auttanut. Nyt en tiedä onko vika kytkennässä vai picin ohjelmassa?
Kytkentä löytyy: www.best-microcontroller-projects.com ja siellä 7-segments led versio. Jos joku tietäis mistä ongelma voisi johtua, apu olisi paikallaan.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu