roboforum.ru

Технический форум по робототехнике.


Оцифровать ШИМ

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Оцифровать ШИМ

Сообщение -= Александр =- » 16 янв 2007, 23:16

Сабж. Достал я акселерометр - а у него 2 ШИМ-выхода. Надо цифровать... Т.е. померить оба ШИМа одновременно. Реально ли это на одном МК? Начала импульсов не всегда совпадают, концы естественно тоже, выравнено все по серединам - нужно 2 независимых канала замера времени. Кто что посоветует? Делать буду на AVR, правда пока не вчитывался как там аппаратно мерить длительность через ICP. Накрайняк можно на прерываниях сделать, но это неточно и вообще неспортивно. Кто-нить юзал таймер в режиме ICP?
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Валерос » 17 янв 2007, 00:10

Щаз прийдет "123" и отошлет читать курс... :?
Аватара пользователя
Валерос
 
Сообщения: 364
Зарегистрирован: 30 сен 2006, 19:05
Откуда: Санкт-Петербург

Сообщение North » 17 янв 2007, 10:24

В восьмых и шестнадцатых мегах вроде только один вход input capture.
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение 40inD » 17 янв 2007, 10:55

PIC18F4431 или xx31
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

Re: Оцифровать ШИМ

Сообщение SS » 24 фев 2007, 17:31

-= Александр =- писал(а):Сабж. Достал я акселерометр - а у него 2 ШИМ-выхода. Надо цифровать... Т.е. померить оба ШИМа одновременно. Реально ли это на одном МК? Начала импульсов не всегда совпадают, концы естественно тоже, выравнено все по серединам - нужно 2 независимых канала замера времени. Кто что посоветует? Делать буду на AVR, правда пока не вчитывался как там аппаратно мерить длительность через ICP. Накрайняк можно на прерываниях сделать, но это неточно и вообще неспортивно. Кто-нить юзал таймер в режиме ICP?


А что тебе мешает поставить резистор + конденсатор и мерять напряжение? А там обычным АЦП мерять именение уровня. Я думаю это оптимальный вариант, хотя и не оч. точный. Но что-то мне кажетьяс что именно для этого там ШИМ выход и сделан.
SS
 
Сообщения: 71
Зарегистрирован: 01 май 2006, 23:00
Откуда: Ukrain

Сообщение matracc » 25 фев 2007, 23:25

Мне тоже кажется, что если не хочешь городить приборов, стоит этот шим преобразовать в действующее напряжение и дать его на ацп - получишь усредненное значение по времени.
Но возникают детали:
    входное сопротивление у ацп avr может внести ощутимую погрешность (оно кажется не меньше 10кОм - посчитай, какой нужно сделать фильтр, чтобы нивелировать это - по-хорошему надо бы делать ARC)
    Необходомо, чтобы частота шим была существенно выше (на порядок) и частоты дискретизации, и скорости изменения ускорения - иначе получишь что угодно, но не то, что нужно.
Если частота шим маленькая - действительно придется мерить длины импульсов и пауз. Сам понимаешь, что погрешность будет не меньше периода переключения счетчика.
matracc
 
Сообщения: 40
Зарегистрирован: 18 ноя 2006, 20:13
Откуда: Москва

Сообщение SS » 26 фев 2007, 00:45

интересен ответ автора, но мне кажется что у акселерометра частота ШИМ солидная, а чтоб "побороть" маленькое входное сопротивление можна поставить ОУ с полевиками на входе.
SS
 
Сообщения: 71
Зарегистрирован: 01 май 2006, 23:00
Откуда: Ukrain

Сообщение -= Александр =- » 26 фев 2007, 11:07

Хм... Вариант конечно жизнеспособен, но кажется выйдет что-то вроде "Отмеряй микрометром - отмечай мелом - отрубай топором". Да и операционники лепить тоже сомнительное удовольствие. Если через прерывания не прокатит - буду делать так. Правда не знаю когда наконец руки дойдут до этого акселерометра...  :roll:
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение 40inD » 26 фев 2007, 12:25

Если принцип использовать только АВР не стоит, то опять могу посоветовать PIC18Fxx31 - там 3 аппаратных канала которые могут измерять длину импульсов, период, скважность и т.д.
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

Сообщение mandigit » 27 фев 2007, 12:13

Можно использовать ICP, переключая источники сигнала после измерения.
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

Сообщение maktep » 01 мар 2007, 17:48

а поставить RC фильтр и пустить на АЦП не катит?
Аватара пользователя
maktep
Правохранитель
 
Сообщения: 197
Зарегистрирован: 23 фев 2007, 02:23
Откуда: Зеленоград

Сообщение avr123.nm.ru » 01 мар 2007, 23:25

как акселерометр называется ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение -= Александр =- » 02 мар 2007, 15:05

ADXL202JE
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение KiCom » 02 мар 2007, 17:10

Александр акселерометры покупал или нахаляву пришли?
KiCom
 
Сообщения: 345
Зарегистрирован: 22 окт 2005, 11:15
Откуда: Красноярск

Сообщение -= Александр =- » 02 мар 2007, 18:28

Нахаляву конечно, если б я покупал - мне этот ШИМ-выход нахрен не нужен.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

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