Т.к. напряжение в сети машины скачет постоянно от 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 она есть рабочая :)
1. maslo (датчик масла) У него при давлении 0атм сопротивление 300 Ом. ХЗ точно. Соотвественно на схеме показано у него 99%.
На ножку Ардуино пришло 0,059 вольта. Если не ошибаюсь :) Ток ооооочень маленький.
2. Здесь накачали немного давления и сопротивление датчика давления упало до 69%. Рассчитать сам можешь сколько это будет в Ом. На ардуину пришло 1,61 вольта.
3...
4. Накачали ооооочень много давления. Почти 10 атм. Сопротивление датчика давления упало до 9% и на ардуино пришло 3,75 вольта.
Обращаю твоё внимание! Придется функцией MAP в ардуине подбирать правильный параметр отображения. А мжет и как-то по другому сделаешь.
У меня косяк есть такой в системе. На начальной стадии качал в подвеску максимум 5 Атм. Замеряет ардуина до 5Атм точь в точь как аналоговый барометр. Ну, в общем штука такая со шкалой. Они еще на компрессорах есть. ВСпомнил! Манометр :)
Короче. Когда начал качать по манометру до 10-13 атм в амортизаторы передней стойки, ардина показывала максимум 6,5 атм. Придется немного дорабатывать скетч. Пока и так обхожусь :)
Спасибо за подробное объяснение. Но вот что-то не показыает нужные результаты((
Подключил как у Вас на схеме. Ардуино выдает последовательность 0,1023,1023,0 вне зависмости от давления. Давление накачивал до 3-х атм. Вольтометром мерюю даткчи - все хорошо показывает.
Датчик питаю от домашней сети через инвертор, который выдает 12В 12.5А, к нему(инвертору) же подключен автомобильный компрессор.
"+" инвертора идет на резистор на 750 Ом, от второй ножки резитора идет 2-а провода:один, на ардуину; второй, на верхнюю часть датчика. От нижней части датчика идет провод на "-" инвертора.
Так же пытался поменять инвертор на блок питания - 5В 4А. Резльутат тот же...
Если вы думаете что сможете установить высоту конкретного колеса по давлению в подушке того колеса. это не получится!
Для этого ставится специальные потенциометры на каждое колесо, без них машина ровно стоять никогда не будет.
эти потонциометры называются - датчики уровня пола, по их паказаниям регулируется клиренс от мин до
нет смысла заморачивацца на питание датчика 12 V! +5 V от платы Ардуино - резистор 470 Ом - датчик ( он же резистор 300 Ом при давлении 1 очко ) ( 0 = вакуум !!!!!!!!!! ) - GND Ардуино. с точки соединения резистора и датчика - на аналоговай вход Ардуино.
при 12 V питания И обрыве в датчике Ардуино получит 12 V на вход и получит инфаркт :(
далее пишем скетч вывода данных с аналогового входа в Serial и с помощью самого точного манометра составляем таблицу зависимости типа давление - занчение с Ардуино
Пока экспериментальным путем выяснил ,что при пустой машине комфортно ездить с давлением в задних пневмобаллонах 2-3 атм.
Ежели присуствуют пасажиры на задних сидениях, то давление надо повышать до 3-4 атм.
Пневмобаллоны выдержали как-то 10 атм. Так, что запас прочности есть, и еще какой :)
Планируется позже добавить датчик угла поворота. От ардуинки. К нему прикрепить небольшой рычажок. Всё это дело закрепить на раме авто и заднем мосту. Буду знать какое расстояние у заднего моста до рамы. Клиренс так сказать :)
аха, датчик уровня пола - механически выглядит как регулятор тормозного усилия задней оси с рычагом к кузову ( ВАЗ ), только внутри не клапана и тормозуха, а переменный резистор и ток
<p>> <span style="line-height: 1.5em;">Датчик давления 300 Ом. Подстроечный не менее 600 Ом. Можно 1 кОм. 1 кОм можно будет уменьшить до нужного значения.</span></p>
<p><span style="line-height: 1.5em;">почему - не менее ? ток через делитель тут не важен - не от кроны же питаться будет !</span></p>
<p> </p>
<p><span style="line-height: 1.5em;">датчик 300, резистор 300, питание от 5 V Ардуины:</span></p>
<p><span style="line-height: 1.5em;">- ток через делитель < 10 мА</span></p>
<p><span style="line-height: 1.5em;">- 0 bar - 511 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
<p><span style="line-height: 1.5em;">- 10 bar ( датчик даст 20 Ом, например ) - 64 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
<p> </p>
<p><span style="line-height: 1.5em;">датчик 300, резистор 100, питание от 5 V Ардуины:</span></p>
<p><span style="line-height: 1.5em;">- ток через делитель < 13 мА</span></p>
<p><span style="line-height: 1.5em;">- 0 bar - 768 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
<p><span style="line-height: 1.5em;">- 10 bar ( датчик даст 20 Ом, например ) - 171 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
Здравствуйте как с вами можно связатся мне нужен скетч к контролеру и схема (по давлению накачьки шин) только на бдорту 24 вольта датчик от жигулей как у вас три режима три кнопки (нормально 4атм, потом 3 ,потом 2) машина вводится в режим не на ходу все на много проще чем с подвеской разумеется не бесплатно lesna77@mail.ru сообщите возьметесь или нет
ммм. ссылка дай плиз на форум какой-нить где у тебя описана вся эта система. или кинь так описание с картинками. какие датчики, балоны, клапана...
Готов помочь с реализацией электроники и кодом.
вот ссылка на описание моей конструкции. видео тоже есть на ютюбе
http://sorento.kia-club.ru/forum/viewtopic.php?f=20&t=26561
)))нет,у меня самопальная подвеска а машина ваз 2108 :)
Low rider будет? :)
Нет не лоурайд,просто хочу иметь возможность изменения клиренса.
Фотки есть у меня на страничке
vk.com/id7110661
Блок клапанов типа такого
hot-cakes.ru/shop/valve_blocks/valve_engine
Датчики такие
hot-cakes.ru/shop/gauge_digital/gauge_digi_aircontr
Подушки rubena 3*130
pa-rti.ru/pnevmopodv#
Etaon- аськой не пользуешся?
Для начала с тебя потребуется замерить вольтметром максимальное и минимальное показания датчиков давления. Скорее всего там везде 12В присутствует.
Вывести инфу на экран от этой системы реально, но для меня слишком геморно. Использвать кнопки с интерфейса того же еще могу.
Посмотри хорошенько ссылку мою. Там полное описание есть.
Можете набросать схему подключения датчика давления и выложить сюда?
Собрал по схеме http://c2.at.ua/load/avr/cifrovoj_manometr_mk_atmega8_led_2kh3/17-1-0-74 но все время 0 показывает(
в какое положение необхожимо поставить подстрочный резистор?
Ранее эта картинка была уже показана:
Т.к. напряжение в сети машины скачет постоянно от 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 она есть рабочая :)
1. maslo (датчик масла) У него при давлении 0атм сопротивление 300 Ом. ХЗ точно. Соотвественно на схеме показано у него 99%.
На ножку Ардуино пришло 0,059 вольта. Если не ошибаюсь :) Ток ооооочень маленький.
2. Здесь накачали немного давления и сопротивление датчика давления упало до 69%. Рассчитать сам можешь сколько это будет в Ом. На ардуину пришло 1,61 вольта.
3...
4. Накачали ооооочень много давления. Почти 10 атм. Сопротивление датчика давления упало до 9% и на ардуино пришло 3,75 вольта.
Обращаю твоё внимание! Придется функцией MAP в ардуине подбирать правильный параметр отображения. А мжет и как-то по другому сделаешь.
У меня косяк есть такой в системе. На начальной стадии качал в подвеску максимум 5 Атм. Замеряет ардуина до 5Атм точь в точь как аналоговый барометр. Ну, в общем штука такая со шкалой. Они еще на компрессорах есть. ВСпомнил! Манометр :)
Короче. Когда начал качать по манометру до 10-13 атм в амортизаторы передней стойки, ардина показывала максимум 6,5 атм. Придется немного дорабатывать скетч. Пока и так обхожусь :)
001
#include <LiquidCrystal.h>
002
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
003
004
#include <SHT1x.h>
005
#define dataPin 20
006
#define clockPin 21
007
SHT1x sht1x(dataPin, clockPin);
008
009
010
int
battery = A3;
011
int
sensdav1 = A4;
//pered
012
int
sensdav2 = A5;
//zad
013
int
regulpin = A6;
014
const
int
ledPin = 6;
015
const
int
knobPin = 7;
016
int
compressor = A8;
017
int
klap1 = A9;
018
int
klap2 = A10;
019
int
knobValue, fadeValue;
020
int
sr1,sr2,sredn1[30],sredn2[30],z = 30;
021
float
regul1_,regul2_,sensdav1_,sensdav2_;
022
int
x,y,regul;
023
int
kork1=220;
024
025
//int sens1 = 26;
026
//int sens2 = 28;
027
//int sens3 = 30;
028
029
float
batterylevel;
030
float
temp_c;
031
float
temp_f;
032
float
humidity;
033
034
035
void
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
045
sht1x.resetSensor();
046
047
}
048
049
void
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
158
delay(100);
159
}
//for sr
160
161
162
}
Спасибо за подробное объяснение. Но вот что-то не показыает нужные результаты((
Подключил как у Вас на схеме. Ардуино выдает последовательность 0,1023,1023,0 вне зависмости от давления. Давление накачивал до 3-х атм. Вольтометром мерюю даткчи - все хорошо показывает.
Датчик питаю от домашней сети через инвертор, который выдает 12В 12.5А, к нему(инвертору) же подключен автомобильный компрессор.
01
int
davlenie = A4;
02
03
04
void
setup
()
05
{
06
Serial
.begin(9600);
07
08
}
09
10
void
loop
() {
11
int
sensorValue = analogRead(davlenie);
12
Serial
.println(sensorValue);
13
delay(10);
14
}
"+" инвертора идет на резистор на 750 Ом, от второй ножки резитора идет 2-а провода:один, на ардуину; второй, на верхнюю часть датчика. От нижней части датчика идет провод на "-" инвертора.
Так же пытался поменять инвертор на блок питания - 5В 4А. Резльутат тот же...
Что не так делаю? Блок питания надо меньше?
Делал клиенту такой пульт ... http://www.drive2.ru/b/1098582/
Если вы думаете что сможете установить высоту конкретного колеса по давлению в подушке того колеса. это не получится!
Для этого ставится специальные потенциометры на каждое колесо, без них машина ровно стоять никогда не будет.
эти потонциометры называются - датчики уровня пола, по их паказаниям регулируется клиренс от мин до
макс ПЛАВНО
нет смысла заморачивацца на питание датчика 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
график скорее всего будет нелинейный.... но из него можно составить дисктетную таблицу пересчёта ПоказанАрдуино в давление...
8 bar с шагом в 0,25 bar - всего -то 32 двубайтовых значения - памяти хватит !
в ЭБУ двигателя всё построено на таких таблицах, а не на персчётах-вычислениях :)
> Придется немного дорабатывать скетч.
......проще подкорректировать таблицу !!!!!!!!! :)
Пока экспериментальным путем выяснил ,что при пустой машине комфортно ездить с давлением в задних пневмобаллонах 2-3 атм.
Ежели присуствуют пасажиры на задних сидениях, то давление надо повышать до 3-4 атм.
Пневмобаллоны выдержали как-то 10 атм. Так, что запас прочности есть, и еще какой :)
Планируется позже добавить датчик угла поворота. От ардуинки. К нему прикрепить небольшой рычажок. Всё это дело закрепить на раме авто и заднем мосту. Буду знать какое расстояние у заднего моста до рамы. Клиренс так сказать :)
аха, датчик уровня пола - механически выглядит как регулятор тормозного усилия задней оси с рычагом к кузову ( ВАЗ ), только внутри не клапана и тормозуха, а переменный резистор и ток
<p>> <span style="line-height: 1.5em;">Датчик давления 300 Ом. Подстроечный не менее 600 Ом. Можно 1 кОм. 1 кОм можно будет уменьшить до нужного значения.</span></p>
<p><span style="line-height: 1.5em;">почему - не менее ? ток через делитель тут не важен - не от кроны же питаться будет !</span></p>
<p> </p>
<p><span style="line-height: 1.5em;">датчик 300, резистор 300, питание от 5 V Ардуины:</span></p>
<p><span style="line-height: 1.5em;">- ток через делитель < 10 мА</span></p>
<p><span style="line-height: 1.5em;">- 0 bar - 511 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
<p><span style="line-height: 1.5em;">- 10 bar ( датчик даст 20 Ом, например ) - 64 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
<p> </p>
<p><span style="line-height: 1.5em;">датчик 300, резистор 100, питание от 5 V Ардуины:</span></p>
<p><span style="line-height: 1.5em;">- ток через делитель < 13 мА</span></p>
<p><span style="line-height: 1.5em;">- 0 bar - 768 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
<p><span style="line-height: 1.5em;">- 10 bar ( датчик даст 20 Ом, например ) - 171 от </span><span style="line-height: 1.5em;">Ардуины</span></p>
Нарисовал схемку. Работает действительно. Что же это я так затупил в своё время :(
Здравствуйте как с вами можно связатся мне нужен скетч к контролеру и схема (по давлению накачьки шин) только на бдорту 24 вольта датчик от жигулей как у вас три режима три кнопки (нормально 4атм, потом 3 ,потом 2) машина вводится в режим не на ходу все на много проще чем с подвеской разумеется не бесплатно lesna77@mail.ru сообщите возьметесь или нет
создайте новую тему в ветке "Ищу исполнителя" если сами не хотите заморачиваться
со мной лично - не свяжетесь, мзду не беру, ибо ещё не опытен, тока советы
и задачу поточнее обрисуйте !