Obsah:

Hra s ručními nástěnnými hodinami: 14 kroků
Hra s ručními nástěnnými hodinami: 14 kroků

Video: Hra s ručními nástěnnými hodinami: 14 kroků

Video: Hra s ručními nástěnnými hodinami: 14 kroků
Video: Velbloud #FantastickyPodcast 2024, Listopad
Anonim
Image
Image
Pracovní princip
Pracovní princip

Elektronické ruční nástěnné hodiny (komerční značkovací křemen) nejsou v dnešní době ničím výjimečným. Dá se koupit v mnoha obchodech. V některých z nich jsou extrémně levné; s cenou asi 2 € (50Kč). Tato nízká cena může být motivací se na ně podívat blíže. Pak jsem poznal, že mohou být zajímavou hračkou pro nováčky v elektronice, kteří nemají tolik zdrojů a zajímá je hlavně programování. Rád bych ale ostatním představil svůj vlastní vývoj. Protože levné nástěnné hodiny velmi dobře snáší experimenty a zkoušky pro začátečníky, rozhodl jsem se napsat tento článek, kde bych rád představil základní myšlenky.

Krok 1: Pracovní princip

Pracovní princip
Pracovní princip
Pracovní princip
Pracovní princip

Je snadné rozpoznat, že hodiny využívající k pohybu nějaký druh krokového motoru. Ten, kdo již rozbil některé hodiny, poznal, že je to jen jedna cívka místo dvou v obvyklém krokovém motoru. V tomto případě mluvíme o „jednofázovém“nebo „jednopólovém“krokovém motoru. (Tento název se nepoužívá tak často, většinou jde o analogickou derivaci pro značení používanou pro jiné krokové motory s plným zásobníkem). Ten, kdo již začal přemýšlet o principu práce, si musí položit otázku, jak je možné, že se motor vždy otáčí správným směrem. Pro princip fungování je užitečný následující obrázek, který ukazuje starší druhy motorů.

Na prvním obrázku je vidět jedna cívka se svorkami A a B, šedým statorem a červeno-modrým rotorem. Rotor je vyroben z permanentního magnetu, proto je barevně označen, aby byl viditelný, v jakém směru je magnetizován (není tak důležité, jaký pól je na severu a co na jihu). Na statoru vidíte dvě „drážky“blízko rotoru. Jsou velmi důležité pro pracovní princip. Motor pracuje ve čtyřech krocích. Každý krok popíšeme pomocí čtyř obrázků.

Během prvního kroku (druhý obrázek) je motor napájen, přičemž svorka A je připojena k kladnému pólu a svorka B je připojena k zápornému pólu. Vytváří magnetický tok, například ve směru šipky. Rotor se zastaví v poloze, jejíž poloha bude odpovídat magnetickému toku.

Druhý krok následuje po odpojení napájení. Poté se magnetický tok ve statoru zastaví a magnet má tendenci se otáčet do polohy, jeho polarizace je ve směru maximálního objemu magnetického měkkého materiálu statoru. A zde jsou zásadní tyto dvě drážky. Ukazují na malou odchylku maximálního objemu. Poté se rotor trochu otáčí ve směru hodinových ručiček. Jak je znázorněno na obrázku 3.

Další krok (čtvrtý obrázek) je s napětím připojenou opačnou polaritou (svorka A na záporný pól, svorka B na kladný pól). To znamená, že magnet v rotoru se bude otáčet ve směru magnetického pole cívkou. Rotor používá nejkratší směr, to je opět ve směru hodinových ručiček.

Poslední (čtvrtý) krok (pátý obrázek) je stejný jako druhý. Motor je opět bez napětí. Pouze s jedním rozdílem je, že počáteční poloha magnetu je opačná, ale rotor se bude opět pohybovat ve směru maximálního objemu materiálu. To je opět poloha ve směru hodinových ručiček.

