PDA

Просмотр полной версии : Валкодер - своими руками



Страницы : 1 [2] 3 4 5 6 7 8 9

ur8us
24.09.2008, 21:46
Я как раз и обращаюсь за помощью с алгоритмом, естественно, не для триггера (Хи!)
...


Обычно один выход валкодера подключается на прерывание , а второй на обычный вход контроллера . Пришло прерывание , проверяем второй вход - если 1 то шаг влево , 0 - шаг вправо или наоборот (зависит от того какой из входов подан на прерывание ). Если есть дребезг , то нужно просто после прихода прерывания запретить на некоторое время прерывания от валкодера . Время можно взять как 1/8 от периода вращения валкодера на максимальной скорости .

Вот еще один алгоритм:

http://elm-chan.org/docs/tec/te04.html

Статья на японском языке, но при желании можно понять идею. :-)

Заодно получается учетверение дискретности и иммунитет к дребезгу.

Genadi Zawidowski
24.09.2008, 22:10
Заодно получается учетверение дискретности и иммунитет к дребезгу.
С удовольствием увидел решение, какое я у себя применил (здесь опубликовано http://forum.cqham.ru/viewtopic.php?t=1527 4).
Да, а где там иммунитет к дребезгу? Я не нашёл...

ur8us
24.09.2008, 23:35
Заодно получается учетверение дискретности и иммунитет к дребезгу.
С удовольствием увидел решение, какое я у себя применил (здесь опубликовано http://forum.cqham.ru/viewtopic.php?t=1527 4).
Да, а где там иммунитет к дребезгу? Я не нашёл...

Действительно, как такового иммунитета нет - но не нужно подбирать временные задержки и т.п.

Валентин
25.09.2008, 07:09
В принтере CANON PIXMA 4200 - три оптических энкодера 720 импульсов в противофазе
А фото не сложно выложить?

ur8us
30.09.2008, 01:40
Заодно получается учетверение дискретности и иммунитет к дребезгу.
С удовольствием увидел решение, какое я у себя применил (здесь опубликовано http://forum.cqham.ru/viewtopic.php?t=1527 4).
Да, а где там иммунитет к дребезгу? Я не нашёл...

Действительно, как такового иммунитета нет - но не нужно подбирать временные задержки и т.п.

Еще нужно добавить, что при использовании традиционного алгоритма возникает "дрожание" частоты на 1 шаг, у этого - на 1/4 шага. "Дрожание" - это когда мы не трогаем ручку настройки, а сигналы с датчиков изменяются.

RN3QUO
09.10.2008, 19:08
а от 3" дисководов ШД не кто не пробовал приспособить :crazy:

AlexJ
16.11.2008, 22:30
Попалась тут в "капкан" мыша, оптическая, от Microsoft, ну раз попалась....
Конечно в качестве валкодера для TRX не пойдет, всего 15 импульсов, но в качестве управления для приборов (ИП, генератор и пр.) ВЕСЧ! Удобный готовый конструктив, все выводы раздельно..

ur3ilf
16.11.2008, 23:09
А мне вот "привалило счастье" в количестве трёх штук. Дальше разкурочивать не стали так как гайки на валу зафиксированы эпоксидкой 8O Это валкодеры со станков ЧПУ. На диске 100 просветов и с оптикой от "мыши" будет в самый раз. Но когда то слышал что валкодеры бывают и по 500 шагов. В этом приёмная лиза стоит и на ней нанесено точно с таким же шагом как и на вращающейся части секторное покрытие. Может это оптический умножитель??? Стоит его использовать?

Валентин
17.11.2008, 08:23
когда то слышал что валкодеры бывают и по 500 шагов.
Я применяю валкодер от станков ЧПУ. Называется ВЕ-178. Там сзади несколько светодиодов и две платы с электроникой. Всю электронику выбрасываю. Задействую два приемных светодиода. И небольшую схемку из пары диодов, емкостей и резисторов. И все. С ситнтезатором от Константина работает неплохо. В моем валкодере это стекло имеет 1000 рисок.
Зря разобрали корпус со светодиодами. Теперь придется все конструлить самому.

ur3ilf
17.11.2008, 10:49
Зря разобрали корпус со светодиодами. Теперь придется все конструлить самому. Спасибо за ответ. Но достались именно в таком виде и за это спасибо. Плату видел к нему, но интереса она не представляет. Там использовалось четыре ИФК диода. Вот крышки нет, это жалко. Всё в металлолом ушло. Но не беда. С какой нибудь банки подберу и будет нормально. Попробовал с оптикой от мыши работает как и положенно. Риски на диске как специально сделаны для этих оптопар. :D

Валентин
17.11.2008, 15:04
Попробовал с оптикой от мыши работает как и положенно.
Когда будет готово, прошу фото в студию. Хочется мне сей девайс с мышью скрестить :D
Но, уже лениво ду-у-умать. :crazy:
А четыре светодиода - это без "Нулевой отметки". Только два канала, вместо трех. У меня - все три... были.
И стакан (крышка) не нужна. В трансивере и так темно. Засветок нет. :crazy:

RA4FJZ
04.12.2008, 16:32
День добрый! ни кому не приходилось видеть такую штуку как QEDS-9500, стоит в двигателе плоттера HP, на диске 500 прорезей. С этой QEDS-9500 выходит пять выводов, не знаю распиновку к сожалению...

Genadi Zawidowski
04.12.2008, 16:54
Возможно, Вам сюда...
http://www.avagotech.com/pages/en/motion_control_solut ions/encoder_and_codewhee l_bundle/hedb-9140-a05/

Валентин
04.12.2008, 18:28
RA4FJZ
"Махну" на ВЕ-178 от ЧПУ :rotate:

RA4FJZ
05.12.2008, 09:37
Списибо Геннадий!!! Вчера весь день потратил на поиски даташита...

yl2gl
05.12.2008, 10:11
Мне попадались ВЕ-178 на 2500 импульсов на оборот даже...
Выпускались в Литве, в Вильнюсе, в своё время.

SERGEY S.
05.12.2008, 11:20
Мне попадались ВЕ-178 на 2500 импульсов на оборот даже...
Выпускались в Литве, в Вильнюсе, в своё время.
На сколько я знаю, они и сейчас там выпуcкаютcя,но в другом исполнении. Такие как раньше были (при совдэпии),больше не выпускаются, можно купить, но только БУ. А новые стоят не мало - 350$ один, да и БУ датчики также не на много дешевле.

DeXter Holland
19.12.2008, 18:27
Помогите разобратся с моим чудом. Двигатель от принтера HP работал в системе подач картриджа. Как его подключить для валкодера?

RU3GA
20.12.2008, 02:03
Возникает один простой вопрос --- ДАЖЕ ЕСЛИ это можно подключить в качестве валкода --- а нафига??? :)
Если в плане "красоты мысли" --- тогда нет вопросов :)
А если в плане практики --- не забивайте голову всякими железяками , коие попадаются сейчас нам на каждом шагу :)
Не ВСЕ они достойны применения :)
Имейте мужество выбросить некие вещи просто в мусорное ведро :)

DeXter Holland
20.12.2008, 10:24
ДАЖЕ ЕСЛИ это можно подключить в качестве валкода --- а нафига А зачем тода вообще валкодер? :lol:

если в плане практики попробывать то хочется... :crazy:

Имейте мужество выбросить некие вещи просто в мусорное ведро с этим согласный :)

RU3GA
20.12.2008, 11:35
ДАЖЕ ЕСЛИ это можно подключить в качестве валкода --- а нафига А зачем тода вообще валкодер? :lol:

если в плане практики попробывать то хочется... :crazy:

Имейте мужество выбросить некие вещи просто в мусорное ведро с этим согласный :)

1. Валкодер нужен в самых разных применениях :)
Я сказал "нафига" только к тому , что ЕСЛИ ДАЖЕ и можно --- то очень неудобно --- основная ось тонкая --- ручку не насадишь , количество пульсов на оборот не определено , поэтому возникает аналогия --- господа , я нашел на помойке железяку , нельзя ли ее использовать в качестве валкода --- и фото крупным планом :)
2. Если хочется попробовать --- пробуйте --- потом нам расскажете --- это будет прекрасная тема новой ветки :) --- поглядите --- есть ли там на выходе импульсы со сдвигом фаз на 90 градусов .
3. Хорошо , что по третьему пункту у нас разногласий нет :)

Удачи!
RU3GA

Vygandas
20.12.2008, 11:41
DeXter Holland !

1 - GND
2 - Phase A
3 - + 5V
4 - Phase B

