Far piena luce sul discorso 3.3v e Servi

Ciao ragazzi, continua il mio viaggio nel mondo fantastico delle schede di controllo programmabili.
Odio me stesso per non aver iniziato prima questo viaggio e di aver aspettato 39 anni prima di iniziare.
Ma tant'e' ci siamo e via :slight_smile:
Mi interessa molto il discorso 3.3v VS 5v perchè sembra da quel che leggo qua e la che il futuro sarà solo 3.3v

Stavo leggendo questo thread :
http://forum.arduino.cc/index.php?topic=238864.15

Si discuteva sulla MAX32 di chipKit che e' "tolerant" verso i gingilli che si attaccano nei I/O digitali, Seriali UART, SPI, I2C.

Ora qualche domanda:

  1. Un sensore, diciamo un sensore di distanza ad ultrasuoni, funziona in maniera analogica giusto? quindi andrebbe linkato ai pin analogici? (credo che lo 0 e 1 del digitale non c'entri con il funzionamento di un sensore!)

  2. Cosa ci attacco nei pin digitali? I servi? Nella mia totale ignoranza il funzionamento del 0 e 1 digitale lo vedo nel classico esempio del led che si accende e si spegne.. Quindi di logica vedrei che eventuali servi andrebbero linkati sui pin analogici...

  3. Sono quasi certo che i motori a spazzola vanno montati sui pin analogici... giusto? :slight_smile:

  4. In parole povere, mi fate l'esempio perfetto di cosa si attacca al pin digitale e cosa al pin analogico?

5)Torniamo al 3.3v.. Quello che segue e' uno dei dubbi piu' "nebbiosi" che ho nella mente:
Diciamo che attacchiamo un servo (classico servo Operating voltage 4.8-7.2V ) ai nostri PIN analogici che funzionano con 3.3v..
che succede? si brucia il pin?. Quindi dovrei trovare un servo che funziona con Operating voltage 3.3V?

  1. Ok ora cambiamo l'esempio.. (sempre sul discorso 3.3v)
    DIciamo che ora attacchiamo un servo (classico servo Operating voltage 4.8-7.2V ) ai PIN digitali (sempre che si possa.. non ho ancora compreso se un servo si puo' connettere ai pin digitali..) che funzionano con 3.3v ma TOLLERANTI rispetto ai 5v.
    Che succede?

  2. IMPORTANTISSIMO:
    Ho notato che nelle pagine di informazioni tecniche dei servi, si vede che con voltaggi piu' bassi i servi perdono performance in ambito di velocita' e forza. Quindi se collego un normale servo su pin digitali o analogici 3.3v dovrei essere consapevole che funzionera' piu' lento e con meno forza (sempre che non bruci i pin..)?

8 ) MA SOPRATUTTO!:
quando parliamo di 5v significa che se attacco un servo ai pin analogici 5v otterro' che il servo "tutto a sinistra" sara' a 0v e "tutto a destra" sara' 5v?
In poche parole, questi ragnacci di volts c'entrano con la forza e velocita' del servo o con la sua posizione??? :frowning:
Si vabbe almeno evitate di ridere in quel modo.. :stuck_out_tongue: so che la domanda potrebbe oscillare dal ridicolo al folle ma questo dubbio mi destabilizza...

SERVO --linkato a--> PIN ANALOG. a 5.5v = Avra' la velocita' e forza massima disponibile e un range di movimento da 0 a 5v

SERVO --linkato a--> PIN ANALOG. a 3.3v = Avra' forza e velocita' ridotta e un range di movimento da 0 a 3.3v (o pin bruciato?)

giusto..? :cold_sweat:

:slight_smile: Grazie a tutti in anticipo!

Lascio rispondere agli elettronici che è meglio.
Ti dico solo che secondo me stai tralasciando una componente molto importante dell'elettricità, ovvero la corrente (ampere). :smiley:

Allora parti da una regola fondamentale, nulla va mai collegato direttamente al pin del micro nemmeno un led, che poi tu l'abbia visto fare più volte lo tralasciamo. Non va fatto senza interporre tra micro e l'utilizzatore un interfaccia che può essere un transistor un U2003A quello che ti pare, in ogni caso interporre un circuito che si prende l'onere di fare il lavoro pesante, di assorbire quanta corrente vuoi non erogata dal pin ma prelevata dalla linea di alimentazione, inoltre svolge l'importante compito di salvare il micro in caso di errori.

