controllo slittamento ruote moto

Salve a tutti
vorrei realizzare tramite arduino, un sistema che mi permettesse di controllare in tempo reale la rotazione delle due ruote della mia moto attraverso dei sensori.
la mia paura è che il "loop" non sia abbastanza veloce da leggere in maniera affinabile lo stato delle posizioni delle ruote.
domanda:
ogni quanti millisecondi viene attivato appunto la subroutine "loop"?
spero di essermi spiegato..
grazie anticipatamente
G.F.

Credo che dipenda dalla lunghezza del tuo programma.

dipende dalle operazioni che fai nel loop

il processore ha frequenza di 16mhz=16000000 di operazioni al secondo

per me si può fare

ottimo!!
ovviamente dovrò creare un programma che impegni pochissima CPU!!
grazie a tutti
GF

credo che con un sensore di hall puoi fare tutto

MicioGianni considera che arduino lavora a 20 milioni di operazioni al secondo.
Non penso che un utilizzo intensivo della "CPU" possa essere importante.
Quello che mi preoccupa maggiormente è il sensore da usare e come/dove piazzare l'arduino...

Già..
tieni presente che per ora è solo uno studio di fattibilità spinto dalla passione per le moto.
Per i sensori ho un amico che li mastica benissimo e mi farò consiglare da lui.
dove posizionare l'arduino??
nel cruscotto magari fornito di display per varie visualizzazioni??
(giri ruota posteriore ed inferiore ed altro ancora....)
GF

usa un'encoder ottico, te lo fai fare in metallo, che si attacchi sugli attacchi del freno a disco ma giri internamente, fatto quello è una cagata leggere i dati

MicioGianni a questo punto dicci che moto hai :slight_smile:
Anche io sono appassionato di moto e avevo pensato di fare qualcosina sulla mia ma tra tempo e tutto il resto...

secondo me con un encoder ottico c'è il rischio che con l'andare del tempo si riempiano di sporco e polvere le parti ottiche e non si riesca più a leggere niente

Concordo.
Meglio qualcosa di magnetico...
Un sensore ben posto in prossimità della ruota e uno solidale con la ruota rilevato quando passa sul primo fisso dovrebbe funzionare bene.

il problema è che c'è bisogno di molta precisione per fare questo tipo di controllo,in genere si fa sempre con degli encoder, ma solitamente sono montati all'interno, volendo aggiungerlo all'esterno la cosa piu ovvia è farlo ottico, e difficilmente si riempie di polvere perchè stando a pochi millimetri da una ruota in metallo forata che gira a velocità, voglio vedere proprio come fa a rimanere fermo della polvere. al massimo è da vedere per quanto riguarda lo sporco della pioggia...

comunque contate che per fare un controllo simile(fatto bene e non dell'ovetto kinder) serve un segnale ogni massimo 2 gradi di rotazione ( in genere per comodità in automotiv si usano multipli di 0.9 gradi, solitamente si monta un'encoder da 200 step, quindi 1.8 gradi a step )

Io consiglio un sensore di hall qualsiasi e un singolo magnete studiato intorno alle specifiche del sensore. Dato che non devi sapere se vai avanti o indietro, basta un singolo magnete e contando l'intervallo tra un passaggio e l'altro, computandolo con la superficie di rotolamento della ruota ottieni la velocità. Computando anche i vecchi rilevamenti con quelli attuali puoi anche calcolare l'accelerazione.

per avere prestazioni decenti devi avere un feedback immediato, non puoi aspettare 1,2 o 3 giri di ruota, ci vuole al massimo 1\100 di giro di ruota se si vuole fare un sistema meccanicamente valido.