Выходы Phase TTL совместимы.

В Вашем случае отчет выводов идет от надписи 9829 o

DeXter Holland
20.12.2008, 12:13
основная ось тонкая --- ручку не насадишь
На основной оси запрессована бронзовая втулка, диаметр ее 7 мм, длина 8 мм, сверху была пласмассовая шестерень, я ее снял., думаю ручку на нее нацеплю.

Vygandas
Спасибо,
Правильно я понял распиновку, или зеркально надо?

Vygandas
20.12.2008, 13:59
Должно быть нормально.

У подобных датчиков HP/Agilent/Avago предназначение выводов унифицировано. При правильном подключении питания должен загорется красный СИД под линзой.

DeXter Holland
20.12.2008, 14:43
Vygandas
Спасибо, все Выводы совпали.
Для RU3GA : Выходы со сдвигом в 90 градусов :rotate:

US5CAA
22.02.2009, 17:48
Кто знает, какие типы оптопар используются в "старых" мышках. Перелопатил весь инет, тип не нашел.

CAM
24.02.2009, 13:35
Интересный вариант валкодера изобрл один известный Московский радиолюбитель. Он использует обычный валкодер от мыши. Программно реализуется тот факт, что сигнал на фотоприемнике имеет почти синусоидальную форму. Это позволяет N-разрядно оцифровать его средствами микроконтроллера и анализировать взаимные изменения уровней на квадратурных выходах. Тем самым разрешающая способность такого валкодера возрастает в 2 в степени N раз. Т.е. при стандартной 10-ти разрядной оцифровке и при 30-ти прорезях валкодера разрешающая способность будет 30000 на один оборот. Конечно можно программно сделать ее меньше.

alexis69
25.02.2009, 09:22
Интересный вариант валкодера изобрл один известный Московский радиолюбитель.
А на практике это было реализовано?


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

CAM
27.02.2009, 01:29
А на практике это было реализовано?
Читайте внимательней, а потом спрашивайте. Было написано ---
Московский радиолюбитель. Он использует..... То есть - событие свершилось. Подробности в личку.

я думаю, что такую точность с диском от мыши не получить. А вы можете объяснить почему? Упомянутый радиолюбитель вроде очень четко аргументировал возможность, с цифрами. А вы?
Можете конечно сами попробовать.
Эквивалент 30000 импульсов нв оборот никому и не нужны на практике. Было же написано - - -
Конечно можно программно сделать ее меньше. То есть любую градацию от исходных 30 до 30000 по желанию.
Принцип использования АЦП по-моему очень оригинальный.

Еще вы путаете измеритель угла и валкодер. Для валкодера всякие уплывания точности неважны. Его задача - тронул и частота изменилась на столько то. А если на градус поворота будет разное число импульсов вы этого даже и не заметите. Лишь бы небыло ложных срабатываний, когда вы не трогаете валкодер, а он "щелкает".

arisov77
01.03.2009, 14:58
Предлагаю к рассмотрению свою схемку обработки сигнала от энкодера (валкодера). Достоинства – на входах для уменьшения дребезга триггеры Шмита (DD1.1 и DD1.2) с регулируемыми порогами, сигнал прерывания возникает только во время «правильных» переходов (т.к. переходов с энкодера с 00 на 11 или наоборот не может быть, то за счёт применения элемента DD1.3 «Иск. ИЛИ» обеспечивается дополнительная защита от «ложных» переходов) и всё это реализуется на одном корпусе К561ЛП2, Из недостатков – меняется кодировка и это надо учитывать в программе обработке прерывания от энкодера.

CAM
01.03.2009, 19:31
Предлагаю к рассмотрению свою схемку
Схема рассмотрена!
Возникло несколько вопросов ---
1. Если говорится о дребезге, то видимо вы применяете механический N-кодер. Это так?
2. Способна ли ваша схема (входные формирователи) убрать дребезг в широком диапазоне времени его наличия. (если крутить вал намеренно медленно)
3. Ваша схема повидимому дает сигнал на микроконтроллер. Если это так, то стоит ли решать проблему схемно, как у вас. Или вы не знаете способа программно, на 100% надежно, убрать дребезг любой длительности от контактов механического валкодера (как в автомагнитоле, например) и легко алгоритмически обработать информацию от него?

arisov77
01.03.2009, 20:06
Нет, это для инкрементального оптического энкодера применяемого в сервоприводе станка ЧПУ. Там больше присутствует не дребезг, а шум. Но, что мешает применить её для валкодера?
Насчёт подавления в широком диапазоне времени подбором RC-цепочек, скорее всего можно.
Конкретно по этой схеме, которую выложил ещё не собирал, но собирал наподобие (на аналоге элемента иск. ИЛИ) http://electronix.ru/forum/index.php?s=&showtopic=55392&view=findpost&p=542678 .
http://forum.rcdesign.ru/f41/thread40981-5.html
http://www.cnczone.com/forums/showthread.php?t=696 40

Вернее я её собрал, но ещё не протестировал (в конце недели возможно удастся). Вот пока собираю информацию, мнения. Если где-то видели подобное, то пожалуйста ссылочку. Я конечно не претендую на оригинальность, где-то всё равно должно подобное быть, но пока не видел.

Как программно "подавить" дребезг, прекрасно знаю :D . Просто там частоты могут быть до 100-200кГц (по крайнем мере я на это рассчитываю) и каждая сотня наносекунд на «счету».

CAM
02.03.2009, 19:23
Насчёт подавления в широком диапазоне времени подбором RC-цепочек, скорее всего можно.
Что вы, что вы!!! Какие еще RC цепочки в микропроцессорной технике? Это плохой тон и признак некомпетенции программиста, пишущего ПО для микроконтроллеров. Тем более, что подбором RC принципиально невозможно убрать дребезг (шум на фронтах) в широком диапазоне (от 0 до бесконечности) времен.
Как программно "подавить" дребезг, прекрасно знаюЕсли можно, то расскажите коротенько как?. Только не говорите о методе многократного опроса порта с перезапуском счетчика проб. Для вас это в 100% не пойдет.
Просто там частоты могут быть до 100-200кГц (по крайнем мере я на это рассчитываю) и каждая сотня наносекунд на «счету».Для дешевого микроконтроллера, работающего на тактовой в 25...30 МГц упомянутые частоты (времена) не проблема совсем. Ваша схема с RC потребует столько же программых ресурсов. что и алгоритм "игнорирования" дребезга при непосредственном вводе сигналов на ножки МК. Этот алгоритм основан на факте стационарности состояния на одном из двух каналов при изменении состояния на другом канале с ЛЮБЫМ дребезгом.

francua
04.03.2009, 09:39
Может кто-то сталкивался. Имеется 2 двигателя от принтера(везде пишут про дисководные), с двигателя ленточка 4 провода, звонится как две обмотки раздельных- подойдёт ли он для валкодера?

bubble gum
04.03.2009, 09:54
Если 4 проводочка, то видимо центральные выводы от обмоток соеденины вместе внутри степмотора, и не имеют наружных выводов. Или разбирать, или выкидывать, я думаю... Разбирать - то же что и выкинуть, только если внутреннее устройство посмотреть.

CAM
04.03.2009, 15:34
Имеется 2 двигателя .... подойдёт ли он для валкодера?
Шаговые движки в режиме генератора, если их правильно включить, всегда выдают необходимые два канала со сдвигом 90 град. Но, на выходе требуется формирователь в прямоугольник. Многим нравится валкодер, который свободно вращается, без щелчков. Валкодер из шагового движка всегда будет "тормозить" - у него природа такая. Многочисленные полюса статора притягиваются к противополюсам ротора. Поэтому при вращении движка всегда ощущается фиксация и скрип, как пальцем по стеклу.

yl2gl
04.03.2009, 15:45
Имеется 2 двигателя .... подойдёт ли он для валкодера?
Шаговые движки в режиме генератора, если их правильно включить, всегда выдают необходимые два канала со сдвигом 90 град. Но, на выходе требуется формирователь в прямоугольник. Многим нравится валкодер, который свободно вращается, без щелчков. Валкодер из шагового движка всегда будет "тормозить" - у него природа такая. Многочисленные полюса статора притягиваются к противополюсам ротора. Поэтому при вращении движка всегда ощущается фиксация и скрип, как пальцем по стеклу.
Поставьте ручку помассивнее и побольше диаметром - не будете замечать....
Проблема в том, что если очень медленно крутить такой валкодер из шагового двигателя, то из-за маленькой амплитуды на
выходе обмоток двигателя, он начинает пропускать импульсы.... Да и ещё боится механических вибраций и ВЧ,НЧ наводок.... :?
Сделал - отказался от его использования, ерунда, лучше уж механический энкондер.

