I Forum di Amici della Vela

Versione completa: Progetto sistema di monitoraggio DIMMIBOX
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Ciao a tutti a bordo del mio Comet 33S "DIMMIDISI" sta per arrivare un sistemino di monitoraggio e remotizzazione (appunto, il DIMMIbox) del quale vorrei condividere con Voi le impostazioni e le idee progettuali, per raccogliere commenti e consigli da chi ne sa più di me (e qui siete in tanti)

Premesse:
- Ho deciso di approciare il mondo Victron, quindi ho sostituito il voltmetro VDO con BMW-712 Battery Monitor
- Sto sperimentando (a casa) il regolatore di carica MPPT 75/15 di Victron, ma a bordo per ora non ho fotovoltaico
- Esiste una copertura wifi in banchina

Il DIMMIBOX sarà espandibile entro i limiti della fantasia e delle necessità dell'utente.
I dati raccolti verranno trasmessi alla dashboard del mio pannello personale in ambiente HOME ASSISTANT, quindi visualizzabili ovunque (Samartphone, pc, tablet.. basta un browser)
Per la raccolta e la trasmissione utilizzerò un ESP32 ed il protocollo MQTT

Prime funzioni:
- raccogliere i dati delle batterie disponibili sul VDEdirect del BatteryMonitor
- sensore allagamento sentina
- sensore livello acqua serbatoio
- sensore ambiente temp/igro/baro
- .....
- recupero istantanee con qualche ESP-CAM (??)



La prima problematica da affrontare e tenere sempre a mente è l'energia:
1- il DIMMIBOX sarà sempre alimentato. Per ora mi attaccherò alla SERVIZI (95A); c'è un punto delicato: il collegamento va fatto a monte anche dello switch generale (1-0-2-BOTH) . Ho pensato ad un fusibile subito dopo il morsetto generale, per poi andare al DC-DC e di lì al DIMMIBOX
2- ESP32 ha una comoda funzione di deep-sleep che lo porta in una condizone di assorbimento 0,15 mA, pertanto il sistema si sveglia ogni 20 minuti, scansiona tutti i valori, li trasmette e ritorna a dormire

Forse a questo punto lo stadio più energivoro è il convertitore DC-DC 12-5, che credo abbia un assorbimento dovuto alle operazioni di step down. Credo che esistano versioni a diodo e versioni a mosfet, che dovrebbero esser più green (come per i ripartitori di carica)
Per ora sono orientato su questo:

https://it.farnell.com/alfatronix/pv-usb...c-dc%20usb

Questo contenuto non e' visualizzabile da te Ospite. Se vuoi vederlo, REGISTRATI QUI .

molto comodo per il case molto solido, e che ha una "Off load current (quiescent current) <1.7mA" . Forse si può fare di meglio? ATTENDO CONTRIBUTI SU QUESTO ARGOMENTO
Lo posiziono vicino allo switch nel solito vano sotto al carteggio, e poi con un cavo mini USB posso andare al quadro strumenti dove alloggerò il DIMMIBOX


(....continua...)
Questo contenuto non e' visualizzabile da te Ospite. Se vuoi vederlo, REGISTRATI QUI .

lo schema per il momento è questo.

Sull'ESP32 ho installato ESP-EASY, una piattaforma per programmare facilmente tutte le funzionalità che il chip offre.
In particolare:
- ingresso seriale compatibile VEDIRECT
- contatto pulito sensore allagamento
- sensore DHT22 temperatura+umidità
- sensore BMP180 temperatura+barometro

Da espeasy i dati rilevati vengono inviati tramite MQTT al broker di home assistant

A breve la dahboard!
@andreaB72 : che tu sappia qual è la soluzione migliore per un sensore on/off tipo "galleggiante allarme allagamento"?
A sensazione sarei orientato su NC che tiene a GND un ingresso dotato di resistenza pull-up. In questo modo non mando in giro segnali +3,3 e son sicuro del circuito per la logica NC: se si interrompe per guasto mi attiva l'allarme e si interviene.
Ti serve un galleggiante però.
In barca sono sempre critici per ragioni meccaniche (si sporcano e si bloccano).
Dal punto di vista elettrico, credo che sia una buona soluzione.
(07-03-2023 01:57)giorgino Ha scritto: [ -> ]@andreaB72 : che tu sappia qual è la soluzione migliore per un sensore on/off tipo "galleggiante allarme allagamento"?
A sensazione sarei orientato su NC che tiene a GND un ingresso dotato di resistenza pull-up. In questo modo non mando in giro segnali +3,3 e son sicuro del circuito per la logica NC: se si interrompe per guasto mi attiva l'allarme e si interviene.

