[ ybeelsec @ 03.05.2016. 15:51 ] @
Dobio sa uredjaj u kome je implementiran ovaj kontroler da ga ''pogledam".Gledao sam ga sa svih strana i nista ne mogu bez pomoci znalaca.
Radio je besprijekorno i onda poceo da brlja.Sat mu nabere u + oko10-ak minuta dnevno.Greska se, vjerovatno slucajno, poklopila sa propadanjem NiCd paketa baterija.Zamijenio sam iste novim a greska je i dalje prisutna.Skinuo sam shemu i evo je u prilogu.Kristal je termostatiran i oklopljen u jednu kutijicu zajedno sa ovim elementima termostata.Probao sam zamijeniti kristal drugim i nista se nije promijenilo.Ono sto ja mogu i imam cime izmjeriti je da je frekvencija oscilovanja kristala dobra.
Zanimljivo mi je da termostat radi samo kad je napajanje iz mreze iako je aku baterija pozamasna ( 7 elemenata po 2000mAh ).
Sa kontrolerima sam na Vi.
Zahvaljujem za svaku pomoc.
[ goran_68 @ 03.05.2016. 16:23 ] @
Takva greška je moguća ukoliko se koristi interni 4MHz generator takta (unutar PIC-a je). Sa eksternim koji si ti merio i kažeš da je dobar mi je nejasno kako nakupi 10 minuta na dan. To je baš previše. Možda je onaj ko je radio uređaj predvideo neku proceduru kalibracije. Da li imaš tako nešto na displeju?
Rele ne može bez mrežnog napajanja ali bi nešto na displeju morao da imaš ako radi samo baterijsko napajanje.
[ BlackForce @ 03.05.2016. 16:57 ] @
Na crtežu se ne vidi pin5 da ide na Vss,ali izmeri ako radi sa baterije dali imas 5V između pi5 (-) i pin14 (+),meri direktno na PIC-u.
Ako je to u redu,onda na displeju moraš imati nešto,bez obzira dali radi sa baterije ili mrežnog napona (kako ja vidim,uređaj ne razlikuje mrežnih napon od baterije).
A sto se tiče tačnosti sata,ili kristal brljavi ili sam pic,drugo ja tu ne vidim (jedino kako je i kolega goran_68 rekao,kad se ispraznila baterija,program se resetovao na neki "default" stanje,pa je neophodna nova kalibracija).
Ako imač vremena,proveri dali uvek isto ide u + za recimo 3-6-12 ili 24 sata.

[Ovu poruku je menjao BlackForce dana 03.05.2016. u 18:09 GMT+1]
[ ybeelsec @ 03.05.2016. 17:38 ] @
Ima sve na displeju i uredjaj radi i kad nema mrezno napajanje.
Moja opaska je bila da je termostat za kristal u radu samo dok ima mrezno napajanje.
Ulaskom u meni setovanja moguce je podesiti: sate, minute, dan, mjesec, godinu, dan - naziv, ljeto/zima, i ima mogucnost podesenja "korekcija" u opsegu 0 do 255 necega.Probao sam sa razlicitim brojem za korekciju ali nisam primijetio razliku u ponasanju uredjaja.
Nisam nacrtao da je pin 5 povezan na (-).Ima napajanje od 5V izmedju pinova 14 i 5.

[Ovu poruku je menjao ybeelsec dana 03.05.2016. u 18:50 GMT+1]
[ mnn @ 03.05.2016. 17:53 ] @
Meni se dešavalo na njemu i na mlađem mu bratu da počnu da brljave. Nije bilo često ali se dešavalo. Ponekad je bilo rešenje zamena kvarca ili ponovni upis programa. Znam da nemaš drugi program ali i ta opcija može biti.
[ mikikg @ 03.05.2016. 18:04 ] @
Kolika je frekvencija kristala i u kom kucistu je, valjkasto, plocasto?

I kazi mi kako si proverio tacnu frekvenciju kristala?

BTW: Imaj u vidu da je merenje frekvencije na nozicama kristala vrlo nezahvalan posao, samim pipanjem merne sonde kristala ce poremetiti "opterecenje" kristala i to dovodi do neminovnog klizanja frekvencije.
[ ybeelsec @ 03.05.2016. 18:43 ] @
Pomocu mog Fluke 97 sam ocitao 3,999MHz a kristal je plocasti.
Nemam instrument kojim bih preciznije, sa vise decimala, ocitao frekvenciju.
Imam vise komada kristala i mogao bih probati sa zamjenom ali mi to poslije prve zamjene nije ulilo nadu u rjesenje problema.
Da li bi znacilo ako bih iscitao program iz pic-a i da li je to moguce kod ovog a da ne pokarabusim pa bude mrtav?
[ mikikg @ 03.05.2016. 19:40 ] @
Pa neka racunica oko tih frekvencija je sledeca:

1 dan ima 86400 sekundi.

Ti si rekao da imas 10 minuta gresku na jedan dan, to je 600 sekundi greska na 86400 sto mu dodje 6944ppm greska, sumanuto velika.
Taj kristal sa termo regulatorom bi trebao da drzi u okviru od 1ppm!!!