arisov77
04.03.2009, 17:09
Что вы, что вы!!! Какие еще RC цепочки в микропроцессорной технике? Это плохой тон и признак некомпетенции программиста, пишущего ПО для микроконтроллеров. Тем более, что подбором RC принципиально невозможно убрать дребезг (шум на фронтах) в широком диапазоне (от 0 до бесконечности) времен.


«Чистый» программист может и будет «извращаться» с программными средствами. Современный инженер-электронщик прежде всего всё «взвесит» и будет искать оптимальное соотношение «цена-качество». И если он думает, что всё можно решить программно – это говорит о его большой некомпетентности.
RC цепочкой, действительно невозможно перекрыть все частоты. Но в зависимости от применения эта область сужается – для валкодера помехи (дребезг) в основном будут в низкочастотной области и здесь диапазон будет не очень большой (по сравнению с сервоприводом). А в сервоприводе – в основном надо «подавить» высокочастотный шум (20-30кГц) от ШИМ питания двигателя и как видите этот диапазон тоже не широк.



Для дешевого микроконтроллера, работающего на тактовой в 25...30 МГц упомянутые частоты (времена) не проблема совсем. Ваша схема с RC потребует столько же программых ресурсов. что и алгоритм "игнорирования" дребезга при непосредственном вводе сигналов на ножки МК. Этот алгоритм основан на факте стационарности состояния на одном из двух каналов при изменении состояния на другом канале с ЛЮБЫМ дребезгом.
Где интересно Вы видели дешёвый МК работающий на 25-30МГц? Распространенные относительно «новые» AVR (не XMega) работают по DataSheet до 20МГц, хотя некоторые можно «разогнать» до 24МГц, но это уже будет не штатный режим. PIC работающие на 40МГц находятся далеко ни в нижней ценовой категории.
Попробуйте-ка без применения дорогостоящего DSP процессора отфильтровать шум 20-30кГц и чтобы ещё дешевый восьмиразрядный МК успел сосчитать кроме двух сигналов с энкодера (А и В) ещё сигналы управления Step/Dir (тоже с частотой100-200кГц), опросить состояния концевиков и обработав всю эту информацию (с применением подпрограмм умножения 16-разрядных чисел) выдать ШИМ сигнал на драйвера. И кроме этой «основной работы» в сервоконтроллере есть ещё несколько дополнительных задач.
Так что, если есть возможность «дешевому» МК лучше не «отвлекаться» без надобности на опрос состояния энкодера (а если не использовать прерывания по переходам, то придется использовать таймер для опроса состояния, что увеличит вероятность пропуска шагов). Программные ресурсы конечно будут не намного отличаться, но в приложениях с ограничениями по времени обработки это может оказать существенную роль. Поэтому я и писал, что мне «дорога» каждая сотня наносекунд, а не каждый байт программы.
Для меня и наверное, для многих радиолюбителей лучше применить копеечные конденсатор и внешнею логику совместно с дешевым МК, чем в разы более дорогой излишне «навороченный» один МК. Всё зависит от конкретного применения.




Если можно, то расскажите коротенько как?. Только не говорите о методе многократного опроса порта с перезапуском счетчика проб. Для вас это в 100% не пойдет.
Коротенько – то же самое программное «Искл. ИЛИ», проверка на «прогнозируемый» переход, проверка на равенство предыдущего и «реального» состояния, тот же самый (про который Вы написали) – «накапливающий» счётчик с выводом результата по сумме лог. 0 или 1 (действительно, мне не пойдёт, не только из за ограничения по времени, но в основном из-за того, что используются прерывания по «правильным» переходам), ещё – наверное, всем известный способ установки битов через некоторое время при повторном опросе. Можно это по отдельности, можно и в совокупности. Способов много – все они имеют «право на жизнь» и как я уже написал – всё зависит от конкретного применения.
Предложите свой вариант. Посмотрим, обсудим.

Только после всестороннего анализа можно делать выводы о применение той или иной детали или схемотехнического решения. И скоропалительные голословные выводы, не ознакомившись полностью с ситуаций, я думаю не следует делать. Вопрос о некомпетентности – может оказаться «граблями».
Я может быть новичок на этом форуме, но не новичок в электронике. Но и конечно, как и все люди могу в чём-то ошибаться.

По делу могу ещё написать, что положительную обратную связь на К561ЛП2 можно подавать только на 2, 5, 9, 12 входа. А «заземлять» соответственно только 1, 6, 8, 13 выводы.

ur3ilf
04.03.2009, 19:20
ialexs уважте пользователей. Ну не у всех тут безлимитный инет. Но полтора метра за картинку это жесть. Не стоит она того :wink:

francua
04.03.2009, 19:40
Имеется 2 двигателя .... подойдёт ли он для валкодера?
Шаговые движки в режиме генератора, если их правильно включить, всегда выдают необходимые два канала со сдвигом 90 град. Но, на выходе требуется формирователь в прямоугольник. Многим нравится валкодер, который свободно вращается, без щелчков. Валкодер из шагового движка всегда будет "тормозить" - у него природа такая. Многочисленные полюса статора притягиваются к противополюсам ротора. Поэтому при вращении движка всегда ощущается фиксация и скрип, как пальцем по стеклу.
Вращается очень мягко, шаг едва ощущается- это даже с учётом того,что крутил без ручки, просто с родной шестерёнкой,.

francua
04.03.2009, 19:43
2 бубуль-гум: Спасибо, жаль, что не приспособить- будем другой искать.

CAM
04.03.2009, 20:19
Сделал - отказался от его использования, ерунда, лучше уж механический энкондер.
Совершенно с Вами согласен!
Где интересно Вы видели дешёвый МК работающий на 25-30МГц?
43 рубля за 1 шт. 35 МГц, AVR, Я бы назвал марку, были бы вы помягче. Я теперь жалею, что потратил время объясняя вам принцип программного решения проблемы дребезга в моем письме по вашему запросу в личную. Вижу, что вместо благодарности - одна жесть!
О вкусах не спорят. Кто хочет, тот применяет двигатели, сумматоры по модудю два и т.п. и т.д...

arisov77
04.03.2009, 20:33
43 рубля за 1 шт. 35 МГц, AVR, Я бы назвал марку, были бы вы помягче. Я теперь жалею, что потратил время объясняя вам принцип программного решения проблемы дребезга в моем письме по вашему запросу в личную. Вижу, что вместо благодарности - одна жесть!
О вкусах не спорят. Кто хочет, тот применяет двигатели, сумматоры по модудю два и т.п. и т.д...
Во первых жестковато Вы начали, во вторых я Вам письмо не писал и Вы мне тоже. Вы меня с кем-то спутали.
43 рубля это за AtMega48 или AtTiny2313 – оба МК работают до 20МГц (оба могут если разогнать до 24МГц). Если не можете назвать марку AVR МК работающего на 35МГц (не XMega), то не надо «косить» на обиженность.
Если по делу ничего нет, то давайте прекратим «прилюдное» выяснение отношений.

Валентин
05.03.2009, 13:43
К сожалению не удалось проверить в качестве валкодера.
Вай, вай, вай!!!!
Такой валкодер загублен. Двести рисок на диске....было :cry: .

CAM
05.03.2009, 21:12
я Вам письмо не писал и Вы мне тоже. Вы меня с кем-то спутали.Прошу прощения, но это действительно так (к счастью). Я спутал вас с "alexis69". Именно ему, по его просьбе, я рассказал, как просто и надежно избежать проблем с дребезгом любой длительности не применяя ни RC, ни скоростных микроконтроллеров. Достаточно ординарных скоростей 1...8 МГц.
Если не можете назвать марку AVR МК работающего на 35МГц (не XMega), то не надо «косить» на обиженность. Есть режимы тактирования, которые упомянуты в документации вскользь. Однако практическая проверка дает поразительные результаты. Некоторые AVR контроллеры могут тактироваться от внутреннего PLL умножителя частоты RC генератора. Максимальная частота доходит до 140 МГц. Ядро может тактироваться от этой частоты поделенной на четыре. И, того получаются искомые 140/4=35 МГц. Причем стабильность функционирования контроллера сохраняется на все 100%. Проверено практикой. Но, повторяю, такие частоты вовсе не требуются для решения проблемы дребезга.

Tadas
05.03.2009, 22:35
Некоторые AVR контроллеры могут тактироваться от внутреннего PLL умножителя частоты RC генератора.
Нельзя ли чуть поподробнее ?

CAM
05.03.2009, 23:37
Нельзя ли чуть поподробнее ?Рассказал лично.

bubble gum
05.03.2009, 23:52
Проблема в том, что если очень медленно крутить такой валкодер из шагового двигателя, то из-за маленькой амплитуды на
выходе обмоток двигателя, он начинает пропускать импульсы.... Мне кажется пропуски бывают не от того что амплитуда мала (она вроде одинакова и от скорости вращения не зависит), а от того, что очередной импульс приходится в таком положении статора-ротора, что они в этот момент как бы между "щелчками". Стоит покрутить чуть быстрее, и этот момент уже не влияет. Поэтому вторые половинки обмоток тоже задействуют, и степмотор крутится с усилием. Конечно, цепляется ручка большого диаметра, и это усилие не так заметно.
Не знаю, насколько понятно изложил.. :)

Vladar
05.03.2009, 23:53
Добрый день , друзья! Обращаюсь ко всем. Имею двигатель от 5 дюймового дисковода. У которого имеются множество проводов. ( Приведу некоторые данные размеров этого двигателя - диаметр корпуса 42 мм, толщина - 22 мм, ось вала - 3 мм , посадочные места для крепления - 35Х35). Количество выводов - проводов 6. Цвета проводов - жёлтый , синий, красный, белый, два зелёных. Если кто-то применял данный двигатель, то как подключал этот двигатель , используя его в качестве валкодера. Заранее всем благодарен, кто мне ответит. Всем желаю успехов! 73!!! Владимир.

arisov77
06.03.2009, 01:06
Есть режимы тактирования, которые упомянуты в документации вскользь. Однако практическая проверка дает поразительные результаты. Некоторые AVR контроллеры могут тактироваться от внутреннего PLL умножителя частоты RC генератора. Максимальная частота доходит до 140 МГц. Ядро может тактироваться от этой частоты поделенной на четыре. И, того получаются искомые 140/4=35 МГц. Причем стабильность функционирования контроллера сохраняется на все 100%. Проверено практикой. Но, повторяю, такие частоты вовсе не требуются для решения проблемы дребезга.
Такое могут PIC и то только до 40МГц. И тактовую частоту на 4 делят только PICи.
Ссылку в студию, на AVR-овский DataSheet, где вскользь описано это. И не надо в личку, чего Вы боитесь на открытом форуме. Мы это посмотрим и обсудим, как и полагается на техническом форуме.
Я бы промолчал, но люди могут поверить Вашей голословной болтовне. Побольше конкретики, ссылок в открытом виде.

R0SBD
06.03.2009, 03:29
Проще показать себя умным, промолчав. Чем писать в открытую... и показать что не такой ты и умный. Век живи, век учись, а дураком помрешь... По моему это из этой оперы. Так, реплика с "галерки".

UN7RX
06.03.2009, 08:26
Не мешайте человеку заниматься самосозерцанием своей гениальности. Он всем исключительно лично и под подписку о неразглашении. Только непонятно что ему в этой ветке делать, с простолюдинами...
Наверное, нужны несмолкаемые овации? У нас их есть! :10x:

bubble gum
06.03.2009, 08:44
Если кто-то применял данный двигатель, то как подключал этот двигатель , используя его в качестве валкодера. Заранее всем благодарен, кто мне ответит.http://ra3ggi.qrz.ru/UZLY/encod.htm

yl2gl
06.03.2009, 11:33
Проблема в том, что если очень медленно крутить такой валкодер из шагового двигателя, то из-за маленькой амплитуды на
выходе обмоток двигателя, он начинает пропускать импульсы.... Мне кажется пропуски бывают не от того что амплитуда мала (она вроде одинакова и от скорости вращения не зависит), а от того, что очередной импульс приходится в таком положении статора-ротора, что они в этот момент как бы между "щелчками". Стоит покрутить чуть быстрее, и этот момент уже не влияет. Поэтому вторые половинки обмоток тоже задействуют, и степмотор крутится с усилием. Конечно, цепляется ручка большого диаметра, и это усилие не так заметно.
Не знаю, насколько понятно изложил.. :)
Проблема именно в амплитуде импульсов с обмоток - специально замерял осциллографом, и компаратор или триггер Шмидта не срабатывает, к сожалению.
Приходится увеличивать чувствительность компаратора, что приводит к срабатыванию его от малейших вибраций и помех.....
Чуть побыстрее крутишь - амплитуда импульсов на входе компаратора возрастает и всё начинает работать.

bubble gum
06.03.2009, 11:43
Проблема именно в амплитуде импульсов с обмоток - специально замерял осциллографом,Ну раз меряли - спорить не буду. Попадался шаговик, попробовал на язык и крутанул... Чуть зубы не выскочили.. :lol:

yl2gl
06.03.2009, 11:54
Убил много времени на эти эксперименты, были у меня движки, только с пятью выводами, но результат не понравился,
если нужен только один - два импульса для перестройки, то начинаются мучения.
Может кто имеет шаг перестройки синтезатора 1Гц на импульс, тогда будет всё OK!
Допустим с DDS.
Замер на язык - это круто, я до такого не додумался! :super:

bubble gum
06.03.2009, 12:44
Вот думаю, когда совсем скучно будет, хочу сей девайс в Р399 засунуть. Там такое .... убожество... и как раз есть режим 1 Гц.. А так пока просто подключаю разные валкодеры для проверок. Светодиодики так мило моргают... весело... :)

bubble gum
06.03.2009, 12:49
ПыСы. Да, пробовал всякие степмоторы которые попадались, и от принтеров и от факсов... фигня. Т.е. импульсы идут, и количество нормальное.. но люфты вдоль оси есть везде, кроме мотора от пятидюймовки. Там люфта нет нигде.

AlexJ
06.03.2009, 13:14
.. но люфты вдоль оси есть везде, кроме мотора от пятидюймовки. Там люфта нет нигде.

Самый заманчивый моторчик в плане полнейшего отсутствия каких бы то нибыло люфтов, плавности хода и удобства монтажа ИМХО (правда ручку требуется точить индивидуальную :D ), это моторы с винчестеров. Но те же проблемы, на малой скорости пропуски, хоть с компараторами, хоть с тр.Шмитта. Тоже много времени убил.

bubble gum
07.03.2009, 22:34
Вот думаю, когда совсем скучно будет, хочу сей девайс в Р399 засунуть. Сегодня вечером было скучно. Первый шаг сделан.. :lol:

CAM
07.03.2009, 23:04
Такое могут PIC и то только до 40МГц. И тактовую частоту на 4 делят только PICи.Вы в этом на все 100% уверенны? А, носом тыкнуть, так извинитесь?
Я бы промолчал, но люди могут поверить Вашей голословной болтовне. Вот из-за этих слов и не очень хочется вам глаза открывать. А те, кто попросили, (их уже двое) получили полную информацию и, надеюсь, удовлетворены.

arisov77
08.03.2009, 01:55
Для САМ:
Любой PIC18xx http://www.microchip.com/ParamChartSearch/chart.aspx?branchID= 1004&mid=10&lang=en&pageId=74 (страница иногда долго "грузиться") см. столбцы Max. CPU Speed MHz и CPU Speed MIPS. Ошибся - уже выше 40Мгц (давно не смотрел).
Специально для Вас «кусок» из http://www.microchip.ru/files/d-sheets-rus/PIC18FXX2_manual.pdf стр. 22. Также можете взять любой DataSheet на 18 серию и посмотреть первую страницу с характеристиками и раздел OSCILLATOR CONFIGURATIONS / HSPLL.
А то, что 8-разрядный PIC одну команду выполняют за 4 такта (и 18 серия не исключение) – должен знать «любой школьник». Поэтому по первой ссылке CPU Speed MIPS в 4 раза меньше CPU Speed MHz.
Ещё можете почитать http://www.microchip.ru/phorum/read.php?f=2&i=29644&t=29644


Вы просите алгоритм? Значит знаете, что это такое! Алгоритм вам придется сочинить самому, а вот подсказку я дать могу.
Используйте два фактора:
1) При появлении первого импульса дребезга на какой либо фазе, это говорит о том, что логическое состояние этой фазы меняется на противоположное.
2) В момент появления дребезга на одной фазе состояние другой фазы стабильно. Вы должны запомнить его для инверсии при появлении пачки дребезга на противоположной фазе.
Учитывая эти два фактора несложно сочинить простой и надежный алгоритм взаимодействия с механическим валкодером, действие которого будет подобно тому, что происходит при использовании RS triggera
Уж не этот ли алгоритм, описанной в этой ветке на 6 странице Вы в личку пишите? А может АКТЕР, Sergey Makarkin и САМ – одно лицо?
Вам не надоело ерундой заниматься?

CAM
08.03.2009, 14:49
Извиняюсь за офтоп -

А то, что 8-разрядный PIC одну команду выполняют за 4 тактаУ вас сведения почти двадцатилетней давности (видно вы человек не молодой). PIC-и уже давно одну команду выполняют за один такт. Те, кто занимается разработкой микропроцессорных устройств знают, что класс разработчика определяется тем, на сколько полно он использует внутренние возможности контроллера и избегает применения "навесных" элементов и узлов. Возвращаясь к истокам нашей полемики (к вашей схеме на сумматорах по модулю два) я еще тогда понял, что вы не специалист. Ваши дальнейшие высказывания про алгоритм уничтожения дребезга, про необходимость высокой тактовой частоты, про выполнение команды за 4 такта и другие ляпы в ваших постах, все это разоблачило вас как делитанитанта. Приведенный PDF файл - ярчайшее свидетельство вашей некомпетенции "PLL умножает тактовую частоту на четыре..." (на 64 не хотите ли?). Не позорьтесь здесь, перед всем народом.
А может АКТЕР, Sergey Makarkin и САМ – одно лицо?Этим вы очень ловко уходите в сторону от технических проблем. Но, себя вы уже "показали". Думаю, что перепалка с вами совершенно бесполезна. Кто хочет быть в неведении, тот будет. Счастливо вам и дальше упорствовать в своих заблуждениях.

Всех женщин и девушек - с праздником 8 марта!

Niko
08.03.2009, 22:25
Всем Добрый вечер.Мной был изготовлен волкодер,за основу взял мотор от (жёсткого диска), пластмасовую шайбу диаметром 70мм с большим колличеством рисок и датчик который на 9 странице этой темы. Всё это от принтера НР. Работой доволен
Николай.

Niko
08.03.2009, 22:38
А,вот ещё на базе шагового двигателя.С оси я выпресовал роторные пластины и ось разверул на 180 град. Пластмасовая шайба также от принтера НР

bubble gum
08.03.2009, 23:40
От шагового мотора остались собственно только подшипники.. :)

arisov77
09.03.2009, 00:21
.. про выполнение команды за 4 такта и другие ляпы в ваших постах, все это разоблачило вас как делитанитанта. Приведенный PDF файл - ярчайшее свидетельство вашей некомпетенции "PLL умножает тактовую частоту на четыре..." (на 64 не хотите ли?)
Это к Microchip, я DataSheetы не пишу. Вот, ведь дураки в Microchip выпускают микроконтроллеры, а то что они в 64 раза могут быстрее работать – не знают. Эх в их бы команду CAM «посадить» они бы уже давно PIC10xx четырёхядерным сделали и на пару ГГц "летали" бы, - на бумаге или по форумам. :D
Вот отрывок из статьи «Краткая информация по 16 битным инструкциям для семейства микроконтроллеров PIC18XXXX» (это и к "новым" тоже относится) http://www.microchip.ru/?mid=3&bit=18 (Цикл и такт - это не одно и то же)

Все команды выполняются за один командный цикл, кроме тех, которые проверяют различные условия, изменяющие программный счетчик или операции чтения/записи таблиц. В этом случае выполнение команды растягивается на два командных цикла. Команда выполняется за 3 цикла, если по условию, необходимо пропускать команду состоящую из 2-х слов. Один командный цикл состоит из 4-х периодов тактового генератора. Т.е. если частота тактового генератора равна 40МГц, то обычная команда выполнится за 100 нс, команда проверяющая условия, изменяющая программный счетчик, работающая с таблицами выполнится за 200 нс.

Чтобы дальше не засорять ветку прошу Вас сначала изучить внимательнее DataSheet на МК AVR и PIС, также неплохо поизучать форумы:
http://electronix.ru/forum/index.php?showforum= 74
http://www.telesys.ru/wwwboards/mcontrol/index.shtml
http://caxapa.ru
http://www.microchip.su

Кстати Вы так и не предоставили не одной ссылки и доказательства моей некомпентентности. Вот здесь http://electronix.ru/forum/index.php?showtopic= 55392&st=30&p=542678&#entry542678 на форуме разработчиков электроники ни один профессионал у меня ошибок не заметил.
Как и писал – одна голословщина. Признание собственных ошибок - первый шаг к самосовершенствовани ю. Я, например, легко признаю свою ошибку, если мне аргументировано докажут. Вам доказывать что-то бесполезно, даже строки (про умножение частоты на 4) из переведенного руководства по 18 серии (не мною написанного и переведёного) для Вас не являются "авторитетом". Если уж разработчикам не верите, то куда уж, нам простым "смертным" Вам что то доказать.
Всё, на Вашу глупость больше отвечать не буду. Просто жалко, то что начинающих радиолюбителей можете «по лживому» пути направить.


Для всех остальных – испытания схемного решения прошли успешно. Формирование из плавно нарастающего сигнала с оптропары чёткое, с «крутыми» фронтами, прерывания на каждом шаге - всё как и предполагалось. Единственное, пришлось для оптопар подобрать входные резисторы (R1, R3), чтобы уровень менялся хотя бы минимум от 1 до 4В. На частоте приблизительно 12,5кГц сервопривод (двигатель с энкодером) – работает, пропусов шагов нет, позиционирование чёткое. Впрочём это у меня и было и раньше с другим формирователем. Просто этот попроще будет.
Может кому пригодиться - «выкладываю» кусок кода на ассемблере для AtMega88 (48/168 и конечно при изменении первоначальной инициализации – для других AVRок). Это подпрограмма обработки прерывания от INT0 (можно от INT1 или PCINTn) настроенного по любому изменению логического состояния на входе. Алгоритм - адаптированный для этой схемы от Чена http://elm-chan.org/works/smc/report_e.html (исходник smc2 - http://elm-chan.org/works/smc/smc.zip ) 24-х разрядный результат в_PosL, _PosM, _PosH. Выводы, к которым подключен входной формирователь – в комментариях.

arisov77
09.03.2009, 12:20
Как вариант, наверное в качестве механической основы для валкодера можно использовать механизм (с подшипниками) от головки видеомагнитофонов. Благо, сейчас их у населения их много «валяется». И в качестве ручки, при желании можно приспособить сам алюминиевый барабан с видеоголовками. И надо чем-то (например, фетром) притормаживать вал, а то слишком легко вращается. Это просто мои предположения.

В одном самодельном энкодере я использовал готовую шестеренку с 60 зубьями (240 имп/об) и 2 щелевые оптопары PRI-246 http://www.rtcs.ru/hwsubtype.asp?id=195 (можно подобные найти в 3,5” дисководах). Для настройки расстояния между оптопарами использовал индикатор на 2 светодиодах (с буферным «усилителем») и добивался «стандартной» комбинации: 00 <-> 01 <-> 11 <-> 10 и так «по кругу» (0 – не «горит», 1 – «горит»).
Вал, на который крепил шестерёнку, с латунной втулкой взял от старенькой автомагнитолы ЭОЛА (номер не помню, с автореверсом). Латунная втулка в этой а/магн. и во многих советских магнитофонах запресованна в корпус с тремя «ушами», который легко закрепить винтиками.

CAM
09.03.2009, 13:30
Это к Microchip, я DataSheetы не пишу. Вот, ведь дураки в Microchip выпускают микроконтроллеры, а то что они в 64 раза могут быстрее работать – не знают.Вы из какой деревни пишите? Поражаете всех своим упорством в невежестве. Вам же сказано, что 20 лет назад действительно ПИК-и выполняли одну команду за 4/8 тактов. Тогда и АВР-ов небыло. (64 относится к AVR. У нас ранее вроде о PIC разговора небыло) Но прошло то уже сколько времени! Целых ДВАДЦАТЬ лет! А вы все старыми даташитами пользуетесь. Вылезайте из вашего дремучего леса (невежества) и взгляните на мир новыми глазами. Не смешите здесь всех.
испытания схемного решения прошли успешно.
Никто и не сомневался в работоспособности вашей схемы. Только без нее вполне можно обойтись. К тому же она ограничивает сверху частотный диапазон импульсов от валкодера и не способна убрать длинный дребезг. А "навесок" к контроллеру можно "придумать" сколько угодно. Только зачем это делать, когда вполне можно обойтись внутренними возможностями микроконтроллера с невысокой тактовой частотой. Удивляет то, что вы видимо зарегистрировались только для того, что бы показать миру эту свою бесполезную схемку и продемонстрировать свою техническую невежественность по микроконтроллерам.

