Archiv pro rubriku: Elektronické konstrukce

Elektronické konstrukce a zapojení

LAN bootloader pro Arduino MEGA 2560 (Atmel ATMEGA 2560)

Pro pohodlné nahrávání software do Arduina, které je někde na síti se hodí mít k dispozici bootloader, který umožní nahrávat firmware přes LAN síť bez nutnosti mít cílové zařízení připojené přímo k počítači s vývojovým prostředím. Jak takovouto funkcionalitu rozchodit na velkém Arduinu s procesorem ATMEGA 2560 si ukážeme v tomto článku.

V první řadě bych rád představil projekt Ariadne Bootloader, který nahradí stávající zavaděč Arduina (a zároveň zůstane kompatibilní s přímým nahráváním sketches z vývojového prostředí Arduina). Nyní tedy přesný postup, jak rozchodit Ariadne Bootloader na desce Arduino Mega 2560.

1) pro nahrání do Arduina, budete potřebovat nějaký programátor. Já jsem použil jiné Arduino UNO a nahrál do něj kód, který je připraven v příkladech. Tento kód zajistí, že se Arduino bude chovat jako programátor.

Arduino ISP

Arduino ISP

2) nyní propojte Arduino (do kterého jste nahráli Arduino ISP) s cílovým Arduinem Mega 2560 podle následujícího obrázku.

Propojení Arduino UNO s cílovým Arduino MEGA 2560

3) stáhněte si příslušný hex soubor s Ariadne Bootloaderem s kombinací AT Mega procesoru a čipu na ethernet shieldu. V mém případě to byl tento soubor pro kombinaci ATMega 2560 a Wiznet W5100 na ethernet shieldu. V době programování tohoto bootloaderu samozřejmě ethernet shield nepřipojujte.

4) nyní budete potřebovat avrdude pro naprogramování. Vypadá to nějak takto:

Avrdude - programování zavaděče 1

cmd_avrdude2

Budete potřebovat tyto tři příkazy:

Verze pro Windows:

avrdude -c avrisp -p m2560 -P COM3 -b 19200 -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U efuse:w:0xFF:m
avrdude -c avrisp -p m2560 -P COM3 -b 19200 -V -U flash:w:ariadne_atmega2560.hex
avrdude -c avrisp -p m2560 -P COM3 -b 19200 -U lock:w:0x0F:m

Pozor: pokud to hází timeouty, asi máte špatně nastavenou rychlost portu, já musel použít 19200, defaultně tam je 115200Bd… je potřeba taky nastavit správný port (v mém případě COM3)

avrisp je definice programátoru Arduino as ISP pod windows. Pod linuxem jsem netestoval, ale mělo by to vypadat nějak takto:

avrdude -c usbasp -p m2560 -P usb -b 115200 -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U efuse:w:0xFF:m
avrdude -c usbasp -p m2560 -P usb -b 115200 -V -U flash:w:ariadne_atmega2560.hex 
avrdude -c usbasp -p m2560 -P usb -b 115200 -U lock:w:0x0F:m

Po úspěšném nahrání ethernet bootloaderu do Arduina můžeme vypnout napájení, odpojit programátor (Arduino UNO s nahraným Arduino as ISP), připojit ethernet shield a vyzkoušet funkčnost.

5) Po zapnutí napájení je uvedený bootloader dostupný na IP adrese 192.168.1.128 s maskou 255.255.255.0 . Pokud není v mikrokontroléru žádný další nahraný software, bootloader čeká na nahrání programu v nekonečné smyčce. Pokud je již software nahraný, čeká bootloader na nahrání 10 sekund po resetu a poté se začne vykovávat nahraný program.

Síťové rozhraní počítače, ze kterého budeme chtít posílat program přes TFTP, je potřeba nastavit na shodnou síť. Například nastavíte:

IP adresa počítače např. 192.168.1.100
Maska 255.255.255.0
Brána 192.168.1.1

Můžeme vyzkoušet zda odpovídá na ping příkazem:

ping 192.168.1.128 -t

6) Pokud odpovídá a je vše v pořádku, můžeme vyzkoušet nahrát některý testovací software. Doporučuji blink. Soubor musí být ve formátu .bin, hex soubory nelze přes TFTP posílat. Jako TFTP nedoporučuji používat příkazový řádek windows, TFTP je defaultně ve Windows vypnuto, ale hlavně řadě uživatelů nahrávání z příkazového řádku interním TFTP nefunguje z nejrůznějších důvodů. Obvykle to vrací „connect request failed“.

Prověřený klikací prográmek je tento: tftpd32 . Je potřeba ho povolit ve firewallu. Po spuštění programu se ale Windows obvykle zeptá a stačí dát tedy povolit v dialogovém okně firewallu.

