КУЛИБИН ПОМОГИТЕ Энкодер с выводом на ЛСД 1602

Подозреваю, эта первичная формула изначально неверная
float fvalue = (float)value / divider
Надо делитель коэффициент определять как шаг винта / кол-во импульсов энкодера на оборот
и на это значение умножать кол-во импульсов, которое насчитали от энкодера.
Тогда получим на дисплее величину перемещения в мм.

ЗЫ. Туплю. Можно и делить :)
в этих энкодерах считается не каждый первый шаг. Это было сказано в видео в начале обсуждения и автор говорил о доработке скетча под это баг. Но если ставить к примеру энкодер от принтера, то будет считаться каждый шаг.
 
определять как шаг винта
Какого, извините, винта? Если это для отсчета по X и Y (энкодер на винт), то как и в расчете $100 - $102, делитель=количество импульсов на оборот/шаг винта. Если рулетка, делитель= количество импульсов на оборот/длина окружности ролика (¶*D).
 
"Мысли на экране"

Стемнело! Вышел покурить на балкон и не ожиданно навеяло!
В продаже имеются наборы для энкодеров для различных моделей.
optical_encoders-1.png

Изучая материалы по оптическим энкодерам я обратил внимание, что они состоят из одного светоизлучателя и сдвоенного фототранзистора.
Возник вопрос: -А не маловато?
А что если вокруг диска с просечкой разместить еще комплект из светоизлучателя и фототранзисторов.
Есть конечно проблема связанная с тем, что длительность импульсов с фотоприемников пропорциональна ширине просечки и расстоянию между просечками.
А может пренебречь этим?
Если на выходах "А" и "В" фотоприемника последовательно включить конденсатор и потом триггер Шмитта, то длительность поступающих на контроллер импульсов будет значительно короче, что в свою очередь позволит принимать счетных импульсов в 2 раза больше.
При этом к выходам конденсаторов можно подключить инверторы и также триггера Шмитта.
Кто то может выразить в отношении этой идеи своё веское "ФИ".
Но это ещё не всё! После выходов триггеров при необходимости можно поставить задержки.
По входам на контроллере разумеется есть ограничения. Это можно решить объединив вывода с триггеров "А" и "А2" через элемент "ИЛИ" , то же и с выводами "В" и "В2".
Примерно так:
1687903264321.png
 
Кто то может выразить в отношении этой идеи своё веское "ФИ".
Для правильной работы датчиков необходимо точное соответствие 90°ный сдвиг фаз, и, если применять вашу схему, добиться удвоения конечно можно (секса с настройкой второй пары относительно первой поимеете немало) , но при условии фиксированной скорости, иначе ничего не получится. Проще найти микросхему LS7084, которая преобразует ваши входные импульсы в учетверенную последовательность STEP и гарантированный DIR, и никакого секса. Правда, последнее время цены на эту букашку о 8 лапках подскочили до не совсем вменяемых...
 

Вложения

  • LS7083.PDF
    47.8 KB · Просмотры: 5
Для правильной работы датчиков необходимо точное соответствие 90°ный сдвиг фаз, и, если применять вашу схему, добиться удвоения конечно можно (секса с настройкой второй пары относительно первой поимеете немало) , но при условии фиксированной скорости, иначе ничего не получится. Проще найти микросхему LS7084, которая преобразует ваши входные импульсы в учетверенную последовательность STEP и гарантированный DIR, и никакого секса. Правда, последнее время цены на эту букашку о 8 лапках подскочили до не совсем вменяемых...
Разумеется, в домашних условиях это мастурбирование со связанными за спиной руками. Это вопрос в моём случае только теоретический. Может быть, когда нибудь, когда будет возможность, но не сейчас и не на втором балконе где я не курю.


Благодаря совместным усилиям участников данного обсуждения основной вопрос темы как бы реализовался в железе. За что всем огромного спасибо! Я хочу попросить модераторов не закрывать обсуждения до 1-го сентября хотя бы.
 
В моём случае только 2 энкодера.
В других темах я писал, что в своем горизонтально - фрезерном, плоскошлифовальном, расточном станочке отказался от приводов. Оси будут "Ручными".
Ходовые винты будут приводиться в движение через редуктор, а тот в свою очередь штурвальчиком. На вал соединяющий штурвальчик с редуктором закреплю колесико от логитековстой мышки, соответственно будет стоять оптическое трио из светодиода и сдвоенного оптотранзистора. Механика на подходе.
д.Вова, аппетит приходит во время еды. Если понадобится больше пинов, обрати внимание на stm32F103ZEt6.
 