To je celý cyklus, první krok opět následuje. Pro pohyb motoru jsou kroky dva a čtyři chápány jako stabilní. Poté se mechanicky převede na převodovou rychlost 1:30 do polohy sekundové ručičky hodinek.

Krok 2: Princip práce Pokrač

Princip práce Pokrač
Princip práce Pokrač
Princip práce Pokrač
Princip práce Pokrač
Princip práce Pokrač
Princip práce Pokrač
Princip práce Pokrač
Princip práce Pokrač

Obrázky ukazují průběh napětí na svorkách motoru. Čísla znamenají všechny sekundy. Ve skutečnosti jsou impulzy mnohem menší ve srovnání s mezerami. Jsou to zhruba milisekundy.

Krok 3: Praktická demontáž 1

Praktická demontáž 1
Praktická demontáž 1

Pro praktické rozebrání jsem použil jedny z nejlevnějších nástěnných hodin na trhu. Mají málo kladů. Jedním z nich je, že cena je tak nízká, že si jich můžeme koupit několik na experimenty. Protože je výroba silně orientována na cenu, neobsahují žádná složitá chytrá řešení ani žádné komplikované šrouby. Ve skutečnosti neobsahují žádné šrouby, pouze plastové zámky. Potřebujeme pouze minimální nástroje. Například potřebujeme šroubovák pouze k vyloupnutí těchto zámků.

K demontáži nástěnných hodin potřebujeme plochý šroubovák (nebo jakoukoli jinou tyčku), kolíček na prádlo a pracovní podložku se zvýšenými hranami (to není povinné, ale usnadňuje hledání kol a dalších malých částí).

Krok 4: Praktická demontáž 2

Praktická demontáž 2
Praktická demontáž 2
Praktická demontáž 2
Praktická demontáž 2
Praktická demontáž 2
Praktická demontáž 2
Praktická demontáž 2
Praktická demontáž 2

Na zadní straně nástěnných hodin najdete tři západky. Dva horní v poloze číslic 2 a 10 lze odemknout a otevřít krycí sklo Při otevřeném skle je možné sundat hodinové ručičky. Jejich polohu není nutné označovat. Vždy je vrátíme do polohy 12:00:00 Když jsou ručičky hodin vypnuté, můžeme hodinový pohyb odpojit. Má dvě západky (v poloze 6 a 12). Doporučuje se pohyb vytáhnout co nejrovněji, jinak se může pohyb zaseknout.

Krok 5: Praktická demontáž 3

Praktická demontáž 3
Praktická demontáž 3
Praktická demontáž 3
Praktická demontáž 3
Praktická demontáž 3
Praktická demontáž 3

Pak je možné otevřít pohyb. Má tři západky. dva na pozicích 3 a 9 hodin a poté třetí na 6 hodin. Po otevření stačí vyjmout průhledné ozubené kolo mezi motorem a převodovkou a poté pastorek, který je spojen s rotorem motoru.

Krok 6: Praktická demontáž 4

Praktická demontáž 4
Praktická demontáž 4
Praktická demontáž 4
Praktická demontáž 4

Motorová cívka a stator drží pouze na jedné západce (po 12 hodinách). Nedrží se na žádných napájecích lištách, na napájecí kolejnice se vztahuje pouze stisknutím, vyjmutí pak není složité. Cívka je opatřena závitem na statoru bez držáku. Lze jej snadno vzlétnout.

Krok 7: Praktická demontáž 5

Praktická demontáž 5
Praktická demontáž 5
Praktická demontáž 5
Praktická demontáž 5
Praktická demontáž 5
Praktická demontáž 5
Praktická demontáž 5
Praktická demontáž 5

