Consiglio su scelta integrato

Ciao amici del forum e buone vacanze a chi lo è' ancora!!.. Allora,mi servirebbe un consiglio su un tipo di integrato da adottare: Premessa: attiny 2313 che genera comandi ir tramite led infrarosso per comandare partenza roomba e muri virtuali emulati. Richiesta: integrato da collegare all'uscita dell'attiny per moltiplicare i led ir collegabili e gestibili singolarmente.

Io avevo pensato a qualcosa come una porta and,in modo da poter gestire 4 led ir per integrato,collegando un ingresso di ogni porta all'uscita modulata dell'attiny e usando l'altro ingresso per gestire 4 led indipendentemente;sono però dubbioso sull'uscita massima erogabile in corrente dalla porta,avrei preferito un qualcosa di bufferizzato in modo da non avere problemi di assorbimento al variare dei led connessi. L'attiny gestirà poi il controllo dei 4 led,in modo da utilizzare solo un timer per la generazione della frequenza ir modulata e 4 o n-uscite digitali per la gestione dei led. Voi quale tipo di soluzione integrato mi consigliate?.. Saluti

Se hai a disposizione 4 pin pwm puoi adottare 4 transistor per l'amplificazione altrimenti devi pilotarli in multiplexer tramite delle porte tri-state p.es. il 74hc4060

La cosa piú semplice é usare un transitor per ogni uscita.

Ciao Uwe

Purtroppo ho a disposizione solo,un pin per il segnale pwm,uso la libreria irremote modificata per gli attiny.
Io vorrei poter collegare almeno 4 diodi ir potendo discriminare quale poter accendere o spegnere agendo sul solo anodo,visto che la massa sarà comune per tutto l’impianto.
Avevo pensato di utilizzare delle porte and,ma sono dubbioso sulla corrente che riuscirebbero a fornire in uscita,visto che comunque ai led ir un po’ di corrente serve per trasmettere un buon segnale.

Hai 4 Pin del micro disponibili? Usa 4 transistori PNP. per discriminare quale LED e 1 Transistore NPN per amplificare il segnale PWM.

Ciao Uwe

uwefed: Hai 4 Pin del micro disponibili? Usa 4 transistori PNP. per discriminare quale LED e 1 Transistore NPN per amplificare il segnale PWM.

Ciao Uwe

Come ho,scritto,sopra la massa e' comune con tutto l'impianto,quindi non posso utilizzare un npn di modulazione,ma devo modulare i led tramite l'anodo ed allo stesso tempo discriminare quali voglio accesi e quali spenti

ibbba: Purtroppo ho a disposizione solo,un pin per il segnale pwm,uso la libreria irremote modificata per gli attiny.

Con solo un pin non puoi certo comandare quattro led indipendenti, se invece il problema è la libreria che prevede un solo pin basta che modifichi questa per gestire quattro pin, aggiungi quattro transistor e il problema è risolto.

astrobeed:

ibbba: Purtroppo ho a disposizione solo,un pin per il segnale pwm,uso la libreria irremote modificata per gli attiny.

Con solo un pin non puoi certo comandare quattro led indipendenti, se invece il problema è la libreria che prevede un solo pin basta che modifichi questa per gestire quattro pin, aggiungi quattro transistor e il problema è risolto.

No no non mi sono spiegato bene: l'attiny ha un solo pin a disposizione per il pwm (utilizzo il timer 1, il timer 0 ? come al solito usato dalla millis)ed il segnale che voglio ottenere dai led ir e' dunque chiaramente il medesimo,solo che voglio collegarne un massimo di quattro e che siano i dipendenti in termine di modulazione/off agendo sul solo anodo. Lo scopo di questa cosa è' sostituire i 4 attiny85 che attualmente uso per comandare quattro led ir che ho sparsi per la casa che mi simulano dei roomba virtual wall che ,oltre al costo molto contenuto,,mi permettono di definire una pianificazione di pulizia a zone. Gli attiny 85 scomunicano in i2c con l'Arduino di controllo ed attivano o meno la loro uscita in funzione di cosa viene loro chiesto . Il sistema funziona bene,però mi sono messo in testa di utilizzare una unica mcu per gestire il tutto,in particolare l'attiny2313 di cui ne ho già un paio e da qui nasce tutto il discorso. Ovviamente poi dialogherà in i2c con l'Arduino principale,ma questa e' un'altra storia.

ibbba: No no non mi sono spiegato bene: l'attiny ha un solo pin a disposizione per il pwm (utilizzo il timer 1, il timer 0 ? come al solito usato dalla millis)ed il segnale che voglio ottenere dai led ir e' dunque chiaramente il medesimo,solo che voglio collegarne un massimo di

In questo caso la soluzione è semplicissima, usi i quattro transistor per pilotare i led, tutte le basi vanno al pin PWM tramite la relativa resistenza da qualche k (da calcolare in base al tipo di tr), quattro pin li colleghi direttamente sulle basi dei tr, con una R da 100 ohm, se li tieni settati come INPUT i transistor sono operativi, se li setti come out a livello ZERO i transistor sono interdetti e il relativo led spento. In pratica avrai che tre pin sono settati come OUT e uno, volendo pure di più, come INPUT ed è quello del led attivo.

L'I2C sui Tiny non esiste, è implementato via software con la lib TinyWire e la periferica USI del chippino. Il 2313 ha solo 2K di Flash, non so se riesci ad infilarci dentro: il tuo programma, il software per il dialogo via I2C e quant'altro.

Ma di quanti pin hai bisogno? Il Tiny84 ha 14 piedini, ma 8K di Flash. Altrimenti, perché non pensare ad un Atmega88/168/328?

astrobeed:

