Invisible link to canonical for Microformats

NMEA0183 - Ethernet


Koska insinöörin mieli haluaa miltei poikkeuksetta rakentaa aina kaiken itse, päädyttiin myös tämä “repeater” tai “gateway” toteuttamaan oman suunnitelman pohjalta. Tavoitteena on siis saada eri antureista, kuten GPS-paikantimesta, peräsinkulma-anturista jne data ethernet-verkkoon, josta karttaplotterina käytettävä OpenCPN osaa sen lukea. Tarvittaessa liikenne on myös kaksisuuntaista, eli karttaplotterista voitaisiin lähettää dataa myös esim. autopilotille (tämä on myös suunnitteilla, mutta vasta aivan alkutekijöissään).

NMEA0183 on jo jokseenkin vanhentunut kaupallinen sarjaliikenneprotokolla, mutta edelleen laajalti käytössä myös uusien laitteiden tukemana. Kyseessä on varsin yksinkertainen ASCII-merkkipohjainen formaatti joka siirtyy differentiaalista RS-422-linjaa pitkin. Toisin kuin modernimpi NMEA2000 (joka kulkee RS-485-standardin mukaisesti), RS-422 toimii vain kahden laitteen välillä kerrallaan, eli samoihin parikaapeleihin ei voi ketjuttaa useampia laitteita. Tästä syystä suunnitellussa laitteessa onkin neljä erillistä sisään- ja ulostuloa NMEA0183-signaalille.

Laite rakentuu ATmega1280-mikrokontrolleriin pohjautuvan Arduino MEGA-harrastuskortin päälle. Arduino onkin luultavasti monille varsin tuttu, sulautettujen harrastusporukoissa se on varsin suosittu. Tämä kyseinen MEGA-malli valikoitui muista siksi, että se tukee neljää erillistä UART-sarjaliikenneväylää. Arduinon perusajatus laajennettavuuteen on ns. shieldit, jotka ovat päällekäin ladottavia moduuleita. Myös tässä tapauksessa fyysisenä lopputuloksena on oma shield, jonka päälle vielä ladotaan W5100-tyyppinen ethernet-shield. Tästä kyseisestä shieldistä on julkaistu jo uudempi versio, mutta tämä sattuu löytymään valmiina jo. Tämän oman shieldin tarkoituksena on lukea kustakin neljästä RS-422 -portista dataa (joka on siis valmiiksi jo NMEA0183-muodossa) ja lähettää se edelleen ethernet-verkkoon, tarkemmin sanottuna valitun verkkoalueen broadcast-osoitteeseen.

Lähtökohtana elektroniikkasuunnittelulle on ollut Maximin valmistama melko tuore MAX14856-vastaanotin/lähetinpiiri. Shieldille näitä on tarkoitus laittaa neljä kappaletta, kullekin väylälle omansa. Tämän lisäksi suunnittelussa on koitettu ottaa huomioon mm. kaapelin virransyötön galvaaninen eristys muusta laitteesta sekä hakkurin tuottaman EMI-häiriöiden minimointi, sillä mm. VHF ei tästä pidä. Tässä vaiheessa onkin siis syytä mainita, että allekirjoittanut ei ole varsinaisesti elektroniikan, saati sen suunnittelun ammattilainen, joten kiitokset taustajoukkojen avustukselle.

Hintaa laitteelle kertyy kutakuinkin seuraavanlaisesti (hinnat vain suuntaa-antavia):

  • Arduino MEGA 13€
  • W5100-shield 7€
  • Piirilevyn teettäminen Kiinassa arviolta 30€
  • Elektroniikan komponentit arviolta 30€
  • Liittimet arviolta 5€
  • Metallikotelo arviolta 25€

Mainittakoon, että täysin rahan takia projektiin ei ole ryhdytty, vaan motivaationa on ensinnäkin tutustua mikrokontrollereihin ja toisekseen tuottaa laite omaan spesifiin käyttötarkoitukseen. Samaa laitettahan voi siis käyttää myös laajemmin esim. NMEA2000-verkon toteutukseen myöhemmin. Verrokkina hieman vastaavanlainen laite ilman lähetystoimintoa: http://www.nuovamarea.com/product_info.php?products_id=272, eli taloudellisesti laitteesta on hankala saada mitenkään erityisen kilpailukykyistä.

Tässä vaiheessa suunnittelua ollaan asettelemassa komponentteja Eaglessa piirilevylle ja yhdistämässä niitä johtimin. Alla näytillä ensimmäisen version kytkentäkaavio. Tulen myöhemmin jakamaan kaikki suunnitelmat piirilevy-layouteineen jne, mikäli joku sattuu kiinnostumaan.

Attachment.png