Satura rādītājs:

Spēlēšana ar rokas sienas pulksteni: 14 soļi
Spēlēšana ar rokas sienas pulksteni: 14 soļi

Video: Spēlēšana ar rokas sienas pulksteni: 14 soļi

Video: Spēlēšana ar rokas sienas pulksteni: 14 soļi
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Decembris
Anonim
Image
Image
Darba princips
Darba princips

Elektroniskais rokas sienas pulkstenis (komerciāls marķējums kvarcs) mūsdienās nav nekas īpašs. To var iegādāties daudzos veikalos. Dažos no tiem tie ir ārkārtīgi lēti; ar cenu aptuveni € 2 (50CZK). Šī zemā cena var būt motivācija tos tuvāk aplūkot. Tad es sapratu, ka tās var būt interesanta rotaļlieta iesācējiem elektronikā, kuriem nav tik daudz resursu un kurus galvenokārt interesē programmēšana. Bet gribētu citiem parādīt savu attīstību. Tā kā lētais sienas pulkstenis ir ļoti tolerants pret eksperimentiem un iesācēju izmēģinājumiem, es nolēmu uzrakstīt šo rakstu, kur es vēlētos iepazīstināt ar pamatidejām.

1. darbība. Darba princips

Darba princips
Darba princips
Darba princips
Darba princips

To pulksteni ir viegli atpazīt, izmantojot kustībām kādu pakāpju motoru. Tas, kurš jau sadalīja dažus pulksteņus, atzina, ka parastajā pakāpju motorā tā ir tikai viena spole, nevis divas. Šajā gadījumā mēs runājam par "vienfāzes" vai "viena pola" pakāpju motoru. (Šis nosaukums netiek lietots tik bieži, lielākoties tas ir analoģisks atvasinājums marķēšanai, ko izmanto citiem pilna steka pakāpju motoriem). Tam, kurš jau sāk domāt par darba principu, ir jāuzdod jautājums, kā tas ir iespējams, ka motors vienmēr griežas pareizajā virzienā. Darba principa apraksts ir noderīgs šādā attēlā, kas parāda vecākus motoru veidus.

Pirmajā attēlā redzama viena spole ar spailēm A un B, pelēks stators un sarkani zils rotors. Rotors ir izgatavots no pastāvīgā magnēta, tāpēc tas ir atzīmēts ar krāsu, lai tas būtu redzams, kādā virzienā tiek magnetizēts (nav tik svarīgi, kāds pols ir uz ziemeļiem un kas uz dienvidiem). Uz statora var redzēt divas "rievas" tuvu rotoram. Tie ir ļoti svarīgi darba principam. Motors darbojas četros posmos. Mēs aprakstīsim katru soli, izmantojot četrus attēlus.

Pirmajā solī (otrais attēls) motors tiek aktivizēts, ka spailes A ir savienotas ar pozitīvo polu un spailes B ir pievienotas negatīvajam polim. Tas rada magnētisko plūsmu, piemēram, bultiņas virzienā. Rotors apstāsies tādā stāvoklī, ka tā stāvoklis atbildīs magnētiskajai plūsmai.

Otrais solis seko pēc strāvas atvienošanas. Tad statora magnētiskā plūsma tiek apturēta, un magnētam ir tendence griezties pozīcijā, tā polarizācija notiek statora magnētiskā mīkstā materiāla maksimālā tilpuma virzienā. Un šeit ir izšķirošas šīs divas rievas. Tie norāda uz nelielu maksimālā skaļuma novirzi. Pēc tam rotoru nedaudz pagriež pulksteņrādītāja virzienā. Kā parādīts 3. attēlā.

Nākamais solis (ceturtais attēls) ir ar spriegumu savienota apgrieztā polaritāte (terminālis A uz negatīvo polu, spaile B uz pozitīvo polu). Tas nozīmē, ka magnēts rotorā rotēs magnētiskā lauka virzienā ar spoli. Rotors izmanto īsāko virzienu, tas ir, pulksteņrādītāja virzienā.

