реклама на сайте
подробности

 
 
> Atmega8 - контроль по тахометру
Jipper
сообщение Mar 2 2015, 07:36
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 2-03-15
Из: РБ
Пользователь №: 85 435



Машина ВАЗ 2110. Делаю автозапуск на atmega8. При написании кода на СИ зашел в тупик, а именно при написании алгоритма контроля работы двигателя по тахометру. Сигнал буду брать с приборной панели с контакта, приходящий от ЭБУ.
Счетчик 16-битный, тактовая частота контроллера 4МГц, предделитель 64(может можно взять другой). Алгоритм такой: Стартером начинает крутить двигатель и как только двигатель завелся обороты поднимаются и нужно отпустить стартер. Предлагаю, при первом получении импульса с ЭБУ на тахометр, запускать счетчик и считать до тех пор, пока он не насчитает некое число(которое соответствует 400об/мин) между импульсами. Как только он насчитывает больше - отпускать стартер и переходить к контролю работы двигателя. Контроль заключается в следующем: Счетчик считает между импульсами и сравнивает полученное значение с условием( если например кто то нажал на педаль газа и обороты повысились выше 2000 об/мин). Если условие выполнилось - машина глохнет.
Подскажите как это организовать грамотно? Я только начинаю осваивать это все, без помощи трудновато написать самому

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Abell
сообщение Mar 6 2015, 19:03
Сообщение #2


профессиональный дилетант
****

Группа: Участник
Сообщений: 866
Регистрация: 16-03-06
Из: Шебекино - Лысьва - Тюмень
Пользователь №: 15 292



Jipper, конфигурацию таймера Т1 уже сделали?
Теперь разрешаем прерывания по переполнению и захвату.
Пишем функции обработки прерываний.
Если интервал между импульсами недопустимо велик - таймер переполняется, вызывается обработка прерывания по переполнению, это состояние ошибки.
Если импульс с тахометра пришел вовремя - вызывается прерывание по захвату, содержимое таймера сохраняется в регистре, функция обработки обнуляет таймер и сравнивает регистр захвата с предыдущим значением из предварительно заданной глобальной переменной.
Если результат больше - сохраняет регистр захвата в глобальную переменную.
Если результат намного меньше - двигатель завелся, стартер можно отпустить.
Как-то так, один из вариантов решения, если я все правильно понял и нигде не ошибся laughing.gif
Повторю - проверять состояние нейтрали, закрытых дверей и ручника надо ДО постановки на автозапуск, это тоже та еще задачка wink.gif


--------------------
Скоро дело сказывается, да не скоро сказка делается, или тише будешь - дальше уедешь...

Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th August 2025 - 16:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016