Joc cu ceasul de perete manual: 14 pași
Joc cu ceasul de perete manual: 14 pași
Anonim
Image
Image
Principiul de funcționare
Principiul de funcționare

Ceasul electronic de perete manual (cuarț de marcare comercială) nu este în zilele noastre nimic special. Poate fi cumpărat în multe magazine. În unele dintre ele sunt extrem de ieftine; cu preț de aproximativ 2 € (50CZK). Acest preț scăzut poate fi o motivație pentru a le arunca o privire mai atentă. Apoi am recunoscut că pot fi o jucărie interesantă pentru începătorii din domeniul electronic, care nu au atât de multe resurse și care sunt interesați în principal de programare. Dar aș dori să prezint propria dezvoltare celorlalți. Deoarece ceasul de perete ieftin este foarte tolerant față de experimentele și încercările pentru începători, am decis să scriu acest articol, unde aș dori să prezint idei de bază.

Pasul 1: Principiul de lucru

Principiul de funcționare
Principiul de funcționare
Principiul de funcționare
Principiul de funcționare

Este ușor de recunoscut că acel ceas folosește pentru mișcare un fel de motor pas cu pas. Cel care deja rupe unele ceasuri a recunoscut că este doar o bobină în loc de două în motorul pas cu pas obișnuit. În acest caz vorbim despre motor pas cu pas „monofazat” sau „monopolar”. (Acest nume nu este folosit atât de des, este în mare parte o derivare analogică pentru marcarea utilizată pentru alte motoare cu pas cu pas complet). Cel care deja începe să se gândească la principiul de funcționare trebuie să pună întrebări, cum este posibil, ca motorul să se rotească întotdeauna în direcția corectă. Pentru principiul de funcționare, descrierea este utilă după următoarea imagine, care arată tipuri mai vechi de motoare.

Pe prima imagine este vizibilă o bobină cu bornele A și B, stator gri și rotor roșu-albastru. Rotorul este fabricat din magnet permanent, de aceea este marcat de culoare, pentru a fi vizibil, în ce direcție este magnetizat (nu este atât de important, ce pol este la nord și ce este la sud). Pe stator puteți vedea două „caneluri” aproape de rotor. Acestea sunt foarte importante pentru principiul de lucru. Motorul funcționează în patru pași. Vom descrie fiecare pas folosind patru imagini.

În timpul primului pas (a doua imagine) este alimentat motorul, că borna A este conectată la polul pozitiv și borna B este conectată la polul negativ. Face flux magnetic, de exemplu în direcția săgeții. Rotorul se va opri în poziție, poziția sa va corespunde cu fluxul magnetic.

Urmează al doilea pas după deconectarea alimentării. Apoi fluxul magnetic din stator este oprit, iar magnetul are tendința de a se roti în poziție, polarizarea este în direcția volumului maxim material moale magnetic al statorului. Și aici sunt cruciale aceste două caneluri. Ele indică o mică abatere a volumului maxim. Apoi rotorul se rotește puțin în sensul acelor de ceasornic. Așa cum se arată în imaginea 3.

Următorul pas (a patra imagine) este cu polaritate inversă conectată de tensiune (borna A la polul negativ, borna B la polul pozitiv). Înseamnă că magnetul rotorului se va roti în direcția câmpului magnetic prin bobină. Rotorul utilizează cea mai scurtă direcție, adică din nou în sensul acelor de ceasornic.

Ultimul (al patrulea) pas (a cincea imagine) este același cu al doilea. Motorul este din nou fără tensiune. O singură diferență este că poziția de pornire a magnetului este opusă, dar rotorul se va deplasa din nou în direcția volumului maxim de material. Aceasta este din nou poziția puțin în sensul acelor de ceasornic.

Asta este tot ciclul, urmează din nou primul pas. Pentru mișcarea motorului, pașii doi și patru se înțeleg ca fiind stabili. Apoi este transferat mecanic cu viteza de transfer 1:30 a cutiei de viteze în poziția mâinii a doua a ceasului.

Pasul 2: Principiul de lucru Contin