Distingui bene cosa sono i pin denominati:
-Digitali
-Analog
-PWM

SERVO --linkato a--> PIN ANALOG. a 5.5v = Avra' la velocita' e forza massima disponibile e un range di movimento da 0 a 5v
SERVO --linkato a--> PIN ANALOG. a 3.3v = Avra' forza e velocita' ridotta e un range di movimento da 0 a 3.3v (o pin bruciato?)

Nessuno dei 2.
I servo NON si collegano sui pin ANALOG (che ricevono un segnale in INPUT), ma sui PWM che erogano una tensione variabile pin digitali in grado di generare un duty-cycle utilizzabile per far muovere un servo a te serve un pin OUTPUT configurato come PWM

dovrai usare una circuito tipo questo 3.3v to 5v inverter by bc547 - Storage - Arduino Forum (level shift)

In parole povere, mi fate l'esempio perfetto di cosa si attacca al pin digitale e cosa al pin analogico?

Sull'Arduino i pin analogici sono solo di ingresso, ossia servono per leggere una tensione che può andare da 0 a 5V. E restituiscono un valore numerico proporzionale al valore di tensione letto.

I pin digitali funzionano come input e come output. Sia come input che come output il loro stato è digitale, ossia rappresentabile con un "digit", un simbolo. Nel caso 0 e 1.
Se usi i pin come input, un'assenza di tensione viene letta come 0, la presenza di una tensione (di un certo valore minimo, ma non voglio mettere troppa carne al fuoco) è letta come 1. Se il pin è un output, con 0 immagina di collegare quel pin a massa, con 1 immagina di collegarlo ai 5V.

aldoz:

  1. Un sensore, diciamo un sensore di distanza ad ultrasuoni, funziona in maniera analogica giusto? quindi andrebbe linkato ai pin analogici? (credo che lo 0 e 1 del digitale non c'entri con il funzionamento di un sensore!)
  2. Cosa ci attacco nei pin digitali? I servi? Nella mia totale ignoranza il funzionamento del 0 e 1 digitale lo vedo nel classico esempio del led che si accende e si spegne.. Quindi di logica vedrei che eventuali servi andrebbero linkati sui pin analogici...
    5)Torniamo al 3.3v.. Quello che segue e' uno dei dubbi piu' "nebbiosi" che ho nella mente:
    Diciamo che attacchiamo un servo (classico servo Operating voltage 4.8-7.2V ) ai nostri PIN analogici che funzionano con 3.3v..
    che succede? si brucia il pin?. Quindi dovrei trovare un servo che funziona con Operating voltage 3.3V?
  1. no, un sensore ad ultrasuoni non è analogico. Almeno quelli soliti che si usano per hobby con Arduino.
    Esempio migliore per input analogico verso Arduino è un potenziometro.
  2. digitale è 0 o 1 quindi 0V oppure 5V (per le MCU a 3,3V 1=>3,3V) però non tieni conto del tempo. Anche un segnale IR di un telecomando è digitale, quando premi un tasto viene sparato un codice fatto di 0 e 1 ma modulato nel tempo.
    Anche il PWM è un segnale digitale 0V o 5V (arduino), ma in rapporto con il tempo. Quindi anche se digitale, riesci a mandare anche una ulteriore informazione (spero di non averti confuso ancora di più le idee).
    Modulazione di larghezza d'impulso - Wikipedia
  3. se il servo funziona con corrente tra 4.8 e 7.2V a 3.3V non funziona.
    Prova anche una ventola da PC che richiede 12V e attaccalo a 6V tipo 4 pile da 1,5 (non i pin di Arduino !!!!) e vedrai che non si muove.
    Poi come ti hanno detto, non collegare questi dispositivi direttamente ad Arduino. Arduino è un controllore, ovvero lui deve solo dare dei segnali di controllo. Non è pensato per fare anche da "alimentatore" ai dispositivi. Lui devi programmarlo per "controllare" le cose. Servo, motorini, ventole, passo-passo , etc. richiedono molta corrente che Arduino non può erogare.

