Oggi è mercoledì 22 ottobre 2025, 17:04

Tutti gli orari sono UTC + 1 ora [ ora legale ]




Apri un nuovo argomento Rispondi all’argomento  [ 288 messaggi ]  Vai alla pagina Precedente  1 ... 11, 12, 13, 14, 15, 16, 17 ... 20  Prossimo
Autore Messaggio
 Oggetto del messaggio: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 8:50 
Non connesso

Iscritto il: mercoledì 1 febbraio 2006, 12:40
Messaggi: 2815
Località: Bracciano (Roma)
Quindi ammettendo che il pin di I/O sia confgurato come Input, per poter leggere un criterio Low è necessario che in quel momento sia collegato a massa? Se non è collegato a nulla che succede?
C'è differenza nella lettura di una porta configurata come input analogico o digitale? Sull'analogico riesco a leggere anche i valori intermedi?
Scusate la banalità delle domande, ma sto leggendo il manualone di quasi 1000 pagg. e non trovo agevolmente risposta a tutti i quesiti. Io ad esempio avrei commesso subito l'errore di non collegare a massa il pulsante per simulare lo stato low, ma avrei collegato solo il +5vcc al pulsante NA in modo che durante la pressione la porta potesse leggere lo stato High.

Ps mi sa che in settimana parte l'ordine per un Arduino mega con scheda relais....


Inviato dal mio iPad con Tapatalk HD


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 9:20 
Non connesso

Iscritto il: venerdì 20 gennaio 2006, 19:41
Messaggi: 2824
Nel digitale gli ingressi non si devono mai lasciare liberi perchè il loro stato potrebbe essere, e solitamente lo è, incerto.
Nel caso sopra la porta deve essere a riposo a livello 0 e viene imposta a tale livello tramite una resistenza. Per farla commutare bisogna portarla allo stato 1 e per farlo la si deve collegare col pulsante all'alimentazione.
La resistenza serve appunto a imporre lo stato 0 a riposo e a NON cortocircuitare a massa l'alimentazione quanto premi il pulsante.


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 11:08 
Non connesso

Iscritto il: sabato 14 gennaio 2006, 12:01
Messaggi: 153
Località: Valle Seriana
Non ho seguito le ultime del thread, ma posso intervenire consigliando questo link per l'azionamento dei servo con pulsanti:
http://www.mauroalfieri.it/elettronica/ ... santi.html

Ciao


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 13:27 
Non connesso

Iscritto il: sabato 28 gennaio 2006, 18:59
Messaggi: 677
Tz ha scritto:
Nel digitale gli ingressi non si devono mai lasciare liberi perchè il loro stato potrebbe essere, e solitamente lo è, incerto.
Nel caso sopra la porta deve essere a riposo a livello 0 e viene imposta a tale livello tramite una resistenza. Per farla commutare bisogna portarla allo stato 1 e per farlo la si deve collegare col pulsante all'alimentazione.
La resistenza serve appunto a imporre lo stato 0 a riposo e a NON cortocircuitare a massa l'alimentazione quanto premi il pulsante.


Questo e' vero per le comuni logiche CMOS, ma in Arduino c'e' un micro Atmel e in un micro le porte definite come input hanno una resistenza verso il positivo dell'alimentazione, detta di pull-up. In questo modo a riposo la porta e' in stato 1 e si porta in stato 0 collegando l'ingresso a massa, per esempio con un pulsante. Questa resistenza ( da diverse decine di kOhm) si puo' escludere scrivendo in un registro, ma per usi come questo e' tanto comodo lasciarla e usarla.

ciao


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 15:23 
Non connesso

Iscritto il: mercoledì 1 febbraio 2006, 12:40
Messaggi: 2815
Località: Bracciano (Roma)
Mario (To) ha scritto:
Tz ha scritto:
Nel digitale gli ingressi non si devono mai lasciare liberi perchè il loro stato potrebbe essere, e solitamente lo è, incerto.
Nel caso sopra la porta deve essere a riposo a livello 0 e viene imposta a tale livello tramite una resistenza. Per farla commutare bisogna portarla allo stato 1 e per farlo la si deve collegare col pulsante all'alimentazione.
La resistenza serve appunto a imporre lo stato 0 a riposo e a NON cortocircuitare a massa l'alimentazione quanto premi il pulsante.