Sent from my SM-G991B using Tapatalk
si certo il contatto deve essere tramite un galleggiante. Credo ci sia qualcosa di già pronto in commercio.

Invece per il livello dell'acqua hai qualche suggerimento? che sensori si usano? si basano su una resistenza variabile ?
Si, sono standard. Ci sono da 180ohm e 240ohm.

0ohm mi sembra che sia vuoto e aumenta la resistenza in base al livello.
Ci sono anche capacitivi, ma costano un botto.
(08-03-2023 00:20)giorgino Ha scritto: [ -> ]si certo il contatto deve essere tramite un galleggiante. Credo ci sia qualcosa di già pronto in commercio.

Invece per il livello dell'acqua hai qualche suggerimento? che sensori si usano? si basano su una resistenza variabile ?

Sent from my SM-P613 using Tapatalk
Esistono 2 standard quello europeo (10-190 ohm) e quello americano (240-33 ohm).
Il primo valore indica il serbatoio vuoto, il secondo il pieno.
BV!
P.S. se staccate la sonda ad uno strumento a standard europeo, la lancetta va a fondo corsa, oltre il pieno.
P.S.2 esistono anche le sonde ad ultrasuoni che non hanno parti in contatto con i liquidi contenuti nel serbatoio.
(08-03-2023 11:04)pepe1395 Ha scritto: [ -> ]Esistono 2 standard quello europeo (10-190 ohm) e quello americano (240-33 ohm).
Il primo valore indica il serbatoio vuoto, il secondo il pieno.
BV!
P.S. se staccate la sonda ad uno strumento a standard europeo, la lancetta va a fondo corsa, oltre il pieno.
P.S.2 esistono anche le sonde ad ultrasuoni che non hanno parti in contatto con i liquidi contenuti nel serbatoio.

ma ti pare che lo attacco ad uno strumento standard ??? Smiley45

L'idea è di collegarlo al DimmiBOX. Tocca solo capire come 26

Per esempio visto che il mio serbatoio ha una forma irregolare penso dovrei fare una tabella con corrispondenze misurate in precedenza
Se usi il tuo software puoi farti la tabella di conversione con un po' di punti e interpolare. Le letture le passi in un filtro per non vedere oscillazioni e sei a posto.
Roba da poco.

(08-03-2023 23:13)giorgino Ha scritto: [ -> ]ma ti pare che lo attacco ad uno strumento standard ??? Smiley45

L'idea è di collegarlo al DimmiBOX. Tocca solo capire come 26

Per esempio visto che il mio serbatoio ha una forma irregolare penso dovrei fare una tabella con corrispondenze misurate in precedenza



Sent from my SM-G991B using Tapatalk
(09-03-2023 00:50)AndreaB72 Ha scritto: [ -> ]Roba da poco.

Smiley33Smiley29Smiley5
Se può esserti utile ci sono trasduttori che hanno una curva di risposta customerizzabile appunto per serbatoi irregolari, io li ho utilizzati su serbatoi ricavati direttamente sul fasciame di imbarcazioni in acciaio, misuravo la quantità immessa, in rapporto al livello e ne traevo una curva che poi adattavo al sensore, ne ho installati qualche decina e scegliendo il modello giusto sono ottimi anche per acque nere (la bestia nera dei livelli in quanto ad affidabilità). Questa dovrebbe essere la serie:
https://keller-druck.com/it/prodotti/tra.../serie-35x
Immagino ci siano prodotti molto più economici, questi sono ottimi .
M
Sulla mia barchetta ho connesso la sonda resistiva 10-190 ohm VDO ad un Maretron TLA-100 che trasforma il dato di livello del serbatoio in una PGN Nmea 2000. Anche in questo caso il livello può essere regolato con una tabella che tiene conto della forma del serbatoio, tutto funziona finché la barca non è sbandata…
BV!
Ma giorgino ha in piano di mettere un ESP32 - basta aggiungere un transceiver CANBUS et voila Smile (tipo MCP2551).
Ecco la lib da usare per far parlare N2K ai compatibili Arduino: https://github.com/ttlappalainen/NMEA2000

