Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
26.04.2010, 17:10
|
#41
|
Прописка
Регистрация: 29.06.2006
Сообщений: 218
Сказал спасибо: 34
Сказали Спасибо 65 раз(а) в 37 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Сообщение от umkamaks
|
Мне очень жаль, что я не увидел конструктивных решений,
|
По всем вложениям 0 просмотров!... Захотелось просто поговорить?
|
|
|
|
26.04.2010, 17:20
|
#42
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Просто писатель пишет.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
26.04.2010, 21:05
|
#43
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Для топикстартера. Делал на подобном датчике устройство для контроля положения шахтной клети в стволе. Так вот брал из выше перечисленных сигналов только А и В- мне их хватило с головой. Далее завел на два входа ПИКа(прерывание по изменению). И далее использовал следующую подпрограмку.
Цитата:
|
void RB_isr()
{
IF (takt_1==1) {prom=1;} ELSE {prom=0;}
IF (takt_2==1) {prom=prom+2;}
WHILE (1)
{
IF (PROM==1&&PROM_OLD==0) {DANIE=DANIE+1;BREAK;}
IF (PROM==3&&PROM_OLD==1) {DANIE=DANIE+1;BREAK;}
IF (PROM==2&&PROM_OLD==3) {DANIE=DANIE+1;BREAK;}
IF (PROM==0&&PROM_OLD==2) {DANIE=DANIE+1;BREAK;}
IF (PROM==2&&PROM_OLD==0) {DANIE=DANIE-1;BREAK;}
IF (PROM==3&&PROM_OLD==2) {DANIE=DANIE-1;BREAK;}
IF (PROM==1&&PROM_OLD==3) {DANIE=DANIE-1;BREAK;}
IF (PROM==0&&PROM_OLD==1) {DANIE=DANIE-1;BREAK;}
BREAK;
}
PROM_OLD=PROM;
}
|
Такая подпрограмка позволила мне из датчика с 600 импульсами на оборот получить 2400импульсов и соответственно увеличить точность. Сразу скажу что такая система работает на шахте уже более года не давая сбоев.
|
|
|
|
26.04.2010, 21:53
|
#44
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Поясни пожалуйста где тут сигналы А В ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
26.04.2010, 22:11
|
#45
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
takt_1 сигнал А
takt_2 сигнал В
Получается что - какой сигнал первее приходит такое и направление. А счет идет по каждому фронту двух сигналов. Для двух импульсов сдвинутых на 90 градусов имеется 4 фронта и по каждому фронту будет происходить прерывание и соответственно приращение DANIE.
|
|
|
|
26.04.2010, 22:41
|
#46
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Глупые вопросы:
1) prom и PROM это одно и тоже ?
2) если вот это
Код:
|
IF (takt_1==1) {prom=1;} ELSE {prom=0;} |
написать так:
Код:
|
prom=0;
IF (takt_1 == 1) { prom=1; } |
будет чуть компактней результирующий код ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
Последний раз редактировалось avr123-nm-ru; 26.04.2010 в 22:45.
|
|
|
|
26.04.2010, 23:01
|
#47
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Сообщение от avr123-nm-ru
|
Глупые вопросы:
1) prom и PROM это одно и тоже ?
2) если вот это
Код:
|
IF (takt_1==1) {prom=1;} ELSE {prom=0;} |
написать так:
Код:
|
prom=0;
IF (takt_1 == 1) { prom=1; } |
будет чуть компактней результирующий код ?
|
1. да
2. Возможно. надо подумать (щас голова не варит).
Насчет компактности и "красивости" этого кода, то это были мои первые начинания в СИ.
|
|
|
|
27.04.2010, 05:24
|
#48
|
Прописка
Регистрация: 16.04.2004
Сообщений: 201
Сказал спасибо: 337
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Сообщение от umkamaks
|
Да я с МК пытаюсь только подружится. Для меня это тема новая и не судите меня строго. МОсква ведь не сразу строилась. Перелопатил дофига учебников, но все они больше задают вопросы, чем отвечают на них. Даются примеры, а в программе, что за чем и почему догадывайся сам.Вот такие вот дела!
|
Ну тогда вам надо хотябы всем известный суперкурс почитать. Там вполне понятно для новичков разжевано. Традиционно запустить мигалку светодиодом (чтоб "ОТ и ДО") и уж потом разобравшись как строится программа для МК уже браться за более серьезную задачу. Только так, и никак иначе!
Сообщение от umkamaks
|
А и по теме, вот перечислили 3 метода реализации, какой будет надежный? не будет ли эта система на высоких оборотах пропускать импульсы?
|
При нормальном изготовлении надежны все 3 способа, НО!! Где числа? Где скорости? Где допустимые погрешности??? Телепаты были зимой, сейчас все поулетали в отпуска.
|
|
|
|
27.04.2010, 15:10
|
#49
|
Временная регистрация
Регистрация: 31.01.2009
Сообщений: 63
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 13 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Сообщение от Drex
|
Ну тогда вам надо хотябы всем известный суперкурс почитать. Там вполне понятно для новичков разжевано. Традиционно запустить мигалку светодиодом (чтоб "ОТ и ДО") и уж потом разобравшись как строится программа для МК уже браться за более серьезную задачу. Только так, и никак иначе!
|
залез я на тот сайт, контент может быть и оличный, а вот с дизайн очень напрягающий, довольно всего много на странице, а по сути капля в море, рекламы постоянные, вообщем оформление сайта паршивенький.
|
|
|
|
27.04.2010, 15:29
|
#50
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Подключение инкрементального энкодера к AVR
Вы хоть КАПЛЮ эту освойте, этого уже достаточно будет чтобы код для энкодера запустить и отладить.
Да и книги ведь в свободном доступе для скачивания и обучения изучения.
И курс всего лишь один из сотен других - доступных свободно.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:21.
|
|