Niko
09.03.2009, 21:41
Дополнение к вышестоящему моему сообщению. Схема формирователя импульсов. На применяемом мной диске около 1800 рисок,что позволяет мне плавно настраиваться на станцию.Использую графический синтезатор Константина Иванова.

arisov77
09.03.2009, 22:57
Niko, на мой взгляд резисторы надо установить между входами и конденсаторами.

rx3apf
09.03.2009, 23:15
Вы из какой деревни пишите? Поражаете всех своим упорством в невежестве.

Вот Вы - и в самом деле поражаете апломбом и невежеством. Ибо ни ухом, ни рылом не в теме, однако ж...


Вам же сказано, что 20 лет назад действительно ПИК-и выполняли одну команду за 4/8 тактов.

Наверное, Вы удивитесь, но семейство PIC16 и по сей день выполняет по одной команде за четыре такта генератора.


Тогда и АВР-ов небыло. (64 относится к AVR.

Не относится. Поскольку у AVR нет PLL-умножителя частоты для CPU. А есть (в некоторых семействах, типа tiny25/45/85) умножитель для тактирования периферии. И не в 64 раза, а в 8, и не до 140, а до 64 MHz. И не для CPU, а для PWM. CPU у AVR - в лучшем случае 20 MHz. Тогда уж лучше вспомнить Scenix, который при штатной тактовой 50 MHz делает по команде за такт.


Вылезайте из вашего дремучего леса (невежества) и взгляните на мир новыми глазами. Не смешите здесь всех.

Да уж где нам, сирым, с Вами в клоунаде соревноваться ! Увы, ничего умного по технической части Вы до сих пор не высказали...

rx3apf
09.03.2009, 23:27
Латунная втулка в этой а/магн. и во многих советских магнитофонах запресованна в корпус с тремя «ушами», который легко закрепить винтиками.
Втулку с ушами и вал можно вытащить и из дохлого 3.5" флопа, это даже проще найти. А вот что до энкодера - повторюсь, но тем не менее - оптическая мыша за три бакса решит эти проблемы, поскольку будет уже два квадратурных сигнала, причем без дребезга, чистеньких. А если есть сомнения в скорострельности процессора для обработки, то вообще взять и сделать интерфейс PS/2, вообще не меняя схему мыши.

arisov77
10.03.2009, 09:18
Втулку с ушами и вал можно вытащить и из дохлого 3.5" флопа, это даже проще найти.
+1. Втулку ещё можно «найти» в видеомагнитофонах (двигатель вед. вала)


А вот что до энкодера - повторюсь, но тем не менее - оптическая мыша за три бакса решит эти проблемы, поскольку будет уже два квадратурных сигнала, причем без дребезга, чистеньких.
Не посчитайте это за агрессивность, как САМ, просто хочется вести конструктивный диалог и я высказываю своё мнение.
На мой взгляд входной формирователь с небольшим гистерезисом по напряжению необходим для оптопары (если конечно, в неё он уже не встроен). Представьте, что Вы медленно вращаете валкодер и в момент достижения порога переключения логического состояния входного элемента без гистерезиса или RC-цепочки может возникнуть небольшая по амплитуде устойчивая паразитная генерация (шум) (за счёт различных шумов оптики или оптического канала). Также в этой зоне перехода лог. состояния могут возникнуть ложные срабатывания при малейшей вибрации.
У меня такое было (генерация) на К561ЛА7, пока не заменил на К561ТЛ1. Поэтому при подключении оптопары к МК «напрямую» без вх. формирователя надо стараться подключать к входу с триггером Шмитта. Из-за этого многие и не используют дополнительные внешние элементы, т.к. входа в большинстве AVRок с гистерезисом (поэтому и складывается впечатление, что не надо внешнего формирователя). Во многих PICах не все входа с триггером Шмитта и это следует учитывать.
Я испытывал одну оптопару от «старенькой» мышки – внутри неё не было формирователя. Выяснить это можно измерением напряжения (лучше по осциллографу) – если напряжение при очень медленном и плавном «введении» заслонки в щель меняется «скачком», то формирователь есть и соответственно если нарастает плавно, то формирователя в оптопаре нет. В этом случае входной формирователь очень даже желателен. Паразитную генерацию очень трудно «отловить» программно, гораздо легче и надежнее с помощью триггера Шмитта (компаратора с гистерезисом), а для большей надёжности лучше чтобы пороги переключения можно было бы изменять (расширить).
В итоге - на мой взгляд, только совокупность схемотехнических и программный решений гарантированно (до определенного момента) «подавит» дребезг и шум.
Также, на мой взгляд «мышиная» оптопара не рассчитана на высокое разрешение, как например специализированные оптопары энкодеров от принтеров. И диски малого диаметра (20-30мм) с 200-300 щелями она просто напросто не различит. Это моё непроверенное предположение. Косвенно это подтверждает то, что в «мышиных» оптопарах которые я видел - нет щели, служащая для повышения разрешения. К тому же (опять в тех которые я видел) светодиод и сдвоенный фототранзистор – это отдельные детали, которые для высокого разрешения будет трудно «отцентрировать».
Если не надо высокого разрешения – то оптопара от «мышки» будет, скорее всего наилучшим решением.


А если есть сомнения в скорострельности процессора для обработки, то вообще взять и сделать интерфейс PS/2, вообще не меняя схему мыши.
По моему, двойное преобразование (в мышке и МК) скорости всей системы в целом – не прибавит. Если говорить о моём конкретном применении - сервопривод, то надо учитывать именно всю систему (энкодер-МК) и поэтому задержка в «мышиной» схеме, а не в МК – тоже не очень хорошо.

Чтобы больше о количестве тактов для PIC не возникало вопросов вот ссылка http://ru.wikipedia.org/wiki/PIC
отсюда (и с DataSheet) следует, что все 8-битные PIC10/12/16 и PIC18 – 4 такта (конкретно в этой ссылке про эти МК не написано, но это 100% так), а про перечисленные ниже "чёрным по белому" написано: 16-битные МК dsPIC30F - 4 такта, PIC24F и PIC24H, dsPIC33F - 2 такта и только 32-разрядные PIC32 выполняют команду за 1 такт генератора.

arisov77
10.03.2009, 10:06
Для «любителей» входных формирователей может оказаться полезной статья из книги Бирюков С. А. Применение цифровых микросхем серий ТТЛ и КМОП.
«Формирователи и генераторы импульсов» http://www.vt1.ru/mc/48.html

Валентин
10.03.2009, 10:37
На применяемом мной диске около 1800 рисок,что позволяет мне плавно настраиваться на станциюВсе получается здорово.Как нужно. Вот только рисок многовато. У меня валкодер с 1000 рисками. И то многовато. Оптимум - порядка 500 рисок. Все дело в том, что самопальные синтезаторы имеют т.н. "проскальзывание". Они, при быстром вращении, не успевают обрабатывать очень частое чередование рисок. Вот сейчас и пытаемся Костину прошивку до ума довести. У него есть там ф-ция обрабатывания с разной скоростью. Но, наличиствует другой глючек :wink: .

rx3apf
10.03.2009, 12:36
напряжению необходим для оптопары (если конечно, в неё он уже не встроен).

А кто говорит про оптопару ? Оптомеханических мышей уже давно не делают, а оптомеханический энкодер колесика для этих целей малопригоден. Я говорил про _оптическую_ мышь, которая не имеет ни шарика, ни оптоэнкодеров.


Также в этой зоне перехода лог. состояния могут возникнуть ложные срабатывания при малейшей вибрации.
У меня такое было (генерация) на К561ЛА7, пока не заменил на К561ТЛ1. Поэтому при подключении оптопары к МК «напрямую» без вх.

Эта проблема сродни дребезгу в механических энкодерах, и лечить ее не стоит подавлением дребезга, для этого есть иные решения. Но энкодер оптической мыши этой проблемы не имеет.


Также, на мой взгляд «мышиная» оптопара не рассчитана на высокое разрешение, как например специализированные оптопары энкодеров от принтеров.

Даже 400 точек на дюйм (у самых первых и самых дешевых оптосенсоров) - более чем. Причем увеличить число импульсов на оборот вала просто - увеличив диаметр диска-мишени. Даже при диаметре диска 50 mm должно быть почти 2500 отметок. Никакой энкодер от принтера не сравнится. А если применить механику шпинделя от 3.5" флопа, то можно оставить ротор (маховик-то по-любому нужен), а там диаметр и того больше, 3000 отсчетов будет точно.


По моему, двойное преобразование (в мышке и МК) скорости всей системы в целом – не прибавит. Если говорить о моём конкретном применении - сервопривод, то надо учитывать именно всю систему (энкодер-МК) и поэтому задержка в «мышиной» схеме, а не в МК – тоже не очень хорошо.

Задержка отклика очень невелика и уж, разумеется, меньше, чем задержки, вызванные индикатором, на котором отображается результат воздействия. Интерфейс PS/2 - это всего лишь способ получить состояние координатных счетчиков, а частота опроса PS/2 мышей в компьютере - что-то около сотни Hz, если я не совсем забыл.

Oleg UR6EJ
10.03.2009, 13:09
RZ3DK

при быстром вращении, не успевают обрабатывать очень частое чередование рисок
Было и меня такое с валкодером от станка с ЧПУ, поставил делитель на ИЕ8 и частотный компаратор, очень простой 1 корпус ЛА7 (ТЛ1).
Сигнал с компаратора переключал К деления, так был реализован алгоритм быстрой перестройки.
Несмотря на всго лишь 2 скорости, было очень удобно пользоваться.
Схемка где-то есть дома.

Валентин
10.03.2009, 13:32
Олег, привет!
Дык, это нуно мудрить с делителями обоих каналов, потом частотный компаратор, а затем, сдвиг 90 градусов на выходе не потерять. Не очень хотелось бы накручивать схему.
Я тут посмотрю, народ и 2500 шагов на оборот, и 100 000 отсчетов "распальцовывает". Только не пойму - а чем это все обрабатываться будет?!? Или только чисто теоретически? Ну, тады - ой.

rx3apf
10.03.2009, 13:40
Олег, привет!
Только не пойму - а чем это все обрабатываться будет?!? Или только чисто теоретически? Ну, тады - ой.
Если через PS/2 - то какие проблемы в обработке ? Частоту опроса больше 100 Hz делать смысла нет, а сколько там за интервал опроса пройдет импульсов, принципиально не важно - ничего потеряно не будет. Да даже и программным опросом, если выделенным мелким процессором, все равно можно получить весьма приличную частоту опроса и, соответственно, число входных меток. Была бы нужда...

Валентин
10.03.2009, 13:59
Была бы нужда...
Не, нужда-то есть. Однако, у каждого, наверное, свои задачи. Я рассуждаю с точки зрения самодельного синтезатора. У всех, пока, есть "проскальзывания". Не все импульсы валкодера обрабатываются. Если крутить медленно, или валкодер 60-100 отсчетов, тогда все корректно. Как только валкодер с 1000 и более шагов отсчета, то происходит то, о чем я и говорю. Либо вращать нужно медленно. А где это Вы видели что бы, при быстрой перестройке по диапазону, хватало "воды в попе", что бы медленно вращать валкодер? У меня, лично, терпения не хватает. Так что считать шаги с валкодера - это самая малая задача. Вот обработать ВСЕ его импульсы НА БОЛЬШИХ СКОРОСТЯХ вращения (ну, хотя бы 1об/сек) - это задача не легкая. Поэтому и довольствуются валкодерами либо самодельными (как правило 60 точек отсчета на оборот), либо шаговые двигатели. Где, опять же всего 200 импульсов/оборот.
А в импортных аппаратах - синтезаторы на мощных процессорах. Там, при шаге в 10 Гц с какой бы скоростью не вертел валкодер, все равно что туда десяток оборотов, что обратно столько же. Частота возвращается на прежнее место. Проскальзывания нет. Ну да про те схемы я не хочу говорить. Там и элементная база, и ценовая политика совсем другая.
А с нашими простыми, дешевыми контроллерами, назовите мне хоть один самодельный синтезатор, который бы, при валкодере 1000 отсчетов, не проскальзывал бы при, хотя бы, средней скорости вращения.

rx3apf
10.03.2009, 14:16
Была бы нужда...
ыми, дешевыми контроллерами, назовите мне хоть один самодельный синтезатор, который бы, при валкодере 1000 отсчетов, не проскальзывал бы при, хотя бы, средней скорости вращения.
Я не буду обсуждать чьи-то конкретные самоделки. Повторяю - нет _принципиальной_ проблемы в обработке. Не хватает скорости для прямого опроса (кстати, а сколько нужно "сверху", сколько меток максимально может пройти в секунду, чтобы этого было более чем с запасом ? Тогда прикину потребность в вычислительной мощности, как бы я мог реализовать). Если же использовать датчик оптической мыши - то там и дребезг давить не надо (следовательно, частота опроса может быть в разы меньше, всего лишь вчетверо выше частоты квадратурного канала) и можно воспользоваться штатным интерфейсом, который не требует регистрировать хостом каждый импульс, а работать на 100-Hz опросе, получая за каждый отсчет смещение в единицах длины. Проблема "проскальзывания" там тоже может возникнуть, но, полагаю, точность в несколько единиц при тысячах единиц на оборот при отсутствии "трещетки" малосущественна. Минимизировать проблему можно подбором фактуры поверхности, а проверить все можно еще до начала изготовления - взять "лабораторную мышь", коврик-мишень, и двигать мышь (только отключив ускорение, чтобы перемещение было линейным). И посмотреть, сойдутся ли реперные точки при движении туда-сюда.

Если принять конкретные цифры 1000 импульсов на оборот и один оборот в секунду - это всего лишь частота семплирования 4000 Hz (и то, я беру "полношаговый" вариант, с полным периодом квадратурного сигнала на импульс, а никто не мешает и половину, и четверть), для 8 mips (что-нибудь типа копеечной ATmega8 на внутреннем RC 8 MHz), это 2000 команд на цикл опроса. Да хоть на интерпретируемом бейсике ! На asm я легко сделаю в двадцать раз быстрее (сотня команд на цикл - это с большим запасом, при условии, разумеется, что этот процессор ничем другим заниматься не будет, а результат будет выдавать в виде командных пакетов через UART). А просто 4000 опросов не напрягут хост, даже если он еще чем-то серьезно занят...

arisov77
10.03.2009, 14:25
Я сюда «заглянул» с ЧПУшных форумов, искал возможные варианты конструкций. Так вот там тоже частенько обсуждают энкодеры и где-то там мелькало, что для сервоприводов оптические мыши не пригодны (по «быстреньком» ссылку не нашёл, но если кому надо – отыщу). Во первых, в сервоприводе ни в коем случае нельзя потерять ни одного шага (будут пропуски - «выкинешь» дорогостоящую заготовку из красного дерева или цветного металла), а с оптической мышью пропуски легко могут быть (соринка, неравномерность поверхности и т.п.) и во вторых - частоты от энкодера легко могут достигать 100-250кГц. И диапазон этих частот меняется практически от нуля до максимума за несколько секунд. Пример http://www.embeddedtronics. com/uhuservo.html мелкосерийного сервоконтроллера на AtTiny 2313 с кварцем 24МГц успевающий обрабатывать одновременно до 250кГц по 3 каналам (А и В энкодера и вход управления Step). То, что я использую это для сервопривода – я нигде не утаивал.
Если уж с такими частотами ЧПУушники работают, то применяемые оттуда конструктивные, схемные решения и программные алгоритмы легко подойдут («как 2 пальца об….») для обработки валкодера. Кстати, валкодеры ЧПУшники тоже применяют – например, для точной «подгонки» к заготовке.

rz3afi
10.03.2009, 14:26
у AVR нет PLL-умножителя частоты
Смотрите ATtiny25, ATtiny26 и другие. Старые PIC-и и сейчас применяются но давно появились те которые одну команду за один такт производят. В ваших "утверждениях" много "неточностей". Обсуждение вопроса идет по теме валкодеров. Претензии к САМ-у не обоснованы.

rx3apf
10.03.2009, 14:33
и где-то там мелькало, что для сервоприводов оптические мыши не пригодны (по «быстреньком» ссылку не нашёл, но если кому надо – отыщу). Во первых, в сервоприводе ни в коем случае нельзя потерять ни одного шага

Вот в этом и есть ключевое различие. Да, там (и в принтерах тоже) - нельзя потерять. А ручка валкодера без трещетки - там и 1% пропусков просто не почувствуешь, тем более 1% потерь при полном обороте туда-сюда.


Если уж с такими частотами ЧПУушники работают, то применяемые оттуда конструктивные, схемные решения и программные алгоритмы легко подойдут («как 2 пальца об….») для обработки валкодера.

Безусловно. Равно как и фундаментальные знания баллистики при стрельбе из рогатки ;) Не тот уровень, там требования настолько выше, что не стоит без нужды усложнять...

arisov77
10.03.2009, 14:38
Безусловно. Равно как и фундаментальные знания баллистики при стрельбе из рогатки ;)
Как из пушки по воробьям :D

rx3apf
10.03.2009, 14:41
у AVR нет PLL-умножителя частоты
Смотрите ATtiny25, ATtiny26 и другие.
Вы читает как, по диагонали ? Я же назвал ATtiny25, поглядите внимательно. Но - PLL там используется для умножения частоты _периферии_, для тактирования PWM.

arisov77
10.03.2009, 14:46
Не тот уровень, там требования настолько выше, что не стоит без нужды усложнять...
Эти решения не настолько сложны, зато гарантия точности и скорости обработки существенно выше, чем затраты на эти усложнения.


Старые PIC-и и сейчас применяются но давно появились те которые одну команду за один такт производят


Чтобы больше о количестве тактов для PIC не возникало вопросов вот ссылка http://ru.wikipedia.org/wiki/PIC
отсюда (и с DataSheet) следует, что все 8-битные PIC10/12/16 и PIC18 – 4 такта (конкретно в этой ссылке про эти МК не написано, но это 100% так), а про перечисленные ниже "чёрным по белому" написано: 16-битные МК dsPIC30F - 4 такта, PIC24F и PIC24H, dsPIC33F - 2 такта и только 32-разрядные PIC32 выполняют команду за 1 такт генератора.

