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

 
 
> 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
Ответов
megajohn
сообщение Mar 2 2015, 16:49
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(Jipper @ Mar 2 2015, 10:36) *
Подскажите как это организовать грамотно? Я только начинаю осваивать это все, без помощи трудновато написать самому


а классически не катит ?!
Код
starter_on();

for( int tout_s = 100; tout_s; tout_s-- )
{
   measure_start();
   wait_1sec();
   int impulses = measure_stop();
   if( impulses > 2000 )
      break;
}
starter_off();

void measure_start()
{
  timer_clear();
  timer_start();
}

int measure_stop()
{
  timer_stop();
  return timer_value();
}


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post

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


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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 21:31
Рейтинг@Mail.ru


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