Vyberete soubor který chcete nahrát, nastavíte IP adresu a port 69. Poté stiskntete PUT a soubor se nahraje do arduina. Podmínkou je, že musí být aktivní bootloader v arduinu (bliká rychle LED). Pokud tomu tak není, resetujte arduino a máte 10 sekund na odeslání souboru.

Nahrávání přes TFTP

Nahrávání přes TFTP

Potvrzení úspěšného nahrání

Potvrzení úspěšného nahrání

7) Nyní bude chtít určitě nahrát nějaký svůj firmware. Jak ho vytvořit z přeloženého kódu? Soubor hex musíte přetransformovat do bin.

Na rozdíl od sériového programování, které používá HEX soubory na naprogramování Arduina, server TFTP implementovaný v bootloaderu pracuje s binárními soubor (*.bin). To znamená, že budete muset ručně převést své programy do správném formátu. Nejprve si vytvořte svůj program v prostředí Arduina, potom stiskněte tlačítko Přeložit/Ověřit. Potom je potřeba najít soubor hex, které prostředí Arduina vytvořilo. Je v dočasném adresáři. Na všech platformách můžete zjistit cestu k hex souboru pokud ve vlastnostech zaškrtnete „Zobrazit více informací během výstupu kompilace“. Cesta s hex souborem bude zobrazena v posledním řádku výstupu kompilace.

Výpis cesty k souborům a dalších podrobností

Výpis cesty k souborům a dalších podrobností

V mém případě na Windows byla cesta k souboru jednoho mého projektu takováto:

"C:\Users\UIVATE~1\AppData\Local\Temp\arduino_build_992369/swtopeni.ino.ino.hex"

Potom příkaz pro převod z hex do bin vypadá takto:

"C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-objcopy.exe" -I ihex "C:\Users\UIVATE~1\AppData\Local\Temp\arduino_build_992369\swtopeni.ino.ino.hex" -O binary "C:\Users\UIVATE~1\AppData\Local\Temp\arduino_build_992369\swtopeni.cpp.bin"

(pozor, musí se zadat jako jeden řádek).

Hex to bin

Hex to bin

Pokud je vše správně, vytvoří se *.bin soubor v adresáři dle cesty uvedené v posledním parametru příkazu.

Tento bin soubor pak lze přes TFTP bootloader odeslat do Arduina. Viz bod 6.

BTW1: Nahrávání přes USB z prostředí do Arduina je s tímto bootloaderem zachováno, takže si můžete vybrat, jestli budete programovat přes LAN nebo USB.

BTW2: Pokud je zařízení vzdálené a nelze ho resetovat ručně pomocí tlačítka aby naběhl LAN bootloader, doporučuji si napsat přes webové ovládaní arduina nějaké tlačítko nebo port který spustí tento trik s watchdogem a zařízení se resetuje vzdáleně.

Hlášení výpadku napájení SMS zprávou nebo prozvoněním přímo na mobilní telefon

Zařízení nebo provozy, kde by výpadek elektřiny znamenal ztráty, využijí náš hlásič výpadku proudu. V případě výpadku elektřiny může volá nebo odesílá SMS na uložená telefonní čísla. Hlásič je vybaven vlastním akumulátorem a vestavěným záložním zdrojem, který zároveň akumulátor udržuje. Pokud by jste o takové zařízení na míru měli zájem, můžete nás kontaktovat, rádi Vám pomůžeme. Pokud si takové zařízení chcete postavit, pod obrázkovou galerií je seznam materiálu, který budete potřebovat.

Tato ukázka kompletace GSM ovladače a hlásiče nemusí složit pouze jako hlásič výpadku proudu, ale také s ním můžete ovládat topení třeba na chlaupě nebo na dálku zapínat světlo.

Z čeho je toto zařízení sestaveno? Odkazy vedou přímo k nám do eshopu, kde můžete uvedené komponenty zakoupit:

GSM ovládání – gsm modul, který umožňuje sledovat stav několika vstupů a ovládat 2 výstupy. Jako příslušenství je možné připojit i teplotní čidla.

Záložní zdroj s nabíječkou – zdroj z 230V na 12V včetně nabíječky a funkce zálohování 12V napájení.

Krabice SCAME 686.208 – univerzální elektroinstalační krabice s krytím IP 56.

Bezúdržbová olověná baterie 12V/1,2Ah

Kabelová průchodka

Relé pro spínání síťových spotřebičů – s cívkou na 12V stejnosměrných

Relé pro detekci síťového napájení – s cívkou na 230V střídavých

Stahovací páska

Flexošnůra

Multifunkční relé řízené mikrokontrolérem PIC

Multifunkční relé

Univerzální zařízení, které je možno nastavit jako astabilní, monostabilní a bistabilní relé. Časy sepnutí lze nastavit v rozmezí od 2 sekund do cca 30minut. U bistabilní funkce se stav přepnutí může ukládat do paměti EEPROM mikrokontroléru a stav relé před přerušením napájení je po jeho opětovném připojení obnoven. Zařízení bylo navrženo pro přepínání stavů zabezpečovací ústředny, díky své univerzálnosti však nalezne uplatnění v jistě širším okruhu aplikací. Veškeré funkce se nastavují pomocí DIP spínače.

Multifunkční relé řízené mikrokontrolérem PIC

Multifunkční relé řízené mikrokontrolérem PIC

Technické parametry

  • Napájecí napětí 12V DC (9 – 16V)
  • Odběr proudu (při Ucc = 12,00V)
    • Relé sepnuto, LED indikace aktivní – 45 mA
    • Relé rozepnuto, LED indikace aktivní – 15 mA
    • Relé sepnuto, LED indikace neaktivní – 30 mA
    • Relé rozepnuto, LED indikace neaktivní – 6 mA
  • Funkce (nastavitelné DIP spínačem)
    • bistabilní (stiskem zapni, stiskem vypni – relé se přepíná sepnutím vstupu a setrvává v příslušném stavu až do dalšího impulsu na vstupu)
    • bistabilní s uložením stavu do EEPROM
      (stiskem zapni, stiskem vypni – relé se přepíná sepnutím vstupu a
      setrvává v příslušném stavu až do dalšího impulsu na vstupu, stav
      výstupu (relé) je ukládán do EEPROM a při výpadku a následném obnovení
      napájení je stav pře výpadkem obnoven)
    • monostabilní (po spojení vstupu je relé sepnuto na nastavenou dobu a poté se vrátí do výchozího rozepnutého stavu)
    • astabilní (blikač – vstup spojen – povolení funkce – relé přepíná v nastavených časových intervalech, je li vstup spojen)
    • u monostabilní a bistabilní funkce možnost nastavení časů 2s, 10s, 30s, 1min, 3min, 10min, 20min, 30min.
Schema zapojení multifunkčního relé

Schema zapojení multifunkčního relé

Popis zapojení

Schéma zapojení je na následujícím obrázku. Srdcem zařízení je mikrokontrolér PIC 16F627A s příslušným firmware (ke stažení pod článkem). Napájecí napětí 9 – 16V DC se připojuje na svorkovnici K1, za ní je zařazena polovodičová pojistka a transil, který chrání další obvody proti přepěĹĄovým špičkám. Napájecí napětí 12V pro relé je filtrováno kondenzátorem C1. Napětí 5V pro mikrokonrolér je získávano po oddělení diodou D2 a filtraci kondenzátorem C2 třísvorkovým stabilizátorem 78L05. K vlastnímu mikrokontroléru je připojena dvoubarevná LED pro indikaci stavu zařízení, výstupní relé (přes tranzistory T1 a T2) a vstupní svorka K6 s ochrannými obvody (R6, R7, D6). Dále jsou na pinovou lištu vyvedeny všechny potřebné signály pro programování osazeného mikrokontroléru metodou ICSP (In CIrcuit Serial Programming). Rozmístění kontaktů odpovídá programátoru Asix Presto a lze tedy použít přímé propojení kabelem 1:1. Pro nastavení zařízení je použit DIP spínač SW1. Spínač S1 má kontakty vyvedeny na svorkovnici K5 a slouží jako sabotážní kontakt při instalaci zařízení do krabičky (detekce otevření krytu krabičky).

Plošný spoj je navržen jako jednostranný a je přizpůsoben pro montáž do běžné hluboké lištové krabice (LK 80x28R hluboká) . Rozteč upevňovacích otvorů na DPS odpovídá umístění sloupků v této krabičce.

 

Osazení a oživení zařízení

Po osazení a vizuální kontrole DPS nastavíme na DIP spínači příslušnou funkci. Pro první ověření je vhodné nastavit astabilní klopný obvod a
čas 2s. Nyní připojíme napájecí napětí 12V se správnou polaritou na svorkovnici K1. Pokud nyní spojíme vstup se zemí (propojení svorkovnice K6) mělo by relé v intervalu 2s přepínat a LED (pokud je zapnuta na DIP spínači) blikat.

Po kontrole funkce je vhodné plošný spoj opatřit vrstvou ochranného laku (např. PLASTIK 70 – pozor aby lak nenatekl do svorkovnic a DIP spínače) a vestavět do doporučené krabičky.

Programové vybavení mikrokontroléru

Mikrokontrolér využívá interní oscilátor, program zajišĹĄuje cyklické čtení stavu DIP spínače a vstupu. Pro vyšší spolehlivost je použit watchdog. Nastavení jednotlivých funkcí zařízení pomocí DIP spínače ukazují náledující tabulky (znázorňují DIP spínač).

Firmware pro mikrokontrolér je ke stažení pod článkem (m_rele.zip). Na desce je připraven konektor pro ICSP programování osazeného mikrokontroléru. Rozmístění signálů na konektoru odpovídá programátoru Asix Presto a je uvedeno ve schematu.

Nastavení funkcí – DIP spínač

LED indikace zapnuta

1

2

3

4

5

6

ON

X

OFF

LED indikace vypnuta

1

2

3

4

5

6

ON
OFF

X

Monostabilní

1

2

3

4

5

6

ON
OFF

X

X

Astabilní (blikač, vstup spojen – povolení funkce)

1

2

3

4

5

6

ON

X

OFF

X

Bistabilní (stiskem zapni, stiskem vypni)

1

2

3

4

5

6

ON

X

OFF

X

Bistabilní (s ukládáním do EEPROM)

1

2

3

4

5

6

ON

X

X

OFF

DIP spínač – časy

2 sekundy

1

2

3

4

5

6

ON
OFF

X

X

X

10 sekund

1

2

3

4

5

6

ON

X

OFF

X

X

30 sekund

1

2

3

4

5

6

ON

X

OFF

X

X

1 minuta

1

2

3

4

5

6

ON

X

X

OFF

X

3 minuty (180 s)

1

2

3

4

5

6

ON

X

OFF

X

X

10 minut (600 s)

1

2

3

4

5

6

ON

X

X

OFF

X

20 minut (1200 s)

1

2

3

4

5

6

ON

X

X

OFF

X

30 minut

1

2

3

4

5

6

ON

X

X

X

OFF

Download a odkazy

Nákup v elektronickém obchodě

Stavebnici popsaného multifunkčního relé si u nás můžete přímo zakoupit. Můžete si zakoupit i jednotlivé díly samostatně: naprogramovaný mikrokontrolér desku plošných spojů nebo kompletní stavebnici.

Seznam součástek

R1 odporová síť A, 6 x 10k
R2 470R
R3, R4 2k2
R5 100k
R6 10k
R7 680R
C1 220uF/25V
C2 100uF/25V
C3, C4, C6 100n RM 5mm
C5 10uF/16V
D1, D5 1N4007
D2 1N4148
D3 transil 15KE18C
D4 LED, dvoubbarevná, společná katoda ( – ) (červená / zelená)
D6 ZD 5,1V 0,5W (BZX83V5,1)
T1 BC327
T2 BC546
IO1 78L05
IO2 PIC 16F627A (naprogramovaný)
K1, K5, K6 AK500/2 (dvoupólová svorka RM 5mm)
K3 AK500/3 (třípólová svorka RM 5mm)
K2 pinová lišta (8 pinů)
F1 polyswitch 150mA
RE1 RAS 1215 nebo OMRON G5LE (cívka 12V DC, 1x přepínací kontakt)
S1 spínač (tamper – P-DM03S2P)
SW1 DIP spínač (6x ON-OFF, ležatý – DIL 6x EDG106S)

Vyjádření autora v duchu zákona č.22/1997 o technických požadavcích na výrobky:

Výrobce stavebnice nebo modulu zaručuje správnou a bezchybnou činnost stavebnice nebo modulu po jejím/jeho odborném a bezchybném sestavení nebo připojení. Protože se však jedná o stavebnici určenou pro radioamatéry a ne o finální výrobek, nelze převzít jakoukoliv zodpovědnost za škody způsobené špatnou činností zařízení v případě neodborného sestavení a provozování za podmínek, které jsou v rozporu s tímto konstrukčním návodem. Stavebnice není, z hlediska bezpečnosti, určena k ovládání zařízení, strojů a přístrojů, které by mohly při špatné funkci této konstrukce způsobit škody na zdraví či majetku lidí! Tento návod i s tímto upozorněním je volně přístupný na stránce výrobce (www.puhy.eu), aby měl každý konstruktér možnost se seznámit s technickými daty stavebnice / modulu ještě před jejím zakoupením.

Automatický spínač světel automobilu

Pokud není automobil vybaven automatickým rozsvícením světel po nastartování, je možné použít následující konstrukci a ušetřit si mnoho starostí i peněz za pokuty.

Vlastnosti

  • přibližně 30 sekund po nastartování dojde k sepnutí relé, které ovládá světla
  • zpoždění umožňuje i opakované startování bez připojených světel – díky tomu se šetří baterie
  • po vypnutí klíčku dojde k automatickému zhasnutí světel (samozřejmě je možné rozsvítit původním ovládacím prvkem)
  • je vybaveno diodově odděleným výstupem pro připojení „parkovacích“ světel (vysvětleno níže)
  • ochrana proti špičkám v palubní síti
  • při vypnutém zapalování je zařízení zcela odpojeno – neodebírá tedy žádný proud
  • relativně jednoduchá instalace
  • levná konstrukce ze „šuplíkových“ zásob
  • možno použít i jako spínač se zpožděním pro jiné aplikace (dobu časování lze změnit volbou R – C prvku)

Základní technické údaje

  • napájecí napětí: 9 – 18V
  • proudový odběr: do 100mA (při sepnutém relé)
  • maximální proudový odběr z diodového výstupu 4A
  • maximální spínaný proud 10A

spinac_svetel_small

Praktické provedení automatického spínače světel

schema_1

Schema zapojení automatického spínače světel

Popis zapojení

V zapojení je využit integrovaný obvod „555“ v zapojení jako časovač se zpožděním. Po připojení napájení dojde do 30 sekund k sepnutí relé, které zůstává sepnuté až do odpojení napájení. Délku zpoždění určuje RC člen R2, C3. Zenerova dioda D1, rezistor R1 a kondenzátor C1 zajišťují omezení napěťových špiček, které vznikají v palubní síti. Kontakty relé K1 jsou spojeny paralelně kvůli spínání vyšších proudů. Dioda D4 slouží k oddělení obvodu „parkovacích“ světel od obvodu „potkávacích“ světel.

Stavba a oživení

Stavba je velmi jednoduchá – při osazování desky postupujeme od nejnižších součástek po nejvyšší. Je třeba dbát na kvalitní pájení, protože konstrukce bude vystavena vibracím v automobilu. Po osazení všech součástek a očistění desky, připojíme napájecí napětí (9 – 16V) a po cca 30 sekundách by mělo sepnout relé. Je-li vše v pořádku, nastříkáme desku ochranným lakem pro plošné spoje.

  • Plošný spoj
  • Osazení plošného spoje
  • Osazený plošný spoj – proudově namáhané cesty je nutno pocínovat

dps

Plošný spoj

Osazení plošného spoje

Osazení plošného spoje

Osazení plošného spoje

spinac_svetel_bottom_small

Osazený plošný spoj – proudově namáhané cesty je nutno pocínovat

Vestavba do automobilu

Napájení modulu připojíme za pojistku, na které je +12V po zapnutí klíčku a zem připojíme pomocí očka od nejbližšího šroubu, který je vodivě spojen s kostrou automobilu. Dále je třeba nalézt správné vodiče od spínače světel. Obvyklé principielní zapojení spínání světlometů je naznačeno na následujících schematech, stejně tak připojovací schema modulu – silně jsou zvýrazněny přidané vodiče.
sch_1

Obvyklé zapojení přepínače, který ovládá světla

sch_1

Připojení automatického spínače světel

Nákup v eshopu

Download

Seznam součástek

  • D1 Zenerova dioda 12V/0,5W
  • D2, D3 1N4007
  • D4 P600 (6A)
  • C1,C3 47uF/25V
  • C2 10n (keramický)
  • R1 150R
  • R2 100k
  • IC1 NE555
  • K1 Relé Finder 4052
  • X1 5 x svorka wago 255-401 + 1 x bočnice

Vyjádření autora v duchu zákona č.22/1997 o technických požadavcích na výrobky:

Výrobce stavebnice nebo modulu zaručuje správnou a bezchybnou činnost stavebnice nebo modulu po jejím/jeho odborném a
bezchybném sestavení nebo připojení. Protože se však jedná o stavebnici určenou pro radioamatéry a ne o finální výrobek, nelze převzít jakoukoliv zodpovědnost za škody způsobené špatnou činností zařízení v případě neodborného sestavení a provozování za podmínek, které jsou v rozporu s tímto konstrukčním návodem. Stavebnice není, z hlediska bezpečnosti, určena k ovládání zařízení, strojů a přístrojů, které by mohly při špatné funkci této konstrukce způsobit škody na zdraví či majetku lidí! Tento návod i s tímto upozorněním je volně přístupný na stránce výrobce (www.puhy.eu), aby měl každý konstruktér možnost se seznámit s technickými daty stavebnice / modulu ještě před jejím zakoupením.