Proiect : Ceasuri de bord digitale

Creat de sboicu, Ianuarie 26, 2020, 03:14:19 PM

« precedentul - următorul »

0 Membri şi 2 Vizitatori vizualizează acest subiect.

sboicu

Salutare.

De curand sunt si eu posesorul unui motor cu posibilitatea de a te conecta pe NMEA2000 sa afli in timpul mersului/stationarii diferite informatii pe care acesta le poate oferi.
Informatii ca : trim, ore de functionare, turatie, consum de combustibil instant/trip/mediu, tensiunea din baterie, cateva erori minimale, temperaturi ale uleiului/aerului, etc.
Tinand cont ca, pentru mine, cel putin : turatia, trimul, consumul de combustibil, nr de ore de functionare, sunt importante sa le am la indemana in barca in timpul mersului si tinand cont ca nu vreau mate insirate si un panou mare de ceasuri analogice pe bord, tinand cont si de faptul ca avem cu totii un telefon in buzunar si mai ales ca motoarele mai noi ne ofera posibilitatea de a accesa aceste informatii importante direct de la sursa intr-un mod digital, am zis ca sa ma pun sa imi fac un mic modul pe care sa il conectez la motor, si la care sa ma conectez pe WiFi ca sa vad pe telefon in timp real datele ce ma interesau.
Zis si facut, dar cum sa fac? Eh, prietenul nostru Google ne-a scos din nou, am cautat eu asa cateva zile si am gasit informatii utile.
De ce avem nevoie?
1. Sa cunoastem protocolul NMEA2000 (N2K) sa vedem ce informatii putem culege. Pe scurt NMEA2000 (ii voi spune de acum N2K ca e mai scurt) este o comunicatie CAN (la fel ca la masini) care trimite la unele ID-uri, mesaje specifice parametrilor mai sus insiruiti, si nu numai, intr-un format standard.
2. Comunicatia pe CAN, puteti cauta pe wikipedia despre CAN toate informatiile, pe noi ne intereseaza doar linile de comunicatie : CAN H si L.
3. Cum comunicam pe can cu motorul (conexiunea)
4. Un modul care sa ne trimita pe telefon, cumva, informatiile de la motor.

Proiectul final mi-l imaginez cam asa : Motor -> Modul -> Wireless -> Informatii pe Telefon(orice telefon cu wifi si un browser : chrome, explorer, safari, mozila, etc)

Stadiul actual :
Am reusit sa ma conectez la motor prin intermediul unui kit de dezvoltare Arduino si un montajel de CAN facut de mine. Momentan pot lua toate informatiile de care am nevoie la mine pe laptop in formatul pe care il doresc, intr-o forma inteligibila.
Am reusit sa comunic pe wireless cu acest kit de dezvoltare Arduino si sa primesc intr-o forma numerica momentan informatiile de la motor prin intermediul wifi-ului.
Am reusit sa creez o pagina web care sa ruleze pe acest modul Arduino si sa afizese intr-o pagina web informatiile necesare.

Asadar ce am astazi : un modul pe care il conectez la motor prin intermediul mufei N2K, ma conectez la el cu orice device cu wifi(laptop telefon, tableta, etc) si cu un browser, si vad pe ecranul telefonului/dispozitivului cu care ma conectez, informatiile oferite de motor.

Costul total al distractiei : aprox 100 lei.

In zilele ce urmeaza voi detalia cat de bine pot pasii necesari pe care sa ii puteti urma si voi pentru a va face un astfel de device. Nu este greu deloc, cu putine abilitati de folosire a PC-ului si de a lega 4 fire, ar trebui sa va descurcati.

sboicu

Voi incepe cu conexiunea necesara la motor.

Mi-a fost destul de greu sa identific care cum ce fir duce unde.
A trebuit sa identific cel putin urmatoarele :
1. Masa, minusul, sau groundul de pe conector (firul negru in poza)
2. CAN H (firul albastru in poza)
3. CAN L (firul alb in poza)
Dupa ce am conectat si am incercat sa testez modulul am vazut ca nu merge, am incercat sa inversez firele alb cu albastru pentru ca nu stiam care este CAN H si CAN L, dar tot nu a mers. Apoi am stati si m-am gandit si mi-a venit ideeea ca undeva ar trebui sa fie un fir de alimentare pentru ca producatorii care se respecta izoleaza galvanic motorul de comunicatie, asadar cumva trebuie sa aibe o alimentare ca atare am identificat si :
4. VBAT (firul rosu)

