Цитата(Zliva @ Jul 6 2009, 20:55)

У меня есть следующая задача, нужно с помощью двух энкодеров (напряжение питания 5в, выходное напряжение 5в), которые подключены к асинхронным двигателям с частотой вращения 1500 об/мин =25 об/сек, измерить положение и скорость вращения. Количество импульсов, которых выдает энкодер за один оборот равняться 1024 импульсов, следовательно 25*1024=25600 Гц. Также есть датчик ускорения ADXL-210. Он тоже подключен к плате в/в и определяет ускорение конструкции (с ним еще не разбирался - дело ближайшего будущего).
Вы не указали точность с какой хотите измерять положение.
Если предположить:
- что с дробными долями Вы заморачиваться не собираетесь;
- неравномерность ускорения за один оборот тоже не учитывается;
то получаем по теореме Котельникова минимальную частоту отсчетов 50 отсч/сек.
С хорошим запасом это 200 отсч/сек на энкодер.
Таймер Вам не нужен, Вам нужен 16-ти битный счётчик.
Будете его считывать каждые 5мс и класть в буфер.
Т.е. суммарный поток данный вместе с акселерометрами будет 2 * 4 * 200 = 1600 байт/сек или ~ 20кбит/сек.
Даже буфер не нужен, только 8 байт памяти.
Для такой задачи по минимуму достаточно одного контроллера с двумя 16 битными счётчиками, двумя каналами АЦП и UARTом.
А как Вы собираетесь синхронизировать положение энкодеров?
Они имеют какой-либо синхро выход?
Сообщение отредактировал alexkok - Jul 8 2009, 04:33