Na spodní straně cívky je nalepena malá deska s plošnými spoji, která obsahuje jeden CoB (Chip on Board) se šesti výstupy. Dva jsou pro napájení a jsou zakončeny na větších čtvercových podložkách na palubě pro použití napájecích lišt. dva výstupy jsou připojeny ke krystalu. Mimochodem, krystal má 32768 Hz a lze jej odletovat pro budoucí použití. Poslední dva výstupy jsou připojeny k cívce. Považoval jsem za bezpečnější odříznout stopy na palubě a pájet dráty ke stávajícím podložkám na palubě. Když jsem se pokusil rozpojit cívku a připojit vodič přímo k cívce, vždy jsem odtrhl cívkový drát nebo poškodil cívku. Pájení nových vodičů na desku je jednou z možností. Řekněme, že primitivnější. Kreativnější metodou je připojit cívku k napájecím podložkám a ponechat napájecí lišty pro připojení k bateriovému boxu. Poté lze elektroniku vložit do bateriového boxu.

Krok 8: Praktická demontáž 6

Praktická demontáž 6
Praktická demontáž 6
Praktická demontáž 6
Praktická demontáž 6

Kvalitu pájení lze zkontrolovat pomocí ohmmetru. Cívka má odpor asi 200Ω. Jakmile je vše v pořádku, sestavíme nástěnné hodiny zpět. Obvykle vyhazuji napájecí lišty, pak mám více místa pro své nové dráty. Před vyhozením kolejnic jsou pořízeny fotografie. Když jsou odstraněny, zapomenu pořídit další fotografii.

Když dokončuji pohyb, testuji ho pomocí druhé ručičky. Přiložil jsem ruku k její nápravě a připojil trochu energie (použil jsem knoflíkovou baterii CR2032, ale lze použít i AA 1, 5V). Jednoduše připojte napájení v jedné polaritě k vodičům a pak znovu s opačnou polaritou. Hodiny musí tikat a ručička se musí pohybovat o jednu sekundu. Jakmile budete mít problémy s dokončením pohybu zpět, protože dráty zaujímají více místa, jednoduše otočte cívkou a dejte ji na opačnou stranu. Jakmile nepoužíváte napájecí kolejnice, nemá to žádný vliv na pohyb hodin. Jak již bylo uvedeno, při vkládání rukou zpět je musíte nastavit tak, aby ukazovaly na 12:00:00. Je to mít správnou vzdálenost mezi hodinovou a minutovou ručičkou.

Krok 9: Příklady použití nástěnných hodin

Většina jednoduchých příkladů se zaměřením na zobrazení času, ale s různými úpravami. Velmi oblíbená je modifikace s názvem „Vetinari Clock“. Ukazující na knihu Terryho Pratchetta, kde má lord Vetinari ve své čekárně nástěnné hodiny, které tikají nepravidelně. Tato nesrovnalost znepokojila čekající lidi. Druhou populární aplikací jsou „sinusové hodiny“. Znamená to hodiny, které zrychlují a zpomalují na základě sinusové křivky, pak mají lidé pocit, že plují na vlnách. jeden z mých oblíbených je „čas oběda“. Tato modifikace znamená, že hodiny jdou o něco rychleji v čase mezi 11 až 12 hodinami (0,8 s), aby obědvali dříve; a o něco pomaleji během oběda mezi 12 až 13 hodinami (1, 2 s), abyste měli o něco více času na oběd a dohnali ztracený čas.

Pro většinu těchto úprav stačí použít nejjednodušší procesor s pracovní frekvencí 32768 Hz. Tato frekvence je velmi oblíbená u výrobců hodin, protože s touto frekvencí lze snadno vyrobit krystal a je snadné ji binárně rozdělit na celé sekundy. Použití této frekvence pro procesor má dvě výhody: můžeme snadno znovu cyklovat krystal z hodin; a procesory mají na této frekvenci obvykle minimální spotřebu. Spotřeba je něco, co tak často řešíme při hraní se nástěnnými hodinami. Zvláště, aby bylo možné napájet hodiny z nejmenší baterie tak dlouho, jak je to možné. Jak již bylo uvedeno, cívka má odpor 200Ω a je určena pro cca 1, 5V (jedna baterie AA). Nejlevnější procesory obvykle pracují s malým větším napětím, ale se dvěma bateriemi (3 V), které fungují všechny. Jedním z nejlevnějších procesorů na našem trhu je Microchip PIC12F629 nebo velmi oblíbené moduly Arduino. Poté si ukážeme, jak používat obě platformy.