Dalje, po merenju frekvencije gde ocekujemo tacno 4MHz, izmerio si 3.999MHz, po tome ispada da je 250ppm greska (u to upada i greska "opterecenja" kristala koju sam spomenuo).
I dalje se ne slaze sa onih 10 minuta greske na dan.

Dakle definitivno nije do oscilatora, ko zna sta je, mozda se PIC zaglupeo sa nekim internim podesavanjem, mozda ostalo neko djubre u EEPROM, nesto mozda oko onih kalibracionih parametara 0 - 255 sto si spomenu.

Jedino sto jos moze da ostane sporno su naponski nivoi oko oscilatora/kristala, mozda su iz nekog razloga ispali iz granica pa ne trigeruje svaki impuls/clock, preskoci nekako ...

PS: Korisna online alatkica za racun ppm greske:
https://www.jitterlabs.com/support/calculators/ppm/
[ goran_68 @ 03.05.2016. 19:46 ] @
Ako je zaštićen, a verovatno jeste, nećeš moći ništa da pročitaš. Ako uspeš da pročitaš stavi ovde pa da pogledamo. Sve mi liči da je iz nekog razloga prešao na interni oscilator. Tolika greška je moguća sa internim oscilatorom. Ne radi održavanje temperature oscilatora jer nije vezano na baterijsko napajaje. Vidiš da je napojeno direktno sa izlaza grecovog spoja.
[ mikikg @ 03.05.2016. 19:51 ] @
Citat:
goran_68: Ako je zaštićen, a verovatno jeste, nećeš moći ništa da pročitaš. Ako uspeš da pročitaš stavi ovde pa da pogledamo. Sve mi liči da je iz nekog razloga prešao na interni oscilator.


Pa to se moze lako proveriti, upali se sklop i u nekom trenutku namerno se "zaglupi" oscilator, odkaci se kristal ili prespoji neka od njegovih nozica na masu, tad bi trebalo da stane sve (osvezavanje LCD-a) ili da se resetuje PIC, nebi smeo da nastavi da radi "normalno".
[ vladd @ 03.05.2016. 20:42 ] @
Po meni je taj kvarc predaleko od pinova 15 i 16.Tada mali kondenzatori na nozicama kristala postaju besmisleni. A pride moze da pokupi neke gliceve. Ili smetnje.
To sto termostat ploca radi samo kada je prikacena mreza, tako i treba, napaja se sa 12V nezavisno od procesora.
[ zica49 @ 03.05.2016. 21:04 ] @
Tako je Vladd !

Cesto puta konstruktori uredjaja sa mikrokontrolerima imaju perfektno znanje za napisati program za bilo sta. Cesto puta ti isti imaju skoro nikakvo iskustvo u osmisljanju hardwera rasporedu kompoenti i slicno.

Skini kristal i daj ga direktno na pinove oscilatora uz pic naravno prenesi i kondezatore.Presijeci vodove koji su vodili do kristala uz same izvode pic-a.Sa tim ces staviti tacku na " i " po pitanju oscilatora.
[ mikikg @ 03.05.2016. 21:09 ] @
Ako sat ode u plus, to znaci da je clock iz nekog razloga veci nego sto treba, tad stvarno moze da bude problem sa uletanjem nekih smetnji u clock linije kao sto je vladd spomenuo.
Kristal nebi trebao da bude udaljen od PIC-a vise od 10-15 mm ...
[ BlackForce @ 03.05.2016. 21:29 ] @
A kad već skineš kvarc,probaj da uključiš spravu (bez kvarca).
Ako tako radi sat,onda zbog nekog razloga radi sa unutrašnjeg kvarca.
zica49 potpuno se slažem sa teorijom,oko konstruktora programa i samog hardvera.
Neki stručnjaci (majstori) dobro barataju i sa pisanjem program i sa planiranjem hardvera(svaka im čast),ali sve više njih ume da napiše program(to je sad moderno),ali oko pcb-a nemaju iskustva.
[ ybeelsec @ 03.05.2016. 21:44 ] @
Po savjetu,spojio sam izvod kristala sa gnd i displej se nije vise osvjezavao vec je ostao zamrznut.Trebalo bi da radi taj oscilator, sa kristalom.
Kristal je udaljen oko 35 mm od pic-a.
Ako bi to bilo priblem ostaje enigma kako je prije radilo?
Odstranit cu staze i kristal zalemiti na podnozje pic-a pa cu testirati.
[ vladd @ 04.05.2016. 07:38 ] @
Ne znam kako je radilo bar dok se ne vidi listing programa. Obicno se koristi cuveni 2 na 15-i kristal(32768KHz) za dobijanje precizne sekunde i "rijall tajm" satove.

Kao drugo, mislim da bi 16MHz bio pogodniji kristal za rad, naravno uz izmenu skalera, programa, pitanje je kako radi sa vise zadatih inputa. Moguce je da zbog kolicine podataka negde akumulira gresku.

Kao trece, mnogi pic procesori su skloni da zaustave klok, spoljni ili unutrasnji, kada im temperatura kucista dostigne nesto preko 60C...