poi tutto dipende da cosa devi fare, i sistemi che sviluppai tempo addietro erano principalmente per la partenza e per la cambiata su un prototipo che aveva esageratamente troppi cv\kg, e la lettura dello slittamento era utile per avere una partenza con un pattinamento relativamente controllabile elettronicamente, e una cambiata con un pattinamento quasi impercettibile(prima l'auto andava di traverso per almeno 10-15 secondi in partenza).

se poi a te serve invece per controllare il pattinamento in frenata si usa un'accellerometro combinato con un encoder, il problema è che il tuo freno (pompa o pinza) devono essere predisposti per l'abs. altrimenti se non hai una grande esperienza, rischi costruendoti un'abs artigianale di impapparti contro qualcosa perchè la frenata non è omogenea o vai lungo per un problema di elettronica. se fai quindi un sistema di abs, ti consiglio di prenderlo molto con le pinze, li ogni errore si paga a caro prezzo ... :-[

xqtm mi pare di capire che hai già lavorato con le pompe dell'abs, vero?
se si sono estremamente difficile da gestire elettronicamente parlando?(cioè usano una comunicazione astrusa o si reperisce facilmente e si può connettere con l'arduino?)

il sistema abs di persè funziona in modo molto semplice meccanicamente parlando, si tratta di una valvola(in realtà un'elettro attuatore) che viene attivata con una frequenza molto bassa siamo sui 5-10hz quando il movimento della ruota viene bruscamente fermato.

elettronicamente parlando, se vuoi il segnale dalla centralina va da moto a moto e da auto a auto,in genere quelle standard che si trovano vengono prodotte da bosh, se vuoi attivare le elettrovalvole, semplicemente basta una differenza di 12V e l'attivi.

questo è per darti un'idea del funzionamento dell'abs (quindi con compensazione anteriore\posteriore) che va sulle BMW R1150:

sulle auto lo schema è questo ( sopra vedi senza abs)

il metodo di lettura della posizione della ruota viene usato un'encoder ottico come dicevo prima montato in questo modo (BMW S100RR)

.

mentre sulle yamaha l'encoder ottico viene montato in modo coperto e stagno (è quel coperchio color sabbia sul mozzo della ruota)

in generale in automotiv il protocollo usato è il CAN (control area network) , un protocollo seriale sviluppato da intel e bosh dal precedente protocollo VENICE (veicle network integration component electronic)

Il protocollo CAN stabilisce la struttura del pacchetto di informazioni che deve viaggiare sulla rete secondo i seguenti criteri:
Start: inizio del pacchetto dati
ID: identificatore del messaggio
Comandi: tipo di messaggio
Dati: pacchetto dati trasmessi
CRC: codice rilevamento errori
End data, Acknowledge e End frame: informazioni di chiusura del pacchetto dati

Le reti di comunicazione veicolare vengono classificate nelle seguenti tre classi:
A: fino a 10Kbps per applicazioni di carrozzeria (alzacristalli, chiusura centralizzata, ecc.)
B: da 50Kbps a 125Kbps per applicazioni di plancia (climatizzatore, strumentazione di bordo, ecc.)
C: da 125Kbps a 1Mbps per applicazioni vano motore (centralina gestione motore, ABS/ESP, ecc.)

qui c'è tutta la descrizione del protocollo CAN completa
http://www.semiconductors.bosch.de/pdf/can2spec.pdf

però ripeto, NON toccate l'abs se non sapete quello che fate, rimanerci secchi o peggio zoppi perchè si voleva giocare ai meccanici non è bello... o se proprio proprio fatelo provare prima a qualche amico che vi sta un po sui maroni ;D ;D ;D

io se lo monto lo estrggo dal suo ambiente natio ;D ;D
va a finire sull'ape, e la pompa serve principalmente per il tc

accipicchia ragazzi!!
mi fa molto piacere che l'argomento interessa e che mi date tante dritte..
io ho un suzuki bandit 1200.
un mio amico esperto in automazioni industriali mi suggerisce degli encoder ma non ho ancora capito quali...
in ogni modo vi terrò aggiornati!!
Grazie!!
ciao

in ogni modo io voglio realizzare un sistema che mi aiutasse a non derapare in curva..
e non un abs....
quindi dovrò inserire anche un sensore che mi legga l'inclinazione della moto ...
e sono certo (da profano) che in commercio ce ne sono di tutti i tipi...
grazie a tutti!!
ciao

li basta un giro da elicottero