Krok 10: Příklady použití nástěnných hodin PIC

Nástěnné hodiny Příklady použití PIC
Nástěnné hodiny Příklady použití PIC
Nástěnné hodiny Příklady použití PIC
Nástěnné hodiny Příklady použití PIC

Procesor PIC12F629 má provozní napětí 2,0 V - 5,5 V. Postačí použití dvou „mignonových baterií“= AA článků (cca 3V) nebo dvou AA dobíjecích akumulátorů AA (cca 2, 4V). Ale u hodinové cívky je to dvakrát více, než bylo navrženo. Minimálně nežádoucí zvýšení spotřeby. Pak je dobré přidat na minimální sérii odpor, který vytvoří vhodný dělič napětí. Hodnota odporu musí být přibližně 120 Ω pro výkon akumulátoru nebo 200 Ω pro výkon baterie vypočítaná pro čistě odporovou zátěž. V praxi může být hodnota o něco menší asi 100 Ω. Teoreticky stačí jeden odpor v sérii s cívkou. Stále mám z nějakého důvodu tendenci vnímat motor jako symetrické zařízení a poté dávat odpor s polovičním odporem (47 Ω nebo 51 Ω) vedle každé svorky cívky. Některé konstrukce přidávají ochranné diody, aby se při odpojení cívky vyhnuly zápornému napětí procesoru. Na druhé straně výstupní výkon procesorových výstupů stačí k připojení cívky přímo k procesoru bez zesilovače. Kompletní schéma pro procesor PIC12F629 bude vypadat jako na obrázku 15. Toto schéma platí pro hodinky bez dalších ovládacích prvků. Stále máme k dispozici jeden vstupní/výstupní kolík GP0 a jeden vstupní pouze GP3.

Krok 11: Příklady použití nástěnných hodin Arduino

Příklady použití nástěnných hodin Arduino
Příklady použití nástěnných hodin Arduino
Příklady použití nástěnných hodin Arduino
Příklady použití nástěnných hodin Arduino
Příklady použití nástěnných hodin Arduino
Příklady použití nástěnných hodin Arduino

Jakmile bychom chtěli použít Arduino, můžeme se podívat do datasheetu pro procesor ATmega328. Procesor má pracovní napětí definované jako 1,8 V - 5,5 V pro frekvenci až 4 MHz a 2,7 V - 5, 5 V pro frekvenci až 10 MHz. Musíme si dát pozor na jeden nedostatek desek Arduino. Nedostatkem je přítomnost regulátoru napětí na palubě. Velké množství regulátorů napětí má problémy s reverzním napětím. Tento problém je široce a nejlépe popsán pro regulátor 7805. Pro naše potřeby musíme použít desku označenou jako 3V3 (určená pro napájení 3,3 V), zejména proto, že tato deska obsahuje krystal 8 MHz a může být napájena od 2, 7 V (to znamená dvě AA baterie). Pak použitý stabilizátor nebude 7805, ale jeho ekvivalent 3,3 V. Jakmile bychom chtěli napájet desku bez použití stabilizátoru, máme dvě možnosti. První možností je připojit napětí k pinům „RAW“(nebo „Vin“) a +3V3 (nebo Vcc) dohromady a věřte, že stabilizátor použitý na vaší desce nemá ochranu proti podpětí. Druhá možnost je jednoduše odstranit stabilizátor. K tomu je dobré použít Arduino Pro Mini, podle schématu reference. Toto schéma obsahuje propojku SJ1 (na obrázku 16 v červeném kruhu) určenou k odpojení vnitřního stabilizátoru. Bohužel většina klonů tento propojku neobsahuje.

