Построение контролируемой «ручки»


8

Я пытаюсь построить полуаналоговый таймер. Что-то вроде тех старых таймеров для яиц, с которыми вы вращаете лицо. Я хочу повернуть ручку, которая может быть прочитана микроконтроллером, а также хочу, чтобы микроконтроллер мог позиционировать ручку. Я хотел бы реализовать «остановки», позволяя микроконтроллеру толкать ручку в направлении определенных положений. Когда он опускается, ручка должна повернуться. Это мой первый проект такого рода; В прошлом я строил маленьких роботов, но прошло уже много лет.

Я подумал о том, чтобы взломать серводвигатель, чтобы прочитать его положение, но маленькие серб-хобби, которые я пробовал, слишком трудно поворачивать, они очень шумные и набирают слишком много оборотов при повороте. Они не действуют как хорошая ручка.

Сейчас я рассматриваю поворотный энкодер, подключенный к двигателю, но после охоты на нескольких объектах (SparkFun, ServoCity, DigiKey, Trossen и некоторых других) я не смог найти ничего подходящего. Я не уверен, как найти двигатель с правильным крутящим моментом.

Кажется, это не должно быть необычной проблемой. Существует ли достаточно обычный подход к созданию регулятора, который может настраиваться как пользователем, так и микроконтроллером?


1
Я нашел именно то, что вы описываете в регуляторе громкости старого проигрывателя компакт-дисков. Когда вы поворачиваете ручку, он поворачивает потенциометр напрямую. Когда вы нажимаете кнопку на пульте дистанционного управления, двигатель, подключенный через сцепление, поворачивает ручку и потенциометр. Сцепление предотвратит вращение и шум двигателя при повороте ручки вручную. Возможно, вы можете спасти этот механизм от CD-плеера или подобного устройства?
Крис

Ответы:


5

У меня есть несколько вариантов для вас.

Вариант 1, построить свой собственный сервомеханизм

Поскольку для перемещения ручки нужен только очень низкий крутящий момент, очень маленький двигатель должен хорошо выполнять свою работу. Вам, вероятно, потребуется добавить некоторое трение, чтобы оно не двигалось слишком легко, или использовать небольшой шаговый двигатель с приличным моментом затяжки и небольшим зацеплением.

Очень дешевый способ получить информацию о вашем положении - найти старую оптико-механическую мышь .

Опто-механическая мышь - владелец авторских прав на этот файл позволяет любому использовать его для любых целей, при условии, что правообладатель правильно назначен.  Перераспределение, производная работа, коммерческое использование и любое другое использование разрешено. Опто-механическая мышь

Подсоедините вал к валу двигателя / ручки, а затем либо сверните свой собственный квадратурный энкодер (перенося входы фазы A / B непосредственно в ваш микроконтроллер), либо повторно используйте всю печатную плату и подключите «мышь» к последовательному порту и прочитайте назад положение мыши X или Y через программное обеспечение.

Статья « Переработка мышей PS / 2 в роторные импульсные генераторы» - хороший пример того, как кто-то делает это.

Вариант 2, продолжайте с RC сервоприводом

Причина, по которой ваши RC-сервоприводы трудно поворачивать, состоит в том, что они имеют зубчатую передачу с высоким передаточным числом, чтобы дать им необходимый крутящий момент, и это затрудняет их задний ход . Взгляните на эту разобранную диаграмму со страницы Servomechanism в Википедии :

Разорванный сервопривод RC - Это произведение было передано в общественное достояние его автором, Sonett72, в проекте википедии. Малый R / C сервомеханизм

  1. электродвигатель

  2. потенциометр обратной связи по положению

  3. сокращение передач

  4. рычаг привода

Небольшой поворот вала привода этого RC сервопривода приведет к большому (многооборотному) движению двигателя, если вы сможете заставить его двигаться без снятия зубчатых колес.

Опять же, поскольку в вашем приложении вам достаточно крутящего момента, чтобы повернуть ручку, вы можете избавиться от этой передачи и напрямую использовать положение двигателя. Сняв или уменьшив зацепление, вы обнаружите, что двигатель действительно движется очень свободно. На самом деле, вам может потребоваться добавить некоторое трение (или оставить некоторое зацепление на месте), чтобы двигатель не сильно нервничал.


Спасибо за все это, это действительно помогло. Вчера мы с сыном разобрали один из наших сервоприводов и многому научились, играя с ним. Я думаю, что у меня могут быть старые мыши PS / 2, которые тоже могут экспериментировать.
Роб Нейпир

1
@RobNapier - Я рад, что смог помочь. В детстве я любил разбирать вещи на части, мне даже (в основном) удалось собрать их воедино и многому научиться. В наши дни так много вещей, которые не обслуживаются пользователем , и я удивляюсь, что в эти дни делают ориентированные на детей дети .
Марк Бут

Кстати, я продолжил работу над этим с сервоприводом. Секрет, который я считаю, состоит в том, чтобы добавить пояс, чтобы позволить проскальзывание между двигателем и горшком.
Роб Нейпир

@RobNapier - Спасибо за обновление, не стесняйтесь отвечать на свой вопрос, с тем, что вы пытались и что в итоге сработало, вы получите по крайней мере от меня голос. * 8 ')
Марк Бут

0

Я не знаю, есть ли нормальный подход к этому, но вы должны обязательно посмотреть видео, которое я нашел несколько лет назад и все еще поражает воображение: Секретный замок, обнаруживающий детонацию . По сути, парень создал устройство на базе Arduino, которое вы можете подключить к своей двери и установить секретный стук, который заставит его открыться ... Круто!

Я уверен, что только видео было бы очень полезно для вдохновения (это первое, что пришло мне в голову, когда я прочитал заголовок вашего вопроса), но после быстрого поиска в Google я также нашел полезную страницу, которая объясняет все это.

Это часть обучаемой страницы, где он говорит, что двигатель, который он использует, и дает некоторые рекомендации:

1 5v редукторный двигатель. Чем выше крутящий момент, тем лучше. Вот хороший. (Диаметр 14-16 мм идеален, потому что он подходит внутри трубы 1/2 "из ПВХ.) Я рекомендую один с крутящим моментом не менее 15 унций / дюйм (11 Н-см) при 5 В, чтобы повернуть основной замок.


0

Как насчет использования stepper motor, вы сможете точно контролировать положение.


Добро пожаловать в R.SE - возможно, вы могли бы расширить свой ответ, обосновать причины?
Андрей

В настоящее время этот ответ касается только половины вопроса. Если ручка повернута вручную, есть ли какие-либо приемы, которые вы можете использовать для считывания новой позиции с двигателя, не имея также энкодера? Можете ли вы, например, использовать какие-то датчики на проводах катушки двигателя, чтобы определить, что шаговый двигатель был повернут вручную?
Марк Бут

0

Используйте вращающийся потенциометр. Подключите его к выводу АЦП вашего микроконтроллера, и в зависимости от разрешения вы можете получить от 256 до 65536 значений, которые затем можно использовать для установки «остановок».


1
В настоящее время этот ответ отвечает только на половину вопроса. Это позволит вам почувствовать текущее положение ручки, но не сдвинуть ручку с контроллера.
Марк Бут

0

Промышленный стандарт для решения этой проблемы - с движущимися фейдерами .

введите описание изображения здесь

Это легко доступные недорогие компоненты, которые делают именно то, что вы просите, за исключением того, что круглая часть.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.