..che mi invento?

Perdonate il titiolo approssimativo, ma parto dagli "scratch" come dicono oltreoceano.
Ho bisogno di limitare, in funzione di un certo valore da leggere/rilevare, l'azionamento di un dispositivo. Il valore deve essere tenuto permanentemente in memoria.
Spiego, si tratta dell'alzo di un motore fuoribordo che NON deve superare una certa altezza. Il motore è già dotato di un potenziomentro che parla con la strumentazione di bordo e lavora su rete CAN. Il segnale sul potenziometro è la classica variazione di tensione (0,5 - 3,75). la mia idea è:

  • leggere il segnale;
  • memorizzare quello di fermo motore;
  • attivare un relè con cui staccare l'alimentazione.
    Per la parte hardware non vedo grosse difficoltà disponendo già del potenziometro cui mi collegherei in parallelo. Altrettanto per lo stacco alimentazione dato che so dove intervenire.
    Mi chiedo...ed il codice?...cosa ci si può inventare?

Usi una memori permanente eeprom o sd card, a seconda del numero di scritture della memoria. Le memorie hanno un numero di scritture limitato, se scrivi una volta al giorno nessun problema, se scrivi una volta al secondo le eeprom potrebbero danneggiarsi in breve tempo.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.

io adesso ti direi:
comincia dallo schema di potenza
che poi la logica viene di conseguenza
e a quel punto il programma diventa "ovvio" (anche se non necessariamente "banale")

grazie per aver scovato il thread, ma credetemi ieri è cominciato un rimbalzo di pagine per cui non sono riuscito a trovare il thread nemmeno dal mio profilo...mah.
Ok oggi provo a vedere se il multimetro mi legge qualche valore dagli spinotti dello strumento e poi vi dico. Il dispositivo OEM che è questo...ma ovviamente l'interno non è noto...

A quanto ho capito, una volta installato, rimane un cavo che va collegato per fare "apprendimento". Fatta la calibrazione tale cavo viene scollegato e da quel momento l'alzo sarà limitato al valore impostato.
L'unico dubbio è se eventuale collegamento di ulteriori cavi possa confliggere con il CAN bus.

Per forza non riuscivi a ritrovare la discussione! L'hai chiamata "...che mi invento?"!!! :frowning:

Ecco...

Se oltre a saperlo tu lo dici anche a noi sappiamo come aiutarti

Appena riesco faccio delle verifiche con il multimetro e vi aggionro. Che voi sappiate, strumenti che lavorano su CAN bus "leggono" cmq un segnale elettrico variabile analogico? (spero di aver posto la domanda in modo corretto). Questo dubbio per sapere se mi conviene provare a leggere il segnale del sensore di alzo (molto probabilmente una tensione variabile) oppure il segnale che arriva allo strumento proveniente dalla ECU.

Rimango in attesa...

Incomprensibile, decisamente non l'hai posta bene. CAN BUS è un protocollo dati a partire dal layer elettrico a quello di gestione ed è digitale. Sovente una MCU ha un ADC e un CAN BUS, quindi legge dal sensore analogico (a breve distanza) e trasferisce su CAN BUS su lunga distanza. I segnali analogici sono influenzati da campi elettromagnetici, CAN BUS è molto affidabile in presenza di campi elettromagnetici.

Ciao.

avevo premesso che la domanda avrebbe potuto non essere chiara a chi è competente. Il succo è...secondo voi è meglio/opportuno utilizzare il segnale (analogico...variazione di volt) dal sensore o dallo spinotto che arriva allo strumento digitale con un segnale di cui NON conosco le caratteristiche?...è più comprensibile così?

Ti ho già risposto, perché portare a spasso un segnale analogico facilmente inquinabile con il rischio di compromettere il funzionamento attuale?

Usa CAN BUS.

Ciao.

Sorry...ok. Ora devo verificare che cosa vede il multimetro ai capi del connettore strumento. In pratica la ECU parla con un controlbox, dal control box viene fuori, un cavo dotato di un connettore che permette di collegare in serie vari strumenti. Quindi dallo strumento indicatore trim mi rimane disponibile uno spinotto da cui spero sia possibile leggere qualcosa anche se - tempo - ogni strumento avrà all'interno la parte hw/sw necessaria per decodificare dal segnale CAN ildato di cui ha bisogno. No so se sto ragionando correttamente ma mi immagino il CAN bus come un insieme di dati che vengono poi opportunemente rielaborati dal singolo strumento in funzione di quello che lo stesso deve visualizzare....lo strumeto carburante, il trim ecc.

Non te lo devi immaginare, ti serve interfaccia hardware CAN BUS e la documentazione sul protocollo dati che potrebbe pure non essere disponibile. CAN BUS layer fisico è seriale ad alta immunità a disturbi. L'hardware can bus lo colleghi alla seriale e da li invii e ricevi.

PS: Non la vedo alla tua portata al momento, ma neanche alla mia, mai usato can bus.
Ciao.

Ecco una foto che posto per aiutarvi a capire di cosa sto parlando. Una foto è del manuale officina che dice che segnale viene gestito dal sensore. La seconda è invece l'architettura del sistema. Maurotec, grazie. Mi sembra di capire a sto punto che devo lavorare sul sensore come l'apparato originale. Tenete conto che sto parlando di distanze brevissime tra "scatolotto" e sensore

https://tinypic.host/i/mercury.t347B

Dunque, devo cominciare a dare sostanza al codice. Il chip verrà alimentato alla pressione del tasto ALZA. Il segnale che userò è la tensione del sensore di posizione, variabile da 0,5 v a 3,75.
Il codice dovrà:

  • leggere l'iput - il valore di tensione - dal sensore;
  • raggiunto il valore prefissato dovrà inviare un output.
    Scrivere il codice per leggere il valore e fornire l'output l'ho già fatto. Non ho proprio idea, invece, di come fare per "fissare" stabilire la soglia su quel valore. Ciò sia per la parte HW che SW. Potete aiutarmi a capire che logica devo seguire e conseguentemente che HW predisporre?