Další výhodou Arduino Pro Mini je, že neobsahuje žádné další převodníky, které mohou při normálním běhu spotřebovávat elektřinu (to je při programování malá komplikace). Desky Arduino jsou vybaveny stále pohodlnějšími procesory, které nemají dostatek výkonu pro jeden výstup. Pak je dobré přidat na minimum malý výstupní zesilovač pomocí dvojice tranzistorů. Základní schéma napájení z baterie bude vypadat jako na obrázku.

Protože prostředí Arduino (jazyk „Wiring“) má atributy moderních operačních systémů (pak mají problémy s přesným časováním), je dobré přemýšlet o použití externího zdroje hodin pro Timer0 nebo Timer1. To znamená vstupy T0 a T1, jsou označeny jako 4 (T0) a 4 (T1). Jednoduchý oscilátor využívající krystal z nástěnných hodin lze připojit k libovolnému z těchto vstupů. Záleží na tom, jak přesné hodiny byste chtěli vyrobit. Obrázek 18 ukazuje tři základní možnosti. První schéma je velmi ekonomické ve smyslu použitých komponent. Poskytuje více méně trojúhelníkového výstupu, ale v plném rozsahu napětí je pak vhodný pro napájení vstupů CMOS. Druhé schéma využívající měniče, mohou být CMOS 4096 nebo TTL 74HC04. Schémata jsou si navzájem méně podobná, jsou v základní formě. Třetí schéma pomocí čipu CMOS 4060, které umožňuje přímé připojení krystalu (ekvivalent 74HC4060 pomocí stejného schématu, ale různých hodnot odporů). Výhodou tohoto obvodu je, že obsahuje 14bitový dělič, poté je možné rozhodnout, jaká frekvence se použije jako vstup časovače.

Výstup tohoto obvodu lze použít pro vstup T0 (pin 4 s označením Arduino) a poté použít Timer0 s externím vstupem. To není tak praktické, protože Timer0 se používá pro funkce jako delay (), milis () nebo micros (). Druhá možnost je připojit jej ke vstupu T1 (pin 5 s označením Arduino) a použít Timer1 s dalším vstupem. Další možností je připojit jej k přerušení vstupu INT0 (pin 2 v označení Arduino) nebo INT1 (pin 3) a použít funkci attachInterrupt () a funkci registru, která se periodicky nazývá. Zde je užitečný dělič nabízený čipy 4060, pak volání nesmí být tak často.

Krok 12: Rychlé hodiny pro hardware modelu Railroaders

Rychlé hodiny pro model železnice Hardware
Rychlé hodiny pro model železnice Hardware
Rychlé hodiny pro model železnice Hardware
Rychlé hodiny pro model železnice Hardware
Rychlé hodiny pro hardware železničního modelu
Rychlé hodiny pro hardware železničního modelu

Pro zajímavost uvedu jednu užitečnou schématu. Potřebuji připojit více nástěnných hodin ke společnému ovládání. Nástěnné hodiny jsou daleko od sebe a navíc je charakteristika prostředí spíše průmyslová s větším elektromagnetickým šumem. Pak jsem se vrátil zpět ke starým systémům autobusů využívajících ke komunikaci větší napětí. Samozřejmě jsem neřešil práci na baterii, ale použil jsem stabilizovaný napájecí zdroj 12V. Zesílím signál z procesoru pomocí ovladače TC4427 (má dobrou dostupnost a dobrou cenu). Pak nesu signál 12V s možným zatížením až 0,5A. K podřízeným hodinám jsem přidal jednoduché děliče odporu (na obrázku 18 označené jako R101 a R102; Motor opět chápu jako symetrický, to není nutné). Chtěl bych zvýšit redukci šumu přenášením většího proudu, poté jsem použil dva odpory 100Ω. Pro omezení napětí na cívce motoru je zapojen můstkový usměrňovač B101 paralelně s cívkou. Most má zkratovanou stranu DC, pak představuje dva páry antiparalelních diod. Dvě diody znamenají pokles napětí o 1,4 V, což je velmi blízko normálnímu pracovnímu napětí pro motor. Potřebujeme antiparalelní, protože napájení se střídá v jedné a opačné polaritě. Celkový proud použitý jedním podřízeným nástěnným hodinem je pak (12V - 1,5V) / (100Ω + 100Ω) = 53mA. To je přijatelná hodnota, aby se zabránilo hluku.