Pēdējais (ceturtais) solis (piektais attēls) ir tāds pats kā otrais. Motors atkal ir bez sprieguma. Tikai viena atšķirība ir tāda, ka magnēta sākuma stāvoklis ir pretējs, bet rotors atkal pārvietosies maksimālā materiāla tilpuma virzienā. Tas atkal ir nedaudz pulksteņrādītāja virzienā.

Tas ir viss cikls, pirmais solis seko vēlreiz. Motora kustībai otro un ceturto soli saprot kā stabilu. Pēc tam to ar mehānisko pārnesumkārbu 1:30 pārnes uz pulksteņa otrās rokas stāvokli.

2. darbība. Darba princips turp

Darba princips Turpinājums
Darba princips Turpinājums
Darba princips Turpinājums
Darba princips Turpinājums
Darba princips Turpinājums
Darba princips Turpinājums
Darba princips Turpinājums
Darba princips Turpinājums

Attēlos parādīta sprieguma viļņu forma uz motora spailēm. Skaitļi nozīmē visas sekundes. Patiesībā impulsi ir daudz mazāki, salīdzinot ar telpām. Tie ir aptuveni milisekundes.

3. darbība: praktiskā izjaukšana 1

Praktiska izjaukšana 1
Praktiska izjaukšana 1

Praktiskai izjaukšanai es izmantoju vienu no lētākajiem sienas pulksteni tirgū. Viņiem ir maz plusu. Viens ir tas, ka šī cena ir tik zema, ka mēs varam iegādāties dažus no tiem eksperimentiem. Tā kā ražošana ir stingri orientēta uz cenu, tajos nav nekādu sarežģītu gudru risinājumu, kā arī nav sarežģītu skrūvju. Patiesībā tie nesatur nekādas skrūves, tikai plastmasas klikšķu slēdzenes. Mums ir nepieciešami tikai minimālie rīki. Piemēram, mums ir nepieciešams skrūvgriezis tikai šo slēdzeņu izgriešanai.

Sienas pulksteņa izjaukšanai mums ir nepieciešams plakans skrūvgriezis (vai jebkurš cits spieķis), drēbju tapas un darba paklājiņš ar paceltām malām (tas nav obligāti, bet atvieglo riteņu un citu sīku detaļu meklēšanu).

4. darbība: praktiskā izjaukšana 2

Praktiska izjaukšana 2
Praktiska izjaukšana 2
Praktiska izjaukšana 2
Praktiska izjaukšana 2
Praktiska izjaukšana 2
Praktiska izjaukšana 2
Praktiska izjaukšana 2
Praktiska izjaukšana 2

Sienas pulksteņa aizmugurē ir trīs aizbīdņi. Divas augšējās daļas skaitļu 2 un 10 pozīcijā var atbloķēt un atvērt vāka stiklu. Kad stikls ir atvērts, ir iespējams noņemt pulksteņa rādītājus. Nav nepieciešams atzīmēt to atrašanās vietu. Mēs vienmēr atgriezīsim tos pozīcijā 12:00:00 Kad pulkstenis ir izslēgts, mēs varam atvienot pulksteņa kustību. Tam ir divi aizbīdņi (6. un 12. pozīcijā). Ieteicams izvilkt kustību pēc iespējas taisni, pretējā gadījumā kustība var iestrēgt.

5. darbība: praktiskā izjaukšana 3

Praktiska izjaukšana 3
Praktiska izjaukšana 3
Praktiska izjaukšana 3
Praktiska izjaukšana 3
Praktiska izjaukšana 3
Praktiska izjaukšana 3

Tad ir iespējams atvērt kustību. Tam ir trīs aizbīdņi. divas pozīcijās 3 un 9 stundas un pēc tam trešās 6 stundas. Atverot, pietiek noņemt caurspīdīgu zobratu starp motoru un pārnesumkārbu un pēc tam zobratu, kas savienots ar motora rotoru.

6. darbība: praktiskā izjaukšana 4

Praktiska izjaukšana 4
Praktiska izjaukšana 4
Praktiska izjaukšana 4
Praktiska izjaukšana 4