Una nota sul BMV712 - mi sembra che sia TTL a 3.3V e non a 5V, ma ti consiglio lo stesso di mettere un optoisolatore perché il BMV è molto sensibile ai disturbi che arrivano dalla connessione seriale.
Trovi in giro anche delle lib già fatte per decodificare il ve.direct (anche se è abbstanza triviale).
Qui trovi un mio progettino che legge ve.direct e lo spara su N2K: https://github.com/titio72/n2k_battery_monitor - il codice è scritto per girare su linux ma si adatta all'ESP32 velocemente.
Si, il vedirect esce 0÷5v. Ho messo uno step down per entrare a 3,3 nell'esp32. Cmq su un forum Victron mi hanno detto di non collegare il+5, solo tx e gnd. Funziona bene.
I dati raccolti non mi interessa mandarli su N2K ma voglio vederli sullo smartphone, quindi esp32 li mette in ordine e li trasmette MQTT su un server.
Primo prototipo pronto per il test nel weekend!
[attachment=51973]

Inviato dal mio SM-S906B utilizzando Tapatalk
[attachment=51974]
[attachment=51976]

Dashboard sul cell:[attachment=51977]

Inviato dal mio SM-S906B utilizzando Tapatalk
Cavoli sei davvero forte. Con l'aiuto di Andrea anche io ho utilizzato esp32 per visualizzare dei dati su B&G con le librerie NK2 ma resto un povero dilettante. Mi piacerebbe capire meglio la parte webserver (si dice così?) per visualizzare le info in rete, non è che vuoi condividere il codice ?

Complimenti ancora e comunque
(12-03-2023 12:45)Luigi.gazzotti Ha scritto: [ -> ]Cavoli sei davvero forte. Con l'aiuto di Andrea anche io ho utilizzato esp32 per visualizzare dei dati su B&G con le librerie NK2 ma resto un povero dilettante. Mi piacerebbe capire meglio la parte webserver (si dice così?) per visualizzare le info in rete, non è che vuoi condividere il codice ?

Complimenti ancora e comunque

Grazie Luigi, ma tieni presente che non è tutta farina del mio sacco, mi spiego meglio:
Il sistema va visto in 2 parti:
A - il box in barca che fa da collettore di tutte le informazioni, e qui c'è l'ESP32 che monta ESPEASY, un ambiente di sviluppo secondo me potentissimo per smanettare gli ESP32.
Raccoglie i dati da qualsiasi sensore gli colleghi e lo trasmette altrove. Dove?

B - sulla mia piattaforma Home Assistant, che è un HUB di domotica (e molto altro) che può essere sia cloud che fisica su un server. Ed è lì che i dati vengono ricevuti e visualizzati

Tra A e B la trasmissione è con il protocollo MQTT che è un sistema tipo client-server ovvero svariati device che mandano messaggi ad un unico broker che li raccoglie e li rende disponibili (qui è spiegato meglio https://aws.amazon.com/it/what-is/mqtt/ )

Nel mio caso A manda tutte le stringhe che raccoglie al broker che è in ascolto su http://mioserver.org:1883
"mioserver.org" è l'indirizzo dove gira la mia piattaforma Home Assistant, che si programma abbastanza facilmente, ed è in grado di visualizzare i dati ricevuti.

A quel punto collegandosi all'indirizzo http://mioserver.org:8543 appare la videata con i dati impostati

Di quale parte del sistema vorresti maggiori informazioni?
ok, io sono fermo ad un programmino da fare sull'esp32 per farlo diventare web server a cui connettersi con qualunque device. Non conosco mqtt ora me lo studio un pò ma probabilmente è un filo sopra le mie reali necessità.

grazie per gli spunti, certo che restare aggiornati è quasi impossibile
se vuoi usare l'ESP32 ti suggerisco di provare a montarci ESPEASY
E' incredibile quanto tutto diventa facile!


https://www.letscontrolit.com/

qui trovi una guida in italiano, un po' vecchiotta ma ti dà l'idea
https://farelettronica.it/esp-easy-la-do...ylJP2E95e8

MQTT l'ho usato perchè volevo trasmettere le informazioni su una piattaforma remota, ma nulla vieta di tenere tutto in locale. Lo stesso ESP32 potrebbe facilmente visualizzare i dati su un proprio display collegato a una delle tante porte programmabili come I2C. Anche qui espeasy ti rende tutto facile!
URL di riferimento