Costruire una "manopola" controllabile


8

Sto cercando di costruire un timer semi-analogico. Qualcosa come quei vecchi timer a uovo di cui ruoti la faccia. Voglio una manopola che posso ruotare che può essere letta da un microcontrollore e voglio anche che il microcontrollore sia in grado di posizionare la manopola. Vorrei implementare "arresti" lasciando che il microcontrollore spinga la manopola verso determinate posizioni. Mentre scorre verso il basso, la manopola dovrebbe girare. Questo è il mio primo progetto di questo tipo; Ho costruito piccoli robot in passato, ma sono passati molti anni.

Ho pensato di hackerare un servomotore per leggere la sua posizione, ma i piccoli servi per hobby che ho provato sono troppo difficili da girare, molto rumorosi e raccolgono troppo slancio quando vengono girati. Non si comportano come una buona manopola.

Sto prendendo in considerazione un encoder rotativo collegato a un motore, ma dopo aver cercato in diversi siti (SparkFun, ServoCity, DigiKey, Trossen e alcuni altri), non sono stato in grado di trovare nulla che sembrasse appropriato. Non sono sicuro di come trovare un motore che avrà il giusto tipo di bassa coppia.

Sembra che non dovrebbe essere un problema davvero raro. Esiste un approccio abbastanza normale alla creazione di una manopola che può essere regolata sia dall'utente che da un microcontrollore?


1
Ho trovato esattamente quello che stai descrivendo nel controllo del volume di un vecchio lettore CD. Ruotando la manopola, si gira direttamente il potenziometro. Quando si premeva un pulsante sul telecomando, un motore collegato tramite una frizione ruotava la manopola e il potenziometro. La frizione impedirebbe al motore di girare e fare rumore quando la manopola veniva girata manualmente. Forse puoi recuperare questo tipo di meccanismo da un lettore CD o un dispositivo simile?
Chris,

Risposte:


5

Ho un paio di opzioni per te.

Opzione 1, costruisci il tuo servomeccanismo

Poiché per muovere una manopola è necessaria solo una coppia molto bassa, un motore molto piccolo dovrebbe fare bene il lavoro. Probabilmente dovrai aggiungere un po 'di attrito in modo che non si muova troppo facilmente, o utilizzare un piccolo motore passo-passo con una coppia di arresto decente e un po' di ingranaggi.

Un modo molto economico per ottenere il feedback di posizione è trovare un vecchio mouse opto-meccanico .

mouse opto-meccanico - Il detentore del copyright di questo file consente a chiunque di utilizzarlo per qualsiasi scopo, a condizione che il detentore del copyright sia correttamente attribuito.  È consentita la ridistribuzione, il lavoro derivato, l'uso commerciale e tutti gli altri usi. Mouse opto-meccanico

Collegare l'albero all'albero del motore / della manopola e quindi ruotare il proprio codificatore di quadratura (prendendo gli ingressi di fase A / B direttamente nel microcontrollore) o riutilizzare l'intero circuito e collegare il "mouse" a una porta seriale e leggere indietro la posizione del mouse X o Y tramite il software.

L'articolo Ricicla i topi PS / 2 in generatori di impulsi rotativi è un bell'esempio di qualcuno che lo fa.

Opzione 2, perseverare con il servo RC

Il motivo per cui i servo della tua RC sono difficili da girare è che hanno un ingranaggio ad alto rapporto per offrire loro la coppia di cui hanno bisogno, e questo li rende difficili da guidare indietro . Dai un'occhiata a questo diagramma esploso dalla pagina Servomeccanismo di wikipedia :

Servo RC esploso - Quest'opera è stata rilasciata nel pubblico dominio dal suo autore, Sonett72, al progetto wikipedia. Piccolo servo meccanismo R / C

  1. motore elettrico

  2. potenziometro di feedback posizione

  3. riduzione ad ingranaggi

  4. braccio dell'attuatore

Una piccola rotazione dell'albero dell'attuatore di questo servo RC provocherebbe un grande movimento (molti giri) del motore, se riuscissi a farlo muovere senza spingere gli ingranaggi.

Ancora una volta, poiché nella tua applicazione hai solo bisogno di una coppia sufficiente per ruotare la manopola, potresti essere in grado di sbarazzarti di quel cambio e usare direttamente la posizione del motore. Rimuovendo o riducendo l'ingranaggio, dovresti trovare che il motore si muova davvero molto liberamente. In effetti, potrebbe essere necessario aggiungere un po 'di attrito (o lasciare alcuni ingranaggi in posizione) per evitare che il motore sia molto nervoso.


Grazie per tutto ciò, è davvero di aiuto. Mio figlio e io abbiamo smontato uno dei nostri servi ieri e abbiamo imparato molto giocando con esso. Penso che potrei avere alcuni vecchi mouse PS / 2 in giro per sperimentare.
Rob Napier,

1
@RobNapier - Sono felice di poterti aiutare. Da bambino amavo portare le cose a pezzi, sono persino (principalmente) riuscito a rimetterle insieme e ho imparato molto nel processo. Al giorno d'oggi così tante cose non contengono parti riparabili dall'utente che mi chiedo cosa facciano i bambini orientati alla tecnologia .
Mark Booth

A proposito, ho continuato a lavorare su questo con un servo. Credo che il segreto sia aggiungere una cinghia per consentire lo slittamento tra il motore e la pentola.
Rob Napier,

@RobNapier - Grazie per l'aggiornamento, sentiti libero di rispondere alla tua domanda con quello che hai provato e quello che alla fine hai trovato funzionante, riceverai almeno un voto positivo da parte mia. * 8 ')
Mark Booth

0

Non so se esiste un approccio normale a questo, ma dovresti assolutamente dare un'occhiata a un video che ho trovato anni fa e mi fa ancora impazzire: The Secret Knock Detecting Lock . Fondamentalmente il ragazzo ha costruito un dispositivo basato su Arduino che puoi collegare alla tua porta e impostare un bussare segreto che lo farà scattare per aprirlo ... Fantastico!

Sono sicuro che solo il video sarebbe abbastanza buono per l'ispirazione (è la prima cosa che mi è venuta in mente mentre leggevo il titolo della tua domanda), ma dopo una rapida ricerca su Google ho anche trovato la pagina istruttiva che spiega tutto.

Questa è una parte della pagina istruttiva in cui dice il motore che usa e dà alcuni consigli:

1 motore riduttore 5v. Maggiore è la coppia migliore. Eccone una buona. (Il diametro di 14-16mm è l'ideale perché si adatta all'interno di un tubo in PVC da 1/2 ".) Ne consiglio uno con una coppia di almeno 15oz / in (11 N-cm) a 5v per ruotare un blocco di base.


0

Che ne dici di usare a stepper motor, sarai in grado di controllare esattamente la posizione.


Benvenuto in R.SE - forse potresti ampliare la tua risposta, per fornire ragioni di supporto?
Andrew

Attualmente questa risposta affronta solo metà della domanda. Se la manopola viene girata a mano, ci sono dei trucchi che puoi usare per rileggere la nuova posizione dal motore senza avere anche un encoder? Ad esempio, è possibile utilizzare una sorta di rilevamento sui fili della bobina del motore per rilevare che il motore passo-passo è stato girato a mano?
Mark Booth

0

Utilizzare un potenziometro rotativo. Interfaccialo con un pin ADC del tuo microcontrollore e, a seconda della risoluzione, puoi ottenere ovunque tra 256 e 65536 valori, che puoi quindi utilizzare per impostare gli "arresti".


1
Attualmente questa risposta risponde solo a metà della domanda. Ciò consentirebbe di rilevare la posizione corrente della manopola, ma non di spostare la manopola dal controller.
Mark Booth

0

Lo standard del settore per risolvere questo problema è con i fader in movimento .

inserisci qui la descrizione dell'immagine

Sono prontamente disponibili componenti economici che fanno esattamente ciò che chiedi, tranne che per il fatto che sono parte rotonda.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.