arduino due npn?

Scusa la domanda banale ma sia gli input che gli output di arduino due sono a uscita negativa? Ossia NPN?
Grazie

Non esattamente ... quando sono configurati come uscite, sono totem-pole (connettono al positivo quando sono ad uno ed a massa quando sono a zero) ... ovviamente, quando sono configurati come ingressi sono ad alta impedenza (circa 50M quelli digitali e circa 100M quelli analogici)

EDIT: dimenticavo, occhio che la due ha correnti molto piu basse della uno (3 e 6 mA di limite, se ricordo bene), quindi se ci colleghi un carico, devi per forza usare dei transistor o dei drivers o buffers ...

Quindi se ho capito bene quando houn input(high) devo dargli il meno(-5V) e quando ho un uscita alta(high) ottengo un meno(-5V)?

Perche' ?

Arduino non gestisce tensioni negative.

Quando hai un'ingresso digitale, gli applichi VCC (positivo dell'alimentazione) per dare un livello 1, e GND (massa) per dare un livello zero ... quando hai un'ingresso analogico, gli applichi una tensione che puo andare dallo zero (massa) alla tensione di alimentazione (al massimo) ... quando invece sono uscite, ti possono dare zero se le mandi a zero, o la tensione di alimentazione se le mandi ad uno ...

quindi al gnd della fila in/out che tensione dovrei applicare per ricevere in risposta sia con in e out un positivo(+5v)?

ais26:
quindi al gnd della fila in/out che tensione dovrei applicare per ricevere in risposta sia con in e out un positivo(+5v)?

Il GND è il riferimento e non devi applicargli nessuna tensione, se lo fai crei un cortocircuito, la DUE lavora a 3.3V quindi uno stato logico HIGH è poco meno di questa tensione.
Se colleghi il 5V ad in pin settato come ingresso della DUE hai ottime possibilità di distruggere quel pin, se lo fai ad un pin settato come out la distruzione immediata è un certezza, e non è detto che i danni sono limitati solo al pin.

Vi chiedo umilmente la cortesia di postarmi uno schema di collegamento per il mio caso.Provenendo dal mondo PLC per me gli ingressi hanno un comune e le uscite pure che non necessariamente è lo stesso.Ora mi trovo con l'arduino due a gestire degli ingressi che comandano una scheda a rele funzionante a 5V(apposita per arduino).Vi ringrazio

Ais, purtroppo la DUE è una brutta bestia e, in più, mal supportata ... svariati shield e svariate librerie sono del tutto incompatibili e, almeno al momento, si stà facendo poco per rendercele ... :frowning:

Comunque, è una scheda che accetta in input al MASSIMO Vcc ovvero i 3.3v e, in uscita, da poco meno (e può fornire pochissimi mA ... tieniti su un massimo di 3 mA. maggiori dettagli nel datasheet del processore). Partendo da questi punti, qualsiasi cosa vuoi pilotare LOW/HIGH devi :

a) se è un segnale da portare in ingresso alla DUE, limitarlo in tensione a 3.3v ... pena distruggere il pin e probabilmente anche la MCU;

b) se è un segnale in uscita, lo mandi sulla base di un transistor al quale poi fai pilotare quello che vuoi;

Ovviamente il GND della scheda e il GND di tutte le alimentazioni che userai deve essere in comune.

Guglielmo

Grazie Guglielmo sei stato molto gentile.Purtroppo sono un neofita di arduino e cercavo per una applicazione qualcosa di economico e avesse un alto rapporto i/o per questo sono caduto sull'arduinodue....a questo punto caduto mi sembra la connotazione migliore....ciao

Mi rivolgo a te Guglielmo ...secondo te su che prodotto avrei dovuto rivolgermi?

Dipende dalle esigenze ...
... se hai bisogno di memoria e I/O ... Arduino Mega 2560 è la scheda ideale :

  • 54 pin digitali, di cui 15 con possibilità di PWM
  • 16 ingressi analogici
  • 256 KBytes di memoria programma
  • 8 KBytes di SRAM
  • 4 KBytes di EEPROM
  • 3 porte seriali

... una bella scheda ... se il problema non è la velocità (ha lo stesso clock della UNO, 16 MHz).

Per cui ripeto ... dipende dalla applicazione e dai tempi di risposta che si richiedono ... anche se, parlandomi di schede relè ... non credo tu abbia bisogno di real-time XD

Guglielmo

Normalmente si incomincia con Arduino UNO perché la maggior parte dei corsi/Libri/Tutorial lavorano con quella. Funzina con 5V ed é abbastanza robusta.

Ritornado alla DUE se vuoi misurare una tensione devi collegare il polo negativo o il comune a massa (GND) e il positivo all'entrata ( per la DUE al massimo 3,3V per quasi tutti gli altri modelli al massimo 5V). Con dei partitori resistivi puoi abbassare la tensione a qui valori.

Ciao Uwe

Si, difatti, se non hai bisogno di tutto quello che ti ho specificato, allora il suggerimento di Uwe è sicuramente il più giusto !

La UNO è la scheda di base, con cui ci si fanno le ossa ! La versione con il chip DIP (quindi NON la SMD) ha anche il vantaggio che, se all'inizio fai qualche errore e distruggi il chip, lo togli e ne metti uno nuovo, senza dover buttare tutto :wink:

Ancora una volta ... dipende dalle esigenze :wink:

Guglielmo

Ovviamente ho scritto un piccolo articolo che analizza le schede Arduino ed aiuta nella scelta (mi manca di aggiungere la Yun):
http://www.leonardomiliani.com/2013/scegliamo-la-giusta-scheda-arduino/

Be', se proviene dal mondo dei PLC, e' normale che si senta un po spiazzato, parlando di livelli di ingresso ed uscita di arduino ... in genere, tutti i PLC con cui ho avuto a che fare fin'ora (pochi, per fortuna :P), avevano ingressi ed uscite a 24V optoisolate e protette ... :wink:

Da 24V a 3V3 è un bel salto. :frowning:

Per Etemenanki:

è già la seconda volta che affermi che gli ingressi analogici di Arduino hanno un'impedenza tipica di 100M ohm.

Credi che tu ti riferisca all'operazionale, ma il datasheet consiglia di non superare i 10k per evitare tempi di carica del condensatore troppo lunghi che falsano la misura:

The ADC is optimized for analog signals with an output impedance of approximately 10k? or
less. If such a source is used, the sampling time will be negligible. If a source with higher impedance
is used, the sampling time will depend on how long time the source needs to charge the
S/H capacitor, which can vary widely. The user is recommended to only use low impedant
sources with slowly varying signals, since this minimizes the required charge transfer to the S/H
capacitor.

cyberhs:
è già la seconda volta che affermi che gli ingressi analogici di Arduino hanno un'impedenza tipica di 100M ohm.
Credi che tu ti riferisca all'operazionale, ma il datasheet consiglia di non superare i 10k per evitare tempi di carica del condensatore troppo lunghi che falsano la misura:

Stai facendo confusione tra l'impedenza d'ingresso del ADC con quella d'uscita della sorgente da collegare al ADC, sono due cose diverse.

Astro, vuoi dire che se applico un partitore resistivo variabile da 10k totali ed uno da 10M totali il comportamento del' ADC il valore ottenuto sull'ingresso analogico è lo stesso?

cyberhs:
Astro, vuoi dire che se applico un partitore resistivo variabile da 10k totali ed uno da 10M totali il comportamento del' ADC il valore ottenuto sull'ingresso analogico è lo stesso?

No, dico che l'impedenza di ingresso del ADC sono realmente circa 100 Mohm, però devi sempre fare i conti con la capacità da caricare del S&H che richiede una certa corrente per poterlo fare entro il tempo massimo richiesto, da qui i circa 10k di impedenza out della sorgente.
Quanto sopra significa che l'ADC, una volta che ha campionato, assorbe solo 50nA da una tensione di 5V.
Ribadisco il concetto, impedenza d'ingresso è una cosa diversa dall'impedenza di uscita.