Go Down

Topic: Contagiri e come pilotare 22 led? (Read 1 time) previous topic - next topic

Tobo

Ciao a tutti!

Sto cercando di realizzare un bel contagiri con 22 led in riga per la mia old panda  :smiley-mr-green:

ho solo un paio di domande da porre:

1) come posso pilotare 22 led con un arduino solo  :D ho a disposizione qualche 74hc595 e 165 ma non so se possono servire
2) dalla centralina che tipo di segnale esce? è tipo un pwm oppure una tensione variabile? eventualmente, con un tester come potrei capire che tipo di segnale ricevo?

That's all folks :D

Grazie a tutti in anticipo!  :)
Mom: Can he lead a normal life?
Doctor: NO! he'll be an engineer!

Michele Menniti

Mi sentirei di consigliarti integrati tipo LM3914 o LM3916 (il 3915 è un logaritmico e non va bene come contagiri): ogni IC pilota 10 LED, puoi usarne due in cascata e arrivare a 20, oppure 3 per 30 (massimo, ma ti puoi fermare a 22); puoi impostarlo per modalità dot o bar (punto o barra); non so che tipo di segnale hai a disposizione, mi pare avesse a che fare con gli impulsi delle puntine; se c'è una centralina predisposta per il montaggio di un contagiri allora non è una OLD Panda, sarà una Panda meno recente di quella attuale ;) Una centralina potrebbe tranquillamente convertire i giri in una tensione continua variabile, per questo integrato sarebbe l'ideale, ma anche per Arduino, ovviamente rapportando opportunamente le tensioni.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Tobo

scrissi old per indicare la vecchia forma, è una delle ultime uscite in effetti :D

Comunque, gli lm3914 mi consentirebbero di salvarmi con 5 euri di spesa (costicchiano però :() 20 led sono più che sufficienti, giusto per risparmiare al max, con gli shift register non si riesce a far nulla? 
Mom: Can he lead a normal life?
Doctor: NO! he'll be an engineer!

Michele Menniti


scrissi old per indicare la vecchia forma, è una delle ultime uscite in effetti :D

Comunque, gli lm3914 mi consentirebbero di salvarmi con 5 euri di spesa (costicchiano però :() 20 led sono più che sufficienti, giusto per risparmiare al max, con gli shift register non si riesce a far nulla? 

Ma non saprei dirti, gli shift register in genere si usano precaricandoli con dei bit che poi puoi usare per tenere accesi o spenti dei LED, p.es.; ma qui si tratta di trasformare in diretta un segnale, che ancora non si sa di che tipo sia, in una barra di led o un solo led che si "muove" tipo punta di lancetta e l'LM3914 (l'LM3916 costa di più ma la funzionalità è identica, solo che è in grado di pilotare diversi tipi di elementi, per i LED va benissimo il 3914); gli shift li vedo male.... oltretutto per caricarli li devi interfacciare, non penso che alla fine risparmi moltissimo. Vedi di capire che segnale hai a disposizione e poi si studia la soluzione migliore e più economica $)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Tobo

il segnale è un onda tipo pwm a frequenze parecchio basse si parla di circa 30hz, ai minimi regimi, per salire verso le centinaia con l'aumentare dei giri, c'era anche una tabella, ma non me la ricordo più, la tensione a livello alto è superiore ai 7.5V quindi potrei portarla a 5V con un lm7805?

p.s. non ho capito, in caso di pwm è meglio usare l'arduino o un circuito analogico?  :smiley-mr-green:
Mom: Can he lead a normal life?
Doctor: NO! he'll be an engineer!

pelletta

Da quel poco che ho sperimentato con gli integrati serie LM391* posso dirti che non accettano in ingresso un segnale pwm, ma puoi benissimo adattarlo con un filtro RC (resistenza più condensatore).
Anche secondo me per fare un contagiri questi integrati non se la cavano male, rimangono però un pò ostici per poterli tarare (nulla di tragico comunque).
Ci dovrebbero essere anche degli integrati che restituiscono in uscita una tensione proporzionale alla frequenza del segnale che metti in ingresso ma ora mi sfugge la sigla, pardon.
Con gli shift register si può fare ugualmente ma non so se il gioco vale la candela, è vero che costano meno ma poi devi usare anche un atmega e fronzoli vari, non so se conviene.
Ciao


Michele Menniti

Gli integrati a cui si riferisce BUD sono dei convertitori frequenza->tensione, ti forniscono in uscita una tensione proporzionale alla frequenza in ingresso, però torniamo al discorso dei costi. Viste le basse frequenze in gioco, potresti misurarle, opportunamente partizionate per abbassarle al limite di 5V (il 7805 è uno stabilizzatore, non c'entra nulla in questa cosa, bastano due resistenze opportunamente calcolate), direttamente con Arduino, se la cosa funziona (e funziona sicuro) usi un 328P come convertitore e poi gli piazzi un bel display LCD e non se ne parla più.....
L'idea del filtro RC dovrebbe essere buona e comunque è di facile sperimentazione: devi mettere in serie al segnale della centralina una R e successivamente un C verso massa, prova con una 330ohm e 10µF; poi misura col tester la tensione continua e vedi che risultati ottieni; se hai un tester a lancetta sarebbe preferibile perché ti renderesti subito conto visivamente della risposta del filtro; puoi variare i valori sperimentalmente fino ad ottenere una risposta valida, a quel punto di applica al 3914.
BUD li ha usati di recente mi pare, però è strano che abbia avuto problemi di taratura, me li ricordo piuttosto precisi, avendo realizzato diversi progetti tanti anni fa; invece da evitare sono i 3915 che hanno comportamento logaritmico e non lineare.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

astrobeed


1) come posso pilotare 22 led con un arduino solo  :D ho a disposizione qualche 74hc595 e 165 ma non so se possono servire


Implementa il Charlieplexing e non ti serve nessun hardware esterno oltre ai led e le resistenze di limitazione, con cinque pin arrivi a 20 led, con sei pin arrivi a 30 led.


Tobo

Cacchio mi avete dato una riga di soluzioni non da poco, Grazie davvero! :)

L'idea del contagiri su schermo LCD è figa, maaaaa.....non quanto i led stile formula1 o WRC  :smiley-mr-green:
Tuttavia, oltre al contagiri a led, prevedevo l'uso dello schermo per inserirci info sulla temperatura dell'acqua e qualche altra cavolata, ma prima devo vedere se posso prelevare queste info dalla centralina oppure se devo mettere le mani sul motore (cosa che preferirei evitare dato che non ho mai lavorato su quello di una macchina).

Visto che sono un pellegrino il charlieplexing mi pare una soluzione davvero economica (valutando anche quanti pin servono per l'LCD) devo studiarla e vedere come va, tanto per comprare gli integrati faccio sempre a tempo ;) (la strada più facile è quella dove si impara meno  :))

Quindi devo calcolare il partitore di tensione, se avessi un oscilloscopio sarebbe più facile, ma vabbè andrò per tentativi, è quel >= 7.5 che mi darà fastidio  ]:)
Mom: Can he lead a normal life?
Doctor: NO! he'll be an engineer!

Michele Menniti

Ti serve un oscilloscopio per calcolare un partitore? :smiley-eek-blue:

VRead = 7,5V
VIn = 5V
R pull-down = 10K

Rpartitore = (VRead*R pull-down/Vin) - R pull-down = (7,5*10000/5) - 10000 = 5000 ohm

Collega al segnale di 7,5V (ma misura bene il picco massimo!!! in caso rifai il calcolo) ad una R da 5K (o leggermente maggiore, NON minore), l'altro capo di questa R lo colleghi ad una R da 10K; l'altro capo della 10K a massa; tra il punto di contatto tra le due R e la massa (GND) ti troverai 5V quando in ingresso ne hai 7,5; questo punto lo potrai collegare ad Arduino; per sicurezza (eventuali picchi) in parallelo alla R da 10K metti uno zener da 5,1V con anodo a massa e catodo sul pin di Arduino e quindi sul punto di contatto tra le due R.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Tobo

l'oscilloscopio mi serve per vedere i picchi, e perchè >= 7.5 può voler dire un massimo di 12V, un partitore fatto per 7.5 potrebbe non andare bene per i 12, è concettualmente sbagliato?  :smiley-roll-sweat:
Mom: Can he lead a normal life?
Doctor: NO! he'll be an engineer!

astrobeed


l'oscilloscopio mi serve per vedere i picchi, e perchè >= 7.5 può voler dire un massimo di 12V, un partitore fatto per 7.5 potrebbe non andare bene per i 12, è concettualmente sbagliato?  :smiley-roll-sweat:


Metti uno zener veloce da 5.1 Volt in parallelo alla resistenza dove legge il pin d'ingresso e sei a posto, se la tensione va oltre il massimo ammesso interviene lo zener per tosarla.


Tobo

Che squalo che sono, è come un diodo di clipping  :smiley-mr-green:
Mom: Can he lead a normal life?
Doctor: NO! he'll be an engineer!

Michele Menniti

Dello zener t'avevo consigliato anch'io, se arrivi a 12V puoi ridimensionare il partitore rifacendo il calcolo e mettendo 12 al posto di 7,5. Lo zener ti servirà in caso di picchi >12V (considera che l'alternatore arriva a generare 14-15V per caricare la batteria)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Tobo

Ottimo :)

Purtroppo ho solo un tester digitale, per verificare i picchi come potrei fare?
Mom: Can he lead a normal life?
Doctor: NO! he'll be an engineer!

Go Up