NAUTICA collegamento strumenti analogici e NMEA200

Sulla mia barca ho tutti gli indicatori originali quindi analogici. per chi non fosse esperto di nautica sono dei bellissimi strumenti a indicazione diretta tipo il contachilometri della macchina.
Questi strumenti riportano dei valori che ricevano da altri strumenti chiamati trasduttori.
Esistono trasduttori che rilevano la velocità della barca, la velocità del vento, la direzione del vento, etc. Purtroppo devo cambiare tutti i trasduttori e chiaramente quelli nuovi sono tutti digitali e usano uno standard chiamato NMEA 2000. Ho visto che esistono già un sacco di righe di codice per lavorare con questo standard.

Domanda 1
E’ possibile con arduino riuscire a convertire un segnale digitale in analogico.

Se ho capito bene i miei indicatori ricevono una certa quantità di corrente al variare della quale viene riportato un valore differente. Del tipo se ricevo 3v riporto 5 kmh se ne ricevo 9v riporto 15kmh se ricevo 12v riporto 20kmh
Quindi dovrei in qualche modo riuscire a controllare la corrente in uscita dalla batteria di servizio e inviarla allo strumento secondo una proporzione che ancora non conosco. giusto?

Domanda 2
quel’è lo strumento che mi permette di modulare la corrente in uscita da una batteria?

Poi, portandomi un po’ avanti con i sogni, visto che la barca è anche munita di frigorifero bello capiente e che a me le birrette mi piacciono fresche, perchè non collegare anche il frigorifero e magari accenderlo qualche ora prima di salire a bordo? etc, etc, etc.

Domanda 3
Quale scheda arduino compero? che abbia anche la possibilità di connettersi in rete?
Quale altro Hardware mi serve?

Avrete capito che di corrente e d elettronica ne so <0 Chi mi aiuta?
GRAZIE



facendo una rapida ricerca ho trovato che:

Dal punto di vista elettrico, il protocollo NMEA 2000, è compatibile con il bus CAN (chiamato “CAN bus”). Il CAN bus è utilizzato anche negli autoveicoli comuni. Le auto infatti hanno un sistema di autodiagnostica chiamato OBD-II (On-Board Diagnostic 2) o EOBD (European On-Board Diagnostics) che permette al motore,alle centraline e i dispositivi compatibili di scambiarsi informazioni.

Grazie all’adozione del CAN bus, il nuovo protocollo NMEA 2000 permette una connessione multi-trasmettitore e multi-ricevitore. Con il vecchio protocollo NMEA 0183 invece la rete di dispositivi poteva essere composta da un solo talker (trasmettitore di messaggi) e diversi listeners (ricevitori). Per ampliare questa rete bisognava passare attraverso dei multiplexer che si occupavano di instradare in modo corretto i pacchetti, evitando che più di un talker trasmettesse contemporaneamente creando una “collisione” di messaggi.

Anche il protocollo NMEA 2000, come il precedente 0183, si avvale di una comunicazione seriale di tipo differenziale, questa tecnica permette di ottenere un’alta immunità alle interferenze e questo si traduce non solo in affidabilità ma anche nell’opportunità di aumentare la lunghezza massima del bus di comunicazione pur mantenendo una discreta velocità di trasmissione.

Infatti, il protocollo NMEA 2000, ha una velocità di comunicazione seriale fissa a 250Kbps (50 volte più veloce del protocollo NMEA 0183). La lunghezza massima del bus si attesta a 200 metri.

Quindi, intanto, di sicuro ti servirà un inferfaccia da CAN a seriale Arduino, dopo di che però … NON so se esiste una libreria per l’interpretazione dei messaggi che viaggiano su tale bus, difatti, il NMEA2000 …

Salendo a livello di messaggistica, sappiamo che l’NMEA 2000 si basa a sua volta sul protocollo SAE J1939 e ISO 11783 che descrivono la sintassi dei messaggi. Ancora una volta abbiamo uno standard in comune con il comparto automobilistico.

Guglielmo

1 Like

Leggendo un po’ in giro ho visto che NMEA2000 è un protocollo proprietario (le cui specifiche, per chi è interessato, dovebbero essere in vendita per circa 1000 US$) … qualcuno però sembra abbia già fatto qualche cosa … prova a leggerti QUESTO vecchio thread :wink:

Guglielmo

1 Like