Firul galben nu stiu sincer de la ce este iar documentatie pe net nu am gasit. Cel putin eu nu am stiut unde sa caut, poate voi stiti mai bine.

Acesta este cel mai important pas, restul tine de cum am programat modulul.

in pozele din imagine vedeti un motor Honda de 50cp.

Musa de NMEA este cea neagra, de deasupra mufei rosii (care cred ca este pentru diagnoza), in partea din stanga a calculatorului motorului.

Am marcat pe poze detaliile care conteaza.

Danv

Foarte tare,poate te gandesti sa faci acest modul si pentru comercializare.Cred ca sunt destui colegi interesati sa foloseasca um astfel de sistem de monitorizare a motorului.



sboicu

Citat din: Danv din Ianuarie 26, 2020, 05:09:29 PM
Foarte tare,poate te gandesti sa faci acest modul si pentru comercializare.Cred ca sunt destui colegi interesati sa foloseasca um astfel de sistem de monitorizare a motorului.

Merci de idee doar ca nu voi merge in directia aia.
Eu imi voi face pentru mine si voi impartasi cu voi ce mi-am facut eu cu bani putini si cine vrea sa isi faca gratis.
Nu vreau sa intru in conflicte si discutii inutile pentru eventualele erori sau buguri din sistem.
Nu sunt expert in programare asadar pot aparea buguri de programare pe care sa nu le stiu a rezolva. Eu pentru mine dau un reset si o iau de la capat, cineva care da niste bani nu vrea asa ceva. Asadar momentan va fi la nivel amatoricesc. Vedem ce se va intampla in exploatarea de la vara.

sboicu

Acum vin cu ceva informatii mai concrete despre parametrii posibili pentru a fi cititi de la motor. As pune un link dar nu stiu daca am voi, asadar iata o lista de parametri pe care ii putem folosi, daca sunt disponibili, de la motor :

primul mesaj pe care il voi prelucra :
Oferă date cu o rată de actualizare ridicată pentru un motor specific într-un singur mesaj cadru. Primul câmp oferă informații despre
care motor.
1 Instanță motor
2 Viteza motorului
3 Presiunea de creștere a motorului
4 Înclinarea / tăierea motorului

al doilea mesaj pe care il voi prelucra :
Folosit pentru a furniza date operaționale în timp real și starea relevantă pentru un motor specific, indicate de câmpul instanței motorului. Acest
în mod normal, mesajul ar fi difuzat periodic pentru a furniza informații pentru funcțiile de instrumentare sau de control.
1 Instanță motor
2 Presiunea uleiului de motor
3 Temp. Ulei motor.
4 Temp. Motor.
5 Potențial alternator
6 Rata de combustibil
7 ore totale motor
8 Presiunea lichidului de răcire a motorului
9 Presiunea de combustibil
10 Nu este disponibil
11 Stare discretă a motorului 1
12 Stare discretă a motorului 2
13  % Sarcina motorului
14 procente de cuplu motor

al treilea mesaj :
Informații despre călătorie legate de motor.
1 Instanță motor
2 Combustibil de călătorie utilizat
3 Rata de combustibil, medie
4 Rata de combustibil, economie
5 Economie instantanee de combustibil

Al patrulea mesaj :
Oferă informații de identificare și turația nominală a motorului indicată de câmpul instanței motorului. Folosit în primul rând de
dispozitive de afișare
1 Instanță motor
2 Turația nominală a motorului
3 VIN
4 ID software

Cam astea sunt in atentia mea dintre care doar cateva cred eu ca avem nevoie sa le folosim. In rest lista este muuult mai lunga, se pot citi de la diverse module meteo informatii despre vreme, de la GPS pozitie si viteza, etc., dar nu face subiectul meu.

Poate veniti cu idei cam cum sa arate. sau care ar fi informatiile primare si care ar fi secundare.

Multumesc.

sboicu


cristiantutuianu

Salut
Felicitari #sboicu !
Abia astept continuarea prezentari. Trebuie sa recunosc am cochetat mult timp cu ideea dar nu am "sapat" prea mult de in viata apar si alte prioritati.
Poate gresesc dar consider ca e o varianta destul de economica in cazul in care nu se doresc prea multe informati pe display.
Aici ar trebui sa faci un fel de chestionar ce vreti sa vedeti pe display ?

Asa pentru inspiratie uite ceva :
http://sailboatinstruments.blogspot.com/2016/04/building-your-own-nmea-2000-device.html
http://sailboatinstruments.blogspot.com/2011/01/designing-custom-sailboat.html
http://sailboatinstruments.blogspot.com/2011/10/hi-resolution-custom-compass.html
https://github.com/ttlappalainen
https://github.com/canboat

