Контроль перемещения и линейный энкодер

Serega_k
Offline
Зарегистрирован: 17.07.2016

Всем здавствуйте!

Есть ардуино уно, шаговик (униполярный), драйвер шаговика,  дисплей 16х2, клавиатура 3х4, энкодер и оптический датчик! Также есть две линейные направляющие и ходовой винт к которому подсоединен шаговик и два концевика (один для калибровки начала, второй для определения максимального расстояния)! Максимальное расстояние перемещения каретки приблизительно 550 мм!!!

Вобщем задумка такая. Сделать из всего этого что-то типа: набрал на клаве расстояние в миллиметрах, нажал на "решетку" и каретка отъехала на заданное расстояние! Кнопка "звездочка" для сброса неправильно набранного расстояния!

Т.к. для меня это дело новое я не знаю с чего начать!

Может кто нибудь укажет на то с чего начинать? Или же если есть подобная тема, просьба скинуть ссылочку!

Cessi71
Offline
Зарегистрирован: 21.05.2016

Зачем энкодер? Вымеряете шаг резьбы ходового винта и крутите шаговик на нужное количество оборотов.(если к примеру шаг=0,5 то два оборота будет смещение 1мм и т.д.).

 

Serega_k
Offline
Зарегистрирован: 17.07.2016

У шаговиков иногда случаются пропуски шагов, а энкодер будет более точно передавать расстояние!

Cessi71
Offline
Зарегистрирован: 21.05.2016

В ЧПУ энкодеры стоят? У меня нет. И пропусков шагов тоже нет.

Хотите с энкодером ? Пожалуйста.

"мы легких путей не исчем"(с)

Serega_k
Offline
Зарегистрирован: 17.07.2016

ОК, но как все это дело согласовать с матричной клавиатурой?

Мне, как вы помните, нужно задать расстояние с клавиатуры!!!

nevkon
Offline
Зарегистрирован: 20.01.2015

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

Теперь как задать расстояние с клавиатуры. Для начала вам надо определить какая кнопка нажата. Все зависит от того аналоговая клавиатура или матричная. Скорее всего матричная. Тогда ищите как читать матричную клавиатуру. Тут скорее всего возникает требование нажимать на одну кнопку за раз. Нажатую кнопку определили, проверяем ее на решетку и звездочку, если да, то выполняем смещение либо обнуляем переменную (лучше как мне кажется хранить текстом). Если первая проверка не прошла значит нажато число, его добавляем к тексту. После добавления преобразуем текст в число и сравниваем с максимальным, если оно больше, то... вам решать что делать.

Также советую хранить текущую позицию - проще будет считать перемещение.

Serega_k
Offline
Зарегистрирован: 17.07.2016

Есть отдельно скечи для управления шаговиком, чтение энкодерной ленты и подключение матричной клавиатуры, а вот как их объеденить не особо понятно!

PS У меня первая ардуино пявилось пару месяцев назад! До этого с програмированием дел не имел!!!!

 

nevkon
Offline
Зарегистрирован: 20.01.2015

Ну так и выкладывайте что уже есть и что не понятно.

diakin
diakin аватар
Offline
Зарегистрирован: 04.06.2016

Опишите своими словами последовательность действий\ логику работы устройства.
Например
1. С клавиатуры вводится величина перемещения (скетч для калвиатуры)
2. Рассчитывается, сколько это будет в шагах ШД. (самостоятельно)
3. Подаются соотвктствующие команды на шаговик (скетч для шаговика)
4. После каждого шага шаговика считываются показания с энкодерной ленты и сравниваются с шаговиком.
5. Если расхождения нет, делаем следующий шаг.
 

Ну или сразу делаем заданное число шагов, считываем показания с ленты и сравниваем ))

 

 

 

Tel228
Offline
Зарегистрирован: 21.02.2019

Serega_k пишет:

Всем здавствуйте!

Есть ардуино уно, шаговик (униполярный), драйвер шаговика,  дисплей 16х2, клавиатура 3х4, энкодер и оптический датчик! Также есть две линейные направляющие и ходовой винт к которому подсоединен шаговик и два концевика (один для калибровки начала, второй для определения максимального расстояния)! Максимальное расстояние перемещения каретки приблизительно 550 мм!!!

Вобщем задумка такая. Сделать из всего этого что-то типа: набрал на клаве расстояние в миллиметрах, нажал на "решетку" и каретка отъехала на заданное расстояние! Кнопка "звездочка" для сброса неправильно набранного расстояния!

Т.к. для меня это дело новое я не знаю с чего начать!

Может кто нибудь укажет на то с чего начинать? Или же если есть подобная тема, просьба скинуть ссылочку!

  Здраствуйте.......меня  тоже  интересует это проект...вы  собрали  свой  проект,???