Motora spole un stators tur tikai uz vienu aizbīdni (12 stundu laikā). Tas neietilpst nevienā spēka sliedē, tas attiecas uz spēka sliedēm tikai ar presi, tad noņemšana nav sarežģīta. Spole ir vītņota uz statora bez turētāja. To var viegli pacelt.

7. darbība: praktiskā izjaukšana 5

Praktiskā demontāža 5
Praktiskā demontāža 5
Praktiskā demontāža 5
Praktiskā demontāža 5
Praktiskā demontāža 5
Praktiskā demontāža 5
Praktiska izjaukšana 5
Praktiska izjaukšana 5

Spoles apakšpusē ir pielīmēta maza iespiedshēmas plate, kurā ir viena CoB (mikroshēma uz kuģa) ar sešām izejām. Divi ir paredzēti jaudai, un tie tiek izbeigti uz lielākiem kvadrātveida spilventiņiem uz kuģa, lai piemērotu jaudas sliedes. divas izejas ir savienotas ar kristālu. Starp citu, kristāla frekvence ir 32768 Hz, un to var atlodēt turpmākai lietošanai. Pēdējās divas izejas ir savienotas ar spoli. Es uzskatu, ka ir drošāk nogriezt pēdas uz kuģa un pielodēt vadus esošajiem spilventiņiem uz kuģa. Kad es mēģināju atlocīt spoli un savienot vadu tieši ar spoli, es vienmēr norauju spoles vadu vai sabojāju spoli. Viena no iespējām ir jaunu vadu lodēšana. Teiksim, ka primitīvāk. Radošāka metode ir savienot spoli ar barošanas blokiem un saglabāt barošanas sliedes savienošanai ar akumulatora kārbu. Tad elektroniku var ievietot akumulatora kārbas iekšpusē.

8. darbība: praktiskā izjaukšana 6

Praktiska izjaukšana 6
Praktiska izjaukšana 6
Praktiska izjaukšana 6
Praktiska izjaukšana 6

Lodēšanas kvalitāti var pārbaudīt, izmantojot ommetru. Spoles pretestība ir aptuveni 200Ω. Kad viss ir kārtībā, mēs saliekam atpakaļ sienas pulksteni. Es parasti izmetu strāvas sliedes, tad man ir vairāk vietas jaunajiem vadiem. Fotogrāfijas tiek uzņemtas pirms spēka sliedes uzmešanas. Es aizmirsu uzņemt nākamo fotoattēlu, kad tie tiek noņemti.

Kad esmu pabeidzis kustības, es to pārbaudu, izmantojot otro pulksteņa rādītāju. Es pielieku roku pie tās ass un pievienoju nedaudz strāvas (es izmantoju CR2032 monētu bateriju, bet var izmantot arī AA 1, 5V). Vienkārši pievienojiet strāvu vienā polaritātē vadiem un pēc tam atkal ar pretēju polaritāti. Pulkstenim ir jāķeksē, un rokas kustībai jābūt par vienu sekundi. Tiklīdz jums ir problēmas pabeigt kustību atpakaļ, jo vadi aizņem vairāk vietas, vienkārši pagrieziet spoles skudru un nolieciet to pretējā pusē. Kad strāvas sliedes netiek izmantotas, tas neietekmē pulksteņa kustību. Kā jau tika teikts, atdodot rokas atpakaļ, tās ir jānoliek, norādot uz 12:00:00. Tam jābūt pareizam attālumam starp stundas un minūtes rādītāju.

9. darbība. Sienas pulksteņa lietošanas piemēri

