Vezérlés Etherneten Keresztül
VEKer
(FREE!)

A project lezárva!

Módosítva: 2004. 07. 21.


(LAN + PIC)

Ezzel a kapcsolással és a hozzá tartozó programokkal lehetővé válik berendezések (pl: kazán, melegház, antennaforgató, stb.) szabványos Ethernet hálózaton keresztüli mérése (8x10 bites analóg bemenet), és vezérlése (8 digitális kimenet). Ez a PIC 16F877-el vezérelt ISA 3C509B Ethernet kártya (3Com Etherlink III) egy TCP/IP protokollos mini webszervert alkot, melynek 8 csatornás 10 bites analóg/digitális átalakítója (ADC) és 8 bites digitális kimenete egy kliensprogram segítségével lekérdezhető illetve vezérelhető. Az analóg bemeneten megfelelő jelillesztés (0-5V-os méréstartomány) után, mérhetünk hőmérsékletet, vízszintet, nyomást, fényerőt, páratartalmat, stb., a digitális kimenetekkel pl. relén keresztül vezérelhetünk fűtőszálat, szelepet, motorokat, stb-t. A kapcsolás(15 kB) rendkívül egyszerű, gyakorlatilag csak egy 5V-os tápot (bemenet min ~8V) és egy XT buszszélességű (8 bites) ISA buszt tartalmaz melyet egy PIC 16F877-es kontroller vezérel. A kontroller teljes (8) AN analóg portját és a teljes (8) RC digitális portját egy kliensprogram segítségével a felhasználó lekérdezheti és vezérelheti.

Tipikus alkalmazás

Minden egyes vezérlő (VEKer) fix IP cím alapján azonosítható, mely távvezérelve a kliensprogrammal (VEKer) szabadon megváltoztatható. A kliensprogram TCP/IP protokolon keresztül kommunikál a vezérlővel, így az "Internetes" protokolon kívül nem kell semmi más a hálózatnak. Fix Internet kapcsolat van (fix IP cím tartonmánnyal), és a tűzfalon át engedélyeztetjük az egyes vezérlők IP címét, akár Interneten keresztül is vezérelhetünk berendezéseket. Az alkalmazott Ethernet hálózati kártya (3C509B) 10 Mbites, így egy 100 MBites hálózat esetén dual sebességű HUB vagy Switch (10/100) alkalmazása szükséges. A kábelezést teljesen csak az éppen alkalmazott 3C509B-s kártya szabja meg, lehet UTP vagy 50 Ohm-os Coax. Minden egyéb szerelést a szabványos Ethernet előírások határozzák meg.
Egy hálózaton belül a jelenlegi kliensprogram max 255 vezérlőt tud egyszerre kezelni. 

Az illesztett hálózati kártya: 3Con Etherlink III 3C509B chip -es (a 3C509B chip set a lényeg)!
Eddig én három féle kivitelével találkoztam vele:
3C509B Ethernet NIC 3C509B Ethernet NIC 3C509B Ethernet NIC
3C509B Ethernet NIC

ICP és ISA csatlakozó módosítás VEKer 1.D  (, Protel SCH), és PCB V1.2 (, Protel PCB)! ÚJ!!!
ISA csatlakozó kiosztási infó!


(ISA buszos vezérlő)

Veker V1.D SCH (PDF, 19 kB) PCB V1.2 (pdf 53 kB)
(Dokumentációk)

Figyelem! A Vezérlő csak PIC16F877-el működik!!!

3C5x9B gépkönyve (angol zip-elve 334 kB)

 - A lényeg a PIC-en belüli Firmware(hex) program és a PC-n futó kliensprogram(zip 2.4 MB) -on belül van! 

 - Firmware tudása (PIC 16F877 VEKer V1.0.0 AD):

- ARP, ICMP (ping), UDP/IP protokollok  3C509B ISA (8 bites XT) driverral,

- Kétirányu I/O kommunikáció UDP datagrammal,

- 8 csatornás, 10 bites ADC input,

- 8 bites digitális output,

- Adatfilter (kliens program azonosítás),

- IP cím változtatás+Reset,

- Direkt Reset,

- Konfigurációs byte és adatport bitlekérdezés,

- Vezérlő azonosítás (Vezérlő család, Firmware verzió és I/O típus lekérdezés).

A Firmware beégetéséhez ezt a programozót ajánlom.


Ping teszt működő IP:192.168.1.99 című vezérlőn. Az adathosszt (-l) max 21-re lehet állítani!