Principiul de lucru Contin
Principiul de lucru Contin
Principiul de lucru Contin
Principiul de lucru Contin
Principiul de lucru Contin
Principiul de lucru Contin
Principiul de lucru Contin
Principiul de lucru Contin

Figurile prezintă forma de undă de tensiune pe bornele motorului. Numere înseamnă toate secundele. În realitate impulsurile sunt mult mai mici în comparație cu spațiile. Sunt aproximativ cele de milisecunde.

Pasul 3: Demontarea practică 1

Demontare practică 1
Demontare practică 1

Am folosit unul dintre cele mai ieftine ceasuri de perete de pe piață pentru dezasamblare practică. Au puțini profesioniști. Unul este că prețul este atât de mic, încât putem cumpăra puține dintre ele pentru experimente. Deoarece producția este puternic orientată către preț, acestea nu conțin soluții inteligente complicate, precum și nici șuruburi complicate. În realitate, acestea nu conțin șuruburi, ci doar încuietori din plastic. Avem nevoie doar de instrumente minime. De exemplu, avem nevoie de șurubelniță numai pentru a scoate aceste încuietori.

Pentru demontarea ceasului de perete avem nevoie de o șurubelniță cu vârf plat (sau orice alt baston), cuier de îmbrăcăminte și covor de lucru cu margini ridicate (ceea ce nu este obligatoriu, dar ușurează căutarea roților și a altor piese mici).

Pasul 4: Demontarea practică 2

Demontare practică 2
Demontare practică 2
Demontare practică 2
Demontare practică 2
Demontare practică 2
Demontare practică 2
Demontare practică 2
Demontare practică 2

Pe partea din spate a ceasului de perete se găsesc trei zăvoare. Două poziții superioare la poziția numerelor 2 și 10 pot fi deblocate și sticla de acoperire poate fi deschisă Când sticla este deschisă, este posibil să scoateți acele cu ceas. Nu este necesar să marcați poziția acestora. Le vom întoarce întotdeauna la poziția 12:00:00 Când butoanele ceasului sunt oprite, putem demonta mișcarea ceasului. Are două zăvoare (la poziția 6 și 12). Se recomandă deplasarea cât mai dreaptă posibil, altfel mișcarea se poate bloca.

Pasul 5: Demontarea practică 3

Demontare practică 3
Demontare practică 3
Demontare practică 3
Demontare practică 3
Demontare practică 3
Demontare practică 3

Apoi este posibil să deschideți mișcarea. Are trei zăvoare. două pe pozițiile 3 și 9 ore și apoi a treia pe 6 ore. Când este deschis, este suficient să scoateți roata dințată transparentă între motor și cutie de viteze și apoi pinion, care este conectat cu rotorul motorului.

Pasul 6: Demontarea practică 4

Demontare practică 4
Demontare practică 4
Demontare practică 4
Demontare practică 4

Bobina motorului și statorul se mențin pe un singur zăvor (la 12 ore). Nu se ține de nici o șină electrică, se aplică șinelor electrice numai prin presare, apoi scoaterea nu este complicată. Bobina este filetată pe stator fără niciun suport. Poate fi ușor decolat.

Pasul 7: Demontarea practică 5

Demontare practică 5
Demontare practică 5
Demontare practică 5
Demontare practică 5
Demontare practică 5
Demontare practică 5
Demontare practică 5
Demontare practică 5

Pe partea inferioară a bobinei este lipită o placă de circuite imprimate mici, care conține un CoB (Chip on Board) cu șase ieșiri. Două sunt pentru putere și sunt terminate pe tampoane pătrate mai mari la bord pentru aplicarea șinelor de alimentare. două ieșiri sunt conectate la cristal. Apropo, cristalul are 32768Hz și poate fi dezlipit pentru o utilizare viitoare. Ultimele două ieșiri sunt conectate la bobină. Mi s-a părut mai sigură tăierea urmelor la bord și lipirea firelor pe tampoanele existente la bord. Când am încercat să desfac bobina și să conectez firul direct la bobină, întotdeauna rup firul bobinei sau am deteriorat bobina. Lipirea firelor noi la bord este una dintre posibilități. Să spunem, că mai primitiv. O metodă mai creativă este conectarea bobinei la plăcuțele de alimentare și păstrarea șinelor de alimentare pentru conectarea la cutia bateriei. Apoi, electronica poate fi introdusă în cutia bateriei.

Pasul 8: Demontarea practică 6

Demontare practică 6
Demontare practică 6
Demontare practică 6
Demontare practică 6

Calitatea lipirii poate fi verificată folosind ohmmetru. Bobina are rezistivitate de aproximativ 200Ω. Odată ce totul este în regulă, montăm cam ceasul de perete înapoi. De obicei arunc șine de alimentare, apoi am mai mult loc pentru firele mele noi. Fotografiile sunt făcute înainte de aruncarea șinelor electrice. Uit să fac următoarea fotografie când sunt eliminate.

Când am terminat cu finalizarea mișcării, o testez folosind a doua ceas. Am pus mâna pe axa ei și conectez puțină energie (am folosit baterie de monede CR2032, dar poate fi folosit și AA 1, 5V). Pur și simplu conectați puterea într-o polaritate la fire și apoi din nou cu polaritate opusă. Ceasul trebuie să bifeze și mâna să se miște cu o secundă. Odată ce aveți probleme pentru a finaliza mișcarea înapoi, deoarece firele ocupă mai mult loc, pur și simplu rotiți bobina și puneți-o pe partea opusă. Odată ce nu utilizați șinele electrice, nu are niciun efect asupra mișcării ceasului. După cum sa menționat deja, atunci când puneți mâinile înapoi, trebuie să le puneți la arătat la 12:00:00. Este să ai distanța corectă între ora și minutele.

Pasul 9: Exemple de utilizare a ceasului de perete

Majoritatea exemplelor simple care se concentrează pentru a afișa timpul, dar cu diverse modificări. Foarte popular este modificarea denumită „Vetinari Clock”. Arătând spre cartea lui Terry Pratchett, unde lordul Vetinari are ceas de perete în sala de așteptare, care bifează neregulat. Această neregulă îi tulbură pe oamenii care așteaptă. A doua aplicație populară este „ceasul sinusal”. Înseamnă ceas, care accelerează și decelerează pe baza curbei sinusale, apoi oamenii au senzație, navighează pe valuri. una dintre preferatele mele este „ora prânzului”. Această modificare înseamnă că acel ceas merge puțin mai repede în timp între 11-12 ore (0,8 sec), pentru a lua masa mai devreme; și puțin mai lent în timpul prânzului între 12 și 13 ore (1, 2 sec), pentru a avea puțin mai mult timp pentru prânz și pentru a compensa timpul pierdut.

Pentru majoritatea acestor modificări este suficient să utilizați cel mai simplu procesor, folosind frecvența de lucru 32768Hz. Această frecvență este foarte populară între producătorii de ceasuri, deoarece este ușor să faci cristal cu această frecvență și interzice să fie ușor binar împărțit la secunde complete. Are două avantaje de a folosi această frecvență pentru procesor: putem recicla ușor cristalul din ceas; iar procesoarele au de obicei un consum minim pe această frecvență. Consumul este ceva ce rezolvăm atât de des atunci când ne jucăm cu ceasul de perete. Mai ales pentru a putea alimenta ceasul de la cea mai mică baterie, cât mai mult timp posibil. După cum sa menționat deja, bobina are rezistivitate 200Ω și este proiectată pentru cca 1, 5V (o baterie AA). Cele mai ieftine procesoare funcționează de obicei cu tensiune puțin mai mare, dar cu două baterii (3V) care funcționează pe toate. Unul dintre cele mai ieftine procesoare de pe piața noastră este Microchip PIC12F629 sau module Arduino foarte populare. Apoi vom arăta cum să utilizați ambele platforme.

Pasul 10: Exemple de utilizare a ceasului de perete PIC

Exemple de utilizare a ceasului de perete PIC
Exemple de utilizare a ceasului de perete PIC
Exemple de utilizare a ceasului de perete PIC
Exemple de utilizare a ceasului de perete PIC

Procesorul PIC12F629 are tensiune de funcționare 2.0V - 5.5V. Utilizarea a două „baterii mignon” = celule AA (cca 3V) sau două acumulatoare AA reîncărcabile AA (cca 2, 4V) este suficientă. Dar pentru bobina de ceas este de două ori mai mare decât cea proiectată. Provoacă o creștere minimă nedorită a consumului. Atunci este bine să adăugați rezistență de serie minimă, care va crea un divizor de tensiune adecvat. Valoarea rezistorului trebuie să fie de aproximativ 120Ω pentru puterea acumulatorului sau 200Ω pentru puterea bateriei, calculată pentru sarcina rezistivă pură. În practică, valoarea poate fi puțin mai mică de aproximativ 100Ω. În teorie este suficient un rezistor în serie cu bobină. Încă mai am tendința, dintr-un anumit motiv, să văd motorul ca pe un dispozitiv simetric și apoi să pun rezistorul cu jumătate de rezistență (47Ω sau 51Ω) lângă fiecare terminal al bobinei. Unele construcții adăugând diode de protecție pentru a evita tensiunea negativă la procesor atunci când bobina este deconectată. Pe de altă parte, puterea de ieșire a ieșirilor procesorului este suficientă pentru a conecta bobina direct la procesor fără niciun amplificator. Schema completă pentru procesorul PIC12F629 va arăta așa cum este descris în figura 15. Această schemă este valabilă pentru ceasurile fără elemente de control suplimentare. Mai avem disponibil un pin de intrare / ieșire GP0 și o singură intrare GP3.

Pasul 11: Exemple de utilizare a ceasului de perete Arduino

Exemple de utilizare a ceasului de perete Arduino
Exemple de utilizare a ceasului de perete Arduino
Exemple de utilizare a ceasului de perete Arduino
Exemple de utilizare a ceasului de perete Arduino
Exemple de utilizare a ceasului de perete Arduino
Exemple de utilizare a ceasului de perete Arduino

Odată ce am dori să folosim Arduino, putem arunca o privire la foaia de date pentru procesorul ATmega328. Procesorul respectiv are o tensiune de lucru definită ca 1,8 V - 5,5 V pentru frecvența de până la 4 MHz și 2,7 V - 5, 5 V pentru frecvența de până la 10 MHz. Trebuie să fim atenți la o deficiență a plăcilor Arduino. Acest neajuns este prezența regulatorului de tensiune la bord. O mare cantitate de regulatoare de tensiune au probleme cu tensiunea inversă. Această problemă este descrisă pe scară largă și cel mai bine descrisă pentru regulatorul 7805. Pentru nevoile noastre trebuie să folosim placa marcată ca 3V3 (concepută pentru alimentarea cu 3,3V) mai ales că această placă conține cristal de 8 MHz și poate fi alimentată pornind de 2, 7V (înseamnă două AA baterii). Atunci stabilizatorul folosit nu va fi 7805, ci echivalentul său de 3,3V. Odată ce am dori să alimentăm placa fără a utiliza stabilizatorul, avem două opțiuni. Prima opțiune este, conectați tensiunea la pinii „RAW” (sau „Vin”) și + 3V3 (sau Vcc) împreună și credeți că stabilizatorul folosit pe placa dvs. nu are protecție sub tensiune. A doua opțiune este pur și simplu eliminarea stabilizatorului. Pentru aceasta este bine să utilizați Arduino Pro Mini, urmând schema de referință. Schema conține jumperul SJ1 (în figura 16 în cerc roșu) conceput pentru deconectarea stabilizatorului intern. Din păcate, majoritatea clonelor nu conține acest jumper.

Un alt avantaj al Arduino Pro Mini este că nu conține convertoare suplimentare, care pot consuma energie electrică în timpul funcționării normale (aceasta este o mică complicație în timpul programării). Plăcile Arduino sunt echipate cu procesoare din ce în ce mai confortabile, care nu au suficientă putere pentru o singură ieșire. Apoi, este bine să adăugați la un amplificator de ieșire minimă mică folosind o pereche de tranzistoare. Schema de bază pentru puterea bateriei va arăta așa cum se arată în figură.

