Квази Плавная Настройка

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн май 08, 2006 07:25:21
Откуда: Екатеринбург

Сообщение Moyo »

Как организовать КПН на ATmega 128. У меня схема, КПН подключена к порту Е на INT_4, INT_5. Написал прогу, в AVRStudio все работает, а вот на деле ни как. Не могу понять в чем дело.
Если кто сталкивался с данной проблемой, прошу поделиться опытом.
Плизззззззз!!!!!!!!

Выкладываю прогу.
Вложения
KPN.asm
(3.9 КБ) 238 скачиваний
Реклама
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн май 08, 2006 07:25:21
Откуда: Екатеринбург

Сообщение Moyo »

Вращаю ручку КПН, адрес начинает изменяться в хаотическом порядке, а в AVRStudio все работает нормально.

Краткое описание как надо чтобы работало.

В отведенную ячейку памяти ''puls'' записывается, через сколько импульсов увеличивать или уменьшать регистр KPN.
У КПН которую я применяю 100 импульсов на один оборот. Это слишком большая частота. Поэтому необходимо пропускать несколько импульсов между каждым изменением регистра KPN.
В ячейку ''max'' записывается максимальное значение шагов, а в ячейку ''min'' минимальное. У меня min=0, max=9.
Значит при вращении ручки, дойдя до любого крайнего состояния изменение регистра KPN должно прекратиться до момента когда вращение будет изменено на противоположенное.

В результате я должен получить:
При вращении ручки КПН по часовой стрелки, адрес выполняемого действия (это уже следующая задача) должен увеличиваться по шагово от 0 до 9 (регистр KPN) и при вращении против часовой стрелки адрес должен уменьшаться пошагово от 9 до 0.


Принцип работы КПН.
У КПН есть два выхода A и B. Если вращать ручку КПН в одну сторону то на выходе B по отношению к выходу A импульсы будут опережать на 90 градусов, а если крутить в другую сторону на выходе B импульсы будут отстовать на 90 градусов.
Реклама
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

Moyo писал(а):Выкладываю прогу.
ИМХО лучше проект выкладывать.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн май 08, 2006 07:25:21
Откуда: Екатеринбург

Сообщение Moyo »

Хорошо, вот выкладываю проект.
Вложения
KPN.rar
(6.85 КБ) 200 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

проект - в смысле схему. лично я совершенно не понял, что означает "квази-плавная настройка" :(
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

Moyo писал(а):У КПН есть два выхода A и B. Если вращать ручку КПН в одну сторону то на выходе B по отношению к выходу A импульсы будут опережать на 90 градусов, а если крутить в другую сторону на выходе B импульсы будут отстовать на 90 градусов.
Квадратурный энкодер обычно называется. Есть МК PIC с аппаратной дешифрацией этих сигналов. microchip.com и есть апноуты как программировать.

Квадратурный сигнал легко смоделировать в PROTEUS
http://telesys.ru/wwwboards/mcontrol/20 ... 4334.shtml

А значит и отладить ваше устройство можно в нём.


Вот архив с исходниками для квадратурного энкодера и статья.
http://avrfaq.narod.ru/encoder.rar
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн май 08, 2006 07:25:21
Откуда: Екатеринбург

Сообщение Moyo »

Спасибо за то что разобрались в моих не всенародных терминах!!!!!
Сейчас качаю PROTEUS и буду изучать его, а вместе с ним и С, я ведь только асемблер немного знаю.
ОГРОМНОЕ СПАСИБО :) :) :) :)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»