Avrei la necessità di utilizzare un'interruttore del genere e vorrei sapere come collegarlo ad Arduino perchè anche guardando il datasheet, non mi è chiaro.
Mettiamo che debba pilotare due servo e voglio che quando l'interruttore è su un "on" si azioni uno, quando è sull'altro si azioni l'altro.
Qualcuno sarebbe così gentile da riportarmi uno schema (magari con fritzing)?
L'interruttore che ho è questo: http://www.goobbo.com/upfile/20105201518856627.jpg
Il datasheet potete trovarlo qui: http://www.ck-components.com/14388/os_17aug.pdf/ (è il modello DP3T On-Off-On, OS203013MT7QN1).
Un'altra cosa, mi pare che richieda 300 mA, dite che è troppo per quel che mi serve fare e ci sarebbe una soluzione migliore (intesa a cominciare da un consumo minore)?
Il link del datasheet da not found
Corretto il link, mancava uno slash alla fine, ma vedo che non funziona comunque cliccando da qui, quindi aggiungetelo nella barra degli indirizzi e date invio.
ON-OFF-ON significa che hai 3 posizioni: una ON collega tra loro il Comune e un pin, l'altra ON collega tra loro il Comune ed un pin diverso dal precedente, la OFF non collega niente. Sicuro che ti serva questo?
i 300mA non sono "richiesti" dal deviatore, ma sono sopportati da esso, cioè non puoi far passare in quei contatti una corrente >300mA, quanto assorbono i tuoi servo?
I servo assorbono 200mA/240mA ciascuno, quindi non ci sono problemi, giusto? Ma se assorbissero un valore superiore a 300mA sopportati dall'interruttore, che dovrei fare?
Se mi serve quell'interruttore? Direi di si per quello che ho spiegato che devo farci, cioè azionare un servo con un "on" e l'altro con l'altro. Se hai altre soluzioni da suggerire, dimmi pure.
Cosa sarebbe il "Comune"
Giuse:
I servo assorbono 200mA/240mA ciascuno, quindi non ci sono problemi, giusto? Ma se assorbissero un valore superiore a 300mA sopportati dall'interruttore, che dovrei fare?
devi cambiare interruttore mettendone uno con contatti più "potenti"
Cosa sarebbe il "Comune"
è il polo su cui colleghi un pin dell'alimentazione, una volta lo mandi da una parte, l'altra volta lo mandi dall'altra, oppure su OFF spegni tutto; non ho mai lavorato con i servo quindi non so se si alimentano direttamente con l'alimentazione o se ci vogliono accorgimenti, si parla sempre di ponti H e similari...
...non ho mai lavorato con i servo quindi non so se si alimentano direttamente con l'alimentazione o se ci vogliono accorgimenti...
Dipende dall'alimentazione. Io userò una batteria in totale da 6V (1.2V*5) così da poter collegare l'alimentazione direttamente ai servi (lavorando tra i 4.8V ed i 6V).
Saresti così gentile da farmi uno schema grafico? Tanto per i servo, hanno 3 cavi: uno va a GND, un altro a "+" ed il terzo ad un pin dell'arduino per il segnale.
non uso fritzing, mi spiace, poi non conosco i servo e quindi non so se è una buona idea togliere l'alimentazione al servo lasciando collegato il pin di Arduino oppure se non si debbano scollegare entrambi; non capisco nemmeno se usi lo stesso pin di Arduino per entrambi i servi o se ne usi due separati.
Due pin separati.
Sulla prima parte, perchè dovrebbe essere un problema?
Mi andrebbe bene anche se non è fatto con fritzing
Giuse:
Due pin separati.
Sulla prima parte, perchè dovrebbe essere un problema?
Mi andrebbe bene anche se non è fatto con fritzing
perché rischi di mandare una tensione ad un servo non alimentato, non so se può succedergli qualcosa. COmunque i collegamenti da fare sono:
tutti i GND e negativo batterie assieme
i due pin di arduino ai rispettivi file degli step
il positivo di alimentazione della batteria va ad un comune dello switch, ai due lati colleghi il + dei servi (uno a dx ed uno a sx)
Potresi anche fare la commutazione via software, usando sempre quell'interruttore e due pin di arduino posti in ingresso es A e B.
Se OFF, entrambe i pin vedono 0V (tirati da pull-down)
Su ON_A il pin A è alto e B e basso
Su ON_B il pin B è altro e A e basso.
Da software leggi lo stato dei pin A e B e invii i comandi solo al servo A o B.
Se non si capisce la scusante è che è tardi e sono cotto.
Ciao.
Forse metterli proprio in corto tra loro sarebbe sconveniente, almeno due R in serie per disaccoppiarli.
@MauroTec: sul discorso via software, programmazione, non ci sono problemi. Il problema è che non capisco come collegare questo interruttore all'Arduino. Voglio dire, nell'interruttore ci sono 6-8 piedini e vorrei sapere come collegare ognuno. Perchè stando al discorso dei 2 pin per leggere HIGH o LOW ed azionare di conseguenza il corrispondente servo, più il piedino da collegare a GND e "+", o mi resta fuori qualche piedino o seguendo una qualche altra logica, non mi bastano.
Quindi mi si potrebbe dire esattamente quali piedini collegare dove? Grazie.
Il problema è esattamente questo; a mio avviso, a rigor di logica, dovresti commutare sia il pin di Arduino che il + dell'alimentazione, ma con quello switch non è possibile, se usi 2 pin di Arduino; allora o li "unisci" tra loro, ma a me non sembra una soluzione perfetta, oppure dovresti gestire il software in maniera da usare un solo pin per entrambi i servo.
E' inutile che continui a chiedere collegamenti se prima non stabilisci esattamente cosa devi collegare. Dopo di che, il datasheet che hai postato è chiarissimo, non capisco la tua difficoltà ad interpretarli, si tratta di un normale sistema di commutazione meccanica.
1CC2 è una via, 3CC4 è l'altra via. I due C vicini sono in corto tra loro, sempre, quindi considerali un C solo; al C della prima via colleghi V+, al C della seconda via puoi collegare un altro segnale da commutare (appunto, uno NON due). Vediamo i contatti:
a) levetta a sinistra: il C della prima via va in corto con 1, il C della seconda via va in corto con 3;
b) levetta a destra: il C della prima via va in corto con 2, il C della seconda via va in corto con 4;
c) levetta al centro: i C restano isolati (posizione OFF)
Non sono un espertone dell'elettronica, anzi...quindi scusate se pongo domanda che per voi sono fortemente banali, ma per me possono non esserlo.
Quando parli delle due vie, ecc, non c'ho capito molto ed eccoci alla difficoltà nel comprendere il datasheet. Ad esempio io come vie vedo 1C2C3 e 4C5C6, non riuscendo a comprendere come arrivi te invece a quelle due vie
Sempre nel tuo ragionamento, GND dove va a finire? Per caso parte dallo spesso piedino che va in V+, mettendoci una resistenza nel mezzo?
Quello che devo collegare è fin troppo chiaro e semplice in quanto a componentistica: l'interruttore ad arduino e i due servi sempre ad arduino. Via software rilevo se l'interruttore è sul primo "on" o sul secondo ed azioni il servo a lui dedicato. Mi è importante capire come collegare sti benedetti piedini dell'interruttore perchè ne va anche dell'implementazione via software (come rilevare quale "on" è in azione se collego un solo pin segnale dell'interruttore o se ne collego due).
Per rendere la cosa ancora più semplice se vogliamo, sostituiamo i servo con dei semplici led (visto che dicevi di non aver dimestichezza con i servo) e con un "on" accendo un led, con l'altro il secondo led.
Allora, ragioandoci un po', ho tirato fuori il seguente schema. Va bene oppure no? Qualche resistanza da aggiungere (tipo pull-down ai pin dei segnali dell'interruttore DPDT)?
A seconda che il pin 5 o 6 (dell'interruttore) sia HIGH, aziono un servo o l'altro.
Dovresti spiegare cosa pensi di ottenere con questi collegamenti, tenendo conto che i due servo li alimenti costantemente; io non li conosco, quindi la mia è una domanda: consumano comunque corrente i servo se sono alimentati e se stanno fermi?
Su cosa vorrei fare, l'ho ripetuto ormai più volte...leggo da arduino se sono su un "on" oppure l'altro, quindi il relativo pin del segnale in HIGH, quindi aziono un servo oppure l'altro in base a quest'ultimo (ovviamente se sono su "off" non succede niente).
Sulla tua domanda, vale anche per me
OK, un problema alla volta:
1 - visto che devi leggere uno status su un pin o sull'altro il deviatore va bene, meglio la versione di cui parlavi all'inizio cosi non sei costretto ad attivare per forza uno dei due.
2 - Però tutto quel casino non ti serve, una volta che hai impostato i pin 5 e 6 come ingressi, attivi le pull-up interne e ti basta una sola delle vie del deviatore: al centro colleghi il GND, un laterale al 5 e l'altro laterale al 6, senza che colleghi anche il +5. (per capirci tu ora hai messo il centrale di una via sul 5 ed il centrale dell'altra via sul 6).
3 - E tutto questo può andare benissimo se stabilisci con certezza che i servo a riposo NON consumano nulla altrimenti quello schema diventa uno spara-batterie. I servo li hai tu non io: metti il tester per le misure in corrente, in serie al +5 e vedi se il servo assorbe corrente o meno.
- l'interruttore è sempre un on-off-on, che sia un DPDT o DP3T non mi cambia niente.
- per attivare le pull-up interne mi basta un digitalWrite sul pin che mi interessa mettendolo in HIGH giusto? Mmm in effetti se devo usare l'interuttore solo come "emettitore" di un segnale, il tuo discorso va bene, anche se dubbietto: mi funziona senza alimentarlo? Poi il fatto è che alla fine in quello schema ho ridotto il suo utilizzo visto che inizialmente volevo far si che gestisce anche l'alimentazione (sugli on alimentazione attiva, su off no...quindi dovrò magari rivedere lo schema).
Se devo usare solo una "via" (è più corretto parlare di un solo polo) andrebbe bene anche un SPDT no? Con soli 3 pin. - già, con la tua domanda mi è venuto questo dubbio e vedrò ti testare.