Deoarece mediul Arduino (limbajul „Cablare”) are atribute ale sistemelor moderne de funcționare (apoi au probleme cu sincronizarea precisă), este bine să ne gândim la utilizarea sursei de ceas externe pentru Timer0 sau Timer1. Înseamnă intrări T0 și T1, sunt marcate ca 4 (T0) și 4 (T1). Oscilatorul simplu care utilizează cristalul de la ceasul de perete poate fi conectat la oricare dintre aceste intrări. Depinde cât de exact ceasul doriți să produceți. Figura 18 prezintă trei posibilități de bază. Prima schemă este foarte economică în sensul componentelor utilizate. Oferă mai puțină ieșire triunghiulară, dar în plină tensiune, atunci este bună pentru alimentarea intrărilor CMOS. A doua schemă utilizând invertoare, acestea pot fi CMOS 4096 sau TTL 74HC04. Schemele sunt mai puțin similare, sunt în formă de bază. A treia schemă utilizând cipul CMOS 4060, care permite conectarea directă a cristalului (echivalent 74HC4060 folosind aceeași schemă, dar valori diferite ale rezistențelor). Avantajul acestui circuit este că conține un divizor de 14 biți, atunci este posibil să decidem ce frecvență este utilizată ca intrare cu temporizator.

Ieșirea acestui circuit poate fi utilizată pentru intrarea T0 (pinul 4 cu marcaj Arduino) și apoi utilizați Timer0 cu intrare externă. Acest lucru nu este atât de practic, deoarece Timer0 este utilizat pentru funcții precum delay (), milis () sau micros (). A doua opțiune este conectarea la intrarea T1 (pinul 5 cu marcaj Arduino) și utilizarea Timer1 cu intrare suplimentară. Următoarea opțiune este să o conectați pentru a întrerupe intrarea INT0 (pinul 2 în marcajul Arduino) sau INT1 (pinul 3) și utilizați funcția attachInterrupt () și funcția de înregistrare, care se numește periodic. Aici este divizorul util oferit de jetoanele 4060, atunci apelul nu trebuie să fie atât de des.

Pasul 12: Ceas rapid pentru hardware-ul modelului Railroaders

Ceas rapid pentru hardware-ul modelului feroviar
Ceas rapid pentru hardware-ul modelului feroviar
Ceas rapid pentru hardware-ul modelului feroviar
Ceas rapid pentru hardware-ul modelului feroviar
Ceas rapid pentru hardware-ul modelului feroviar
Ceas rapid pentru hardware-ul modelului feroviar

Pentru interes, voi prezenta o schemă utilă. Trebuie să conectez mai multe ceasuri de perete la controlul comun. Ceasurile de perete sunt îndepărtate una de cealaltă și în partea de sus a acesteia caracteristica mediului este mai industrială, cu zgomot electromagnetic mai mare. Apoi m-am întors înapoi la sistemele vechi de autobuze folosind tensiune mai mare pentru comunicații. Desigur, nu am rezolvat lucrul la baterie, dar am folosit o sursă de alimentare stabilizată de 12V. Am amplificat semnalul de la procesor folosind driverul TC4427 (are disponibilitate bună și preț bun). Apoi, port semnalul de 12V cu o sarcină posibilă de până la 0,5A. Am adăugat separatoare simple de rezistență la ceasurile slave (în figura 18 marcate ca R101 și R102; din nou înțeleg motorul ca simetric, nu este necesar). Aș dori să măresc reducerea zgomotului transportând mai mult curent, apoi am folosit două rezistențe 100Ω. Pentru a limita tensiunea pe bobina motorului este conectat redresorul de punte B101 în paralel cu bobina. Puntea are o scurtcircuitare pe partea DC, apoi reprezintă două perechi de diode anti-paralele. Două diode înseamnă căderea tensiunii este de aproximativ 1,4 V, adică foarte aproape de tensiunea normală de lucru pentru motor. Avem nevoie de antiparalel, deoarece alimentarea alternează într-o polaritate opusă. Curentul total utilizat de un ceas de perete sclav este atunci (12V - 1,5V) / (100Ω + 100Ω) = 53mA. Aceasta este o valoare acceptabilă pentru a evita zgomotul.