Lielākā daļa vienkāršu piemēru koncentrējas uz laika parādīšanu, bet ar dažādām modifikācijām. Ļoti populāra ir modifikācija, ko sauc par "Vetinari pulksteni". Norādot uz Terija Pratčeta grāmatu, kur kunga Vetinari gaidīšanas telpā ir sienas pulkstenis, kas tikšķ neregulāri. Šī nelikumība satrauc cilvēkus, kas gaida. Otrs populārais pielietojums ir "sinusa pulkstenis". Tas nozīmē pulksteni, kas paātrina un palēnina, pamatojoties uz sinusa līkni, tad cilvēkiem ir sajūta, ka viņi peld pa viļņiem. viens no maniem mīļākajiem ir "pusdienu laiks". Šīs izmaiņas nozīmē, ka pulkstenis iet nedaudz ātrāk laikā no 11 līdz 12 stundām (0,8 sekundēm), lai pusdienotu agrāk; un nedaudz lēnāk pusdienu laikā no 12 līdz 13 stundām (1, 2 sekundes), lai būtu vairāk laika pusdienām un kompensētu zaudēto laiku.

Lielākajai daļai šo modifikāciju pietiek, lai izmantotu vienkāršāko procesoru, izmantojot darba frekvenci 32768Hz. Šī frekvence ir ļoti populāra pulksteņu veidotāju vidū, jo ar šo frekvenci ir viegli izgatavot kristālu, un ir aizliegts viegli bināri sadalīt līdz dažām sekundēm. Šīs frekvences izmantošanai procesorā ir divas priekšrocības: mēs varam viegli atjaunot kristāla darbību no pulksteņa; un procesoriem parasti ir minimāls patēriņš šajā frekvencē. Patēriņš ir kaut kas, ko mēs tik bieži risinām, spēlējoties ar sienas pulksteni. Īpaši, lai pēc iespējas ilgāk varētu darbināt pulksteni no mazākās baterijas. Kā jau tika teikts, spoles pretestība ir 200Ω, un tā ir paredzēta aptuveni 1, 5 V (viena AA baterija). Lētākie procesori parasti strādā ar nedaudz lielāku spriegumu, bet ar divām baterijām (3 V), kas darbojas visas. Viens no lētākajiem procesoriem mūsu tirgū ir Microchip PIC12F629 vai ļoti populāri Arduino moduļi. Tad mēs parādīsim, kā izmantot abas platformas.

10. darbība. Sienas pulksteņa lietošanas piemēri PIC

Sienas pulksteņa lietošanas piemēri PIC
Sienas pulksteņa lietošanas piemēri PIC
Sienas pulksteņa lietošanas piemēri PIC
Sienas pulksteņa lietošanas piemēri PIC

Procesora PIC12F629 darba spriegums ir 2,0–5,5 V. Pietiek ar divu "mignon bateriju" = AA elementu (cca 3V) vai divu AA uzlādējamu AA akumulatoru (cca 2, 4V) izmantošanu. Bet pulksteņa spolei tas ir divreiz vairāk nekā paredzēts. Tas vismaz izraisa nevēlamu patēriņa pieaugumu. Tad ir labi pievienot minimālo sērijas rezistoru, kas radīs piemērotu sprieguma dalītāju. Rezistora vērtībai jābūt aptuveni 120Ω akumulatora jaudai vai 200Ω akumulatora jaudai, kas aprēķināta tīrai pretestības slodzei. Praksē vērtība var būt nedaudz mazāka par 100Ω. Teorētiski pietiek ar vienu rezistoru virknē ar spoli. Man joprojām ir tendence kaut kāda iemesla dēļ redzēt motoru kā simetrisku ierīci un pēc tam pie katras spoles spailes novietot rezistoru ar pusi pretestību (47Ω vai 51Ω). Dažas konstrukcijas pievieno aizsardzības diodes, lai izvairītos no negatīva sprieguma procesorā, kad spole ir atvienota. No otras puses, procesora izejas izejas jauda ir pietiekama, lai spoli savienotu tieši ar procesoru bez pastiprinātāja. Pilnīga procesora PIC12F629 shēma izskatīsies tā, kā aprakstīts 15. attēlā. Šī shēma ir derīga pulksteņiem bez papildu vadības elementiem. Mums joprojām ir pieejama viena ievades/izvades tapa GP0 un viena ieeja tikai GP3.

11. darbība: sienas pulksteņa lietošanas piemēri Arduino