Zde jsou dva přepínače na schématech, které slouží k ovládání dalších funkcí nástěnných hodin (multiplikátor rychlosti v případě modelových železničářů). Dceřiné hodiny mají ještě jednu zajímavou funkci. Připojují se pomocí dvou 4mm banánkových konektorů. Na zdi drží nástěnné hodiny. Je to užitečné zejména tehdy, když byste chtěli nastavit nějaký konkrétní čas, než začnete používat, můžete je jednoduše odpojit a poté znovu zapojit (dřevěný blok je připevněn ke zdi). Pokud byste chtěli vytvořit „Big Ben“, potřebujete dřevěnou krabici se čtyřmi páry zásuvek. Tuto schránku lze použít jako úložiště hodin, pokud se nepoužívají.

Krok 13: Software

Z hlediska softwaru je situace relativně jednoduchá. Popišme realizaci na čipu PIC12F629 pomocí krystalu 32768 Hz (recyklováno z původních hodin). Procesor má jeden instrukční cyklus dlouhý čtyři cykly oscilátoru. Jakmile použijeme interní zdroj hodin pro jakýkoli časovač, znamená to instrukční cykly (nazývané fosc/4). K dispozici máme například Timer0. Vstupní frekvence časovače bude 32768/4 = 8192 Hz. Časovač je osmibitový (256 kroků) a necháváme jej přetékat bez jakýchkoli překážek. Zaměříme se pouze na událost přetečení časovače. Událost proběhne s frekvencí 8192/256 = 32 Hz. Pak, když bychom chtěli mít pulsy jednu sekundu, musíme vytvořit puls každých 32 přetečení Timer0. Jeden bychom chtěli mít hodiny běžící například čtyřikrát rychleji, pak potřebujeme 32 /4 = 8 přetečení pro puls. Pro případy, které nás zajímají navrhnout hodiny s nepravidelnými, ale přesnými, musíme mít součet přetečení pro několik impulsů stejný jako 32 × počet pulzů. Pak se můžeme potkat v matici nepravidelných hodin takto: [20, 40, 30, 38]. Pak je součet 128, což je stejné jako 32 × 4. Například pro sinusové hodiny [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). Pro naše hodiny použijeme dva volné vstupy jako definici děliče pro rychlý běh. Rozdělovače desítek pro rychlosti jsou uloženy v paměti EEPROM. Hlavní část programu může vypadat takto:

Hlavní smyčka:

btfss INTCON, T0IF přejít na MainLoop; počkejte na časovač0 bcf INTCON, T0IF včetně CLKCNT, f btfss SW_STOP; pokud je přepínač STOP aktivní, clrf CLKCNT; čisté počítadlo pokaždé btfsc SW_FAST; pokud není stisknuto rychlé tlačítko, přejděte na NormalTime; vypočítat pouze normální čas movf FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; pokud jsou FCLK a CLKCNT stejné, přejděte na SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; bity 7, 6, 5 btfsc STAV, Z; pokud CLKCNT> = 32 přejděte na MainLoop, přejděte na SendPulse

Programujte pomocí funkce SendPulse, která sama vytváří motorový impuls. Funkce počítá lichý/sudý puls a na základě toho vytváří puls na jednom nebo druhém výstupu. Funkce využívající konstantní ENERGISE_TIME. Tato konstantní definovaná doba během toho je motorová cívka napájena. Má to tedy velký dopad na spotřebu. Jakmile je motor tak malý, motor není schopen dokončit krok a někdy se stane, že se vteřina ztratí (obvykle když se sekundová ručička obejde kolem čísla 9, když jde „nahoru“).