Questo e' vero per le comuni logiche CMOS, ma in Arduino c'e' un micro Atmel e in un micro le porte definite come input hanno una resistenza verso il positivo dell'alimentazione, detta di pull-up. In questo modo a riposo la porta e' in stato 1 e si porta in stato 0 collegando l'ingresso a massa, per esempio con un pulsante. Questa resistenza ( da diverse decine di kOhm) si puo' escludere scrivendo in un registro, ma per usi come questo e' tanto comodo lasciarla e usarla.

ciao


Non ho capito bene. Vuoi dire che normalmente la porta è in HIGH e solo mettendola a massa va in LOW?


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 17:24 
Non connesso

Iscritto il: mercoledì 20 settembre 2006, 20:44
Messaggi: 6361
Località: Sorbolo di Sorbolo Mezzani (PR)
Attenzione
Dovrei riverificare il manuale (giusto per scrupolo), ma tipicamente in quelle apparecchiature sono usati componenti NPN, ovvero con valore di segnale d'ingresso o uscita negativo, mi spiego meglio:
- per avere lo stato 1 sull'ingresso devo mettere l'ingresso a massa, cioè il pin, in questo caso il comune su: pulsanti, interruttori, microinterruttori, ecc. è la massa, la resistenza può anche non essere necessaria
- per avere lo stato 1 sull'uscita, il pin viene messo a massa dai circuiti interni all'apparecchiatura, quindi devo fornire il comune positivo all'utilizzatore: relè, led, motore, lampada, ecc.

Si fa così perchè i circuiti interni agli integrati sono più semplici, però di contro hanno caratteristiche inferiori.
Anche i decoder dei trenini hanno le stesse caratteristiche, infatti ai led il comune è il +.

Configurando invece il PIN in modo analogico o PWM il discorso cambia, qui per sicurezza occorre davvero il manuale specifico dell'apparecchiatura, le possibilità circiutali sono diverse.


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 17:39 
Non connesso

Iscritto il: sabato 14 gennaio 2006, 12:01
Messaggi: 153
Località: Valle Seriana
Per me state creando un U.C.A.S. ( Ufficio complicazione affari semplici).
Cercate un po' in giro di esempi per muovere 2 semplici servo con Arduino ce ne sono a centinaia, basta saper leggere :wink: ne ho anche citato uno poco sopra, ma nessuno si è degnato di leggerlo, da quanto vedo dalle risposte che seguono


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 17:44 
Non connesso

Iscritto il: mercoledì 20 settembre 2006, 20:44
Messaggi: 6361
Località: Sorbolo di Sorbolo Mezzani (PR)
amario ha scritto:
Per me state creando un U.C.A.S. ( Ufficio complicazione affari semplici).
Cercate un po' in giro di esempi per muovere 2 semplici servo con Arduino ce ne sono a centinaia, basta saper leggere :wink: ne ho anche citato uno poco sopra, ma nessuno si è degnato di leggerlo, da quanto vedo dalle risposte che seguono


Muovere un servo è un pò diverso, gli serve un onda quadra a 50/60 Hz e duty cycle variabile, la polarità, di solito, poco conta ... quindi potrebbero essere tutti capaci, nonchè avere tutti ragione, ma senza sapere il perchè.


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 17:46 
Non connesso

Iscritto il: venerdì 20 gennaio 2006, 10:59
Messaggi: 5032
Infatti ... secondo me cos'ì com'è è un inutile spreco di energia (e mi ricollego anche al post di marco_58).

Immagino che, nello schema proposto, i pin di I/O, che suppongo configurati ad alta impedenza (vedi nota1), vadano tenuti bassi e 'reagiscono' (secondo programma) quando vengono mandati alti.

La configurazione tipica di questi casi è la resistenza (ma 330 Ohm mi sembrano inutilmente pochi) tra il pin di I/O e la massa (detta resistenza di pull-down ... ovvero 'tiralo giù' ) che impone normalmente il valore logico zero. il Pin di I/O è anche collegato ad un capo del pulsante (o del deviatore) 'normalmente aperto'. L'altro capo del pulsante deve essere collegato al positivo. Quando si preme il pulsante (o il deviatore) la corrente fluisce attraverso la resistenza (e non attraverso il pin di I/O che ha un'impedenza d'ingresso enormemente più alta) e manda il capo della resistenza, quello collegato al pin di I/O, al valore del positivo quindi NON zero ovvero alto.