Sienas pulksteņa lietošanas piemēri Arduino
Sienas pulksteņa lietošanas piemēri Arduino
Sienas pulksteņa lietošanas piemēri Arduino
Sienas pulksteņa lietošanas piemēri Arduino
Sienas pulksteņa lietošanas piemēri Arduino
Sienas pulksteņa lietošanas piemēri Arduino

Kad mēs vēlētos izmantot Arduino, mēs varam apskatīt procesora ATmega328 datu lapu. Šī procesora darba spriegums ir definēts kā 1,8 V - 5,5 V frekvencei līdz 4 MHz un 2,7 V - 5, 5 V frekvencei līdz 10 MHz. Mums ir jābūt uzmanīgiem ar vienu Arduino dēļu trūkumu. Šis trūkums ir sprieguma regulatora klātbūtne uz kuģa. Lielam sprieguma regulatoru daudzumam ir problēmas ar reverso spriegumu. Šī problēma ir plaši un vislabāk aprakstīta regulatoram 7805. Mūsu vajadzībām mums ir jāizmanto plāksne, kas apzīmēta kā 3V3 (paredzēta 3,3 V barošanai), jo īpaši tāpēc, ka šī plāksne satur 8MHz kristālu un to var darbināt, sākot no 2, 7V (tas nozīmē divus AA baterijas). Tad izmantotais stabilizators nebūs 7805, bet tā 3,3 V ekvivalents. Kad mēs gribētu barot plati, neizmantojot stabilizatoru, mums ir divas iespējas. Pirmā iespēja ir savienot spriegumu ar tapām "RAW" (vai "Vin") un +3V3 (vai Vcc) kopā un uzskatīt, ka jūsu panelī izmantotajam stabilizatoram nav aizsardzības pret zemu spriegumu. Otrā iespēja ir vienkārši noņemt stabilizatoru. Šim nolūkam ir labi izmantot Arduino Pro Mini, ievērojot atsauces shēmu. Šī shēma satur džemperi SJ1 (16. attēlā sarkanā aplī), kas paredzēts iekšējā stabilizatora atvienošanai. Diemžēl lielākā daļa klonu nesatur šo džemperi.

Vēl viena Arduino Pro Mini priekšrocība ir tā, ka tajā nav nekādu papildu pārveidotāju, kas normālas darbības laikā var patērēt elektrību (tas ir neliels sarežģījums programmēšanas laikā). Arduino plates ir aprīkotas ar arvien ērtākiem procesoriem, kuriem nepietiek jaudas vienai izejai. Tad ir labi pievienot vismaz nelielu izejas pastiprinātāju, izmantojot tranzistoru pāri. Akumulatora enerģijas shēma izskatīsies tā, kā parādīts attēlā.

Tā kā Arduino videi ("elektroinstalācijas" valodai) ir mūsdienīgu operētājsistēmu atribūti (tad rodas problēmas ar precīzu laiku), ir labi padomāt par ārējā pulksteņa avota izmantošanu Timer0 vai Timer1. Tas nozīmē ievadi T0 un T1, tie ir atzīmēti kā 4 (T0) un 4 (T1). Vienkāršu oscilatoru, izmantojot sienas pulksteņa kristālu, var pievienot jebkurai no šīm ieejām. Tas ir atkarīgs no tā, cik precīzu pulksteni vēlaties izgatavot. 18. attēlā parādītas trīs galvenās iespējas. Pirmā shēma ir ļoti ekonomiska lietoto komponentu nozīmē. Tas nodrošina vairāk mazāk trīsstūrveida izejas, bet pilnā sprieguma diapazonā, tad tas ir piemērots CMOS ieeju barošanai. Otra shēma, izmantojot invertorus, tie var būt CMOS 4096 vai TTL 74HC04. Shēmas ir mazāk līdzīgas viena otrai, tās ir pamata formā. Trešā shēma, izmantojot mikroshēmu CMOS 4060, kas ļauj tieši savienot kristālu (ekvivalents 74HC4060, izmantojot to pašu shematisku, bet atšķirīgu rezistoru vērtību). Šīs shēmas priekšrocība ir tā, ka tajā ir 14 bitu dalītājs, tad ir iespējams izlemt, kāda frekvence tiek izmantota kā taimera ievade.