Astept cu nerabdare continuarea

Alex1958

Salut,
Foarte interesante lucruri ne spui.
Adica la motorul meu, BF135A4, toate aceste informatii pot fi preluate si afisate dintr-o mufa?
Si eu m-am chinuit si am luat un debitmetru extern, cu comunicatie prin Blue Tooth (care n-a mers nici d'al dracului!) iar informatia era deja disponibila!
Te rog personal sa continui si sa finalizezi toata preluarea de date materializand-o hard si soft. Ideal si firesc ar fi s-o valorifici, dar daca nu vrei, ma rog... macar ofera unuia care vrea s-o faca cele necesare.

sboicu

Citat din: cristiantutuianu din Ianuarie 27, 2020, 08:34:32 AM
Aici ar trebui sa faci un fel de chestionar ce vreti sa vedeti pe display ?


Salutare.

Multumesc de feedback.

Nu vreau sa fac un chestionar nici decum, vroiam doar sa vad ce nevoi au altii.

Eu spre exemplu as face afisa doar RPM consum si consum instant, trim, incarcarea motorului, orele de functionare intr-un format text nici decum in format de ceas. Dar asta sunt eu.

Astazi imi vin niste module de can pe care vreau sa le integrez iar pana spre sfarsitul saptamanii cred ca voi avea o varianta de artat si de impartasit cu voi.

Multumesc si pentru linkurile date. Ca si idee ajuta. Ce vreau sa integrez este un senzor de combustibil din rezervor. Dar asta voi face numai dupa ce teste sa vad cum merg informatiile de la motor, daca nu cumva sunt suficiente si nu ma mai complic

byteworks

Ce Arduino si ce shield folosesti? Ce bit rate e pe CAN?

sboicu

Citat din: byteworks din Ianuarie 27, 2020, 10:53:49 AM
Ce Arduino si ce shield folosesti? Ce bit rate e pe CAN?

Esp32 cu un shield pt can facut de mine.

500k, oricum libraria folosita seteaza baudrateul la can automat.

sboicu

Citat din: Alex1958 din Ianuarie 27, 2020, 08:39:58 AM
Salut,
Foarte interesante lucruri ne spui.
Adica la motorul meu, BF135A4, toate aceste informatii pot fi preluate si afisate dintr-o mufa?
Si eu m-am chinuit si am luat un debitmetru extern, cu comunicatie prin Blue Tooth (care n-a mers nici d'al dracului!) iar informatia era deja disponibila!
Te rog personal sa continui si sa finalizezi toata preluarea de date materializand-o hard si soft. Ideal si firesc ar fi s-o valorifici, dar daca nu vrei, ma rog... macar ofera unuia care vrea s-o faca cele necesare.

Vezi ca am pus un link de la honda unde are o lista de motoare si o lista de coduri de motor care au optiunea de nmea la fel si informatiile pe care le ofera ;)

Alex1958

Multumesc!
Am verificat, din pacate motorul meu e mai vechi decat seriile de unde apare aceasta nmea. Asta este "fetele bune n'are noroc!".
Ramane pe motorul viitor!
Oricum sunt de parere ca faci o chestie grozava, desi nu prea inteleg eu limbajul de specialitate....

sboicu

Citat din: Alex1958 din Ianuarie 28, 2020, 08:18:42 AM
Oricum sunt de parere ca faci o chestie grozava, desi nu prea inteleg eu limbajul de specialitate....

La final imi doresc sa fie atat de simplu incat oricine fara prea multe cunoatinte sa isi poata face.

sboicu

Gata.
succes.

Acum pot avea pe telefon prin WiFi direct de pe motor, urmatoarele informatii :

Temperatura motorului
Turatia
Orele de functionare
Trim
Presiunea
Tensiunea de la baterie/alternator
Consumul de combustibil instant
viteza in care se afla : F N R

Cost total 70RON plus cateva ore de munca si cercetare.
Urmeaza sa fac documentatia si apoi sa impartasesc cu voi.

Am zis ca nu ma mai chinui sa fac ceasuri si fel si fel de chestii pentru ca pe mine nu ma intereseaza formatul vizual, cifrele sunt suficiente pentru mine, ce am urmarit a fost sa am informatiile pe ecran, toate o data.
Puteti vedea in poze ce a iesit.

Eu ma declar multumit.
Pe cine intereseaza, ma poate contacta si veedm cum rezolvam sa va ajut sa va faceti si voi asta daca nu reusesc in timp util sa pun aici documentatia.