Сбой счёта импульсов с оптического щелевого датчика

Вопросы от новичков
vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#1

Сообщение vfv » 21.02.2019{, 22:38}

Собрал в программе FLProg для ардуино уно вот такую блок схему:
Укладка-v01 .flp
(111.8 КБ) 53 скачивания
Вдоль пластины с прорезями по горизонтали перемещается оптический датчик ( с компаратором), который закреплён на каретке трапециевидного вала и считывает прорези.

Есть такой же датчик середины. Счётчиком, я задаю на сколько передвигатся от середины, например на 10 импульсов в право , а потом влево и так без остановки . По представленной схеме всё работает, если скорость перемещений не очень большая. Но если скорость увеличивать начинаются сбои с подсчётом импульсов и соответственно перемещений на право на лево.
Попрбовал поставить блок пользователя от Sancho - быстрые входы и скорость без сбоев возрасла. Но мне не хватает ещё немного скорости без сбоев.
Как можно ещё увеличить скорость без сбоев (речь идёт об примерно 1000об/мин)

Отправлено спустя 11 минут 4 секунды:
С быстрыми входами побыстрее без сбоев, но мне не хватает всё равно немного скорости:
Укладка-v02 .flp
(126.2 КБ) 50 скачиваний

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Сбой счёта импульсов с оптического щелевого датчика

#2

Сообщение RedSky » 22.02.2019{, 07:54}

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

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#3

Сообщение vfv » 22.02.2019{, 09:30}

Скоростной счётчик поставил, однако однако предел скорости счёта импульсов без сбоев, остался как и с простым счётчиком но с быстрым входом:
Укладка-v03 .flp
(509.64 КБ) 52 скачивания

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Сбой счёта импульсов с оптического щелевого датчика

#4

Сообщение RedSky » 22.02.2019{, 09:55}

Возможно не успевает отрабатывать сам датчик, нужно осциллографом посмотреть.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#5

Сообщение vfv » 22.02.2019{, 10:15}

Осциллографа у меня нет. Вот и я не могу понять, то ли датчик у меня не успевает считать ( хотя они применяются для тахо) или что то програмно не так, хотя обороты вала (он как редуктор) и не сверх уж большие.
В догонку рисунок:
Снимок.JPG

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#6

Сообщение Sancho » 22.02.2019{, 12:25}

В очередной раз объясню.
Хоть на главную выставляй :)
При использовании прерываний в проектах необходимо учитывать ряд аспектов:
При срабатывании/вызове прерывания основная программа приостанавливается,
выполняется под-программа, находящаяся в описании прерывания, будь то энкодер, скоростной счётчик и т.д.
Затем, после завершения обработки под-программы прерывания, основная программа продолжит работу с того места, в котором она была остановлена.
Если Вы используете данные с выхода под-программы(обработчика) прерывания, они будут обработаны в том момент, когда до них дойдет очередь в программе.
Соответственно, если Вы пытаетесь подсчитать количество импульсов и по достижении определённого значения остановить/реверснуть, в момент, когда программа дойдёт до Вашего компаратора, не исключено, что там будет значение, намного/не-очень отличающееся от Ваших ожиданий.
Это будет связано с тем, что пока Вы выводили на дисплей, который вносит значительные временные задержки в цикл выполнения программы, отравляли в уарт, ещё чего там, пришло некоторое время и ещё несколько импульсов на вход прерывания, и он их, соответственно их посчитал!!!
Учитывайте это!!!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Сбой счёта импульсов с оптического щелевого датчика

#7

Сообщение RedSky » 22.02.2019{, 12:52}

Простыми словами - хотя счётчик и успевает за импульсами, действия с результатом подсчёта происходят медленно - в цикле.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#8

Сообщение vfv » 22.02.2019{, 13:33}

Так, а предпринять то что - убрать дисплей, не поднимать сильно скорость перемещения или вообще отказатся от этого метода - реверса по подсчёту количества шагов. Концевики не хотелось бы ставить - не удобно часто менять расстояние перемещения. А здесь можно менять двумя кнопками и даже сделать програмно постепенное увеличение или уменьшение по ходу намотки бабины (цилиндр,конус,шар) - ?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#9

Сообщение Sancho » 22.02.2019{, 13:46}

vfv, Написать самому обработчик, в него вставить подсчёт, сравнение, управление выходом, сброс и т.д..
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#10

Сообщение vfv » 22.02.2019{, 13:54}

Да если бы я уже такое мог делать, я бы себя сильно зауважал и ходил индюком.
Сечас хочу поставить вместо этих датчиков - датчики Холла. Может с ними будет получьше.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#11

Сообщение Sancho » 22.02.2019{, 13:59}

Какая разница, что за датчик в данной ситуации - на входе в любом случае электрический сигнал :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#12

Сообщение vfv » 22.02.2019{, 14:06}

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

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Сбой счёта импульсов с оптического щелевого датчика

#13

Сообщение RedSky » 22.02.2019{, 14:16}

Тут вопрос есть: насколько резкой должна быть смена направления?
А не получается так, что механизм просто не успевает остановится? Возможно было бы правильней при приближении к крайним точкам и середине снижать скорость? Пропорционально интегральный регулятор в помощь. Как я это вижу: пока расстояние до края велико скорость максимальная, возле края скорость около нуля, интегратор накапливает рассогласование и аккуратно подтягивает привод к заданной точке, задание снимается и интегратор обнуляется.
Нужно в блоке пид дописать вход сброса интегратора.

Отправлено спустя 5 минут 24 секунды:
А время работы пид 1мс ни о чём. Чаще одного раза за цикл пид обрабатываться всё равно не будет.

Отправлено спустя 5 минут 27 секунд:
А у готовых китайских аналоговых датчиков холла гистерезиса нет. Делал сам такой: датчик SS49E и компаратор на LM358 с положительной обратной связью.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#14

Сообщение vfv » 22.02.2019{, 14:37}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#15

Сообщение Sancho » 22.02.2019{, 15:55}

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

Отправлено спустя 4 минуты 39 секунд:
А это зачем, ВТ_pr? Объясните, плиз
СпойлерПоказать
screenshot_19-02-22_15-58-59.png
screenshot_19-02-22_15-58-59.png (2.47 КБ) 650 просмотров
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#16

Сообщение vfv » 22.02.2019{, 16:35}

Сейчас я временно поставил реле для смены направления. При нажатии на кнопку пуск (реле обесточено) движение всегда вправо по часовой. Да согласен, если до нажатия на кнопку пуск или по аварийной остановке каретка окажется между серединой и правым краем , то она уйдёт в право до упора. Я ещё этот момент не разрабатывал. Может поставлю концевик с права чуть дальше рабочей области посылающий каретку на лево. А так рабочий цикл всегда начинается и кончается ровно на середине и редуктор - гайку(каретку) на трапециевидном вале просто так сдвинешь, надо крутить рукой вал, да и метку средней точки можно сделать пошире.
Блок - ВТ_pr - я просто забыл убрать для форума. Он будет задавать кнопке пуск дополнительное действие по длительности нажатия.
Попробовал с датчиком холла. Здесь свой гемарой .Не могу получить по горизонтали хорошее разрешение, если часто наклеивать магниты то их поля перекрывают друг друга. Опять вернулся к опто датчикам.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#17

Сообщение vfv » 01.03.2019{, 16:10}

Что то я застрял намертво с этим станком. А всего навсего, осталось поднять скорость укладки на 10%, как сейчас есть , но чтобы было без сбоев. Может прав RedSky:
RedSky писал(а):
22.02.2019{, 14:27}
А не получается так, что механизм просто не успевает остановится?
Расстояние соответствующее заданному количеству шагов то нормально то немного больше и чем больше скорость тем больше болтается в сторону увеличения. Может виновато реле переключения направления ? Спаять попробовать мост?

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Сбой счёта импульсов с оптического щелевого датчика

#18

Сообщение AVGN » 01.03.2019{, 16:16}

vfv, принципиальную схему и осциллограммы покажите - на излучателе и на фотоприемнике.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#19

Сообщение vfv » 01.03.2019{, 16:22}

Осциллографа, к сожалению, у меня нет, а схему пожалуйста:
Станок для намотки шпагата-v01.flp
(627.78 КБ) 46 скачиваний
Если нужны пояснения, могу дать.

Priyatel
Рядовой
Сообщения: 85
Зарегистрирован: 04.11.2018{, 14:09}
Репутация: 0
Имя: Олегович

Сбой счёта импульсов с оптического щелевого датчика

#20

Сообщение Priyatel » 01.03.2019{, 16:48}

Уважаемый vfv.
Я не смею Вам перечить в работе, но разрешите посоветовать:
как я понял, у Вас три вида намотки: рулон, шпуля и шар.
Для первого из них, разрешите предложить установить на вал щечки. Тогда намотка будет проходить равномернее и вылеты при намотке будут скомпенсированы.
А вообще, рассмотрите вращательное движение вала к поступательному движению намотчика. Это ничто Вам не напоминает? Если вы линейно разложите на графике одно и другое, то получите синусоиду. Такое же движение, например, осуществляют двигатели внутреннего сгорания.
Лет сорок, тому назад, я разработал и изготовил ДВС по тому же принципу, но с другим конструктивом. Вал двигателя и поршень располагались на одной оси. Шатуна не было, поршень перемещался линейно, но передавал поступательное движение валу посредством синусоидальной канавки, прошлифованной на валу. Таким образом, от взрыва (воспламенения), он заставлял вал поворачиваться.
Ну это лирика...
По существу у Вас такое же синусоидальное движение, где скорость к концу намотки должна меняться по этому закону. Примените функцию "sin" для изменения скорости. Только не забудьте, что после прохождения середины, знак дожен поменяться на противоположный. Т.е. У Вас должны быть два экстремума, с прохождением середины функции через 0 оси координат.

Ответить

Вернуться в «Начинающим»