Система антипробуксовки для полного привода
	
	
		Хочется реализовать такую систему, 
   датчик вращения на каждом из колес (индуктивный), 
   раздельное торможение каждого из 4-х колес(посредством доработанного блока ABS).
Требуется измерять частоту вращения 4 колес, и если одно колесо имеет большую частоту,
   выдавать сигнал пропорциональный разнице, для управления тормозом этого колеса.
Насколько я понимаю мне 4 сигнала от датчиков необходимо обработать,
    затем сравнивать частоту от каждого датчика с 3-мя остальными (усредненные).
 В готовых системах  ABS, ASP для измерения частоты вращения колеса используют по 1му датчику на колесо.
 Направление всегда в одну сторону
     Таким образом 4 цифровых входа по идее достаточно.
 По выходам,
   управлять нужно 1м клапаном на колесо(Но импульсно что бы скорость колеса была не нулевой),
   и мотор - насосом для нагнетания тормозной     жидкости. 
Длительность импульса управления тормозом завистит от времени за которое скорости всех
   колес  выровняются. 
Скажем 1 колесо-частота 300гц, 2е - 300Гц, 3е -300Гц, 4е -400Гц.
Включаем Насос-мотор и одновременно с этим подаем импульсный сигнал на клапан 4 притормаживая его.
 Как только частота всех колес равна, отключаем насос-мотор и клапан торможения 4.
Следовательно необходимо 4 выхода на клапана и 1 выход для насос-мотора.
Итого нужно 4 цифровых входа и 5 цифровых выходов. 
Подсчет импульсов пока думаю делать с помощью внешнего прерывания.
Правда в купленной мной Nano 2 пина позволяют делать, видимо прийдется покупать Mega.
Каким образом лучше подключить датчики к Ардуино? какие варианты для создания такой системы могут быть? Подкиньте ссылок может делал кто подобное?
	 
	
	
	
		Re: Система антипробуксовки для полного привода
	
	
		Алгоритм работы предполагаю следующий
InPin:        Rpm1wheelInt    //импульсы от датчика ABS 
                Rpm2wheelInt		                        
                Rpm3wheelInt
                Rpm4wheelInt		                         					 
  
OutPin:     Brake1Bo          //Сигнал управления клпаном тормоза
                Brake2Bo
                Brake3Bo
                Brake4Bo
                BrakeMotorBo  // Управление нагнетающим мотор-насосом
   Определить 	rpm1;rpm2;rpm3;rpm4   //Меряем количество импульсов скажем за 100мкс
   Определить rpmMid1=rpm2+rpm3+rpm4/3  // Сравниваем импульсы с каждого колеса с усредненными остальными 3-мя
   Определить rpmMid2=rpm1+rpm3+rpm4/3
   Определить rpmMid3=rpm2+rpm1+rpm4/3
   Определить rpmMid4=rpm2+rpm3+rpm1/3
  Если     rpmMid1 != rpm1  then  Brake1Bo=true;  // Если есть разница включаем соответствующий клапан управления тормоза
              rpmMid2 != rpm2  then  Brake2Bo=true;
              rpmMid3 != rpm3  then  Brake3Bo=true;
              rpmMid4 != rpm4  then  Brake4Bo=true;
  Если 
             (Brake1Bo OR Brake2Bo OR Brake3Bo OR Brake3Bo) = true  // включаем мотор насос для нагнетания тормозной жидкости
             then  BrakeMotorBo = true;
	 
	
	
	
		Re: Система антипробуксовки для полного привода
	
	
		
	Цитата:
	
		
		
			Каким образом лучше подключить датчики к Ардуино? какие варианты для создания такой системы могут быть? Подкиньте ссылок может делал кто подобное?
			
		
	
 Я бы использовал прерывание PCINT