Энкодер/батарея...
- Войдите на сайт для отправки комментариев
Добрый день
Такая ситуация: есть некий станок на нем ручка подъема некого механизма, к ней прикрученный механический счетчик оборотов этой ручки. Есть идея, точнее нужно решение, снять механический счетчик и поставить на его место энкодер, полученные обороты преобразовать в миллиметры и информацию вывести на экран
Проблема в том, что возможно будет такая ситуация, что Arduino будет выключена, а ручку случайно повернут и, получиться, что реальные показатели уже не будут совпадать.
Идейка в следующем: запитать Arduino от батарейки и от стабилизированного внешнего источника питания. И если питание внешнее пропадает, то Arduino только будет считывать данные с энкодера (экран и остальная часть схемы будет отключена).
Но как анализировать источник внешнего питания и какой лучше подобрать аккамулятор я не знаю. Подскажите правильное ли решение, если нет, то мб есть что-то лучше или готовая вариация платы Arduino?
ручка сколько угодно может крутиться?
да, оборотов примерно 20 или около того. в этом случае потенциометр ставить просто не реально
можно в принципе редуктор на шестернях поставить если ограничено, если нет, то конечно не выйдет.
тут обсуждали такую штуку
http://arduino.ru/forum/apparatnye-voprosy/akkumulyator-dlya-arduinki
подключаешь параллельно с питанием к ардуине, если внешнее питание пропадает, то ардуино питается от аккума, если внешнее питание есть, то оно заряжает аккум, и питает ардуино.
в этом аккуме уже есть схема защиты от перезаряда
внешнее питание - дык у вас станок, там что нет постоянки вторичной нигде? низковольтную напругу с трансов можно найти, а аккум. любой, лижбы хватало запитать мегу.
Наконец можно где нибудь на железе микрик поставить и считать его нулевым отсчетом.... в начале работы прогнал устройство до микрика, сбросил координанты и работай себе спокойно. Но ето не совсем точно будет, ноль будет зависить от момента срабатывания микрика.
На ЧПУ станках "0 станка" находят с помощью микрика и 0 метки енкодера. ЧПУ подводит суппорт до микрика, по его срабатывании на малом ходу ползет до 0 метки датчика.. точность таким образом получается +- дискрета управления ЧПУ.
была такая идея, только вместо микрики использовать датчик холла, заказчик не хочет каждый раз после выключения питания крутить ручку в 0.
на счет пиния, резервное питание как раз необходимо чтобы не потерять поворот ручки когда станок выключен
перемещение рабочего органа большое?
как вариант, отслеживать не положение ручки, а положение того что она поднимает
нет, один оборот ручки = 1 мм подъема, считать надо десятые доли милиметра
напрашивается тогда абсолютный датчик положения на жлезку прицепить типа таких или подобных им
или если есть возможность подцепиться к валу, то на вал поставить угловой абсолютный( если только вал делает движение меньше 1 оборота)
с помощью диода, электролита и прерывания вы можете гарантировано отследить пропадание напряжения и успеть сохранить последние показания в эпром.
на счет датчика: линейный не подходит, разве что попробовать угловой
на счет питания: мне не то чтобы нужно отловить момент отключения питания для записи значения, а знать даже если при выключенном питании ручка будет поворачиваться
ну аккум 12В возьмите, как в китайских фонарях, вам его хватит на долго... если сеть не выключается в цеху, то обычный покупной БП 220/12(9) подключтие перед входным выключателем станка
а линейный чо всунуть некуда? просто с круговым надо будет перещитывать показания
вот именно что нельзя засунуть( буду пересчитывать, другого выхода не вижу. набрел на такой вот датчик ЛИР-112, правда пока что не разобрался с подключением к Arduino
дык он инкрементальный, а вам надо абсолютный
вам надо что то типа из серии ЛИР-ДА119
координату он по последовательному SSI интерфейсу кидает (описание у них есть на сайте)...скармливаете датчику CLK, получаете n-разрядную координату
а можно поподробнее? никогда с подобным не сталкивался
с чем? с датчиком или интерфейсом ?
с интерфейсом. как его подключать и как считывать в цикле показания
та как обычный SPI интерфейс, если большой точности не надо(взяли 8битное разрешение на оборот), то можно вообще бибилотку SPI использовать, если другое, ну подпрограммку написать не составит труда. такотовый сигнал выдали, 1бит приняли... по первому такту датчик защелкивает координату и с последующими тактами выдает оставшиеся биты.
у ленинградцев есть миниатюрные магнитыне датчики пложения, точность небольшая, но относительно дешево и сердито
А если вообще отобрать возможность "крутить ручку"?
Вместо ручка->механизм, сделать
ручка->энкодер -> ардуино->шаговый двигатель -> механизм
Тогда при пропаже питания, пользователь может крутить ручку сколько хочет - на механизм это не повляет.
ручку надо оставить, так как конструктивна она должна быть)
спасибо за советы - буду пробовать
ручку надо оставить, так как конструктивна она должна быть)
Ну так с точки зрения пользователя - ручка остается. Просто она связанна не напрямую с механизмом, а через ардуину (пользователь может вообще об этом не знать). Плюс этого - ручку можно поставить в более удобное место. Можно програмно менять "передаточное число" и проч. плюшки.
не так все просто, ручка намертво связана с цепной передачей с валом и т.д. менять мне там никто ничего не даст.
буду пробовать с ЛИР-ДА119 или что у себя найду)
К стати круговой энкодер с хорошим разрешением можно выдрать из любого эпсона. Ну почти любого - изредка они и на шаговиках встречаются. Центр питание, по краям земля, 2 и4 линии - сигналы энкодера, работает от 3.3в