Egy szűz hálózati kártyát mielőtt összeépítenénk a PIC-el, először egy lassabb ISA buszos PC-be be kell konfigurálni.
Az I/O címet 300h-ra az IRQ-t bármire és a PNP (Plug And Play) Disabled-re (tiltottra) kell állítani ezzel a DOS-os konfiguráló programmal: 3C5x9bcfg.zip (182 kB)! Sajnos gyors PC esetén a config program nullával való osztás hibával le fog állni, ilyenkor nincs mit tenni, keresni kell egy régebbi, lassabb PC-t :-(.

A jelenlegi Firmware nem kezeli a kártya PNP funkcióját.

PC oldali kliensprogram
(VEKer V1.0.1 végső verzió)

A kapcsolat másik oldalán egy Free kliensprogram (VEKer V1.0.1 zip 2.4 MB) fut.

Rendszerigény: Win9x; NT4; Win2000; WinXP

VEKer kliens program (zip 2.4 MB)
VEKer kliensprogram. Bővebb infó itt!

A free VEKer V1.0.1 maximum 255 vezérlő teljes körű kezelését teszi lehetővé.

VEKer kliens Onlin Help és bővebb információ itt!

Szerzői jogok:
A kliensprogram (VEKer V1.0.1) és a vezérlő Firmvare-ja magáncélokra
szabadon felhasználható! Minden egyéb jogokat fentartok.
A project fejlesztését és támogatását megszüntettem (átadtam)! Kérem e témában már ne érdeklődjenek!


GYIK
(Gyakran Ismételgetett Kérdések)

A VEKer Firmware-ja csak a 3C509B-s, ISA buszos chip-pel működik?
Igen! Itt a drivert nekem kellett megírni, aminél fogva közvetlenül kell kezelnem az ISA buszt és a 3C509B-s Ethernetes vezérlő chipet. Elvben a Firmware kompadtibilis a 3C5x9B chip családdal (a chip leírása szerint szoftver kompadtibilisek egymással), de én ezt még nem teszteltem.

Néhány szót lehetne a jelillesztésekről?
Példa a C port bitenkénti illesztése egy egyen 6V-os reléhez:
Relé illesztése a C port bitjére
A reléhez a feszültséget az 5V-os stab elöl szedném le. 
A bemeneti illesztésről azt kell tudni, hogy 0-tól +5V-ig mehet a mérendő feszültség. 0V-nál digitális 0-át kapunk, közel +5V-nál 1023-mat (10 bites ADC). Hőmérséklet mérésére egy példakapcsolás (és méretezés) itt található. Hasonló képen lehet illeszteni minden kisváltozást eredményező szondát. Nagyobb feszültségeket (+ egyen fesz) sima ellenállásos feszültségosztóval (kimenete max +5V lehet) vezethetjük az AN bemenetekre. Érdemes egy kb. 1uF-os kondival szűretni a közvetlen bemenetet, az 50 Hz-es brumm kiszűrése miatt (nem ugrál a mért érték).

Lehetne a kommunikáción kívül a vezérlőre egy vagy több önálló szabályzási feladatot rábízni?
Még nem! Pontosan azért építettem bele a kártyaazonosítási funkciót, mert így kifejleszthető más tudású kártya (család) is. Kellő érdekeltség esetén, terveim között szerepel egy programozható (LAN-on keresztül), 8 csatornás (1 AN -> 1 C port) alsó és felsőérték szabályzó (pl, fűtés, hűtés, vízszint, megvilágítás, stb. szabályzása), kombinálva programozható 24h-ás (félórás lépésekben) idő függő értékszabályzóval (meghatározott időintervallumban aktív csak az adott csatornás értékszabályzó, több csatorna összevonásával lehetőség lenne különböző időpontokban, különböző értékekre szabályozni). Mind ezt a VEKer kliens programon keresztül programozni és monitorozni (persze a vezérlő a már a letöltött programot önállóan futtatná). És még ott van a soros kommunikáció lehetősége is (ezért használom user-nak a C portot)! De ez már egy harmadik kártya lenne....

Hogyan lehet az analóg bemenetet digitális bemenetként (kapcsolót) kezelni?
Egy 1.5 kOhm-os ellenállással +5V-ra fel kell húzatni az ANx bitjét. Az ellenállás ANx felöli végét kell a kapcsoló egyik végére kötni, a kapcsoló másikvégét GND-re kötni. A kapcsoló zárt állásban 0-ra (GND-re) húzza az AN bemenetet, nyitott állásban az ellenállás +5V-re. A VEKer kliens programban a megfelelő AN bemenet szorzóját 0.0009775-re lehet írni és így nyitott kapcsolónál 1-et, zártnál 0-át fog kijelezni. Ha a GND-t és a +5V-ot megcseréljük, fordított kijelzést kapunk.

Mi a teendő ha rossz IP cím megadás után a vezérlőt nem tudom elérni a hálózaton keresztül? 
Más megoldás nincs mint beégetni a Firmware-t újra a vezérlőbe. Az IP cím a vezérlőn belül beégetődik, ezért a tápfesz kimaradás (kikapcsolás) nincs hatással a vezérlő IP címére (csak a portok állapotára). A javasolt programozó készülék itt található.

Hogyan lehet beazonosítani könnyen a használható Ethernet kártyát?
Ilyen Chipnek kell rajta lenni:
3C509B Chip
Valamint esetleg ilyen feliratnak (3C509B):
EtherLink III

Vége.