UX7LO
10.03.2009, 14:58
В продаже давно имеются всевозможные инкодеры!Вытавкиваем шарик и получаем валкодер.Все просто!

arisov77
10.03.2009, 15:06
В продаже давно имеются всевозможные инкодеры!Вытавкиваем шарик и получаем валкодер.Все просто!
И смотрим на экране монитора как перемещается курсор... :D

Извините, погуглил и нашёл инкодеры. Всегда думал, что есть только энкодеры. Просто не знал, что такие существуют. Век живи-век учись.

arisov77
10.03.2009, 16:05
…Все дело в том, что самопальные синтезаторы имеют т.н. "проскальзывание". Они, при быстром вращении, не успевают обрабатывать очень частое чередование рисок...
Если используются дешевые оптопары от «старых» мышек или щелевые от дисководов с большим числом рисок, то проблема в «проскальзывание» может заключаться не в том, что МК не успевает обрабатывать, а в низком быстродействие оптопар. Это хорошо видно на осциллографе, если подобный оптический энкодер в паре с эл. двигателем. При плавном увеличении оборотов амплитуда сигнала уменьшается и принимает синусоидальную форму. При чем эта синусоида для разных оптопар имеет разную амплитуду и ось симметрии синусоиды может быть смещена относительно половины напряжения питания или порога переключения входного логического элемента. И соответственно начинается пропуск шагов на высоких оборотах.
Также, так называемая ось симметрии на некоторых оптопарах могла изменяться в зависимости от частоты вращения. Но это для валкодера не актуально, т.к. такого диапазона частот (у меня доходило до 12,5кГц) рукой не раскрутишь.
Пропуск шагов с неправильно выбранными элементами может начаться уже с 1кГц.
Для увеличения быстродействия оптопары надо уменьшать нагрузочное сопротивление в цепи фототранзистора. При этом надо компенсировать уменьшение коэффициента передачи оптопары, увеличением тока через светодиод. Т.е. добиться на высоких оборотах четкого изменения напряжения относительно порога переключения вх. элемента. Иногда, в особо тяжёлых случаях я применял входной формирователь на компараторе (LM339) с гистерезисом и регулируемым (подстроечником) опорным напряжением.
И ещё + в пользу внешнего формирователя – МК, как и любые логич. элементы без входного буфера на триггере Шмитта «не любят» синусоидального напряжения.

Tadas
10.03.2009, 16:12
Но - PLL там используется для умножения частоты _периферии_
Не только.
Если глянете повнимательнее, увидите что выход PLL после деления на 4 поступает и на тактирование ядра (стр. 24 описания Tiny25).

Tadas
10.03.2009, 16:25
МК, как и любые логич. элементы без входного буфера на триггере Шмитта...
Если еще внимательнее поглядите на структуру I/O порта AVR, то увидите на входе триггер Шмитта.

arisov77
10.03.2009, 16:30
МК, как и любые логич. элементы без входного буфера на триггере Шмитта...
Если еще внимательнее поглядите на структуру I/O порта AVR, то увидите на входе триггер Шмитта.


…Из-за этого многие и не используют дополнительные внешние элементы, т.к. входа в большинстве AVRок с гистерезисом (поэтому и складывается впечатление, что не надо внешнего формирователя). Во многих PICах не все входа с триггером Шмитта и это следует учитывать.
А если внимательнее почитаете, что здесь пишут, то количество искаженных слов от САМ к которым можно будет придраться - огромно.
И с 25/45/85 тиньками тактовая частота всё равно будет не выше 16МГц, а не те заоблачные данные, которые указывал САМ.

arisov77
10.03.2009, 17:48
Есть режимы тактирования, которые упомянуты в документации вскользь. Однако практическая проверка дает поразительные результаты. Некоторые AVR контроллеры могут тактироваться от внутреннего PLL умножителя частоты RC генератора. Максимальная частота доходит до 140 МГц. Ядро может тактироваться от этой частоты поделенной на четыре. И, того получаются искомые 140/4=35 МГц. Причем стабильность функционирования контроллера сохраняется на все 100%. Проверено практикой. Но, повторяю, такие частоты вовсе не требуются для решения проблемы дребезга.
"Ноги" этого растут отсюда http://forum.qrz.ru/thread18013.html . Пока проверенно только одним московским радиолюбителем...
Здесь http://caxapa.ru/107404.html пишут о теоретических 21,25 Мгц.
«Полазил» немного на буржуйских сайтах – пока ничего не нашёл.

CAM
10.03.2009, 21:44
Я же назвал ATtiny25, поглядите внимательно. Но - PLL там используется для умножения частоты _периферии_, для тактирования PWM.Опять пальцем в небо попали!
Самое отвратительное, когда человеку говорят со всех сторон (стран), а он упорствует в своей глупости.

PLL после деления на 4 поступает и на тактирование ядраНу не умеет он читать документацию и понимать, что там написано! Не способен!
К тому же он (они) ленивы и не любопытны. (Это сказал А.С.Пушкин именно про вас!) Вам лень даже попытаться "разогнать" реальный контроллер для того что бы проверить кто прав, а кто нет. Одни словеса! Да и те пустые.

arisov77
10.03.2009, 23:48
Вам лень даже попытаться "разогнать" реальный контроллер для того что бы проверить кто прав, а кто нет. Одни словеса! Да и те пустые.
Вы сами то, лично пробовали разогнать?

er1mf
11.03.2009, 05:21
Гм, граждане, а может стоит остановиться в измерениях своей крутизны avr/Picом знания и перейти к топику? :evil:

Вот нашлась такая документация на сенсор от мышки оптической - выход уже готовые данные. Может имеет смысл ее по потрошить?
http://www.pixart.com.tw/upload/PAN3101_V10_20051121 170653.pdf

arisov77
11.03.2009, 11:13
Вот здесь http://forum.modlabs.net/index.php?showtopic= 10034 Andrei1961 дал много интересных ссылок.

CAM
12.03.2009, 15:41
Вы сами то, лично пробовали разогнать?
Разве по моим постам это непонятно? Стал бы я перед вами здесь выеживаться? С какой целью? Перед кем?
Вообще, странная картина получается. Вы попросили дать отзыв о своей схеме. Получили от меня намек, что так делать нерационально (зачем применять лишнее железо, когда и без него можно обойтись) Пустились в амбиции...
Затем почему то прицепились к теме разгона контроллеров, проявив свою вопиющую некомпетентность. (теперь то вам это понятно?)
Опять амбиции...
И наконец намекнули, что с вами общается лжец, который только на словах все делает. Наверное вы спутали себя со всеми остальными людьми. Ведь как раз то по вашим постам явно видно, что это вы только на словах рассуждать о технике горазды, а сказать "я сделал (повторил эксперимент) и у меня получилось (не получилось) так-то, так-то" - СЛАБО!!!
Самое удивительное, что вам бесплатно дают информацию (многие ей заинтересовались в личную), а вы вместо благодарности "кусаете руку дающего". Так, больше ее (информацию) вы и не увидите здесь. Живите спокойно в своем виртуальном мире и думайте. что вы всегда и во всем правы, все на свете знаете и все МОГЛИ БЫ сделать (но не делаете!).
Чао!