Stmívač: Difference between revisions

From Tučňák Wiki
Jump to navigation Jump to search
Ok1zia (talk | contribs)
No edit summary
Ok1zia (talk | contribs)
 
(9 intermediate revisions by the same user not shown)
Line 5: Line 5:


=Schéma zapojení=
=Schéma zapojení=
Schéme je stejné jako pro [[Větrák]]. Jen není potřeba osazovat T2 a T1 je nutné osadit vhodným typem podle výstupního proudu, viz [[Větrák]].
Schéma je stejné jako pro [[Větrák]], hardware je navržen jako univerzální. Pro stmívač je potřeba udělat několik změn:
* Není potřeba osazovat T2
* T1 je nutné osadit vhodným typem podle výstupního proudu, viz [[Větrák]]
* Neosazuje se DS18B20
 
[[Image:Vetrak1s150.png|none|frame|Schéma stmívače]]
[[Image:Vetrak1s150.png|none|frame|Schéma stmívače]]
=PCB=
<gallery mode="packed" widths="640px">
Image:Vetrak1b600.png|Předloha spojů 600 DPI
Image:Vetrak1oa.png|Osazení THT
Image:Vetrak1ob.png|Osazení SMD
</gallery>
=Dálkový ovladač=
Použil jsem {{AliSearch|ir+remote+control+rgb+led|dálkové ovládání k RGB LEDkám}} s 24 tlačítky.
[[Image:IRRemoteControl24.jpg|none|200px|Použité dálkové ovládání]]
=IR protokol=
Čidlo VS1838 demoduluje IR signál, výstupem jsou obdélníky dlouhé cca 1ms. Logická nula znamená IR signál přítomen. Používá se kódování šířkou pulzů v log.1. Pro dekódování stačí měřit čas mezi sestupnými hranami.
[[Image:IRRemoteControlProtocol4Bytes.jpg|none|800px|Protokol dálkového ovladače]]
Rámec začíná start dlouhým start bitem pro nastavení AGC přijímače. Následuje pauza, pak čtveřice bytů. První je 0, druhý 0xff (255), třetí obsahuje kód klávesy a čtvrtý je XOR všech předchozích.
Není těžké dekódovat rámec z obrázku. Přeskočte start bit, pauzu po něm a sledujte dobu trvání log.1. Krátká=0, dlouhá=1, LSB vlevo:
00000000 = první byte 0
11111111 = druhý byte 0xff
10100000 = kód klávesy 0x05
01011111 = 0 XOR 0xff XOR 0x05 = 0xFA
Autorepeat není řešen opakovaným odesláním stejného kódu, ale pauza po start bitu je kratší a následuje nulový bit.
=Kódy kláves=
Pozice v tabulce odpovídá fotografii ovladače:
{| class="wikitable"
|+(šestnáctkově)
|-
|05||04||06||07
|-
|09||08||0A||0B
|-
|0D||0C||0E||0F
|-|-
|15||14||16||17
|-
|19||18||1A||1B
|-
|11||10||12||13
|}
=Ovládání=
Jeden modul se ovládá vždy čtveřicí tlačítek v jedné řádce. Význam je vždy stejný jako v horní řádce:
* Zesílit
* Ztlumit
* Vypnout
* Zapnout
Všechny přechody jsou plynulé. Pro zesílení a ztlumení světla funguje autorepeat. Nastavená intenzita světla se pamatuje, tlačítke "zapnout" nabíhá intenzita do posledně nastavené. Po vypnutí se intenzita pamatuje v EEPROM.

Latest revision as of 21:21, 21 February 2017

V poslední době jsem si oblíbil mikrokontrolér ATTINY13A. Má 5xGPIO, ISP programování, ADC, interní oscilátor, minimální spotřebu a rozumnou cenu. Programové paměti není nadbytek, ale na malé konstrukce typu jeden vstup, jeden výstup a sofwarový sériový port pro ladění to stačí.

Jedna z mých prvních aplikací je PWM stmívač pro 12V LED pásky. Protože je probém sehnat rozumně vypadající krabičku, rozhodl jsem se řešit ovládání bezdrátově. Konkrétně přes dálkové ovládání k RGB LEDkám a IR čidlo VS1838. Proč si ale nekoupím hotové řešení? Protože idea je mít časem více nezávislých LED pásků a ovládat je jedním ovladačem.

Schéma zapojení

Schéma je stejné jako pro Větrák, hardware je navržen jako univerzální. Pro stmívač je potřeba udělat několik změn:

  • Není potřeba osazovat T2
  • T1 je nutné osadit vhodným typem podle výstupního proudu, viz Větrák
  • Neosazuje se DS18B20
Schéma stmívače

PCB

Dálkový ovladač

Použil jsem dálkové ovládání k RGB LEDkám s 24 tlačítky.

Použité dálkové ovládání
Použité dálkové ovládání

IR protokol

Čidlo VS1838 demoduluje IR signál, výstupem jsou obdélníky dlouhé cca 1ms. Logická nula znamená IR signál přítomen. Používá se kódování šířkou pulzů v log.1. Pro dekódování stačí měřit čas mezi sestupnými hranami.

Protokol dálkového ovladače
Protokol dálkového ovladače

Rámec začíná start dlouhým start bitem pro nastavení AGC přijímače. Následuje pauza, pak čtveřice bytů. První je 0, druhý 0xff (255), třetí obsahuje kód klávesy a čtvrtý je XOR všech předchozích.

Není těžké dekódovat rámec z obrázku. Přeskočte start bit, pauzu po něm a sledujte dobu trvání log.1. Krátká=0, dlouhá=1, LSB vlevo:

00000000 = první byte 0
11111111 = druhý byte 0xff
10100000 = kód klávesy 0x05
01011111 = 0 XOR 0xff XOR 0x05 = 0xFA

Autorepeat není řešen opakovaným odesláním stejného kódu, ale pauza po start bitu je kratší a následuje nulový bit.

Kódy kláves

Pozice v tabulce odpovídá fotografii ovladače:

(šestnáctkově)
05 04 06 07
09 08 0A 0B
0D 0C 0E 0F
15 14 16 17
19 18 1A 1B
11 10 12 13

Ovládání

Jeden modul se ovládá vždy čtveřicí tlačítek v jedné řádce. Význam je vždy stejný jako v horní řádce:

  • Zesílit
  • Ztlumit
  • Vypnout
  • Zapnout

Všechny přechody jsou plynulé. Pro zesílení a ztlumení světla funguje autorepeat. Nastavená intenzita světla se pamatuje, tlačítke "zapnout" nabíhá intenzita do posledně nastavené. Po vypnutí se intenzita pamatuje v EEPROM.