Časovač pro ovládání nastavení expozice UV záření. Jednoduchý časovač na PIC16F628A

Jedná se o obvod jednoduchého časovače postaveného na mikrokontroléru PIC16F628A a indikátoru LCD 1602 Nápad na časovač byl vypůjčen z portugalského webu o rádiové elektronice.

Mikrokontrolér PIC16F628A v tomto obvodu je taktován z interního oscilátoru, což je pro tento případ poměrně přesné, ale protože piny 15 a 16 zůstávají neobsazeny, lze pro větší přesnost použít externí quartzový rezonátor.

Časovač na PIC16F628A. Popis práce

Jak již bylo zmíněno dříve, tento projekt je založen na existujícím projektu, ale ve skutečnosti se oba návrhy od sebe liší, a proto byl kód téměř kompletně přepsán. Časovač má tři ovládací tlačítka: „START/STOP“, „MIN“ a „SEC“

  1. “START/STOP” - pro spuštění a pozastavení časovače.
  2. „MIN“ - pro nastavení minut. Počet minut je nastaven od 0 do 99 a pak vše začíná znovu od 0.
  3. "SEC" - pro nastavení sekund. Druhá je také nastavena od 0 do 59 a pak znovu od 0.

Současným stisknutím „MIN“ a „SEC“ se časovač během provozu resetuje.

Když časovač dosáhne 00:00, zvukový signál(3 krátká a 1 dlouhé pípnutí) a rozsvítí se LED HL1. Jako zvukový emitor se používá bzučák elektromagnetického typu. Poté, když stisknete jedno z tlačítek, časovač se resetuje a LED HL1 zhasne.

Když časovač odpočítává, kolík 13 (RB7) je vysoká úroveň a když se časovač zastaví, objeví se nízká logická úroveň. Tento závěr lze použít k ovládání externích pohonů. Časovač je napájen ze stabilizovaného zdroje.

Jumper J1 je určen ke kalibraci časovače. Když se časovač zavře, přejde do režimu nastavení. Pomocí tlačítek "MIN" a "SEC" můžete zvýšit/snížit hodnotu vnitřního parametru, což umožňuje zpomalit nebo zrychlit časovač. Tato hodnota je uložena v EEPROM. Pokud v tomto režimu stisknete tlačítko START/STOP, tento parametr se resetuje na výchozí hodnotu.

Kód je napsán a zkompilován pomocí mikroC PRO pro PIC.

Parametry projektu:

  • Generátor: INTOSC
  • Frekvence oscilátoru: 4 MHz
  • Hlídací pes: zakázán
  • Časovač zapnutí: povolen
  • RA5/MCLR/VPP: zakázáno
  • Brown-out: povoleno

Fotka hotového časovače.

Nedávno jsem se rozhodl zvládnout technologii výroby fotoodporových desek a potřeboval jsem k tomu UV lampu s časovačem. Samozřejmě by bylo možné najít hotový projekt a připájet ho, ale nechtěl jsem jen vyrobit časovač, ale získat celou zásobu znalostí a zkušeností. Kritéria pro časovač byla: indikace času, uživatelsky přívětivé rozhraní a jednoduchost. Jako základ jsem se rozhodl použít mikrokontrolér a to Attiny 13. Seznam všech potřebných součástek k vytvoření časovače si můžete prohlédnout v tabulce pod tímto článkem. Vzhledem k tomu, že Attiny 13 má pouze 8 nohou, z toho 5 I/O portů, bylo rozhodnuto pro zobrazení času na indikátorech použít čipy pro posun registru (74HC595). Potřebujeme také zapojit ovládací tlačítka co nejkompaktněji a k ​​vyřešení tohoto problému použijeme jedno zajímavé řešení - použijeme ADC mikrokontroléru (podstata řešení je popsána níže). V důsledku toho se objeví následující schéma:

Možná nerozumíte zapojení tlačítek, ale řeknu vám: pomocí napěťových děličů (odporů R14...R16) se při sepnutém konkrétním tlačítku (S1, S2 nebo S3) přivádí určitá úroveň napětí do vstup mikrokontroléru, který je rozpoznán ADC a v závislosti na jeho úrovni mikrokontrolér pochopí, které tlačítko jsme stiskli. R12 a C1 jsou RC filtry šumu, protože při stisknutí tlačítek dochází k odskoku kontaktu a mikrokontrolér může chybně vnímat více než jedno stisknutí. Rezistor R13 je potřeba k vytažení vstupu ADC při stisku tlačítek, aby MK nevnímal rušení.

Nyní o indikátoru, který má mimochodem společnou katodu. Jak vidíte, mikrokontrolér řídí čipy posuvu registru. Posílá sériový kód čísel podél dvou větví a hodinovou frekvenci na třetí. Čip posunu registru U3 je zodpovědný za číslici indikátoru, na kterém je číslice zobrazena, a U2 je zodpovědný za zadávání samotných číslic do číslic. Čísla se zobrazují postupně. To znamená: definovali jsme mikroobvod U3 pro výstup čísla na 1. číslici indikátoru a registr U2 v tuto chvíli dodává kód samotné číslice do zapnuté číslice indikátoru, po kterém se mikroobvod U3 otočí na 2. číslici indikátoru a mikroobvod U2 zobrazí další číslici v čísle výstupu. Čísla zbývajících číslic se zobrazí podobným způsobem. Vzhledem k tomu, že frekvence řazení přes číslice je poměrně vysoká, nakonec uvidíme jediné číslo, ať už 4místné, nebo například 2místné.

Ovládejte UV záření LED matice uděláme s pomocí tranzistor s efektem pole. První, na který jsem narazil, byl IRF445H v pouzdře SOIC8 připájený ze staré desky grafické karty. Můžete použít jakýkoli jiný tranzistor, hlavní je, že může spínat o něco více než 3 ampéry.

Vzhledem k tomu, že LED jsou napájeny napětím cca 3,3V, budeme muset přizpůsobit samostatný stabilizátor s proudem větším než 3A (protože máme 100 LED). Jako takový stabilizátor jsem použil DC-DC step-down modul MP1584 (konvenční lineární stabilizátory jako L7833 nejsou vhodné kvůli jejich neschopnosti poskytnout proud větší než 3A). Vzhledem k tomu, že náš modul je nastavitelný, musíme trimrový rezistor nastavit na požadovanou napěťovou úroveň a tento rezistor pak vyměnit za konstantní s podobným odporem. V mém případě jsem nainstaloval dva odpory zapojené do série: 5,1 kOhm a 22 kOhm:

Rezistor R1 funguje jako pull-up pro pin RESET, jinak náš program náhodně spadne při každém rušení. Rezistory R4...R11 jsou potřebné k omezení proudu procházejícího indikačními LED. No, zbytek diagramu by měl být jasný.

Deska plošných spojů a obvod byly rozmístěny v . Musel jsem použít 2stranné PCB pomocí přechodů mezi vrstvami (jak je udělat později, ukážu vám)

Pokud jde o programový kód, pak je to prostě plné komentářů, takže nebudu mít čas na vysvětlování.

Zdá se, že s teorií je vše v pořádku.

Nyní přejdeme k praxi:

Nejprve nahrajeme firmware do našeho mikrokontroléru. Budu používat program AVRDudeProg. Všimněte si, že není potřeba konfigurovat pojistkové bity (stačí je nastavit na výchozí). Mimochodem, pokud máte zájem, nahrávám kód pomocí levného čínského programátoru AVRASP ve spojení s domácí ladicí deskou:

Po flashnutí firmwaru vyrobíme základ našeho budoucího zařízení - desku plošných spojů, nebo spíše desky, protože budou umístěny na sebe, aby se ušetřilo místo.

