masterx81 ha scritto:Allora, il circuito da te proposto non so se funzioni come previsto, immagino tu voglia alimentare l'operazionale con tensione singola (0 / +5v), ma sull'ingresso si troverebbe tensioni di +0.6 / -0.6volt.
Non so quanto possa digerirlo.
Si, non è una cosa bella ma non dovrebbe succedere niente con correnti cosi' irrisorie, nei datasheet dicono che nei casi estremi potrebbe andare a +V l'uscita pero' non mi è mai successo. Forse basterebbe invertire gli ingressi, in modo che con tensione inferiore a zero l'uscita sia gia' a +V
Questo schema comunque funziona, l'ho usato anni fa per pilotare l'ingresso velocita' di uno strumentino con una ruota posteriore (per evitare false letture dovute ai pattinamenti).
Diverso sarebbe mettessi un condensatore prima o dopo la resistenza, poi metti due resistenza di eguale valore, una verso massa ed una verso +5v, così da aggiungere un bias a 2.5 volt continui. I diodi li metti uno con l'anodo sul segnale ed il catodo sul +5 (così da escludere tutte le tensioni superiori ai 5volt), l'altro col catodo sul segnale a l'anodo sulla massa (esclude le tensioni inferiori a massa).
Sul pin dell'invertente metti un altro partitore, anch'esso tarato sui 2.5 volt (quindi nuovamente 2 resistenze uguali), così quando il segnale passa lo 0 ottieni chiaramente un passaggio da 0volt a +5volt in uscita.
Con i diodi cosi' collegati avresti un clamp a 5.7 ed uno a -0.7 circa, ovvero come adesso.
Inoltre, se ho ben capito quel che intendi (forse sbaglio, stasera rileggo con attenzione, ora sono molto di fretta), con i partitori connessi in quel modo avresti i fronti in corrispondenza delle creste (quando dopo aver raggiunto il picco positivo la tensione inizia a scendere uscita a zero, quando l'onda inizia a risalire dal massimo punto negativo commutazione a livello 1) e non sullo zero crossing. E neanche sempre nello stesso punto, perche' con la frequenza varia la reattanza del condensatore, che volevo evitare di mettere.
Per misurare la velocità, la cosa piu' precisa e di veloce risposta credo sia sfruttare la funzione 'compare' della pic, ad esempio ogni fronte di salita del segnale.
capture, non compare
Il timer si misura quanto tempo è passato tra un fronte e l'altro, e così sai la valocita' con ottima precisione. Una volta che hai misurato il tempo tra un dente a l'altro, sapendo quanti denti ci sono (o meglio, quanti gradi ci son tra ogni singolo dente), è un attimo misurare la velocità.
Pero' forse è fin troppo preciso per quello che devi fare tu, è possibile che si siano variazioni e fluttuazioni della misura.
Uso questa tecnica spesso per misurare i giri e la velocita', i pic permettono anche di triggerare ogni 4 impulsi, pero' come hai detto è molto "delicata" la lettura fatta in questo modo, perche' basta una minima variazione di velocita' istantanea, che poco influenza la velocità media misurata su qualche giro, per avere una grande variazione sulla misura, poi si hanno tanti interrupt...inoltre qui si' serve una rilevazione precisa dello zero crossing.
Forse un valore 'medio' puo' essere sia meno intensivo epr il processore, sia piu' pulito come misura.
Volendo puoi mettere un timer ogni tot ms, e portare il segnale ad un pin che fa da contatore, tot ms vai a leggere quanti eventi ci sono stati.
Quello che vorrei fare, penso bastino 5 letture al secondo per un traction control...oppure è troppo poco ?
Il problema di entrambi i sistemi è che ad esempio le pic piccole hanno un solo pin che puo' fare da timer/contatore.
Gli 876 hanno due pin che fanno capo ad un unico contatore a 16 bit, quindi abbiamo due capture
Problema che aggiri facilmente con un mux, o semplicemente 4 porte AND, misuri a rotazione una ruota per volta, selezionando quella di interesse.
Forse la funzione counter è quella per te piu' azzeccata, se misuri quanti denti passano ogni 100ms, in 400ms hai misurato la velocita' di tutte le ruote...
ogni 100 mS è pochino...con una tale finestra, a 50 kmh avrei 47.2 impulsi, ovvero meno di 1 kmh di risoluzione...
Per la funzione di controllo trazione, come maderesti il segnale alla centralina?
L'idea sarebbe quella di inserire una AND tra l'uscita della ecu ed il modulo di potenza della bobina (che ti ricordo essere una sulla mia auto, la distribuzione dell'alta tensione è fatta con spazzola) per spegnere a turno uno (mai lo stesso) o piu' cilindri a seconda dell'entità dello scorrimento.
Un taglio dell'iniezione richiederebbe dei driver di potenza ed inoltre, condizione imprscindibile, voglio che escano fiamme dallo scarico.