Iată două comutatoare ale schemelor, acestea sunt pentru controlul funcțiilor suplimentare ale ceasului de perete (multiplicator de viteză în cazul modelelor de cale ferată). Ceasul fiică are încă o caracteristică interesantă. Acestea sunt conectate folosind doi conectori banani de 4 mm. Țin ceasul de perete pe perete. Este util mai ales odată ce doriți să setați un anumit timp înainte de a începe să utilizați, puteți pur și simplu să le deconectați și apoi să le conectați din nou (blocul de lemn este fixat pe perete). Dacă doriți să creați „Big Ben”, aveți nevoie de o cutie din lemn cu patru perechi de prize. Acea cutie poate fi utilizată ca depozit pentru ceasuri atunci când acestea nu sunt folosite.

Pasul 13: Software

Din punct de vedere al software-ului, situația este relativ simplă. Să descriem realizarea pe cipul PIC12F629 folosind cristalul 32768Hz (reciclat din ceasul original). Procesorul are un ciclu de instrucțiuni de patru cicluri de oscilator. Odată ce vom folosi sursa de ceas intern pentru orice Timer, înseamnă cicluri de instrucțiuni (numite fosc / 4). Avem de exemplu Timer0. Frecvența de intrare a temporizatorului va fi 32768/4 = 8192Hz. Temporizatorul are opt biți (256 de pași) și îl menținem fără prea multe bariere. Ne vom concentra numai pentru evenimentul de depășire a temporizatorului. Evenimentul va avea loc cu frecvența 8192/256 = 32Hz. Apoi, atunci când am dori să avem impulsuri o secundă, trebuie să creăm impulsuri la fiecare 32 de revărsare a Timer0. Unul ne-ar plăcea ca ceasul să ruleze, de exemplu, de patru ori mai repede, atunci avem nevoie de 32/4 = 8 revărsare pentru puls. Pentru cazurile în care suntem interesați să proiectăm ceasul neregulat, dar precis, trebuie să avem suma de revărsări pentru câteva impulsuri, la fel ca 32 × numărul de impulsuri. Apoi, putem găsi o matrice neregulată de ceasuri astfel: [20, 40, 30, 38]. Atunci suma este 128, adică 32 × 4. De exemplu, pentru ceasul sinusal [37, 42, 47, 51, 55, 58, 60, 61, 62, 61, 60, 58, 55, 51, 47, 42, 37, 32, 27, 22, 17, 13, 9, 6, 4, 3, 2, 3, 4, 6, 9, 13, 17, 22, 27, 32] = 1152 = 36 * 32). Pentru ceasul nostru vom folosi două intrări gratuite ca definiție a divizorului pentru o rulare rapidă. Separatoarele pentru viteză sunt stocate în memoria EEPROM. Partea principală a programului poate arăta astfel:

MainLoop:

btfss INTCON, T0IF merge la MainLoop; așteptați Timer0 bcf INTCON, T0IF incf CLKCNT, f btfss SW_STOP; dacă comutatorul STOP este activ, clrf CLKCNT; goliți contorul de fiecare dată btfsc SW_FAST; dacă nu este apăsat butonul rapid, mergeți la NormalTime; calculați doar timpul normal movf FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; dacă FCLK și CLKCNT sunt aceleași goto SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; biți 7, 6, 5 btfsc STARE, Z; dacă CLKCNT> = 32 mergeți la MainLoop mergeți la SendPulse

Program utilizând funcția SendPulse, această funcție creează impulsul motorului în sine. Funcția numără impulsuri pare / pare și se bazează pe care creează impuls pe una sau a doua ieșire. Funcție utilizând ENERGISE_TIME constantă. Acel timp de definire constantă în timpul căruia este bobina motorului alimentată. Astfel, are un impact mare asupra consumului. Odată ce este atât de mic, motorul nu este capabil să termine pasul și uneori se întâmplă, acea secundă se pierde (de obicei, când mâna a doua merge în jurul numărului 9, când merge "în sus").

SendPulse:

incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 merge SendPulseB SendPulseA: bsf OUT_A merge SendPulseE SendPulseB: bsf OUT_B; go SendPulseE SendPulseE: movlw 0x50 movwf ECNT SendPulseLoop: decf

