Se pare, ar fi ceva banal pentru a rula ceas de cuarț. Care ar putea fi problema? Există microcontroler și două picioare, care sunt special concepute pentru conectarea cuarț. Există un ceas de cuarț. Solder cuarț - o chestiune de două secunde. Un alt minut trebuie să adăugați câteva linii de temporizator de inițializare în program. Asta e tot. DAR, după trei zile, am rula acest ceas de cuarț nenorocit, am dat seama că problema nu este la fel de simplu ca m-am gândit.
Și fundalul a fost atât. Un prieten mi-a cerut să-i facă un ceas simplu, fără clopotele și fluierele de pe afișajele cu 7 segmente. O chestiune neînsemnată. Microcontrolerul a fost luat ATmega48 (capabil de a lucra cu cristal de ceas), program scris rapid, gravat Signet. După ore de asamblare și program de depanare (afișare dinamic, butoane, etc.) din toate atins înainte de cuarț timp. Până la un ceas am folosit de mai multe ori ceasul de cuarț în proiectele și nimic nici un semn de probleme :), dar sa întâmplat ceva neașteptat - cuarțul oră a refuzat să curgă. La toate!
Într-o încercare de a înțelege ceva împiedică câștiga ceasul meu de cuarț, m-am întors mai întâi la foaie de date la microcontroler (ATmega48). Pentru modul de conectare și asincron timer-ul nu a fost foarte puțin. Apoi am început să caute o soluție în forum. Aici a fost o varietate de soluții și consiliere până la dansuri rituale cu timpane, care nu m-au ajutat în mod special. A avut de încercare și eroare (a nu se confunda cu „la întâmplare“!) Pentru a înțelege ce e ceea ce. Ca urmare a încercărilor eroice, pas cu pas doar pe ceea ce se poate rake și a ucis trei zile, m-am născut din experiență practică conexiune ceas de cuarț cu care eu sunt aici și voi împărtăși.
Deci, ceea ce ne sunt de așteptat să grebla cu ceas de cuarț începe?
1 Circuitry.
1.1 Condensatori.
Microcontrolerul în fișa tehnică se face referire la o anumită lungime de ce sa ma uit de cristal trebuie să fie conectat condensatori, precum și cu privire la capacitatea lor de a învăța, la toate dificil. Toate cuarț, cel mai probabil, va funcționa fără condensatori, dar este mai bine să le pună va îmbunătăți stabilitatea frecvenței de cuarț și pentru a ajuta mai repede.
Capacitatea ar trebui să fie în termen de 12-22 pF.
1.2 Dispunerea de piese pentru cuarț.
Aici foaie de date și apnoti să ne dea instrucțiuni clare. Traseele de la microcontroler la picioarele de cuarț trebuie să fie o lungime minimă de pământ cale“pentru condensatori trebuie să fie separată, adică, nu trebuie să aibă loc curenții străine (în special în circuitele de înaltă curent și de înaltă frecvență).
1.3 watchcase cuarț.
Fier caz cuarț ceas sudat în mod necesar la sol (la cel la care condensatoarele sudate). corp plutitor va funcționa ca o antenă, introducând distorsiuni în funcționarea cuarț, degradant precizia ceasului.
1.4 murdărie de pe placa.
Toate cuarț lucru destul de delicat, și într-o rezistență câteva megohmi între picioare ar fi de ajuns să-l oprească. După cum se arată, fluxul de lichid, în cazul în care este slab spălat oferă suficientă rezistență la cuarț nu funcționa. După lipire, se spală comision. Foarte adesea conținut în acid fluxuri, care dă conductivitatea între picioare. Pentru a încărca neutralizarea acidului limpezire soluție slabă de sodă (hrană) și se spală bine cu apă curată.
2 Programare.
2.1 Inițializarea timer-ul asincron.
Temporizări oră de lucru de cuarț, acesta (temporizator) trebuie să fie setat în modul asincron. Pentru a transfera timer (aproape toate microcontroler este un timer 2), în acest mod ar trebui să fie scrise în 1-bit AS2. Dar nu totul este atât de simplu, este necesar să se respecte o anumită secvență de pornire. În conformitate cu foaia de date modul de a activa un mod asincron pentru cronometrul 2 este după cum urmează:
1. Dezactivați întrerupe de cronometrul / contra 2 - OCIE2x, TOIE2;
2. Acționarea întrerupătorului în asincron modul 1 -> AS2;
3. Se înregistrează noile valori în registrele TCNT2, OCR2x și TCCR2x;
4. Așteptați steaguri de resetare TCN2UB, OCR2xUB și TCR2xUB;
5. Reset pavilion întrerupere contor / temporizator 2;
6. Interrupt Enable (dacă este necesar).
Asigurați-vă că respectați următoarea secvență. Iată lista inițializa corect un mod asincron temporizator 2.
/ * Dezactivează întrerupe * / cli (); / * 1. Dezactivați întrerupe Timer / counter2 aducerea la zero OCIE2h și TOIE2. * / TIMSK2 =
((1< 2.2 Predelitel timer 2. 2.3 ore de lucru în modul sleep PowerSave. / * Punct de ieșire cu temporizator valori 2 preaplin întrerupe * / / * scrie in orice OCR2A. * / OCR2A = 0; / * Ne așteptăm până OCR2AUB Nulled. * / În timp ce (RSSA (1< 3 Diverse. 3.2 Și, în cele din urmă. Au la îndemână un număr de diferite de cuarț poate cristal nu a început din cauza faptului că el a dormit. Încearcă să-l înlocuiască. Asta e, cum ar fi, tot rake-ul, pe care am ezitat până când ceasul a fugit de cuarț. Sau altceva pentru a adăuga? (Vizitat 4856 ori, 1 vizite azi) Mesaj de navigare interesant, dar cu chinezii de la ceas de cuarț ieftine temporizator începe imediat (și precizia modului chiar foarte bun), dar cuarț de cumpărare „de tip sovietic“ zapuskatsya nu vrea să, deși nu a încercat cu condensatori externi. Despre cuarț Chineză - I din experiența personală. Am făcut ceasuri cu corecție digitală. Deci, nu am putut tocmai corect de corecție de îngrijire timp - el a înotat. Deși, este, probabil, pe un narveshsya de cuarț. Eugene, salut! Ai scris cum să executați cuarț, și modul în care pentru a verifica dacă funcționează sau nu este nu napisali.ya recent a început să se angajeze în MC, atât de mult încât nu znayu.Napishite vă rugăm să verificați de lucru oscilator cu cristal de la site-uri web mikrokontrollera.Na scrie că osciloscop va planta un generator de tensiune și se va opri rabotat.Na găsit un alt site pe care o puteți face doar conecta cu LED-uri cu un rezistor pentru a gen.esli va lumina, apoi gena rabotaet.Ya a încercat multimetru pentru a măsura pe un singur picior kvartse.Na prezinta 0.7V, pe de altă parte 2.4c Când este vorba de definirea oscilator de cuarț de microcontroler, atunci totul este simplu - microcontrolerul nu va fi pur și simplu programat cu cuarț inactiv. Eugene, am întrebat despre verificarea cuarțul de oscilator MK.Est dispozitivul de la MK și afișaj LCD (WH1602) Segmentele de afișare sunt luminate de sus și nimic nu pokazyvaet.Kak de testare rulează ceas maestru MC sau nu? Un microcontroler este programat? Ce fel de microcontroler? Da, IC este programabil și nu chitaetsya.PIC16F876A.Delo, în special, MC, și, în general, modul de a verifica oscilatorul de master. Osciloscop. Voltmetru (jumătate de putere trebuie să fie prezent). Am scris deja că verificat multimetrom.Na un picior indică 0.7V, pe de altă 2.4v.Tak ar trebui să fie? Da, dar asta nu înseamnă că el este un muncitor. ... Și cum să verifice fără un osciloscop? Se pare că, în vreun fel? De cuarț cu condensatori și are toate cele necesare pentru legare. Nici o modalitate de a rula cuarț, chiar înainte de a nu poti 2 săptămâni totul a mers perfect, toate „Feng Shui“ scurt pista 2 Conder 22 pF 1206 cuarț lipit negativ. Zapuskatsya tocmai sa oprit și asta este, am încercat să înlocuiască același F ((((((((((important, dacă de metal chemnibut va afecta unul dintre picioare este ca ticaie, dar merita tutzhe se oprește sau după ce a alerga 1000 atinge miracol. Vasche ZHOOOOOOOOOOOOOOOOO nimic nu sa schimbat nutritiv? Pot adăuga condensatori? Hrănirea Probleme: O u conceput alimentat de la un 3,3 (LP2985) DAR la intrările u este conectat prin rezistențe de la 7misegmentnik obshim pozitiv 330 (catod sau anod xs planificat scufundarea dar segmentnik Netot a) conectat la B + prin 5 didod (putere de la USB și anume avr910 programator (PROTTOSS) care este conectat la microni). Dar, înainte de asta, a lucrat în mod stabil la cuarț putere puskalsya.filtra nutritionist la bord cu u net.Ot 910go 10cm bucla micronilor și uniform de la stolkozhe microni la 7segmentnika. Alo Am LED-anod comun. Toate făcut în mod corespunzător și siguranța. Ceas de cuarț setat corect. Nu funcționează. poate avea un proiect gata pe ATmega8 microcontroler și siguranța, dacă este posibil. Multumesc anticipat. Fzy nimic de-a face cu microcontroler pentru a lucra cu cristal de ceas este configurat în program - listat in articol. Mulțumesc. o întrebare mai am programator ChipBlaster clona În megu8 nu 6KB HEX amesteca? Am un cod pentru dispozitiv USB HID și, prin urmare, un cod de mare Hex. Asta e problema spunând că limita de versiune «programator de evaluare dimensiunea fișierului depășită Ai software-ul pentru HID USB? într-adevăr nevoie să vă mulțumesc în avans. Asta e problema spunând că «programator Evaluare versiune fișier limita de dimensiune a depășit« Tu utilizați versiunea de încercare a programului (sau programare), care a stabilit o limită privind valoarea firmware-ului. Quartz nu este atât de scump pentru a repara, acest lucru este o cumpere mai bună decât aliajul de lipit. Spune-mi, ce există o modalitate de a modifica Fyuz, (accidental), programat într-un cuarț de frecvență joasă? În programul nu a fost avută în vedere prezența! Am încercat să se aplice pentru XTAL1 1MHz (apoi 1 kHz) de la un IC extern - acest lucru ar putea afecta munca lui? Dacă prin orice mijloace, este imposibil să se programeze din semnalul de ceas extern, Fyuz poate fi schimbat numai high-programator. Lansat de cuarț sa. nu este de așteptat punctul 1.4 a ajutat că fluxul cu gryazkoy poate atât de influență. Înainte de asta, încerc toate elementele. Dar numai frecat cu alcool, nu au existat probleme, și fără Conder.
Pentru a Cronometrul 2 preaplin de întrerupere are loc o dată la fiecare secundă, valoarea predelitelya ar trebui să fie 128. (* 128predelitel 256perepolnenie 32768chastota = cuart).
Este tentant să-a doua pauze între microcontroler întrerupe pentru a traduce în modul sleep, caz în care curentul scade la microcontroler 6-7mkA. Pentru un astfel de caz, există modul de consum redus de PowerSave, continuă să lucreze la Timer2 ceas de cuarț și întrerupe trezește microcontroler. Algoritmul acestui mod simplu de funcționare, după ieșirea din modul de repaus de întrerupere de timer-ul de întrerupere de manipulare de rutină „ticăie“ ceas, ieșire din întrerupere și să dea comanda de a dormi din nou (SLEEP). Aici este o nuanță foarte importantă. Din nou, se uită la foaie de date microcontroler în modul consum redus de energie și un mod asincron de operare. Temporizări după trezire a început să funcționeze în mod normal, și a fost în măsură să aducă microcontroler din somn data viitoare când trebuie să-și întrerupă comanda de somn să aștepte pentru o anumită perioadă de timp. Pentru a vă asigura că generatorul funcționează în mod normal, trebuie să înregistreze orice registru temporizator, a celor care nu încalcă ceasul (de exemplu, în OCR2x) și așteptați disponibilitatea steagurilor de resetare înregistrare (OCR2xUB). După steagul este pliat, puteți traduce cu ușurință microcontroler în modul sleep.
3.1 Nu utilizați cuarț chineză ieftine (în special de la vypayat vechi ore penny rupte). Chiar dacă ei câștigă, exactitatea lor nu este.
Despre cuarț „de tip sovietic“ nu va spune nimic - nu a folosit niciodată.
Dar, cu cristal de ceas este mult mai dificil. El este foarte sensibil și când măsurarea multimetre / osciloscoape se poate opri cu ușurință. Ca o soluție simplă la această problemă poate fi recomandabil să se suda cuartul cunoscut circuitul de lucru (de exemplu, cele același ieftine din China ceas - ceasul ticăie, funcționează atât de cuarț). Sau schița un mic program care - ar tresar picior microcontroler întrerupere de cristal ceas.
Indirect - dacă lucrări de programare, programul de ...
Microcontrolerele AVR au picioare, care prin setarea Fyuz poate face producția de frecvență de oscilator - este cu siguranță posibil, nu se tem să pună osciloscop semnal pentru a viziona.
Am o altă întrebare a apărut (grațierea molestarea) dacă generație .Budet la MK fără legat cu banda, cuarț t.e.podklyuchit cu condensatori și energiza?
Prin modul în care toate nachilos după xs naulitse mai reci (izmenilost de presiune, temperatura camerei a scăzut cu câteva grade, interferență a fost mai mare, activitatea Neta solara.) Lucru lucrat înainte fără plângeri.
Programul nu sa schimbat?
8kb de memorie ATmega8 și hex fișier I 6KB. el nu a făcut copci. El spune fișier de înaltă rezoluție. Ce să fac?
În mod ciudat, de obicei, Hex locuri în MC (de două ori) mai mare-ocupate.
Restul MK cusute normal?
Ai software-ul pentru HID USB? într-adevăr nevoie să vă mulțumesc în avans.
"
MK - ATMEGA 48 pu!