U principu, ako se napravi kriticna konstrukcija(i softvera i hardvera), to radi u nekim uslovima, na stolu, u mekom ambijentu...ali kada dodje u industrijske uslove, to brlja.
[ ZAS011 @ 04.05.2016. 12:22 ] @
Tačna sekunda može i na drugi način:

http://www.romanblack.com/one_sec.htm
[ ybeelsec @ 04.05.2016. 22:55 ] @
Zalemio sam kristal na podnozje pic-a i opet brlja sa vremenom.
Sprava se ne koristi u industrijskom okruzenju vec u crkvi za programirano zvonjenje.
Ubacio sam pic u pickit2 i iscitao.Meni ovo nista ne znaci a ako neko ima volje da baci pogled evo u prilogu.
[ mikikg @ 05.05.2016. 02:43 ] @
@ZAS011
Ima vise nacina da se dobije precizna sekunda, sto nezavisnim sistemima (razni oscilatori, XO, TCXO, OCXO) ili "zavistnim" sistemima gde se oslanjamo na neki drugi spoljasnji standard frekvencije, od npr DCF77 pa do uvezivanje sa GSM ili GPS signalima (GPS 1ppm, GSM 0.05ppm) ili TCP/IP umrezavanje pa povlacenje tacnog vremena preko NTP protokola/servera ...
Ovo sto je ybeelsec postavio je OCXO koji se odlikuje veoma stabilnom frekvncijom, kao sto spomenuh red 1ppm ili bolje sto je greska manja od 30 sekundi na GODINU dana, ili na dnevnom nivou do 100ms greske!
Isto tako, klasicni 32768Hz kristali su standardno sa 10ppm, sto opet dodje 1s greske na dan.

Na ovom sklopu je nesto gadno prolupalo i odprilike da smo sumlju sa samim kristalom odklonili, ostaje samo program ili da je sam PIC nesto ostecen. Takodje postoji velika sumlja sa parametrima u EEPROM, neki bug koji je totalno izmesao i pobrkao sadrzaj jedne ili vise memoriskih lokacija jer predpostavljam da se to koristi posto ima podesavanje vise "alarma/timera" za jedan dan.

Jos jedna brza proba je da se ovaj HEX isprogramira u nov PIC i da se proba.

Inace da neko prepravlja ili analizira HEX i da to disasembluje je VRLO mukotrupan posao, vise se isplati napisati nov program nego juriti to u ASM sa generisanim (nesmislenim) labelama …

PS: trenutno najbolji odnos cena/kvalitet/stabilnost su TCXO oscilatori, recimo KT2520K26000ZAW18TAS proizvodjaca AVX / Kyocera, specificiran za 0.5ppm (26MHz izlaz). Skoro su mi stigli za probu i rade odlicnooooo. Meni je ta frekvencija od 26MHz odgovarala za neke druge stvari, naravno ima drugih modela sa drugim frekvencijama koje mogu da se upare sa mikrokontrolerima. Ko bude hteo ovo da koristi neka samo obrati paznju da su dimenzije 2.5mm x 2mm i ima 6 padova za lemljnje, radi na 1.8V :)



PS2: mozda jedino da se proba jos da se ocisti kompletan sadrzaj DATA EEPROM-a, kako prakticno treba razmisliti, da li moze to iz SW za programator ili da se menja rucno HEX ali mora i checksum da se preracuna. Ima se kopija originala pa moze da se vrati u prvobitno stanje ako ni to ne pomogne.

[Ovu poruku je menjao mikikg dana 05.05.2016. u 04:41 GMT+1]
[ yugaja @ 05.05.2016. 08:28 ] @
Citat:
ZAS011:
Tačna sekunda može i na drugi način:

http://www.romanblack.com/one_sec.htm


Heh, Bresenham, jasno slicna problematika kao sa linijama... Da sam znao za ovo ranije.. Jer interesantno je da sam identicnu ideju koristio za generisanje 57.000KHz iz 20MHz oscilatora u jednom projektu RDS-a sa nekim AVRom.. U spektru to nije bas skroz cisto, ali radi posao.

Sto bi rekao jedan moj bivsi kolega: sve ti to postoji u knjigama od pre 70 godina :)
[ goran_68 @ 05.05.2016. 08:59 ] @
Izgleda da su konfiguracioni bitovi podešeni kao za Low-Power oscilator (LP) a treba da bude XT. Konfiguraciona reč je 0x07C0 a treba da bude 0x7C1. Možeš da probaš tako što ćeš da promeniš samo konfiguracione bitove. U MPLAB-u podesiš programator tako da pri programiranju samo promeni tu lokaciju a konfiguracionu reč podesiš na Configure -> Configuration Bits. Ako je čekirano polje Configuration Bits set in code ti skini taj ček pa u padajućem meniju izaberi XT podešavanje za oscilator. Nakon toga programiraj PIC. E sad, ja sve ovo nisam nikad probao ali ako nisi siguran da možeš da prođeš kroz proceduru javi, pa ću ja da probam ali tek negde kasno večeras.