Show Posts
|
|
Pages: 1 2 3 [4] 5 6 ... 36
|
|
48
|
International / Software / Re: Libreria per lettura analogiche differenziali
|
on: March 15, 2013, 05:33:55 am
|
|
Scusa Astro, ma ho letto il datasheet (tabelle 31-10 di pag. 379) e conferma quanto dici.
Vref minima 2.7V e massima AVCC - 0.5V = 5 - 0.5 = 4.5V
La Vdiff dovrebbe essere compresa tra un minimo di -Vref / G ed un massimo di +Vref / G, perciò con guadagno 1 la tensione Vdiff può essere compresa tra -4.5V e +4.5V.
Sono io che ho capito male?
|
|
|
|
|
51
|
International / Software / Libreria per lettura analogiche differenziali
|
on: March 14, 2013, 11:07:02 pm
|
Forse non tutti sanno che gli ingressi analogici di Arduino (normalmente usati in modalità single ended) possono anche essere configurati in modalità differenziale. Ho recentemente letto questo articolo che fa riferimento alla libreria wiring_differential e che ho trovato molto interessante: sekarlangit.com/arduino-differential-gain.phpQuesta modalità prevede che gli ingressi analogici opportunamente configurati ed usati a coppie, possano ricevere segnali differenziali (quindi positivi e negativi) oppure che un ingresso analogico possa ricevere un segnale sia positivo che negativo. E non solo, ma è anche possibile stabilire il guadagno dell'ADC tra 1, 10 e 200, con la limitazione che i guadagni 10 e 200 non possono essere usati con una tensione operativa inferiore a 2.7V. La contropartita è che con questa modalità la risoluzione scenda da 1024 a 512, la stessa limitazione che si ha quando, in modalità single ended, si tenta di leggere un segnale (ad esempio) tra +1V e -1V usando un partitore con due resistenze uguali per ottenere uno zero a metà dell'alimentazione che, di fatto, dimezza la risoluzione.
|
|
|
|
|
52
|
International / Hardware / Re: Problema ingressi analogici
|
on: March 14, 2013, 09:20:45 pm
|
Probabilmente fai riferimento al manuale dell'AT contenuto nella UNO, mentre lo stesso capitolo per l'AT della MEGA è il 26.5.1 A parte questo, leggo: When changing channel selections, the user should observe the following guidelines to ensure that the correct channel is selected: In Single Conversion mode, always select the channel before starting the conversion. The channel selection may be changed one ADC clock cycle after writing one to ADSC. However, the simplest method is to wait for the conversion to complete before changing the channel selection. In Free Running mode, always select the channel before starting the first conversion. The channel selection may be changed one ADC clock cycle after writing one to ADSC. However, the simplest method is to wait for the first conversion to complete, and then change the channel selection. Since the next conversion has already started automatically, the next result will reflect the previous channel selection. Subsequent conversions will reflect the new channel selection. When switching to a differential gain channel, the first conversion result may have a poor accuracy due to the required settling time for the automatic offset cancellation circuitry. The user should preferably disregard the first conversion result. In pratica, se non ho capito male, consigliano di scartare la prima lettura, ma solo quando si commuta il canale nella modalità differenziale. Immagino che tu abbia già fatto delle prove: quali sono state le tue conclusioni? Scusa se ti rompo i... transistor, ma vorrei capire una volta per tutte questa cosa.
|
|
|
|
|
54
|
International / Generale / Re: Raccolta pareri per progetto arduino
|
on: March 13, 2013, 08:44:15 pm
|
Dovresti postare il codice per darti un parere.
Indica anche che versione hai caricato delle librerie: potrebbe essere un errore delle stesse. Ti avevo chiesto di farlo per capire il problema. Comunque, la libreria a modulo unico (quella indicata come TiDiGino Library per IDE 1.0) è la libreria originale che io ho modificato per il funzionamento con la IDE 1.0 Il problema è che richiede notevoli risorse RAM, tanto che con l'avvento del GSM/GPRS/GPS Shield II è stata potenziata nelle funzioni (GPS) ed è stata suddivisa in moduli. Purtroppo usa la SerialSoftware che non utilizza la UART di TiDiGino e che, secondo me, crea altri problemi. La vecchia versione rimane ancora valida per TiDiGino, basta avere le accortezze di risparmiare memoria RAM (HEAP). A proposito, le stringhe costanti le utilizzi, eccome: Serial1.println("AT+CSDH=1"); meglio fare Serial1.println(F("AT+CSDH=1"));
|
|
|
|
|
55
|
International / Generale / Re: Raccolta pareri per progetto arduino
|
on: March 13, 2013, 12:36:01 pm
|
|
Sfondi una porta aperta: ho perso vari giorni per comprendere il motivo per cui avessero previsto due tipi di parametri di configurazione (0, 1).
Poi ho capito, leggendo la libreria, che uno è il propedeutico del secondo per motivi legati alla fase di start up.
Dimenticavo di dirti che la libreria in questione (una volta molto più lunga) è stata ridotta e suddivisa in moduli per motivi di memoria RAM.
Fai attenzione a non superare certi limiti oltre i quali hai a che fare con la gestione delle stringhe che usano la memoria HEAP (stai usando, vero, la funzione F() per la memorizzazione delle costanti stringa?)
|
|
|
|
|
56
|
International / Generale / Re: Raccolta pareri per progetto arduino
|
on: March 12, 2013, 01:53:58 pm
|
|
Se non mi fornisci il listato completo, mi è difficile capire se hai commesso qualche errore.
Comunque: il ret_val restituisce sempre 0 rimuovi il reset del modulo, perché è inutile (lo fa già il TurnOn, che esegue anche il begin della Serial1) Echo(0) credo sia necessario perché disabilita l'echo, forse è per questo che hai l'accodamento di comandi AT nella stringa numero
|
|
|
|
|
58
|
International / Hardware / Re: Elettrovalvola ad aria e Arduino ?
|
on: March 12, 2013, 12:14:39 am
|
|
Da quanto si legge sul datasheet l'elettrovalvola consuma 2.5-3W quindi per la legge di Ohm la corrente massima è I = P / V = 3 / 24 = 125mA.
Un transistor NPN di bassa potenza è sufficiente per pilotarlo, ad esempio il BC547.
Collega l'uscita di Arduino sulla base attraverso un resistore da 2.2k, mentre, a mio avviso, non serve il resistore di carico da 4.7k (Leo, perché lo hai messo?)
|
|
|
|
|