Leggo però anche (vedi nota2) che arduino dispone al suo interno di resistenze pull-up (che funzionano al contrario ovvero tengono normalmente alto l'ingresso) pertanto il circuito potrebbe essere semplificato eliminando la resistenza, mettendo i pulsanti (o i deviatori) normalmente aperti tra il il pin di I/O e la massa e, ovviamente, invertendo la logica del programma (ovvero attivando la funzione quando il pin va basso).

In sintesi ... anche quando si copia è opportuno utilizzare il buon senso e il ragionamento unitamente, magari, a un po di conoscenza e/o sperimentazione (cosa che, solo per quanto riguarda Arduino, a me manca ... quindi perdonate eventuali imprecisioni).

Saluti a tutti

Cita:
NOTA1 (Info facilmente reperibili in rete ...)

INPUT
Quando configuriamo un pin come INPUT lo settiamo in condizione di alta impedenza, in pratica è come se in serie al pin ci fosse una resistenza di circa 100MOhm. Questa resistenza serve a non “caricare” il circuito da cui andiamo a leggere il dato limitando l’assorbimento di corrente
.


Cita:
NOTA2 (Info facilmente reperibili in rete ...)
possiamo usare una resistenza di pull-up “nativa” dell’arduino. Essa si attiva usando il comando digitalWrite(pin, HIGH) su un pin precedentemente configurato come input. In questo modo si attiva una resistenza da 20 KOhm interna all’Arduino tra l’alimentazione ed il pin.


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 18:06 
Non connesso

Iscritto il: sabato 14 gennaio 2006, 12:01
Messaggi: 153
Località: Valle Seriana
Questo è un ulteriore esempio che ho anche sperimentato e funziona:
http://www.eacocon.it/wp/?p=214
Utilizza i due pulsanti per la direzione di rotazione ed il potenziometro per regolare la velocità, credo ci sia tutto per muovere un servo come si deve, basta raddoppiare i comandi per muoverne 2


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 18:08 
Non connesso

Iscritto il: mercoledì 20 settembre 2006, 20:44
Messaggi: 6361
Località: Sorbolo di Sorbolo Mezzani (PR)
Infatti, nelle apparecchiature professionali, ai pin d'ingresso è sempre fatto precedere un circuito di filtro e equalizzazione, al fine di garantire il preciso e sicuro riconoscimento del segnale. Questo circuito si compone di: qualche resistenza, un diodo, spesso anche uno zener, un condensatore, e anche un led di segnalazione.

Sull'uscita, idem con patatine, vi è sempre un transistor (o triac se uscita in ca) di disaccoppiamento e polarizzazione.

Poi per sicurezza tra i circuiti logici e la parte lato campo (così si dice parlando di I/O) vi è sempre una separazione tramite fotoaccopiatore, quindi quanto sopra è ripetuto due volte.

P.S.
Se il pc portatile da cui vi stò scrivendo costa 1200 € invece dei 350 € di quelli dei centri commerciali, una ragione c'è.
Un conto è dire funziona, e sono contento così ... diverso è dire, e sapere, perchè funziona perfettamente senza mai sbagliare (guasti a parte).


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 22:56 
Non connesso

Nome: G.P.
Iscritto il: lunedì 25 gennaio 2010, 0:08
Messaggi: 1715
Faccio una premessa,lo schema in questione funziona correttamente, per cui modificarlo non avrebbe senso.
Come dice Marco è lecito capire il perche funziona:
Quando si chiude il contatto del micropulsante, sul pin di arduino, che in questo caso è di input, avremo il valore di +5V, cioè 1 logico. La resistenza di 330 ohm o superiore serve a non far flottare l'uscita e a stabilizzarla a 0 logico.

Per amario: forse nessuno ti ha detto nulla perche il sito di Mauro, che mi ha aiutato molto, l'ho linkato la pagina precedente, comunque grazie per averlo ricordato.

Tengo a precisare che per i nostri casi il motore che conviene pilotare è il servo. Altri, lasciateli stare....

Per lucaregoli: come mai prendi anche la scheda relais?


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 23:08 
Non connesso

Iscritto il: mercoledì 20 settembre 2006, 20:44
Messaggi: 6361
Località: Sorbolo di Sorbolo Mezzani (PR)
Ok, quindi l'ingresso è configurato PNP, ovvero è 1 quanto vede tensione positiva.
Visti i 5 V, io metterei una resistenza da 3300 Ohm, si evita di sprecare corrente per niente.


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: domenica 24 febbraio 2013, 23:36 
Non connesso

Iscritto il: mercoledì 8 febbraio 2006, 19:23
Messaggi: 1504
Località: Firenze
Se non ci sono problemi di lunghezza di fili (=captazione disturbi spurii) la cosa più semplice sarebbe stata quella di collegare il pulsante tra il pin I/O scelto e la massa, senza resistenze, in quanto arduino ha una resistenza interna di pull-up configurabile da software (caratteristica comune ormai a quasi tutti i micro in commercio....). Lasciando lo schema così com'è, utilizzare una resistenza bassa fa consumare più corrente, ma 'irrobustisce' la linea d'ingresso aumentando l'immunità ai disturbi esterni...... se non ci sono problemi di questo tipo, è inutile complicarsi la vita con sofisticati circuiti di I/O, al limite basterebbe un condensatore tra la massa e la linea d'ingresso: tra l'altro ci sono vari esempi di firmware che eseguono egregiamente il filtraggio degli ingressi digitali!

Gli stati logici degli ingressi dei micro sono semplicissimi: possono essere attivi alti (eseguo l'azione se collego l'ingresso al +) o attivi bassi (eseguo se collego alla massa). La logica è determinata dal circuito che si usa: il circuito di crystal_13 rientra nel primo caso.
Le uscite dei micro sono sempre + e massa (1 e 0), salvo diverse indicazioni del costruttore queste sono comandate da 2 transistor connessi in push-pull: il fatto che nei decoder i led siano collegato al + è dovuto alla presenza di un transistor posto tra il micro ed il carico, che ne inverte la logica se NPN.

Io ho adottato il collegamento descritto sopra e sottolineato....

saluti

Max


Top
 Profilo  
 
 Oggetto del messaggio: Re: DCC non è l'unica soluzione....ARDUINO, YES HE CAN!!
MessaggioInviato: lunedì 25 febbraio 2013, 7:45 
Non connesso

Iscritto il: venerdì 20 gennaio 2006, 10:59
Messaggi: 5032
crystal13 ha scritto:
Faccio una premessa,lo schema in questione funziona correttamente, per cui modificarlo non avrebbe senso.


Nessun dubbio che funzioni ... quello che non ha senso è voler continuare a mantenerlo inefficente e ridondante rispetto alle dotazioni e possibilità di arduino stesso.

Ci hai chiesto supporto per capire e verificare la bontà di quanto da te corretto (sulla base di quanto in precedenza erroneamente disegnato) e poi sei il primo a 'chiudere il cervello'?
Ma ti interessa capire al meglio come 'governare' questi strumenti e tirarne fuori il massimo (anche in termini di risparmio rispetto ad altre architetture) ???

Molto perplessi saluti


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 288 messaggi ]  Vai alla pagina Precedente  1 ... 11, 12, 13, 14, 15, 16, 17 ... 20  Prossimo

Tutti gli orari sono UTC + 1 ora [ ora legale ]


Chi c’è in linea

Visitano il forum: Majestic-12 [Bot] e 31 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
banner_piko

Duegi Editrice - Via Stazione 10, 35031 Abano Terme (PD). Italy - Tel. 049.711.363 - Fax 049.862.60.77 - duegi@duegieditrice.it - shop@duegieditrice.it
Direttore editoriale: Luigi Cantamessa - Amministratore unico: Federico Mogioni - Direttore responsabile: Pietro Fattori.
Registro Operatori della Comunicazione n° 37957. Partita iva IT 05448560283 Tutti i diritti riservati Duegi Editrice Srl