Šīs shēmas izeju var izmantot ieejai T0 (4. tapa ar Arduino marķējumu) un pēc tam izmantot taimeri 0 ar ārēju ievadi. Tas nav tik praktiski, jo taimeris0 tiek izmantots tādām funkcijām kā delay (), milis () vai micros (). Otrā iespēja ir savienot to ar ieeju T1 (5. tapa ar Arduino marķējumu) un izmantot taimeri 1 ar papildu ievadi. Nākamā iespēja ir savienot to ar pārtraukto ieeju INT0 (2. tapa Arduino marķējumā) vai INT1 (3. tapa) un izmantot funkciju attachInterrupt () un reģistrēt funkciju, ko periodiski sauc. Šeit ir noderīgs sadalītājs, ko piedāvā mikroshēmas 4060, tad zvanīt nedrīkst tik bieži.

12. solis: ātrs pulkstenis dzelzceļa modeļa aparatūrai

Ātrs pulkstenis dzelzceļa modeļu aparatūrai
Ātrs pulkstenis dzelzceļa modeļu aparatūrai
Ātrs pulkstenis dzelzceļa modeļu aparatūrai
Ātrs pulkstenis dzelzceļa modeļu aparatūrai
Ātrs pulkstenis dzelzceļa modeļu aparatūrai
Ātrs pulkstenis dzelzceļa modeļu aparatūrai

Intereses labad es iepazīstināšu ar vienu noderīgu shēmu. Man ir jāpievieno vairāk sienas pulksteņu kopējai vadībai. Sienas pulksteņi atrodas tālu viens no otra, un virs tiem vides raksturlielumi ir rūpnieciskāki ar lielāku elektromagnētisko troksni. Tad es atgriezos pie vecajām autobusu sistēmām, saziņai izmantojot lielāku spriegumu. Protams, es neatrisināju darbu ar akumulatoru, bet es izmantoju stabilizētu 12V barošanas avotu. Es pastiprināju signālu no procesora, izmantojot draiveri TC4427 (tam ir laba pieejamība un laba cena). Tad es nesu signālu 12V ar iespējamo slodzi līdz 0,5A. Es pievienoju vienkāršus rezistoru sadalītājus vergu pulksteņiem (18. attēlā atzīmēti kā R101 un R102; atkal es saprotu motoru kā simetrisku, tas nav nepieciešams). Es gribētu palielināt trokšņa samazināšanu, pārvadājot vairāk strāvas, tad es izmantoju divus 100Ω rezistorus. Lai ierobežotu spriegumu uz motora spoles, ir savienots tilta taisngriezis B101 paralēli spolei. Tiltam ir saīsināta līdzstrāvas puse, tad tas attēlo divus pārus paralēlas diodes. Divas diodes vidējais sprieguma kritums ir aptuveni 1,4 V, kas ir ļoti tuvu motora normālajam darba spriegumam. Mums ir nepieciešama pretparalēle, jo barošana mainās vienā un pretējā polaritātē. Kopējā viena vergu sienas pulksteņa izmantotā strāva ir (12V - 1,5V) / (100Ω + 100Ω) = 53mA. Šī vērtība ir pieņemama, lai izvairītos no trokšņa.

Šeit ir divi slēdži uz shēmām, tie ir paredzēti, lai kontrolētu sienas pulksteņa papildu funkcijas (ātruma reizinātājs modeļu dzelzceļnieku gadījumā). Meitas pulkstenim ir vēl viena interesanta iezīme. Tie ir savienoti, izmantojot divus 4 mm banānu savienotājus. Viņi tur sienas pulksteni pie sienas. Tas ir īpaši noderīgi, ja pirms lietošanas sākuma vēlaties iestatīt noteiktu laiku, varat tos vienkārši atvienot no elektrotīkla un pēc tam atkal pieslēgt (koka bloks ir piestiprināts pie sienas). Ja vēlaties izveidot "Big Ben", jums ir nepieciešama koka kaste ar četriem kontaktligzdu pāriem. Šo kārbu var izmantot kā pulksteņu glabātuvi, ja tie netiek izmantoti.