SendPulse:

včetně POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: bsf OUT_A goto SendPulseE SendPulseB: bsf OUT_B; goto SendPulseE SendPulseE bff OUTF

Úplné zdrojové kódy lze stáhnout na konci stránky www.fucik.name. Situace s Arduinem je trochu komplikovaná, protože Arduino používající vyšší programovací jazyk a vlastní krystal 8MHz, musíme si dávat pozor, jaké funkce používáme. Použití klasického zpoždění () je málo riskantní (počítá čas od spuštění funkce). Lepší výsledky budou mít použití knihoven, jako je Timer1. Mnoho projektů Arduino počítá s externími zařízeními RTC, jako jsou PCF8563, DS1302 atd.

Krok 14: Kuriozity

Tento systém využití motoru nástěnných hodin je chápán jako velmi základní. Existuje mnoho vylepšení. Například na základě měření zpětného EMF (elektrická energie vyrobená pohybem magnetu rotoru). Pak je elektronika schopná rozpoznat, jakmile jsou ruce v pohybu, a pokud ne, pak rychle opakovat puls nebo aktualizovat hodnotu „ENERGISE_TIME“. užitečnější zvědavost je „obrácený krok“. Podle popisu to vypadá, že motor je určen pouze pro jeden směr otáčení a nelze jej změnit. Jak je však uvedeno v přiložených videích, změna směru je možná. Princip je jednoduchý. Vraťme se k principu motoru. Představte si, že motor je ve stabilním stavu druhého kroku (obrázek 3). Jakmile připojíme napětí, jak je uvedeno v prvním kroku (obrázek 2), motor logicky zahájí otáčení v opačném směru. Jakmile bude impuls dostatečně krátký a skončí mírně před zvýšením stabilního stavu motoru, bude logicky trochu blikat. Jakmile v době tohoto blikání dorazí další napěťový impuls, jak je popsáno ve třetím stavu (obrázek 4), pak motor bude pokračovat ve směru, jak začal, to znamená v opačném směru. Malým problémem je, jak určit dobu trvání prvního impulsu a jednou vytvořit určitou vzdálenost mezi prvním a druhým pulsem. A nejhorší je, že tyto konstanty se liší pro každý hodinový pohyb a někdy se liší pro případy, že ručičky jdou „dolů“(kolem čísla 3) nebo nahoru (kolem čísla 9) a také v neutrálních polohách (kolem čísel 12 a 6). Pro případ prezentovaný na videu jsem použil hodnoty a algoritmus, jak jsou uvedeny v následujícím kódu:

#define OUT_A_SET 0x02; config pro nastavení set b 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 goto SendPulseB SendPulseA: movlw REVERT_TIME movwf ECNT movlw OUT_B začněte pulsem B movwf GPIO RevPulseLoopA:; krátká doba čekání decfsz ECNT, f goto RevPulseLoopA movlw OUT_A_SET; pak pulz A movwf GPIO přejít na SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; začít pulsem A movwf GPIO RevPulseLoopB:; krátká doba čekání decfsz ECNT, f goto RevPulseLoopB movlw OUT_B_SET; pak puls 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

Použití reverzních kroků zvyšuje možnost hraní s nástěnnými hodinami. Někdy můžeme najít nástěnné hodiny, které mají plynulý pohyb z druhé ruky. Těch hodin se nebojíme, používají jednoduchý trik. Samotný motor je stejný jako zde popsaný motor, pouze je větší převodový poměr (obvykle o 8: 1 více) a motor se točí rychleji (obvykle 8x rychleji), což má za následek plynulý pohyb. Jakmile se rozhodnete tyto nástěnné hodiny upravit, nezapomeňte vypočítat požadovaný multiplikátor.

Doporučuje: