Hirdetés

Új hozzászólás Aktív témák

  • zka67

    őstag

    válasz tvamos #1884 üzenetére

    Srácok, igaza van tvamos-nak, ide soros vonal kell, mégpedig RS485-ös adó-vevőkkel, különben nem fog működni a rendszer. Egy I2C buszt nem lehet elvinni még 2 méterre sem, soros vonalat árnyékolt vezetékkel talán 15m-re alacsony sebességgel. RS485-öt meg csavart érpáron (UTP vezetéken) akár 1200m-re is (nekem egy ipari parkban működik 80 darab kártyaolvasóm ezzel a megoldással).

    Továbbá figyelembe kell venni azt is, hogy mit használtok kapcsolónak? Relét? Szerintem marhaság, egyrészt drága, másrészt meg sok a gond vele, néha több kárt csinál mint hasznot. Én MOSFET-et használnék, ha a kapcsolt áramköröknek nem kell összekötve lennie a GND pontjuknak. (Egy relé árából veszek tíz mosfetet).

    Én úgy csinálnám meg a rendszert, hogy - ha már ardunionál kötöttetek ki - vennék egy vezérlő adruinot, aminek a soros port kimenetére tennék egy 75176-os IC-t adó üzemmódban, majd UTP-n sorba felfüznék rá annyi aurduinot, amennyi szükséges. Ezeknek a soros port bemenetükre tennék szintén 75176-os IC-ket vevő üzemmódban. Minden egyes vevő arduinonak adnék egy báziscímet és kész is a protokoll.

    Ha be akarok kapcsolni egy kimenetet, akkor kiküldöm a kapcsolni kívánt port címét, 0-127 között, valamint a 7-es bitet 1-be kapcsolom, ha ki akarom kapcsolni, akkor pedig a 7-es bitet nullába kapcsolom. Ha a cím az adott arduino tartományába esik, akkor feldolgozza a parancsot, ha nem, akkor figyelmen kívül hagyja.

    Ezzel ki lehet védeni azt is, hogy esetleg gyorsan ki-be kapcsolgathassa az adott portot (vannak olyan áramkörök, amik nem igazán szeretik ezt). Pl. ha ki van kapcsolva a port és bekapcsolás parancs jön, akkor bekapcsolja. De pl. ha 5 mp-en belül kikapcsolás parancs jön, akkor azt eltárolja, de nem kapcsolja ki azonnal a portot. Ha közben ismét bekapcsolás parancs jön, akkor marad bekapcsolva a port, különben 5 mp múlva kikapcsolja.

Új hozzászólás Aktív témák