Sari la conținut
ELFORUM - Forumul electronistilor

Precizie perioada de timp


iuli09

Postări Recomandate

  • Răspunsuri 40
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

5 minutes ago, iuli09 said:

Liviu , am uitat sa-ti raspund (scuze!) . Am inlocuit in montaj cristalul de 4Mhz cu unul de 16MHz si nu s-a schimbat nimic in ceea ce priveste perioada temporizata ; unde inainte aveam interval de 5 minute , am avut tot 5 minute .

Glumesti?

Fara sa modifi nimic in soft si in setari, merge la fel?

Este cristalul de 16Mhz defect :)

@Mircea, 

De unde stie compilatorul ce quartz pun eu acolo? 

Editat de Vizitator
Link spre comentariu
31 minutes ago, Mircea said:

Nu merge! Chiar daca in Edit Project i-am zis exact ce am conectat intre OSC1 si 2. Nu merge si pace. E de la compilator.

@Liviu.Mihaiu, ai citit asta?

 

I-am zis ce am conectat EXTERN. Deci uita de intern.

 

In Edit Project i-am zis HFxxxxx (4-16MHz), am indicat frecventa 16.000000MHz si am pus Q de 16MHz.

 

Scriu de pe telefon, nu pot pune captura ecran.

Editat de Mircea
Link spre comentariu

Eu de mult m-am invatat sa setez totul manual chiar daca unele lucruri se "seteaza"  din edit project, am avut destule situatii ca una era setata si alta facea PIC-ul, referitor la OSC de multe ori am impresia ca acele setari sunt doar pentru compilator fata de care caluleaza unele functii cum e "delay_ms" si nu seteaza efectiv registrii cum ar fi pt alegerea frecventei cu osc intern.

 

Pentru PIC16F18313 din cate am citit rapid in DS la POR default-ul este HFINTOSC la 1Mhz, mult mai probabil asta se intampla si de acea nu a fost nici o diferenta la schimbul de osc extern la 16Mhz, mult mai sigur puteti sa-l eliminati total si tot va merge. Pentru o temp de 10min cu cateva secunde se poate folosii linistit OSC-ul intern, eu foarte foarte rar folosesc osc extern la PIC-uri si am rutine mult mai pretentioase la timp decat cateva secunde la 10min si nu am avut nici o problema.

Link spre comentariu

Din pacate, exemplele Mikroe arata setari minime sau chiar deloc in exemplele lor. Multi amatori se bazeaza pe acele exemple in programare. 

 

Evident, inainte de a proceda la programare, cam trebuie rasfoita foaia de catalog si verificat cum se comporta PIC-ul la pornire, ce valori sunt standard incarcate in registrii. Si incarcat ce avem noi nevoie. 

 

Setarea frecventei nu e ceva restrictiv in majoritatea aplicatiilor cu functii uzuale (o intarziere, un ADC) . Ca sunt 4 sau 32MHz nu prea conteaza. D-aia Edit Project cam face treaba in 90% din cazuri. Se pare insa ca uneori este corupta aceasta setare din Edit Project. 

 

Eu o sa incerc o reinstalare, caci e dubios ca ce-mi mergea inainte nu mai vrea acuma. O fi fost si alta versiune de compilator. 

Link spre comentariu

Montajul functioneza exact la fel cu cristal de 4Mhz ,16Mhz , 20Mhz sau... fara vreunul .

 

In aceasta situatie cred ca trebuie sa ma intorc spre configurarea manuala a diferitilor registri ce gestioneaza oscilatoarele .

 

 

Cum se acceseaza acest registru ? dupa ce nume ?

 

registru.png

Editat de iuli09
Link spre comentariu

Nu mai pricep nimic : am setat oscilatorul la 1Mhz si perioada de temporizare s-a redus de 4 ori ...

 

 

N-am schimbat nimic altceva in cod : "minutul" meu are tot 240 de secunde

void minut ()   {
delay_ms(240000);
}

Perioada temporizata trebuia sa fie de 5 minute ; a fost de 75 de secunde .

 

 

Editat de iuli09
Link spre comentariu

ok. perfect. pune 60000.

Abia acum ai o problema. Trebuie sa vezi "de ce functioneaza corect".
Spunea @Bandi mai sus: implicit PIC-ul tau porneste cu OSC intern la 1 Mhz.
Nu-ti face probleme de precizie. In cazul tau poate sa fie 100khz, 1Mhz sau 32Mhz. nu conteaza (intern sau extern)

Este bine ca ai adus iar in dicutie acel x4.

Eu zic sa nu treci mai departe cu studiul pina nu intelegi pina in acest moment. Sau un coleg sa-ti explice.

Editat de Vizitator
Link spre comentariu

am setat durata minutului la 60 de secunde si cum era de asteptat , micscorand etalonul de patru ori , durata temporizarii a scazut de 4 ori : unde inainte aveam 75 de secunde am acum 75/4  - 18 secunde .

 

 

Pentru a avea cele 5 minute spre care tintesc , valoarea deja majorata de 4 ori (de la 60secunde la 240 secunde) ar trebui marita inca o data de 4 ori pana la 960 secunde .

Editat de iuli09
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