Как ротор CD-ROM узнает, когда нужно остановить движущуюся пластину?

Мне нужно сделать механизм с RaspberryPi, как в CD-ROM, чтобы я мог легко перемещать пластину из минимального положения (CD-Rom закрыт) в максимальное (CD-ROM открыт). У меня есть двигатель постоянного тока (с компакт-диска), и я могу только сказать ему повернуться на заданный угол. Я также пытался использовать сам компакт-диск, но он слишком большой. Как я могу определить, достигла ли пластина минимума или максимума? Или, может быть, я могу изменить CD-ROM, чтобы сделать механизм меньше (у меня их много, поэтому я могу поэкспериментировать)?

Ответы (2)

Самый простой способ — концевые выключатели. Иметь реверсивный приводной механизм и поставить концевые выключатели на каждом конце. Их можно подключить последовательно с приводом в нормально закрытой конфигурации, чтобы физически отключить питание на остановках. Или переключатели можно использовать как логические входы, чтобы остановить микроконтроллер. С двухполюсным выключателем лучше сделать и то, и другое, чтобы случайно не включить привод за упоры.

Использование сервопривода с дистанционным управлением может быть простым решением, поскольку положение контролируется шириной импульса. В качестве альтернативы вы можете использовать потенциометр, прикрепленный к вашему приводному механизму, как это делает сервопривод, чтобы получить обратную связь по положению. Это приведет к входу АЦП или отдельной внешней микросхеме АЦП. Это даст вам больше обратной связи по фактическому положению, но будет менее точным на остановках.

Если вы не знакомы с управлением двигателем в обоих направлениях от логического выхода, вы можете взглянуть на Н-мост. Это позволяет осуществлять реверсивное управление с логических входов.

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

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

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

Это немного похоже на изоленту (если она вообще работает), но вам не нужно дополнительное оборудование :-)

РЕДАКТИРОВАТЬ: я только что видел, что суперкот предложил то же самое. Если вы проголосуете за это, пожалуйста, проголосуйте и за его комментарий.