You are here

Rotator controller with AVR8 and Ethernet (Czech only)

Úvod
Jedná se o modernější verzi řídicí jednotky rotátoru s magnetickými čidly. Původní verze se propojovala s počítačem pomocí sériového portu. U této verze jsem sériový port nahradil ethernetem, což přináší řadu výhod. Řada konstruktérů pro implementaci ethernetu používá "univerzální kostky". Já jsem šel klasickou cestou a ušetřil tím peníze. Dokonce je tato varianta finančně výhodnější, než je použití sériové jednotky s kvalitním USB-RS232 převodníkem.
Velmi výhodná je pro Remote QTH stanice. Na řadu dalších výhod přijde jistě každý sám.

Schéma zapojení

Popis zapojení
Zapojení řídicí jednotky je velmi podobné předchozí variantě. Při jeho návrhu jsem však již nebral tolik ohled na jednoduchost konstrukce DPS, neboť u 100 Mbit ethernetu nelze tak lehce dělat kompromisy. Amatérská výroba DPS je hlavně kvůli prokoveným otvorům komplikovanější, proto jsem již její výrobu svěřil firmě. To sice konstrukci mírně prodražuje, ale při zvoleném způsobu implementace ethernetu je její výsledná cena velmi příjemná.

Hlavním řídicí prvkem je mikrokontrolér Atmel ATMega128-16A. Záměrně jsem zvolil tento typ, neboť šikovní zájemci mohou tento obvod odpájet ze sériové varianty. Zapojení displeje, sběrnice RS-485, ovládacích prvků je identické s původní verzí. Mohl jsem si dovolit přidat více pull-up rezistorů, blokovacích a filtrovacích kondenzátorů. Upozorňuji na zapojení displeje. Číslování pinů konektorů a displeje se záměrně kříží, neboť se tím kompenzuje křížení při použití konektorů PFL-16 i na zadní straně displeje.
Hlavní změny jsou v obvodech napájení, komunikace s PC a programovacím rozhraní. K napájení jsem hlavně z důvodu účinnosti a tedy i odstranění nutnosti chlazení zvolil spínaný regulátor s obvodem L5972, který vytváří napájení pro 5 V větev. Pro napájení celé konstrukce doporučuji zvolit kvalitní spínaný zdroj 12 V nebo klasický zdroj s dostatečně velkým filtračním kondenzátorem. Volba nekvalitního zdroje může mít negativní vliv na životnost celé konstrukce.
Pro napájení ethernetu je potřeba napětí 3.3 V, které vytváří lineární stabilizátor LF33 v provedení SMD. Samotná DPS by měla být schopna dostatečně uchladit tepelné ztráty tohoto obvodu.
Pro komunikaci s nadřazeným PC se používá ethernet, který je v konstrukci implementován pomocí obvodu Microchip ENC424J600. Konektor ethernetu jsem zvolil Magjack SI-50154-F (nebo kompatibilní) od výrobce Bel Fuse. Obsahuje integrované magnetické obvody (oddělovací transformátory), což zjednodušuje konstrukci.
Ke spínání pohonů jsem zvolil malá ovládací relátka, kterýma následně doporučuji spínat výkonové stykače (výkonová relé). Toto řešení se v praxi osvědčilo jako výhodnější.

Postup programování
Programování mikrokontroléru je proti předchozí verzi jednodušší, neboť je tentokrát přímo vyvedeno rozhraní ISP, které se v amatérské praxi objevuje častěji než JTAG.

Program dávám k dispozici veřejnosti, nesmí být však využíván ke komerčním účelům. Na mých webových stránkách v sekci "Ke stažení - Firmware" lze stáhnout kód bootloaderu. Důležité je správně nastavit pojistky mikrokontroléru. Mikrokontrolér musí využívat externí krystalový oscilátor, dále povolíme funkci watchdogu, bit BOOTRST pro spuštění bootloaderu a velikost bootloaderu 512 slov (tedy adresu vektoru bootloaderu 0xfe00).
Na obrázku uvádím přiklad nastavení pojistek v AVR Studiu.

Po úspěšném naprogramování začne v krátkém intervalu blikat LED osazená přímo na plošném spoji (LCD musí být připojen). To znamená, že se zařízení nachází v režimu bootloader. Pokud ten nalezne platný aplikační program, dojde k jeho spuštění. LED v aplikačním režim má již jiný význam.

Naprogramování aplikačního programu je pak nutné provést prostřednictvím ethernetu. Je k němu třeba utilita "ip_flash.exe", kterou jsem vytvořil k tomuto účelu a je rovněž ke stažení na stejném místě jako kód bootloaderu.
Po spuštění utility zapíšeme IP adresu jednotky a přístupové heslo. Stisknutím tlačítka "Connect" dojde k připojení k jednotce. Pokud je úspěšné, program rozezná o jaký hardware se jedná a je možné stáhnout prostřednictvím internetu aktuální verzi firmware. To se provede stiskem tlačítka "Download from Internet". Po stažení je již možné zapsat firmware tlačítkem "Flash device". Jakmile je zápis úspěšně ukončen, tlačítkem "Disconnect" se ukončí komunikace s bootloaderem a proběhlo-li doposud vše v pořádku, po pár sekundách dojde k spuštění aplikačního firmware.

Kromě programování jednotky samotné je možné i jejím prostřednictvím stejných způsobem programovat čidla polohy připojená na sběrnici RS-485. Stačí pouze do pole Sub ID vyplnit ID čidla. Na displeji se při adresování jiného zařízení objeví nápis s informací, že se zařízení nachází v tzv. "bypass režimu". V tomto režimu jednotka propojuje kanály mezi TCP/IP protkolem a RS-485. "Režim bypass" je možný pouze v aplikačním firmwaru jednotky. Není tedy možné programovat "skrze jednotku" v době, kdy zařízení "bootuje".

Komunikace mezi programovací aplikací a řídicí jednotkou probíhá na portu TCP číslo 3666. Na to je potřeba brát ohledy hlavně při vzdáleném updatu firmware.

Firmware této verze řídicí jednotky je záměrně svázán s firmwarem původní sériové varianty. Nové funkce se tedy budou u firmware obou variant objevovat současně. Vzniknou-li rozdílné verze, bude to pravděpodobně úpravou TCP/IP protokolu nebo úpravou komunikace přes sériový port.

Popis nastavení
Z výše uvedeného vyplývá, že i nastavení jednotky je stejné jako u předchozí varianty. Komunikace mezi PC a jednotkou je sice zcela jiná, ale ve výsledku by to uživatel neměl poznat.

Popíši tedy pouze nastaveni IP protokolu řídicí jednotky a nastavení komunikace v programu Rotátor manager.
Výchozí IP adresa řídicí jednotky je „192.168.1.2“ a přístupové heslo je „admin“. Výchozí nastavení je automaticky uloženo po první naprogramování jednotky nebo po zjištěné chybě EEPROM vlivem chyby napájení apod.
V případě zapomenutí nastavení je možné jednotku uvést do výchozího nastavení pomocí tlačítka RESET. Je nutné dodržet následující postup. Nejdříve při vypnutém napájení stisknout tlačítko RESET. Držet tlačítko stisknuté a následně zapnout napájení. Po tomto kroku by se měla jednotka nacházet ve výchozím stavu.

Změna nastavení IP adresy a hesla se provádí pomocí webového prohlížeče. Nejdříve nastavíme počítač do stejné podsítě – tedy „192.168.1.xxx“. Po té zadáme do webového prohlížeče IP adresu řídicí jednotky. Zobrazí se následující okno.

Jelikož táto stránka neobsahuje předchozí ověření, je nutné při každé změně IP adresy nebo hesla zadat aktuální heslo do dolního řádku. Více není potřeba v případě síťové komunikace nastavovat.

V programu Rotátor manager (verze 2 a vyšší) se nastavuje komunikace podle následujícího.

Jak je vidět z obrázků, pro komunikaci volíme TCP/IP protokol. V zobrazeném okně zadáme IP adresu řídicí jednotky a přístupové heslo.
Výchozí číslo TCP portu pro komunikaci je 1022. Přistupujeme-li na vzdálené QTH stanoviště, kde je jednotka skryta za technologií NAT, je potřeba nastavit přesměrování portu na směrovači. Pro případ více řídicích jednotek za jednou veřejnou adresou IP, existuje zde právě možnost změny vzdáleného portu.
Pokud tomuto nastavení nerozumíte, obraťte se na síťového odborníka.

Závěrem
Nová konstrukce řídicí jednotky s ethernetem otevírá řadu dalších možností využití, které původní sériové rozhraní omezovalo. Díky poměrně kvalitnímu zabezpečení je možné zařízení používat i pro vzdáleně ovládaná pracoviště.

Osazovací plán - strana součástek a strana spojů

Deska plošných spojů
Rozměr 95.9 x 69.2 mm

Seznam součástek

R1, R17, R23 - R25, R27 - R32 4,7 kΩ 1206
R2 10 kΩ 1206
R3 3,3 kΩ 1206
R4 - R8 4,7 kΩ 0805
R9 12 kΩ 0805
R10 - R13 49,9 Ω 0805
R14 10 Ω 0805
R15, R16 180 Ω 0805
R18 100 kΩ 0805
R19, R21, R26 470 Ω 1206
R20 270 Ω 1206
R22, R33, R34 10 Ω 1206
R35 Trimmer 5kΩ RM5/5
C1 10 uF / 35V X7R 1210
C2 220 pF 1206
C3 22 nF 1206
C4 100 uF / 16V tantal low ESR SMD-D
C5, C6, C14, C15 18 pF 0805
C7, C34 100 nF 0805
C8, C13 10 uF / 16 V tantal SMD-A
C9, C10 6,8 nF 0805
C11, C12, C16 - C33 100 nF 1206
C35, C36 10 nF 0805
L1 33uH / 2A (DL22-33) SMD 12,95 x 9,4 mm
D1 S2M (1A) SMB
D2 SK24 (schottky 2A) SMB
D3 LED yellow 1206
D4, D5 Zener diode 5,6 V SOD-80
D6, D7, D8, D9 1N4148 SOD-80
T1, T2, T3, T4 BC847 SOT-23
Q1 Crystal 11,0592 MHz HC49SM
Q2 Crystal 25 MHz HC49SM
IC1 ATMEGA128A-AU TQFP-64
IC2 ENC424J600-I/PT TQFP-44
IC3 75176 SO-08
IC4 L5972 SO-08
IC5 LF33CDT DPAK
CON1 ARK500/2 pitch 5 mm
CON2 ARK500/8 pitch 5 mm
CON3 MAGJACK SI-50154-F / AMPHENOL LMJ2018813130DL3T1LFG (or compatible)
CON4 - CON6 Pin header pitch 2,54 mm
CON7 MLW16G 2x8 pin pitch 2,54 mm
CON8 PSH02-02P pitch 2,54 mm
K1, K2, K3, K4 Relay (RSM957-P-05)
SW1 Switch (P-KSM632B)
SW2 Incremental encoder

Fotky konstrukce