vyrobím podle . Vytiskneme a připravíme textolit (odstraním oxidy na medu pomocí kancelářské gumy) - aby do sebe 2 vrstvy správně seděly - vyvrtáme zkušební otvory - zažehlíme - za mokra - opatrně vygumujeme papír - zkontrolujeme, zda nejsou prasklé nebo slepené stopy - pokud žádné nenajdeme - začneme leptat desku (budu leptat v chloridu železitém) - připraveno - znovu zkontrolujte desku, zda nemá vady - poté vyvrtejte otvory (všimněte si, že průměr některých otvorů je jiný - otvory pro mezivrstvové prokovy - 0,4 mm, zbytek děr - 0,6 a 1,0 mm) - vynikající - na přání lze desku pocínovat do růžové slitiny - takto déle vydrží. Nyní přejdeme k přechodům mezi vrstvami. Tyto přechody provedeme následovně: Nejprve vyvrtáme dírku, poté vezmeme měděný drátek (drátek) o průměru rovném průměru vyvrtaného otvoru a vložíme ho tam tak, aby odstávaly hroty drátu něco málo z desky:

Po zamáčknutí všech mezivrstvových propojek je vhodné zkontrolovat multimetrem (testovačem kontinuity), zda je spojení mezi kontakty obou vrstev, a také se vyplatí zkontrolovat, zda není nikde přerušena žádná dráha a nejsou zbytečné propojky. vytvořený. Nejpohodlnější je to udělat pod reflektorem s nízkou spotřebou energie:

Na přání mohou být místa mezivrstvových prokovů zesílena pocínovanými kontaktními podložkami na obou stranách desky. Rozhodl jsem se trochu pobláznit a desku pokrýt pájecí maskou. Moc se mi to nepovedlo, ale moc se mi to nechce opakovat :)

Jak jsem již uvedl dříve, desky budou umístěny nad sebou. Budou zajištěny pomocí kovových stojanů. Pro elektrický kontakt mezi deskami (napájení pro LED) - připravte si propojovací vodič s konektorem a odpovídající zástrčku pro desku (můžete samozřejmě jen připájet):

Naše desky jsou připraveny, takže přejděme přímo k pájení součástek. Radím vám začít s malými a těžko dostupnými prvky. SMD mikroobvody lze pájet buď páječkou, nebo fénem. Osobně preferuji páječku. Konečný výsledek byl něco takového:

Jak můžete vidět na poslední fotografii, několik LED se rozhodlo nesvítí, ale to nehraje zvláštní roli, protože všechny LED jsou zapojeny paralelně. Mimochodem, hodnota omezovacích rezistorů (je jich 100 na každou LED) je 100-200 Ohmů.

A nakonec sestavme naše zařízení do pouzdra, pro které použiji krabičku na jídlo. Zde je konečný design:

Jak vidíte, zajistil jsem i chlazení UV matrice, protože nasvícení pájecí masky je dlouhý proces (trvá asi hodinu, možná i déle), při kterém se LED diody docela dobře zahřívají.

Nyní o napájení: bylo napájeno zdrojem 12V 1A připojeným k napájecímu konektoru (průměr 6 mm) na desce. Je také možné připojit napájení na svorkovnici vpravo od konektoru.

Po připojení napájení začne zařízení okamžitě pracovat:

Zdá se, že vše vysvětlil. Pokud máte nějaké dotazy, pište do komentářů.

Seznam radioprvků

Označení Typ Označení Množství PoznámkaProdejnaMůj poznámkový blok
C1 Kondenzátor0,01 uF1 SMD_0603 Do poznámkového bloku
C2 Kondenzátor10 uF1 SMD_1206 Do poznámkového bloku
C3 Kondenzátor10 uF1 SMD_1206 Do poznámkového bloku
HG1 Světelná diodaFYQ-5641-AG1 Sedmisegmentový indikátor se společnou katodou (0,56") Do poznámkového bloku
Q1 TranzistorIRF445H1 SOIC_8 Do poznámkového bloku
R1, R3 Rezistor

10 kOhm

2 SMD_0603 Do poznámkového bloku
R2 Rezistor

3 kOhm

1 SMD_0603 Do poznámkového bloku
R4-R11 Rezistor

100 Ohmů

8 SMD_0603 Do poznámkového bloku
R12, R14, R15 Rezistor

2 kOhm

4 SMD_0603 Do poznámkového bloku
R16 Rezistor

Funkce zobrazení tohoto zařízení je, že se používá samostatný posuvný registr ( 74HC4094) pro každý sedmisegmentový ukazatel. Sériový výstup z prvního registru lze připojit ke vstupu druhého a tak dále. K naplnění všech indikátorů je třeba odeslat speciální kombinaci sériových dat.

Výhodou tohoto přístupu je, že segmenty nemusíte neustále aktualizovat, vlastně stačí jen vyplnit údaje v registrech a je to. To způsobí, že displej bude svítit jasněji, eliminuje se blikání a uvolní se zdroje mikrokontroléru, které mohou být k dispozici pro jinou, důležitější práci. K ovládání tohoto displeje jsou navíc potřeba pouze tři datové linky, což je velmi užitečné, pokud nemáme dostatek I/O portů. Nevýhodou tohoto přístupu je, že segmenty spotřebovávají více proudu než v multiplexním režimu. Na schématu je dále vidět piezo bzučák, stabilizátor napětí (220V -> 5V) a relé.

Segmenty jsou zapojeny chaoticky a je to proto, že je jednodušší takto vést plošný spoj. Segmenty můžete propojit, jak chcete, ale v "tabulce segmentů" v zdrojový kód musí být provedeny příslušné změny.

Správa zařízení:
- Dvě tlačítka slouží k nastavení času odpočítávání v krocích po 10 sekundách;
- Třetí tlačítko (start/stop) pro spuštění a zastavení;
- Když odpočítávání skončí, časovač vypne zátěž a zapne zvukový signál;
- První dvě tlačítka jsou během odpočítávání deaktivována;
- Poslední věc nastavit čas uloženy v EEPROM. EEPROM uloží nastavení po vypnutí napájení a po jeho zapnutí časovač zobrazí dříve uložený čas;
- Mikrokontrolér přejde do režimu spánku po dvou minutách nečinnosti a spotřeba proudu se sníží na méně než 5 mA;
- Stisknutím tlačítka start/stop se probudí.

Nastavení pojistkových bitů mikrokontroléru

Archiv pro článek "Časovač pro expozici fotorezistu na Attiny2313"
Popis: Zdrojový kód (Bascom), soubor firmwaru mikrokontroléru, projekt Proteus, desky plošných spojů Eagle
Velikost souboru: 298,48 kB Počet stažení: 1 068

Toto zařízení se zrodilo „rychle“ po několika zničených deskách s fotorezistem. Zařízení je velmi jednoduché - je to časovač, který umožňuje zapnout ultrafialové lampy na dobu od 5 sekund do 9 minut 55 sekund (moje typická doba expozice se čtyřmi lampami Vito 8W je jedna a půl minuty). S maskou jsem ještě neexperimentovala, ale doufám, že bude mít dost času.
Práce s časovačem začíná stisknutím tlačítka SET (vstup do instalačního režimu). Poté pomocí tlačítek +/- nastavte požadovaný čas. Pokud nic nestisknete déle než 5 sekund, zařízení to vnímá jako konec vstupu a uloží nastavený čas do energeticky nezávislé paměti. V tomto případě se na obrazovce zobrazí odpovídající znak. Zařízení poté přejde do pohotovostního režimu a zobrazí nastavený čas ve formátu „minuty.sekundy“.
Když stisknete tlačítko START, relé se aktivuje a kontrolky se rozsvítí. Začíná odpočítávání. Proces lze sledovat na obrazovce. Na konci nastavené doby časovač automaticky vypne lampy a na obrazovce zobrazí pomlčky - znamení úspěšného dokončení cyklu. Z tohoto stavu se vystoupí stisknutím libovolného tlačítka.
V archivu přikládám desku a firmware pro řadič. Indikátor je obyčejný, LED se společnou katodou. Deska spotřebovává asi 15 mA v pohotovostním režimu a asi 60 mA, když je relé zapnuto (v závislosti na použitém relé).
Pro napájení lamp můžete použít standardní tlumivky se startéry, ale já jsem použil desky z energeticky úsporných žárovek s nízkým výkonem. I když nákup nových "ekonomů" je levnější než nákup tlumivek. A zabírají méně místa a lampy se spustí téměř okamžitě.
Korpus byl vyroben ze zbytků nábytkových dřevotřískových desek a uvnitř byla jako reflektor použita obyčejná potravinářská fólie. Jako držáky lamp jsem použil držáky na plastové trubky. Deska elektroniky je napájena transformátorem s nízkým výkonem (z čínského rádia).

Vypadá to takto:

Sestavené zařízení vypadá velmi jednoduše:

A jak vlastně vypadá vnitřek lamp:

Kromě toho firmware desky a řadiče:

Firmware s nastavením diskrétního časovače na 5 sekund.

Sdílet s:
Autor - Shabarov Andrey aka htscooter Publikováno 25. června 2009. Když jsem se podíval na rozlehlost internetu na deskách plošných spojů vyrobených pomocí fotorezistu, rozhodl jsem se to také vyzkoušet. Přirozeně se okamžitě objevilo několik problémů. Problémy jako nedostatek fotorezistu a UV lampy byly vyřešeny na trhu a v obchodě. Samozřejmě musíte utratit spoustu peněz, ale co můžete dělat - pokud si stále můžete vyrobit fotorezist sami, nemůžete vyrobit UV lampu. No, konečně, všechno je tam, můžeme začít. A zde vyvstala otázka volby rychlosti závěrky osvětlení. Ve fázi testovacích proužků se s tím úspěšně vyrovnaly hodinky se sekundovou ručičkou. Ale pro neustálé používání to nevyhovovalo mně, velmi líné kočce. Byly vytvořeny technické specifikace a začalo hledání a analýza existujících schémat (no, jsem líný - dokážu je vymyslet sám). Hledání nepřineslo žádné výsledky, nejsem jen líná kočka, ale také vybíravá, takže jsem si všechno musel udělat sám.

Podmínky jsou poměrně jednoduché, ale přizpůsobené potřebám technologie fotorezistu:
- expoziční limity 00m 05s -99m 55s;
- ovládání obou lamp a kompresoru pro vakuové upínání;
- světelná a zvuková indikace provozních režimů;
- Snadná správa;
- dostupné nebo levné komponenty.

Na základě technických specifikací bylo nakresleno přibližné schéma a začal vývoj zařízení na prkénku, jehož finální schéma je na obrázku níže: Ve skutečnosti je vše velmi jednoduché, ATMega8 nebo ATMega8L jako ovládací prvek, několik tlačítka, čtyřmístný ukazatel v dynamickém zobrazení a hrstkou rezistorů a tranzistorů. Jako výkonové prvky jsem použil triaky zapojené přes optosimistory. To je samozřejmě čistě osobní otázka, měl jsem je a vznesl jsem je. Tam můžete také použít relé, obecně - co tam je. Zapínání optosimistorů dle datasheetu, žádné ozdůbky. Jediná věc je, že na přání můžete vyloučit RC obvod (39 Ohm + 0,1 µF), jeho absence není fatální. Napájení obvodu je také co nejjednodušší, trans, diodový můstek, elektrolyty, napájení 5 voltů. Pullup na tlačítkách je také volitelný, nožičky portu jsou vytaženy na kladnou stranu, odladil jsem to na breadboardu bez externích rezistorů. No a co dalšího je ve schématu? Rezistory v základnách - plus nebo mínus jaké to jsou, omezující proud v segmentech - v závislosti na indikátoru. Pro někoho bude jasných 510 Ohmů, ale pro mě je to 150 Ohmů, takže jas nestačí, indikátory jsou staré a slabé. Boozer s vestavěným generátorem, 5 voltů. NPN tranzistory pro proud cca 100mA - VS547, VS847, KT3102, KT315. Napájení - transformátor TP-112-18, diodový můstek 1A. Trochu jsem se obával triaků - VT136 nevydržel vysavač (1300W), tak jsem ho musel změnit na VT140. Pro ty kočky, které budou instalovat i triaky a používat vysavač, podotýkám, že radiátor musí být instalován větší, jinak si můžete popálit tlapky (jen si dělám srandu, na tento radiátor byste tlapky dávat neměli, elektřina není nic vtipkovat). Můj radiátor nevydrží déle než 10 minut, ale protože mám v plánu pro tyto účely použít ventilátor, moc se toho nebojím.

No a teď k funkčnosti a práci. Ovládání se provádí pěti tlačítky, z nichž tři jsou pro změnu/nastavení rychlosti závěrky, další dvě jsou pro zapnutí kompresoru a spuštění časovače. Když se spustí časovač, zapne se kompresor i podsvícení, ale kompresor lze násilně zapnout v pohotovostním režimu, aby se deska se šablonou připravila na osvětlení. K tomu jsme museli vytvořit samostatné tlačítko „vzduch“ pro ovládání kompresoru. V pohotovostním režimu vybírají tlačítka plus/mínus uložená nastavení (udělal jsem tři, víc prostě nemá smysl). Když stisknete tlačítko „set“, začnou blikat minuty. Pomocí tlačítek plus/minus změňte hodnotu minut v krocích po 1 minutě (od 0 do 99); druhé stisknutí „set“ uloží minuty a sekundy začnou blikat, jejich hodnota se mění stejným způsobem, ale v krocích po 5 sekundách (od 0 do 55). Jako nejoptimálnější byl zvolen krok 5 sekund - s krokem 1 sekunda a 10 sekund už není příliš pohodlné měnit hodnoty. S krokem 1 sekundy se hodnoty mění příliš rychle a s krokem 10 se hodnoty mění příliš rychle. Třetím stisknutím tlačítka „set“ se uloží hodnota sekund a časovač přejde do pohotovostního režimu, kde se zobrazí nově změněná rychlost závěrky. Časovač se spouští stisknutím tlačítka "start". Současně se zapne kompresor a osvětlení, na indikátoru se odpočítává a desetinná čárka mezi minutami a sekundami bliká. Po skončení rychlosti závěrky se iluminátor a kompresor vypnou, na obrazovce se rozsvítí slovo „OFF“ a zní přerušovaný bzučák, dokud znovu nestisknete tlačítko „start“, načež časovač znovu přejde do pohotovostního režimu, zobrazující hodnotu zvolené rychlosti závěrky. Mezi nedostatky časovače je třeba zaznamenat chybu 1,5-2 sekundy s rychlostí závěrky 10 minut. Ale protože to nejsou hodinky, nic jsem s tím neudělal, taková chyba není kritická.

Desky plošných spojůČasovače byly vyrobeny „pro sebe“ na dvou jednostranných deskách - hlavní s ovladačem, napájením a triaky a desce s indikátorem, tlačítky a LED - na předním panelu. Mimochodem, pokud LED diody nejsou potřeba, musíte místo nich nainstalovat odpory s nominální hodnotou 510-1000 Ohmů, jinak optočleny nebudou fungovat. Desky jsou propojeny plochým 20pinovým kabelem. Jsou použity jak SMD, tak DIP součástky. Pozornost! Na desce ATMega8 SMD pouzdro, a ve schématu je pinout pro balíček DIP! Nenechte se zmást! Očekávám, že toto vše vložím do instalace pro nasvícení krytu jako takového nebylo plánováno. Firmware pro indikátory s OK i OA. Při flashování firmwaru je potřeba nainstalovat pojistky na interní 8 MHz oscilátor (lze však použít i externí quartz této hodnoty, na odpovídající nožičky ovladače jsem nesáhl). Firmware se skládá ze dvou souborů – Flash a EEPROM. Pokud program firmwaru šije pouze jeden soubor, není to fatální, vše bude fungovat tak, jak má, ale když jej poprvé zapnete, budete muset ručně „řídit“ každou z předvoleb, abyste ji uvedli do správné podoby A samozřejmě fotky.
Smontované desky:
Pohotovostní časovač:
A v provozu (expozice 2 minuty, 10 sekund uplynulo):
Soubory:
Deska plošných spojů ve formátu SL5.0
Firmware MK Všechny dotazy - ve fóru. Kapitola: