как на мк mega16 1 Mhz контролировать скорость вращения выходного вала ДПТ или уже редуртора. На выходном валу фотоимпульсный датчик от шариковой мышки (порядка 20-ти импульсов на оборот). ПРи скорости например 30 об/с получается 600 импульсов в секунду. Сможет ли контроллер или скорее успеет ли контроллер посчитать эти импульсы и, сравнив с заданным значением, скорректировать ШИМ? Перечитал, сам не понял что спрашиваю, в общем, подскажите кто алгоритм подсчёта импульсов за единицу времени
Последний раз редактировалось hadok 05 дек 2009, 16:34, всего редактировалось 1 раз.
hadok писал(а): подскажите кто алгоритм подсчёта импульсов за единицу времени
Импульсы подавать на ножку прерывания, прерывания включать вот так - http://avr123.nm.ru/03.htm - Прерывания в микроконтроллерах AVR ATmega ATtiny и таймером измерять время между прерываниями, далее вычисления.
Колесо можно заменить на флажок, тогда будет 30имп*сек или выломать лишние перемычки. Хотя со счетом МК легко справится и без этих заморочек. Настраиваем таймер, чтобы максимальное число импульсов датчика за это время не превышало размера регистра считающего импульсы - speed_reg. 1. запускаем инкремент speed_reg по таймеру 2. останавливаемся по таймеру 3. сравниваем значение speed_reg с заданным 4. изменяем ток ДПТ Т.е. таймер задает промежуток времени в течении которого считаем импульсы
что-то я повис на, как казалось простой, задаче.... контролировать скорость вращения вала.
ДЛя тестов установил на одну из лопостей вентилятора магнитик постоянный, и прикрепил геркон, так чтобы он срабатывал при "пролёте" лопости с магнитом. Геркон замыкает землю черезе резистор и ножку порта А.
Контроллер не правильно считает число импульсов. И к тому же, скорость гуляет плюс/минус 10 оборотов.
Возможно дело в герконе, мол не успевает реагировать. Посоветуйте альтернативную схему датчика вращения вала.
приведу на всякий случай программку свою, может кто найдёт принципиальную ошибку:
Извини пожалуйста, я сегодня не смогу, еще полно дел, но для измерения ширины импульсов есть вход таймера 1 - ICP - это аппаратная засечка момента, самая правильная. Попробуй с ней разобраться возможно по рус даташиту на мегу128 ( не суть важно ) на стр. 2 курса.
вентилятор штука такая, у него обороты всегда гуляют, чем больше вентилятор и выше обороты тем больше гуляют, так что с оптическим датчиком тоже не стоит ждать замирания циферок.