LexusCheby
Apr 10 2007, 15:04
Использую двигатели solnceboz 6405. Для определения нулевой точки иду шагами, запитывая одновременно только одну обмотку. По измеренному току в свободной обмотке можно судить - было ли вращение. Проблема в том, что если стрелка достигает упора на большой скорости, то она отскакивает от него и алгоритм не срабатывает, т.к. двигатель не остановился, а отскочил и соответственно ротор вращался. Если идти с маленькой скоростью, то инициализация положения занимает много времени.
Сталкивался ли кто с подобной проблемой? Есть ли идеи решения?
deemon
Apr 10 2007, 21:57
Любопытная проблема ....... а вот если попробовать определять полярность импульса в свободной обмотке , или его форму ? Ведь эта форма должна зависеть от направления скачка мотора , и если он "отскочил" от препятствия - импульс теоретически должен быть не такой , как если бы он двигался в прямом направлении . Мне кажется , что тут есть шанс ......
_artem_
Apr 11 2007, 03:34
А каково время спада напряжения в обмотке после выключения питания на скорости приближения к нулевой точке?
Я к тому что может быть измерять напряжение по двум обмоткам и разность фаз даст направление.
LexusCheby
Apr 11 2007, 10:17
Дело в том что в Микроконтроллере встроенный интегратор. И он может работать лишь с одной обмоткой одновремено.
Я пытаюсь имитировать стрелочный прибор. Стрелка всегда перед глазами. В 0 надо выставлять лишь при потере питания. Просто отскок выглядит некрасиво. Конечно могу его определить, но желательно чтобы его просто не было.
Кстати, попробовал с более легкой стрелочкой. Все гораздо проще.

Ее можно и побыстрее вращать.
deemon
Apr 11 2007, 10:49
Кстати , можно и вообще не определять нулевую точку , а поступить так - подавать на мотор столько импульсов , сколько шагов во всём ходе механизма , плюс небольшой запас . Далее , перейти на микрошаговый режим , и пройти ещё пару шагов до упора . Если после первого действия мотор "отскочил" назад на шаг или два , то в микрошаговом режиме он как раз плавно подойдёт к упору и остановится . Но это , конечно , можно делать , если контроллер позволяет работать в микрошаговом режиме .
LexusCheby
Apr 11 2007, 11:02
Микрошаговый режим реализуется с помощью PWM.
Думаю что конкретно в моем случае нужен либо мотор с большим моментом либо более легкая стрелка. Чтобы значения тока в незапитанной катушке при движении значительно отличались от значений при остановке.
Стандартное решение- оптопара или дачтиу холла на "хвост" стрелки, механический датчик на упор (калиброваться по отпусканию) или дать число импульсов заведомо больше диапазона (если есть возможность- то медленно и с уменьшением ток, чтобы стрелку не согнуть). Была еще система, которая меряла момент на корпусе двигателя- корпус мог вращаться и был подпружинен- при упирании замыкал концевик.
EvgenyNik
Apr 25 2007, 16:49
А если на ось моторчика посадить круглый эксцентрик и упругий упор, то по мере приближения к краю шкалы будет происходит постепенное нарастание тока в обмотке, что и будет служить сигналом к снижению скорости и медленному подходу к упору.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.