Нашел видео, где автор скетча предлагает его для того что бы считался каждый такт при повороте энкодера
 
  • Последнее редактирование:
Последнее редактирование:
Для правильной работы датчиков необходимо точное соответствие 90°ный сдвиг фаз,
Вовсе не обязательно. Достаточно и менее 5-10 градусов. Лишь бы контроллер успевал вовремя считывать и обрабатывать смену состояний.

Вообще энкодер лучше делать не на сравнении и запоминании что уже было а на автомате состояний. Их там 16 согласно коду Грея из которых 8 истинные где 4 состояния это вращение влево и 4 вправо. Чисто математически считается. С энкодером например 50 рисок получается 200 шагов на оборот.
Ваши сообщения автоматически объединены:

У нас 2 порта прерываний, если конечно любой другой порт не программируется на прием прерываний.
Есть ещё PCINT прерывания по всем цифровым портам но с ними не много сложнее работать. Они только как Change работают (то есть и по фронту и по спаду) и флаг прерывания устанавливают при смене состояния любого пина порта. Нужно проверять по маске. Вопрос только в том что редко эти прерывания почему то используют. Всё сидят на int0 и int1.
 
Вот интересно, а можно ли каким то образом приспособить данную конструкцию для подсчёта метража филамента на 3д принтере, не имеет значения, уже использованного или при перемотке. Вот было бы здорово, отмотал, сколько надо, на катушку и вперёд. И меньше бы оставалось хвостов.
 
АВот интересно, а можно ли каким то образом приспособить данную конструкцию для подсчёта метража филамента на 3д принтере, не имеет значения, уже использованного или при перемотке. Вот было бы здорово, отмотал, сколько надо, на катушку и вперёд. И меньше бы оставалось хвостов.
А, собственно, если на энкодер поставить ролик с канавкой, сосчитать количество импульсов, допустим на 100мм и поправить коэффициент деления, вот она и электронная рулетка филамента.
 
Ура! Прибыл необходимый комплект роликов от мышов Логитек. Начал собирать оптические энкодеры: платы корпуса.
1688762139063.png
Будет примерно так:
Отверстие в колесе протачивается до 6 мм. В качестве вала резьбовая шпилька. Плата с оптикой прикручивается на одной из чаш (половинок) корпуса. Колесико надевается на шпильку и фиксируется гайками. После соединений половинок корпуса, положение шпильки фиксируется гайками и подшипниками.
1688762397299.png
i

Размер энкодера в сборе как у Nema17 42х42х42. С одной стороны эенкодера вал крепится к ходовому винту через жесткую муфту 6х8 мм. С другой стороны на вал устанавливается штурвальчик.
1688763479966.png
 
Их там 16 согласно коду Грея из которых 8 истинные где 4 состояния это вращение влево и 4 вправо. Чисто математически считается.
Он соблазнял меня маразмами
Разными, страстными
О гиперполе псевдотензорном
Мне шептал при луне
:D
 
После длительного перерыва связанного с завершением четвертого этапа ремонта квартиры и завершением обучения по программе переподготовки предпенсионеров, пока только тихонечко сообщаю, что возвращаюсь к своему проекту, в котором я продолжаю работу с узлом редуктор+энкодер. В общем эксперименты продолжаются!
Сегодня наткнулся на любопытное решение считывателя. Я его пока применять не собираюсь. Хотел поделиться с друзьями как о очередном Хаке, возможно который может иметь отношение к этой теме.
ugn3503_umgeb1.gif

Само схемное решение
 

Вложения

  • ugn3503-datasheet.pdf
    151.3 KB · Просмотры: 5
Он соблазнял меня маразмами
Разными, страстными
О гиперполе псевдотензорном
Мне шептал при луне

:D
Вы бы не умничали, может быть за умного сошли.(с)
Val_: ; таблица состояний
Data 2 , 2 , 1 , 0 , 2 , 0 , 2 , 2 , 1 , 1 , 2 , 2 , 0 , 2 , 0 , 1
RET
Тут ноль вращение влево, один вращение вправо. Двойка=ошибка. Это дребезг и так далее.
Расчёт элементарный сложением и умножением битов в байте. Если кто то не знает то микроконтроллер гораздо быстрее считает чем сравнивает. Программа на сравнении дольше считает той что сделана чисто на математике. Пишу на ассемблере потому сразу всё видно.
Ваши сообщения автоматически объединены:

Сегодня наткнулся на любопытное решение считывателя.
С шаговика можно взять готовый "диск".
Но лучше тогда в сторону магнитных энкодеров смотреть. Например на AS5601 AS5600. Работают отлично!
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

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

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать