Например TDA7294

Форум РадиоКот • Просмотр темы - Три энкодера.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 22:46:18

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 14:44:50 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 06, 2009 18:35:13
Сообщений: 623
Откуда: Молдавия, Кишинев
Рейтинг сообщения: 0
Здравствуйте. Есть задача как-то прикрутить три энкодера на один чип. Один для ручного ввода данных, остальные два управляются механикой. Проблема в том что у чипа только один вход прерывания. Для первого энкодера точность не так уж важна, вторые два должны отрабатывать идеально бит в бит. Как это можно реализовать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 15:11:46 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Использовать алгоритм не привязанный ко входам прерываний.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 15:38:45 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 06, 2009 18:35:13
Сообщений: 623
Откуда: Молдавия, Кишинев
Рейтинг сообщения: 0
Это как? Опишите примерно.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 15:42:00 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Prolog, не знаю под какой PIC контроллер вы пишите программу, но я бы под работу с энкодерами выделил бы отдельный таймер (прерывания по таймеру; приоритет выше системного; время что-то типа 20µS) и по нему опрашивал бы выводы энкодеров.
Если делать программу на ASM - там получится не много строк.
С INT-ами (по входу) связываться не советую, поскольку от "дребезга" избавиться не получится.
Но, как говорится, у каждого свои методы решения задач...


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 16:04:04 
Опытный кот

Карма: 4
Рейтинг сообщений: 81
Зарегистрирован: Пн апр 11, 2011 10:08:52
Сообщений: 844
Рейтинг сообщения: 0
А если такой вариант: три энкодера через диоды посадить на прерывание, а каждый энкодер на отдельную ногу МК.
Суть: пришло прерывание - смотрим, на какой ноге появился сигнал


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 16:09:25 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
-=Vovka=- писал(а):
А если такой вариант:...

Два вопроса:
1. Как решите проблему с "дребезгом"?
2. Уверены что прерывания по "дребезгу" оставят время на выполнение основной программы?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 16:23:26 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Я тоже сперва хотел предложить такой вариант (с подключением ко входу внешнего прерывания через развязывающие диоды), как второй возможный, но определение направления вращения при использовании внешнего прерывания как раз завязано на опрос состояния второго пина. И получается неоднозначность. Тоесть возникло прерывание - смотрим состояние второго пина: если высокий уровень - крутится в одну сторону, если низкий - в другую. Ну так оно может быть например высоким не потому что мы 1 энкодером крутим вправо, а потому что он неподвижен, а прерывание возникло потому, что 2 энкодер мы крутим например влево))
А дребезг при использовании внешнего прерывания в принципе неплохо лечится конденсаторами. Но я это пробовал только для механического инкрементального энкодера, который крутим ручками, для всяких крутых высокооборотистых опыта приминения нет.

П.С. Насчет алгоритма без приминения внешних прерываний - поищите описание агоритма от Ридико (кажется). Краткий смысл - запоминаете состояние, и делаете опрос по таймеру, как предложил Albert_V (достаточно часто, чтобы Вам хватало, но и достаточно редко, чтобы исключить друбезг), если состояние стало другое, определяете направление вращения. Заодно отсекаете невозможные состояния (а они есть). К сожаления готового кода под ПИКи нет, игрался, когда писал под MCS-51, это сечас как то но ПИКи потянуло :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 16:39:14 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 06, 2009 18:35:13
Сообщений: 623
Откуда: Молдавия, Кишинев
Рейтинг сообщения: 0
Пишу под PIC16F877, тактовая 10МГц. Насколько понял алгоритм такой: срабатывает прерывание по таймеру, смотрим состояние входов, если например in1=1 AND in2=0 --> var=var+1 и наоборот in1=0 AND in2=1 --> var=var-1 , а как быть если пошло следующее прерывание а энкодер ещё не поменял значение или наоборот уже проскочил. Частота вращения постоянно меняется. Кроме того чип сильно загружен - слушает кнопки, 4 АЦП, выводит данные на экранчик, управляет 10 выходами где тоже важна точность срабатывания.
-=Vovka=- писал(а):
А если такой вариант: три энкодера через диоды посадить на прерывание

Хех, интересный вариант только не совсем понятный...
В первом варианте у меня энкодер работал так: одна нога на INT вторая на ногу МК (переменная n).
Срабатывает прерывание, смотрим состояние второй ноги - if n=1 прибавляем значение if n=0 отнимаем.
Albert_V писал(а):
Как решите проблему с "дребезгом"?

У меня энкодеры без дребезга.
https://ru.aliexpress.com/item/1pcs-E6B2-CWZ1X-2000P-R-encoder-for-Omron-2000-line-rotary-encoder-2M-incremental-encoder/32227501499.html?spm=2114.10010208.1000023.10.9H01hX


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 16:44:34 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Prolog писал(а):
... а как быть если пошло следующее прерывание а энкодер ещё не поменял значение или наоборот уже проскочил...


Период опроса по таймеру должен быть меньше времени между сменой 2 ближайших состояний.
А вообще, в вашем случае (2 и больше высокооборотистых энкодера), я бы повесил все 3 энкодера на 3 старших линии порта В, и насторил бы прерывание по изминению состояния. Но более опытные люди могут подсказать и чего получше.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 16:53:44 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Prolog писал(а):
...Пишу под PIC16F877, тактовая 10МГц...
Здесь вариантов мало.
Не хотите перейти на 18-ую серию?
Prolog писал(а):
...У меня энкодеры без дребезга....
Ага.
Выберите положение энкодера "на грани щелчка" и убедитесь что не будет "лишних" импульсов....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 17:07:15 
Открыл глаза

Зарегистрирован: Пт янв 11, 2013 10:54:43
Сообщений: 60
Рейтинг сообщения: 0
http://www.microchip.su/showthread.php?t=10460


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 17:44:24 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 06, 2009 18:35:13
Сообщений: 623
Откуда: Молдавия, Кишинев
Рейтинг сообщения: 0
Albert_V писал(а):
Не хотите перейти на 18-ую серию?

А что посоветуете из 18-ых?
Albert_V писал(а):
Выберите положение энкодера "на грани щелчка" и убедитесь что не будет "лишних" импульсов....

Сам энкодер со встроенной "умной" схемой и не допускает дребезга т.е. полностью проходит цикл 00 10 11 01 00. "На грани щелчка" его трудновато выставить, всё таки 2000 импульсов на один оборот.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 18:21:52 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Prolog писал(а):
А что посоветуете из 18-ых?...

Сложно что-то советовать не зная полного ТЗ.
Надо, вначале, определиться с напряжением питания контроллера (3,3V или 5V), расписать какая периферия (в контроллере) необходима, прикинуть какая математика (8 или 16 бит) нужна, требуется ли DMA и т.д.
К тому же, я не знаю что вы можете купить в ваших магазинах (я ориентируюсь на Тритон).
Если из 18-ых - рассмотрите PIC18F46K22.
Хотя, если я правильно вас понял, на мой взгляд наиболее оптимальным в вашем изделии был бы PIC24FJ64GB004 (из того, что есть в наличии в Тритоне).
Но, это лично моё мнение...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 19:15:55 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 06, 2009 18:35:13
Сообщений: 623
Откуда: Молдавия, Кишинев
Рейтинг сообщения: 0
Попробую примерно описать ТЗ. Это будет производственная линия по изготовлению металлоизделий. Сначала сырая стальная лента заражается в прокаточные валы. Валы крутит двигатель с редуктором управляемый частотником. Тензодатчики (4 АЦП) постоянно контролируют нужную силу прокатки. Далее формованная лента проходит через вал с энкодером и отсчитывает нужную длину (погрешность +- 0.1мм), поступает в пробивной пресс. Пресс пробивает отверстия (количество отверстий и расстояние между каждым отверстием задаются в ручную). Затем срабатывает гильотина и отрубает изделие. Изделие поступает на гибочный станок где второй знкодер следит за радиусом загиба (опять-же погрешность +- 1градус). МК так-же смотрит за наличием ленты в валах, текущим состоянием пресса, гильотины и гибочного что-бы не зажевало металл, считает количество изделий и выводит все данные на экран. Если где-то происходит сбой вся линия тормозится и на экран выводится сообщение где произошла ошибка.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Вт янв 31, 2017 19:24:00 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Выкладывайте блок-схему (с разрисовкой линий входов и управления) но, чую, что "подходим" к PIC24 (16bit).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Ср фев 01, 2017 08:48:04 
Опытный кот

Карма: 4
Рейтинг сообщений: 81
Зарегистрирован: Пн апр 11, 2011 10:08:52
Сообщений: 844
Рейтинг сообщения: 0
Prolog, может имеет смысл для каждого станка свой МК, объединив их в сеть?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Ср фев 01, 2017 11:01:52 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Здесь просто плачет для промъшленного контроллера. И цена уже не будет как для 16F877, а на порядок два-три въше. Но за то получите работающая линия, а не куча (ряд) машин.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Ср фев 01, 2017 14:18:38 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 06, 2009 18:35:13
Сообщений: 623
Откуда: Молдавия, Кишинев
Рейтинг сообщения: 0
-=Vovka=- писал(а):
может имеет смысл для каждого станка свой МК, объединив их в сеть?

Думал и об этом но вопрос по поводу энкодеров всё равно остаётся. Получается к главному МК подключаются только два энкодера - ручной ввод и считывание длины ленты.

Добавлено after 3 minutes 7 seconds:
botchin писал(а):
И цена уже не будет как для 16F877, а на порядок два-три въше

Угу, 2.5 килобакса :roll: . Я уж лучше немного помучаюсь с рассыпухой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Пн фев 06, 2017 20:31:29 
Потрогал лапой паяльник
Аватар пользователя

Карма: 7
Рейтинг сообщений: 30
Зарегистрирован: Вт апр 23, 2013 22:21:18
Сообщений: 374
Откуда: KUBAN, Krasnodar
Рейтинг сообщения: 0
Здраствуйте. В одном из своих древних проектов я боролся с дребезгом как во вложенной схеме. Спасало на всех мех. энкодерах.
Скорость реакции регулируется RC цепочкой. Может наведет на какие мысли... ?


Вложения:
sintez_v2.pdf [143.79 KiB]
Скачиваний: 175

_________________
Девице - Device
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Три энкодера.
СообщениеДобавлено: Пн фев 06, 2017 21:27:57 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Это не тот случай. У меня на обычном энкодере вообще без конденсаторов дребезгов (ложных срабатываний) нет ни при каких "ручных" скоростях.
Но тут станок, совсем другие скорости, я полагаю, поэтому обычные методы наверное не сработают.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y