ibbba: No no non mi sono spiegato bene: l'attiny ha un solo pin a disposizione per il pwm (utilizzo il timer 1, il timer 0 ? come al solito usato dalla millis)ed il segnale che voglio ottenere dai led ir e' dunque chiaramente il medesimo,solo che voglio collegarne un massimo di

In questo caso la soluzione è semplicissima, usi i quattro transistor per pilotare i led, tutte le basi vanno al pin PWM tramite la relativa resistenza da qualche k (da calcolare in base al tipo di tr), quattro pin li colleghi direttamente sulle basi dei tr, con una R da 100 ohm, se li tieni settati come INPUT i transistor sono operativi, se li setti come out a livello ZERO i transistor sono interdetti e il relativo led spento. In pratica avrai che tre pin sono settati come OUT e uno, volendo pure di più, come INPUT ed è quello del led attivo.

Ecco questa come soluzione mi pare efficace,ma posso lavorare con una massa comune??.. Mi pare di capire che tu suggerisci transistor npn,quindi lavorerei sul catodo dei led e non potrei avere una massa comune a tutti i led. Forse dovrei utilizzare un npn collegato al pin pwm e poi quattro o più pnp per comandare i led,solo che in questo caso inizio a perdermi con le correnti in gioco e ho paura di fulminare componenti qua è la...

leo72:
L’I2C sui Tiny non esiste, è implementato via software con la lib TinyWire e la periferica USI del chippino.
Il 2313 ha solo 2K di Flash, non so se riesci ad infilarci dentro: il tuo programma, il software per il dialogo via I2C e quant’altro.

Ma di quanti pin hai bisogno? Il Tiny84 ha 14 piedini, ma 8K di Flash. Altrimenti, perché non pensare ad un Atmega88/168/328?

ci sta,ci sta…poi il 2313 ce l’ho lì nel cassetto che non fa nulla, ecco perché vorrei utilizzarlo… E’ un chip un po’ anomalo,troppo grosso ( a livello di dimensioni) per la maggior parte dei progetti per via della appunto scarsa memoria,ma con molti pin a disposizione… Invece il tiny85 lo metti un po’ dappertutto,? vero che ha pochi pin e poca memoria,ma il binomio ? più azzeccato secondo me…

ibbba: Ecco questa come soluzione mi pare efficace,ma posso lavorare con una massa comune??.. Mi pare di capire che tu suggerisci transistor npn,quindi lavorerei sul catodo dei led e non potrei avere una massa comune a tutti i led

Puoi usare dei PNP, non cambia nulla basta invertire la logica, OUTPUT a UNO per bloccare il relativo transitor, ovviamente usando i PNP viene invertito anche il segnale che invii tramite LED, cosa che dovrai prevedere in fase di generazione dello stesso.

astrobeed:

ibbba: Ecco questa come soluzione mi pare efficace,ma posso lavorare con una massa comune??.. Mi pare di capire che tu suggerisci transistor npn,quindi lavorerei sul catodo dei led e non potrei avere una massa comune a tutti i led

Puoi usare dei PNP, non cambia nulla basta invertire la logica, OUTPUT a UNO per bloccare il relativo transitor, ovviamente usando i PNP viene invertito anche il segnale che invii tramite LED, cosa che dovrai prevedere in fase di generazione dello stesso.

Stavo editando il post sopra mentre hai risposto... Se metto un npn in testa a vari pnp per non avere problemi con la generazione del pwm,poi posso comunque collegare i pin di controllo sulle basi dei pnp con una resistenza da 100 ohm??.. Ovviamente poi per interdirli dovrei settario come out e dare un livello logico alto,giusto?

ibbba: Stavo editando il post sopra mentre hai risposto... Se metto un npn in testa a vari pnp per non avere problemi con la generazione del pwm,poi posso comunque collegare i pin di controllo sulle basi dei pnp con una resistenza da 100 ohm??.. Ovviamente poi per interdirli dovrei settario come out e dare un livello logico alto,giusto?

Si puoi usare un PNP come drive del NPN in modo da ottenere una doppia inversione del segnale, il blocco va rivisto un attimo per evitare di trovarti con il led acceso fisso quando non utilizzato, dammi un attimo di tempo per mettere giù lo schema altrimenti a parole si fa facilmente confusione.

astrobeed:

ibbba: Stavo editando il post sopra mentre hai risposto... Se metto un npn in testa a vari pnp per non avere problemi con la generazione del pwm,poi posso comunque collegare i pin di controllo sulle basi dei pnp con una resistenza da 100 ohm??.. Ovviamente poi per interdirli dovrei settario come out e dare un livello logico alto,giusto?

Si puoi usare un PNP come drive del NPN in modo da ottenere una doppia inversione del segnale, il blocco va rivisto un attimo per evitare di trovarti con il led acceso fisso quando non utilizzato, dammi un attimo di tempo per mettere giù lo schema altrimenti a parole si fa facilmente confusione.

Grazie molto gentile!!

Ecco lo schema, adesso sono di fretta, più tardi ti spiego come funziona.

astrobeed: Ecco lo schema, adesso sono di fretta, più tardi ti spiego come funziona.

Ok perfetto molte grazie!!

Versione 2, con la precedente potevano esserci problemi di polarizzazione dei transistor se la corrente nei led deve essere elevata (> 20 mA).

astrobeed: Versione 2, con la precedente potevano esserci problemi di polarizzazione dei transistor se la corrente nei led deve essere elevata (> 20 mA).

Quindi quando gli ingressi di controllo sono settati come ingressi,cioè in alta impedenza,tutti e quattro i led lampeggiano alla frequenza del pwm... Se metto un pin di controllo come uscita e high allora il transistor pnp non conduce ed il relativo led si spegne.. Gli altri invece continuano ad andare.... Ecco quello che mi serviva,semplice e funzionale!!