13. darbība: programmatūra

No programmatūras viedokļa situācija ir salīdzinoši vienkārša. Aprakstīsim realizāciju mikroshēmā PIC12F629, izmantojot kristālu 32768Hz (pārstrādāts no oriģinālā pulksteņa). Procesoram ir viens instrukciju cikls, kas ir četrus oscilatoru ciklus garš. Kad mēs izmantosim iekšējo pulksteņa avotu jebkuram taimerim, tas nozīmē instrukciju ciklus (tos sauc par fosc/4). Mums ir pieejams, piemēram, Timer0. Taimera ievades frekvence būs 32768 /4 = 8192Hz. Taimeris ir astoņu bitu (256 soļi), un mēs to pārpildām bez jebkādiem šķēršļiem. Mēs koncentrēsimies tikai uz taimera pārpildes notikumu. Notikums notiks ar frekvenci 8192 /256 = 32Hz. Tad, kad mēs vēlētos, lai impulsi būtu vienu sekundi, mums ir jāizveido impulss ik pēc 32 Timer0 pārplūdēm. Piemēram, mēs vēlētos, lai pulkstenis darbotos, piemēram, četras reizes ātrāk, tad mums ir nepieciešama 32 /4 = 8 impulsa pārplūde. Gadījumos, kad mēs esam ieinteresēti izstrādāt pulksteni ar neregulāru, bet precīzu, mums ir jābūt pārplūdes summai dažiem impulsiem, kas ir vienādi ar 32 × impulsu skaitu. Tad mēs varam meklēt neregulāru pulksteņu matricu šādi: [20, 40, 30, 38]. Tad summa ir 128, tas ir tāds pats kā 32 × 4. Piemēram, sinusa pulkstenim [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). Mūsu pulkstenim mēs izmantosim divas bezmaksas ieejas kā sadalītāja definīciju ātrai darbībai. Ātruma tabulas dalītāji tiek saglabāti EEPROM atmiņā. Galvenā programmas daļa var izskatīties šādi:

MainLoop:

btfss INTCON, T0IF goto MainLoop; pagaidiet taimeri0 bcf INTCON, T0IF incf CLKCNT, f btfss SW_STOP; ja STOP slēdzis ir aktīvs, clrf CLKCNT; notīrīt skaitītāju katru reizi btfsc SW_FAST; ja netiek nospiesta ātrā poga, dodieties uz NormalTime; aprēķināt tikai normālo laiku movf FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; ja FCLK un CLKCNT ir viens un tas pats goto SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; biti 7, 6, 5 btfsc STATUS, Z; ja CLKCNT> = 32 goto MainLoop goto SendPulse

Programma, izmantojot funkciju SendPulse, šī funkcija pati rada motora impulsu. Funkciju skaits nepāra/pāra impulsi un, pamatojoties uz to, rada impulsu vienā vai otrajā izejā. Funkcija, izmantojot nemainīgu ENERGISE_TIME. Šis nemainīgais noteikšanas laiks šajā laikā tiek ieslēgts motora spolei. Tādējādi tam ir liela ietekme uz patēriņu. Kad tas ir tik mazs, motors nespēj pabeigt soli, un dažreiz gadās, ka otrais pazūd (parasti, kad lietotais rādītājs apiet skaitli 9, kad tas iet uz augšu).

SendPulse:

incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: bsf OUT_A goto SendPulseE SendPulseB: bsf OUT_B; goto SendPulseE SendPulseE: movlw 0x50 movwf ECNT SendPulse bp

Pilnus avota kodus var lejupielādēt lapas beigās www.fucik.name. Situācija ar Arduino ir nedaudz sarežģīta, jo Arduino, izmantojot augstāku programmēšanas valodu un izmantojot savu 8MHz kristālu, mums jābūt uzmanīgiem, kādas funkcijas mēs izmantojam. Klasiskās aizkaves () izmantošana ir maz riskanta (tā aprēķina laiku no funkcijas sākuma). Labākiem rezultātiem tiks izmantotas tādas bibliotēkas kā Timer1. Daudzi Arduino projekti ir atkarīgi no ārējām RTC ierīcēm, piemēram, PCF8563, DS1302 utt.