P.S. Ogni cavolata che ho scritto gli elettronici mi pianteranno uno stiletto nel petto. :grin:

nid69ita:
Arduino è un attuatore, ovvero lui deve solo dare dei segnali di controllo. Non è pensato per fare anche da "alimentatore" ai dispositivi. Lui devi programmarlo per "controllare" le cose.

Lo so, sono un rompi palle, però i termini tecnici sono i termini tecnici ...

Arduino al limite è un controllore, attuatori sono i servomeccanismi a valle, normalmente comandati tramite dei driver :grin:

Arduino da il comando, il transistor amplifica la corrente e fa da driver, l'elettrovalvola (è solo un esempio), nostro attuatore, si apre XD

Guglielmo

gpb01:

nid69ita:
Arduino è un attuatore, ovvero lui deve solo dare dei segnali di controllo. Non è pensato per fare anche da "alimentatore" ai dispositivi. Lui devi programmarlo per "controllare" le cose.

Lo so, sono un rompi palle, però i termini tecnici sono i termini tecnici ... Guglielmo

Quel che giusto è giusto. :slight_smile: Ho corretto. :smiley: (ho scritto solo quella di cavolata? )

Mi interessa molto il discorso 3.3v VS 5v perchè sembra da quel che leggo qua e la che il futuro sarà solo 3.3v

Perchè ti interessa il 3.3v? Avevi deciso di prendere un MEGA e non la DUE, questo problema non ce l'hai più.
Così finisci col fare ancora più confusione.

qui hai detto

considera che il mio progetto utilizzera' (nei miei sogni eh! pero' e' quello a cui punto) almeno 12 o 13 servo e almeno 6 o 7 sensori..

Ti è stato suggerito di usare un MEGA che ha 15 provide PWM output e 16 port analog per i sensori, quindi tutto a 5v. Ovviamente non puoi pensare di collegarli tutti direttamente ai pin senza usare un driver tra il micro e i servo, quindi ti resta solo da decidere cosa fare ...... o ti costruisci con un po' di transistors e resistenze un driver per ciascuno servo o te ne prendi uno già fatto i2c come suggerito

Prendi una MEGA un driver i2c e comincia a programmartelo ... perchè ancora questi dubbi?

ciao

nid69ita:
ho scritto solo quella di cavolata?

Dai ... è solo un'imprecisione ... altre cose non ne vedo ... se non che ...
... sei sicuro che non ci siano sensori ad Ultrasuoni con uscita analogica ? :roll_eyes:

Io sono sicuro che CI SONO ... come, ad esempio, QUESTO (... e tutta questa serie), che ha una serie di uscite : impulso digitale, RS232, Analogica.

Guglielmo

P.S. : Quella serie è tra le mie preferite. Costano, è vero, ma sono oggetti precisi, affidabili e ... appunto, con tutte le uscite possibili :wink:

pablos:
Prendi una MEGA un driver i2c e comincia a programmartelo ...

Pablos, sei troppo buono, ... io avrei scritto :

Prendi la MEGA, un driver I2C e ... comincia ad imparare a programmare in questo mondo, che ...
... di strada ne devi fare prima di porti certi problemi !!! ]:smiley:

Guglielmo

Si ragazzi in effetti, come al mio solito, butto tanta carne al fuoco che, sistematicamente, m'incasina il cervello :slight_smile:
La mia scelta definitiva ormai e' la MEGA2560, ma quando vedo quella chipchop MAX32 è un po come vedere una bella sirena che ti canticchia (con voce sexy e calda) "daaaiii vieni da me! lasciala quell'arduinaccia!" XD

Le mie più grandi problematiche erano comunque piu' che altro le ultime domande di questo mio thread e penso che le vostre risposte sulla differenza tra Input e Output, PWM e Servi mi abbia ulteriormente fatto chiarezza anche se, ammetto, pensavo di avere le idee leggermente piu' chiare riguardo il voltaggio "di comunicazione" tra pin e periferica :frowning:

In fondo, come dite voi, e' inutile che io cianci tanto senza una bella schedina davanti al naso. Ora e' tempo di FARE i primi esperimenti.

GRAZIE A TUTTI per le risposte :open_mouth: