ВАЗ - 11173

                                           Страница  Разработка девайса для беспроводной передачи данных датчика давления PS-02             

                       

Так как до сих пор никаких приложений под Андроид для ГБО Maxi2 не было, а у меня были сомнения нормальное ли давление газа на разных режимах работы двигателя, решил задействовать известное условно-бесплатное приложение remotexy.com

 

Идея этого приложения проста - данные передаются самим микроконтроллером (ардуино) через блютуз на любой смартфон.

 

Я сделал, по сути , переходник, втыкающийся в разрыв проводов , идущих от датчика давления к "мозгам" ГБО. Данные, передающиеся по этим проводам ( аналоговые значения напряжения) оцифровываются Ардуинкой и передаются по Блютуз на смартфон. Принципиальная схема девайса: принципиальная схема     wiring diagram

                                                 

Для компактности лучше было бы конечно использовать Ардуино Нано или подобные, но пришлось использовать что есть - аналог Ардуино Уно, вот реальная конструкция:

Проверка перед установкой на авто:

Программа (скетч):

// alex---1967 pressure_gas_monitor_for_PS-02 ver.5_5

////////////////////////////////////////////// // RemoteXY include library // ////////////////////////////////////////////// // определение режима соединения и подключение библиотеки RemoteXY #define REMOTEXY_MODE__SOFTSERIAL #include #include // настройки соединения #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 // конфигурация интерфейса #pragma pack(push, 1) uint8_t RemoteXY_CONF[] = { 255,0,0,33,0,95,0,8,13,0, 67,4,6,19,35,12,2,26,11,129, 0,4,7,94,10,17,103,97,115,44, 32,98,97,114,32,32,32,32,32,77, 65,80,44,32,98,97,114,0,67,4, 56,20,40,11,2,26,11,129,0,7, 36,89,11,17,209,130,208,181,208,188, 208,191,208,181,209,128,208,176,209,130, 209,131,209,128,208,176,44,32,194,176, 208,161,0,67,4,32,50,23,11,2, 26,11 }; // структура определяет все переменные вашего интерфейса управления struct { // output variable char pressure_gas[11]; // =строка UTF8 оканчивающаяся нулем char pressure_map[11]; // =строка UTF8 оканчивающаяся нулем char temperatura_gas[11]; // =строка UTF8 оканчивающаяся нулем // other variable uint8_t connect_flag; // =1 if wire connected, else =0 } RemoteXY; #pragma pack(pop) ///////////////////////////////////////////// // END RemoteXY include // ///////////////////////////////////////////// double gas_pressure = 0; double map_pressure = 0; double gas_temperatura = 0; double start_map_pressure = 0; int value_pressure_gas = 0; int value_pressure_map = 0; int value_start_pressure_map = 0; int value_temperatura_gas = 0; int sensorPin1 = 1; int sensorPin3 = 3; int sensorPin5 = 5; void setup() { RemoteXY_Init (); value_start_pressure_map = analogRead( sensorPin3); // определяем начальное атмосферное давление start_map_pressure = value_start_pressure_map / 247.6683 + 0.034779; // take start pressure } void loop() { RemoteXY_Handler (); value_pressure_gas = analogRead( sensorPin5); gas_pressure = value_pressure_gas / 247.6683 + 0.034779 - start_map_pressure; dtostrf(gas_pressure, 0, 2, RemoteXY.pressure_gas); value_pressure_map = analogRead( sensorPin3); map_pressure = value_pressure_map / 247.6683 + 0.034779 ; dtostrf(map_pressure, 0, 2, RemoteXY.pressure_map); value_temperatura_gas = analogRead( sensorPin1); gas_temperatura = 65.0 - value_temperatura_gas * 0.12219; dtostrf(gas_temperatura, 0, 1, RemoteXY.temperatura_gas); }

 

Реальная проверка на автомобиле:

 

Двигатель только что запущен, авто работает на бензине:

 

После прогрева переключается на газ:

 

 

 

 

 

 

         На главную страницу  Main page

Hosted by uCoz