14. solis: Ziņkārības

Šī sienas pulksteņa motora izmantošanas sistēma ir saprotama kā ļoti vienkārša. Tam ir daudz uzlabojumu. Piemēram, pamatojoties uz muguras EMF mērīšanu (elektriskā enerģija, ko rada rotora magnēta kustība). Tad elektronika spēj atpazīt, kad rokas ir pārvietotas un, ja nē, tad ātri atkārtojiet impulsu vai atjauniniet “ENERGISE_TIME” vērtību. noderīgāka zinātkāre ir "apgrieztais solis". Pamatojoties uz aprakstu, izskatās, ka šis motors ir paredzēts tikai vienam rotācijas virzienam, un to nevar mainīt. Bet, kā parādīts pievienotajos videoklipos, virziena maiņa ir iespējama. Princips ir vienkāršs. Atgriezīsimies pie motora principa. Iedomājieties, ka motors atrodas otrā posma stabilā stāvoklī (3. attēls). Kad mēs pievienosim spriegumu, kā parādīts pirmajā solī (2. attēls), motors loģiski sāks griezties pretējā virzienā. Kad impulss būs pietiekami īss un nedaudz beigsies, pirms motors pacels stabilu stāvokli, tas loģiski nedaudz mirgos. Kad mirgošanas laikā pienāks nākamais sprieguma impulss, kā aprakstīts trešajā stāvoklī (4. attēls), tad motors turpinās darboties tādā virzienā, kādā tas sākās, tas nozīmē pretējā virzienā. Neliela problēma ir, kā noteikt pirmā impulsa ilgumu un vienreiz izveidot attālumu starp pirmo un otro impulsu. Un vissliktākais ir tas, ka šīs konstantes atšķiras katrai pulksteņa kustībai un dažkārt atšķiras, ka rokas iet uz leju (ap 3. numuru) vai uz augšu (ap 9. numuru), kā arī neitrālās pozīcijās (ap 12. un 6. numuru). Gadījumā, kas parādīts video, es izmantoju vērtības un algoritmu, kas parādīts šādā kodā:

#define OUT_A_SET 0x02; config for a out out b skaidrs

#define OUT_B_SET 0x04; config for out b noteikt skaidru #define ENERGISE_TIME 0x30 #define REVERT_TIME 0x06 SendPulse: incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: movlw REVERT_TIME movwf ECNT movwf sāciet ar impulsu B movwf GPIO RevPulseLoopA:; īss laiks jāgaida decfsz ECNT, f goto RevPulseLoopA movlw OUT_A_SET; tad impulss A movwf GPIO goto SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; sākt ar impulsu A movwf GPIO RevPulseLoopB:; īss laiks jāgaida decfsz ECNT, f goto RevPulseLoopB movlw OUT_B_SET; tad impulss B movwf GPIO; goto SendPulseE SendPulseE: movlw ENERGISE_TIME movwf ECNT SendPulseLoop: decfsz ECNT, f goto SendPulseLoop bcf OUT_A bcf OUT_B goto MainLoop

Reverso soļu izmantošana palielina iespēju spēlēties ar sienas pulksteni. Dažreiz mēs varam atrast sienas pulksteni, kuram ir vienmērīga lietotu kustība. Mums nav jābaidās par šiem pulksteni, viņi izmanto vienkāršu triku. Pats motors ir tāds pats kā šeit aprakstītais motors, tikai pārnesumskaitlis ir lielāks (parasti par 8: 1 vairāk) un motors griežas ātrāk (parasti 8 reizes ātrāk), kas nodrošina vienmērīgu kustību. Kad esat nolēmis mainīt šos sienas pulksteni, neaizmirstiet aprēķināt pieprasīto reizinātāju.

Ieteicams: