Salve,
per risolvere un prb circuitale (oramai ho saldato tutto) mi verrebbe comodo mettere a V0 la Base di un transistor NPN direttamente con una porta di un micro.
Normalmente la porta è settata come INPUT, quando necessito vorrei impostare in OUTPUT / LOW per inibire il transistor.
Se mettessi in OUTPUT / HIGH, metterei in corto l'uscita del micro.
Posso mettere una resistenza in uscita al micro, ma piccola, altrimenti non inibisco il Tr.
Processore Atmega328 - Imax 25 (40) mA - R = 220 Ohm - I = 22,5 mA circa.
Partendo dal presupposto che è mal progettato, la domanda è:
Quando imposto (Arduino mode) pinmode (2, OUTPUT); l'uscita è messa automaticamente a LOW o cosa ?
Posso anche velocizzare usando i comandi DDRD / PORTD, ma anche in questo caso come viene impostata l'uscita appena dichiarata come tale ?
Grazie
Uscita Micro HIGH o low
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
6 messaggi
• Pagina 1 di 1
0
voti
Se non ho capito male:
- When switching between tri-state ({DDxn, PORTxn} = 0b00) and output high
({DDxn, PORTxn} = 0b11), an intermediate state with either pull-up enabled
({DDxn, PORTxn} = 0b01) or output low ({DDxn, PORTxn} = 0b10) must occur.
- Switching between input with pull-up ({DDxn, PORTxn} = 0b01) and output low
({DDxn, PORTxn} = 0b10) generates the same problem. You must use either the tri-state
({DDxn, PORTxn} = 0b00) or the output high state ({DDxn, PORTxn} = 0b11) as an intermediate
step.
Se non uso Pull-up dovrei poter passare da INPUT a OUTPUT/low direttamente. Giusto ?
- When switching between tri-state ({DDxn, PORTxn} = 0b00) and output high
({DDxn, PORTxn} = 0b11), an intermediate state with either pull-up enabled
({DDxn, PORTxn} = 0b01) or output low ({DDxn, PORTxn} = 0b10) must occur.
- Switching between input with pull-up ({DDxn, PORTxn} = 0b01) and output low
({DDxn, PORTxn} = 0b10) generates the same problem. You must use either the tri-state
({DDxn, PORTxn} = 0b00) or the output high state ({DDxn, PORTxn} = 0b11) as an intermediate
step.
Se non uso Pull-up dovrei poter passare da INPUT a OUTPUT/low direttamente. Giusto ?
0
voti
Ciao,
quello che posso consigliarti è:
- per spegnere il transistor: PIN come OUT e valore LOW
- per accendere il transistor: PIN come IN e PULL-UP interna abilitata
dovrebbe essere correttoquello che hai scritto qui:
puoi provare?
quello che posso consigliarti è:
- per spegnere il transistor: PIN come OUT e valore LOW
- per accendere il transistor: PIN come IN e PULL-UP interna abilitata
dovrebbe essere correttoquello che hai scritto qui:
Tekonoris ha scritto:- Switching between input with pull-up ({DDxn, PORTxn} = 0b01) and output low
({DDxn, PORTxn} = 0b10) generates the same problem. You must use either the tri-state
({DDxn, PORTxn} = 0b00)as an intermediate step.
puoi provare?
0
voti
Ho trovato altre "fonti" e in generale danno uno stato di "incertezza" fino a quando non dichiari esplicitamente HIGH o low.
Visto che nel mezzo potrebbero verificarsi Interrupt o "blocchi" di qualsiasi natura risulta un passaggio pericoloso se c'è la possibilità di creare danni.
Comunque proverò.

Visto che nel mezzo potrebbero verificarsi Interrupt o "blocchi" di qualsiasi natura risulta un passaggio pericoloso se c'è la possibilità di creare danni.
Comunque proverò.

0
voti
Ho provato un semplice circuito con Led + Resistenza di limitazione.
Provato sia con PinMode che con DDR ("metodo lento e veloce").
Come da "programma"
se imposto Input e pull-up, quando commuto su Output si accende il led.
Direi che quello che avevo allegato è corretto tranne lo stato di incertezza che sembra certo.
Quindi come già detto l'unica cosa da fare nel caso si utlizzi il cambio di stato (I/O) è quello di controllare che il circuito non subisca danni quando cambio da I a O con HIGH/low indesiderato per un brevissimo tempo (tempo dipendente anche da Interrupt vari). Nel caso, inserendo una resistenza sul piedino in modo da limitare la corrente circolante si dovrebbe risolvere il prb del transitorio.

Provato sia con PinMode che con DDR ("metodo lento e veloce").
Come da "programma"
Direi che quello che avevo allegato è corretto tranne lo stato di incertezza che sembra certo.
Quindi come già detto l'unica cosa da fare nel caso si utlizzi il cambio di stato (I/O) è quello di controllare che il circuito non subisca danni quando cambio da I a O con HIGH/low indesiderato per un brevissimo tempo (tempo dipendente anche da Interrupt vari). Nel caso, inserendo una resistenza sul piedino in modo da limitare la corrente circolante si dovrebbe risolvere il prb del transitorio.

6 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 39 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



