Цифровой манометр с датчиком давления масла (ММ393А) ВАЗ2106

etaon
Offline
Зарегистрирован: 16.12.2011

ммм. ссылка дай плиз на форум какой-нить где у тебя описана вся эта система. или кинь так описание с картинками. какие датчики, балоны, клапана...

Готов помочь с реализацией электроники и кодом.

вот ссылка на описание моей конструкции. видео тоже есть на ютюбе

http://sorento.kia-club.ru/forum/viewtopic.php?f=20&t=26561

Mastino
Offline
Зарегистрирован: 03.12.2011

Sanyga пишет:

)))нет,у меня самопальная подвеска а машина ваз 2108 :) 

Low rider будет? :)

Sanyga
Offline
Зарегистрирован: 11.09.2012

Нет не лоурайд,просто хочу иметь возможность изменения клиренса.

Фотки есть у меня на страничке

vk.com/id7110661

Sanyga
Offline
Зарегистрирован: 11.09.2012

Блок клапанов типа такого

hot-cakes.ru/shop/valve_blocks/valve_engine

Датчики такие

hot-cakes.ru/shop/gauge_digital/gauge_digi_aircontr

Sanyga
Offline
Зарегистрирован: 11.09.2012

 Подушки rubena 3*130

pa-rti.ru/pnevmopodv#

Etaon- аськой не пользуешся?

etaon
Offline
Зарегистрирован: 16.12.2011

Для начала с тебя потребуется замерить вольтметром максимальное и минимальное показания датчиков давления. Скорее всего там везде 12В присутствует.

Вывести инфу на экран от этой системы реально, но для меня слишком геморно. Использвать кнопки с интерфейса того же еще могу.

Посмотри хорошенько ссылку мою. Там полное описание есть.

LangoV
Offline
Зарегистрирован: 01.10.2012

Можете набросать схему подключения датчика давления и выложить сюда? 

Собрал по схеме http://c2.at.ua/load/avr/cifrovoj_manometr_mk_atmega8_led_2kh3/17-1-0-74 но все время 0 показывает(

в какое положение необхожимо поставить подстрочный резистор?

etaon
Offline
Зарегистрирован: 16.12.2011

Ранее эта картинка была уже показана:

Т.к. напряжение в сети машины скачет постоянно от 12 до 14 вольт. Значит надо подавать стабилизированные 12В на датчик. Чтобы не было скачков в показаниях из-за банального плавания бортового напряжения. DC->DC продаются. Самый слабенький можно. А можно помощнее, но потом запитать на него что-то еще столь же требовательное к уровню напряжения. У меня стоит приблуда 12 вольт на 3 ампера. Мощная :)

Резистор я брал подстроечный. Можно и простой. Только знать надо его номинал.

А номинал примерно так прикинуть можно. Через делитель напряжения. Из входящих 12в на ардуино можно послать не более 5В. Сделал примерно 1/3. Треть 12в буду туда отправлять в самом максимальном случае. Чтобы не спалить порт. Т.е. это 4В.  Датчик давления 300 Ом. Подстроечный не менее 600 Ом. Можно 1 кОм. 1 кОм можно будет уменьшить до нужного значения.

Подстроечник виден на этом фото. Ниже экранчика правее. Синевенький. Маленький. С большим что слева не путать :) Тот от ардуины.

 

Судя по замеренным мной параметрам или ранее кем-то опубликованным.

Примерный расклад такой.

0 атм / 290…320 Ом   на ардуино придет 0в
4 / 103…133 на ардуино придет 2в
6 / 55…80 на ардуино придет 3в
8 / 0…15 на ардуино придет 4в

Пжди. Нарисую схему на androide и скину сюда катинку. А могу и сам файлик от программы. В ней посмотришь как эмуляция выглядит. DroidTesla. На 4pda она есть рабочая :)

 

etaon
Offline
Зарегистрирован: 16.12.2011

 

1. maslo (датчик масла) У него при давлении 0атм сопротивление 300 Ом. ХЗ точно. Соотвественно на схеме показано у него 99%.

На ножку Ардуино пришло 0,059 вольта. Если не ошибаюсь :) Ток ооооочень маленький.

2. Здесь накачали немного давления и сопротивление датчика давления упало до 69%. Рассчитать сам можешь сколько это будет в Ом. На ардуину пришло 1,61 вольта.

3...

4. Накачали ооооочень много давления. Почти 10 атм. Сопротивление датчика давления упало до 9% и на ардуино пришло 3,75 вольта.

 

Обращаю твоё внимание! Придется функцией MAP в ардуине подбирать правильный параметр отображения. А мжет и как-то по другому сделаешь.

У меня косяк есть такой в системе. На начальной стадии качал в подвеску максимум 5 Атм. Замеряет ардуина до 5Атм точь в точь как аналоговый барометр. Ну, в общем штука такая со шкалой. Они еще на компрессорах есть. ВСпомнил! Манометр :)

Короче. Когда начал качать по манометру до 10-13 атм в амортизаторы передней стойки, ардина показывала максимум 6,5 атм. Придется немного дорабатывать скетч. Пока и так обхожусь :)

etaon
Offline
Зарегистрирован: 16.12.2011
001#include <LiquidCrystal.h>
002LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
003 
004#include <SHT1x.h>
005#define dataPin  20
006#define clockPin 21
007SHT1x sht1x(dataPin, clockPin);
008 
009 
010int battery = A3;
011int sensdav1 = A4; //pered
012int sensdav2 = A5; //zad
013int regulpin = A6;
014const int ledPin = 6;
015const int knobPin = 7;
016int compressor = A8;
017int klap1 = A9;
018int klap2 = A10;
019int knobValue, fadeValue;
020int sr1,sr2,sredn1[30],sredn2[30],z = 30;
021float regul1_,regul2_,sensdav1_,sensdav2_;
022int x,y,regul;
023int kork1=220;
024 
025//int sens1 = 26;
026//int sens2 = 28;
027//int sens3 = 30;
028 
029float batterylevel;
030float temp_c;
031float temp_f;
032float humidity;
033 
034 
035void setup() {
036  lcd.begin(16, 4);
037  analogWrite(ledPin, 200);
038 
039//    Serial.begin(9600);
040  pinMode(10, OUTPUT);
041  pinMode(9, OUTPUT);
042//  pinMode(sensdav1, INPUT);
043//  pinMode(sensdav2, INPUT);
044 
045sht1x.resetSensor();
046 
047}
048 
049void loop() {
050 
051// battery voltage
052//resitor 216kOm+100kOm
053 
054  batterylevel=map(analogRead(battery),0,1023,0,50)*(216+100)/100; //*12,64/3,74
055  knobValue = 1024 - analogRead(knobPin);
056  fadeValue = map(knobValue, 0, 1023, 1 , 220);
057  analogWrite(ledPin, fadeValue);
058 
059  float Dpt;
060  sht1x.readSensor();
061  Dpt = sht1x.DewPt();
062  temp_c = int(sht1x.TempC*10);
063  humidity = int(sht1x.RH*10);
064 
065  for (int x = 1; x < z; x++) {
066    sredn1[x]=analogRead(sensdav1); 
067    sredn2[x]=analogRead(sensdav2);
068     
069    for (int y = 1; y < z; y++) {
070      sr1+=sredn1[y];
071      sr2+=sredn2[y];
072    }
073    sr1=sr1/z;
074    sr2=sr2/z;
075    lcd.clear();
076 
077    if (analogRead(regulpin)<0){
078      regul=0;
079    
080      else {regul=analogRead(regulpin);}
081 
082    regul1_=(1023-regul);
083    regul2_=(1023-regul-kork1);
084    sensdav1_=(1023-analogRead(sensdav1));
085    sensdav2_=(1023-analogRead(sensdav2));
086    regul1_= map(regul1_, 420, 740, 0 , 37);
087    if (regul1_<0){
088      regul1_=0;}
089 
090    regul2_= map(regul2_, 420, 740, 0 , 37);
091    if (regul2_<0){
092      regul2_=0;}
093 
094 
095    sensdav1_= map(sensdav1_, 420, 740, 0 , 37);
096    sensdav2_= map(sensdav2_, 420, 740, 0 , 37);
097 
098    lcd.setCursor(8, 0);
099    lcd.print(sr1);
100    lcd.setCursor(8, 1);
101    lcd.print(sr2);
102    lcd.setCursor(11, 0);
103    lcd.print(regul);
104 //   lcd.setCursor(13, 0);
105//    lcd.print(analogRead(sensdav1));
106//    lcd.setCursor(13, 1);
107//    lcd.print(analogRead(sensdav2));
108//    Serial.print(analogRead(sensdav1));Serial.print("_");Serial.println(analogRead(sensdav2));
109 
110    lcd.setCursor(0, 0);    lcd.print(regul1_/10); //    lcd.setCursor(4, 0);
111    lcd.setCursor(3, 0);    lcd.print(" ");
112    lcd.setCursor(0, 1);    lcd.print(regul2_/10); //    lcd.setCursor(4, 0);
113    lcd.setCursor(3, 1);    lcd.print(" ");
114    lcd.setCursor(4, 0);    lcd.print(sensdav1_/10); //    lcd.setCursor(4, 1);
115    lcd.setCursor(7, 0);    lcd.print(" ");
116    lcd.setCursor(4, 1);    lcd.print(sensdav2_/10);
117    lcd.setCursor(7, 1);    lcd.print(" ");
118    lcd.setCursor(-4, 3);    lcd.print("t");    lcd.print(float(temp_c)); //lcd.print(float(temp_c)/10);
119    lcd.setCursor(-1, 3);    lcd.print("' ");    lcd.print(float(humidity)); //lcd.print(float(humidity)/10);
120    lcd.setCursor(3, 3);    lcd.print("% +");    lcd.print(float(batterylevel)/10);
121    lcd.setCursor(10, 3);    lcd.print("v ");
122     
123//    lcd.setCursor(13, 0);
124//    lcd.print(digitalRead(sens1));
125//    lcd.setCursor(13, 1);
126//    lcd.print(digitalRead(sens2));   
127//    lcd.setCursor(13, 2);
128//    lcd.print(digitalRead(sens3));   
129     
130    if (batterylevel>130){
131     
132    if (sr1>regul) {
133      analogWrite(compressor, 0); //on
134      analogWrite(klap1, 0); //on
135      analogWrite(klap2, 255); //off
136      analogWrite(ledPin, 220);
137      lcd.setCursor(7, 0);    lcd.print("*");
138    }
139    else {
140      analogWrite(compressor, 255);
141      if (sr2>(regul+kork1)) {
142      analogWrite(compressor, 0); //on
143      analogWrite(klap2, 0); //on
144      analogWrite(klap1, 255); //off
145      analogWrite(ledPin, 220);
146      lcd.setCursor(7, 1);    lcd.print("*");
147    }
148    else {
149      analogWrite(compressor, 255);
150      analogWrite(klap1, 255); //off
151      analogWrite(klap2, 255); //off
152 
153    }
154    }
155    } //if battery level
156 
157 
158delay(100);
159  //for sr
160 
161 
162}

 

LangoV
Offline
Зарегистрирован: 01.10.2012

Спасибо за подробное объяснение. Но вот что-то не показыает нужные результаты((

Подключил как у Вас на схеме. Ардуино выдает последовательность 0,1023,1023,0  вне зависмости от давления. Давление накачивал до 3-х атм. Вольтометром мерюю даткчи - все хорошо показывает.

Датчик питаю от домашней сети через инвертор, который выдает 12В 12.5А, к нему(инвертору) же подключен автомобильный компрессор.

01int davlenie = A4;
02 
03 
04void setup()
05{
06  Serial.begin(9600);
07 
08}
09 
10void loop() {
11  int sensorValue = analogRead(davlenie);
12  Serial.println(sensorValue);
13  delay(10);
14}

"+" инвертора идет на резистор на 750 Ом, от второй ножки резитора идет 2-а провода:один, на ардуину; второй, на верхнюю часть датчика. От нижней части датчика идет провод на "-" инвертора.

Так же пытался поменять инвертор на блок питания - 5В 4А. Резльутат тот же...

 

 

Что не так делаю? Блок питания надо меньше?

renoshnik
Offline
Зарегистрирован: 11.04.2013

Делал клиенту такой пульт ...  http://www.drive2.ru/b/1098582/

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Mastino пишет:

Если вы думаете что сможете установить высоту конкретного колеса по давлению в подушке того колеса. это не получится!
Для этого ставится специальные потенциометры на каждое колесо, без них машина ровно стоять никогда не будет.

эти потонциометры называются - датчики уровня пола, по их паказаниям регулируется клиренс от мин до

макс ПЛАВНО

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

нет смысла заморачивацца на питание датчика 12 V! +5 V от платы Ардуино - резистор 470 Ом - датчик ( он же резистор 300 Ом при давлении 1 очко ) ( 0 = вакуум !!!!!!!!!! ) - GND Ардуино. с точки соединения резистора и датчика - на аналоговай вход Ардуино.

 

при 12 V питания И обрыве в датчике Ардуино получит 12 V на вход и получит инфаркт :(

 

 далее пишем скетч вывода данных с аналогового входа в Serial и с помощью самого точного манометра составляем таблицу зависимости типа давление - занчение с Ардуино

0 - 500   0,5 - 450   1,0 - 400 ........... 3 - 270 ..... 8 - 150

переносим всё это на миллиметровку и строим график зависимости ПоказанАрдуино от давления. график будет индивидуален для каждого датчика !!!!!!!!!!!!

а сколько там вольт приходит на Ардуино - и не надо знать.... а какой ток - итем более.....

чтобы расширить диапазон ПоказанАрдуино - нужно уменьшить сопрРезистора, который к + 5 V

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

график скорее всего будет нелинейный.... но из него можно составить дисктетную таблицу пересчёта ПоказанАрдуино в давление...

8 bar с шагом в 0,25 bar - всего -то 32 двубайтовых значения - памяти хватит !

 

в ЭБУ двигателя всё построено на таких таблицах, а не на персчётах-вычислениях :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Придется немного дорабатывать скетч. 

......проще подкорректировать таблицу !!!!!!!!! :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

etaon пишет:

Пока экспериментальным путем выяснил ,что при пустой машине комфортно ездить с давлением в задних пневмобаллонах 2-3 атм.

Ежели присуствуют пасажиры на задних сидениях, то давление надо повышать до 3-4 атм.

Пневмобаллоны выдержали как-то 10 атм. Так, что запас прочности есть, и еще какой :)

Планируется позже добавить датчик угла поворота. От ардуинки. К нему прикрепить небольшой рычажок. Всё это дело закрепить на раме авто и заднем мосту. Буду знать какое расстояние у заднего моста до рамы. Клиренс так сказать :)

аха, датчик уровня пола - механически выглядит как регулятор тормозного усилия задней оси с рычагом к кузову ( ВАЗ ), только внутри не клапана и тормозуха, а переменный резистор и ток 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

<p>&gt;&nbsp;<span style="line-height: 1.5em;">Датчик давления 300 Ом. Подстроечный не менее 600 Ом. Можно 1 кОм. 1 кОм можно будет уменьшить до нужного значения.</span></p>

<p><span style="line-height: 1.5em;">почему - &nbsp;не менее ? ток через делитель тут не важен - не от кроны же питаться будет !</span></p>

<p>&nbsp;</p>

<p><span style="line-height: 1.5em;">датчик 300, резистор 300, питание от 5 V Ардуины:</span></p>

<p><span style="line-height: 1.5em;">- ток через делитель &lt; 10 мА</span></p>

<p><span style="line-height: 1.5em;">- 0 bar - 511 от&nbsp;</span><span style="line-height: 1.5em;">Ардуины</span></p>

<p><span style="line-height: 1.5em;">- 10 bar ( датчик даст 20 Ом, например ) - 64 от&nbsp;</span><span style="line-height: 1.5em;">Ардуины</span></p>

<p>&nbsp;</p>

<p><span style="line-height: 1.5em;">датчик 300, резистор 100, питание от 5 V Ардуины:</span></p>

<p><span style="line-height: 1.5em;">- ток через делитель &lt; 13 мА</span></p>

<p><span style="line-height: 1.5em;">- 0 bar - 768 от&nbsp;</span><span style="line-height: 1.5em;">Ардуины</span></p>

<p><span style="line-height: 1.5em;">- 10 bar ( датчик даст 20 Ом, например ) - 171 от&nbsp;</span><span style="line-height: 1.5em;">Ардуины</span></p>

etaon
Offline
Зарегистрирован: 16.12.2011

Нарисовал схемку. Работает действительно. Что же это я так затупил в своё время :(

Murat
Offline
Зарегистрирован: 15.08.2014

Здравствуйте как с вами можно связатся мне нужен скетч к контролеру и схема (по давлению накачьки шин) только на бдорту 24 вольта датчик от жигулей как у вас три режима три кнопки (нормально 4атм, потом 3 ,потом 2) машина вводится в режим не на ходу все на много проще чем с подвеской разумеется не бесплатно lesna77@mail.ru сообщите возьметесь или нет

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

создайте новую тему в ветке "Ищу исполнителя" если сами не хотите заморачиваться

со мной лично - не свяжетесь, мзду не беру, ибо ещё не опытен, тока советы

и задачу поточнее обрисуйте !