Codurile sursă complete pot fi descărcate la sfârșitul paginii www.fucik.name. Situația cu Arduino este puțin complicată, deoarece Arduino folosește un limbaj de programare mai mare și folosește propriul cristal de 8 MHz, trebuie să fim atenți la funcțiile pe care le folosim. Utilizarea întârzierii clasice () este puțin riscantă (calculează timpul de la începutul funcției). Rezultate mai bune vor avea utilizare de biblioteci precum Timer1. O mulțime de proiecte Arduino se bazează pe dispozitive RTC externe precum PCF8563, DS1302 etc.

Pasul 14: Curiozități

Acest sistem de utilizare a motorului cu ceas de perete este înțeles ca fiind foarte de bază. Există multe îmbunătățiri. De exemplu, pe baza măsurării CEM înapoi (energia electrică produsă de mișcarea magnetului rotorului). Apoi, electronica este capabilă să recunoască, odată ce mâna este mutată și dacă nu, repetați rapid impulsul sau actualizați valoarea „ENERGISE_TIME”. curiozitatea mai utilă este „pasul invers”. Pe baza descrierii, motorul este conceput doar pentru o direcție de rotație și nu poate fi schimbat. Dar așa cum este prezentat pe videoclipurile atașate, este posibilă schimbarea direcției. Principiul este simplu. Să ne întoarcem la principiul motor. Imaginați-vă că motorul este în starea stabilă a celui de-al doilea pas (Figura 3). Odată ce vom conecta tensiunea așa cum este prezentat în primul pas (Figura 2), motorul va porni în mod logic rotația în sens invers. Odată ce pulsul va fi suficient de scurt și va termina ușor înainte ca motorul să crească starea stabilă, va pâlpâi logic peste puțin. Odată ce va apărea pâlpâirea, va apărea următorul impuls de tensiune așa cum este descris în starea a treia (Figura 4), atunci motorul va continua cu direcția la pornire, adică în direcție inversă. O mică problemă este cum se determină durata primului impuls și o dată pentru a crea o anumită distanță între primul și al doilea impuls. Și cel mai rău este că acele constante variază pentru fiecare mișcare a ceasului și cândva variază pentru cazuri, că mâinile merg "în jos" (în jurul numărului 3) sau în sus (în jurul numărului 9) și, de asemenea, în poziții neutre (în jurul numerelor 12 și 6). Pentru cazul prezentat pe video am folosit valori și algoritm așa cum sunt prezentate în următorul cod:

#define OUT_A_SET 0x02; config for out a set out b clear

#define OUT_B_SET 0x04; config for out b set a clear #define ENERGISE_TIME 0x30 #define REVERT_TIME 0x06 SendPulse: incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 go SendPulseB SendPulseA: movlw REVERT_TIME movwf ECNT movlw OUT_ începe cu pulsul B movwf GPIO RevPulseLoopA:; scurt timp așteptați decfsz ECNT, f mergeți RevPulseLoopA movlw OUT_A_SET; apoi impuls A movwf GPIO merge SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; începe cu pulsul A movwf GPIO RevPulseLoopB:; scurt timp așteptați decfsz ECNT, f mergeți RevPulseLoopB movlw OUT_B_SET; apoi pulsul B movwf GPIO; mergeți SendPulseE SendPulseE: movlw ENERGISE_TIME movwf ECNT SendPulseLoop: decfsz ECNT, f mergeți SendPulseLoop bcf OUT_A bcf OUT_B goto MainLoop

Utilizarea pașilor inversi crește posibilitatea de a juca cu ceasul de perete. Putem găsi uneori ceasuri de perete, care au mișcare lină de mâna a doua. Nu avem nicio sperietură în legătură cu acele ceasuri, ele folosesc un truc simplu. Motorul în sine este același cu motorul descris aici, doar raportul de transmisie este mai mare (de obicei cu încă 8: 1) și motorul se rotește mai repede (de obicei cu 8 ori mai rapid), ceea ce face ca mișcarea lină să aibă efect. Odată ce ați decis să modificați acele ceasuri de perete, nu uitați să calculați multiplicatorul solicitat.

Recomandat: