4 аналоговых датчика и 6 светодиодов помогите написать программу

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>Вы напрасно злитесь<<

Да это я так от непонимания.
 

italius , насколькоя понял , мы исходим из того что на накачку работают четыре клапана

 (один на каждый контур) а на стравливание один общий. Так ?

Нужны ли предустановленые режимы ?

Какие датчики используете ? 

Какая будет индикация (светодиоды  или дисплей) ?

 

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

ДД

Да вот все заработало, подправил одну циферку и все хорошо работает, чуть по разному выключает при возврате комбинации D_1 и D_3.

А так работает.

Спасибо. Первый кусок написан.

Может есть почтовый ящик?

chaytan
Offline
Зарегистрирован: 02.02.2012

italius пишет:

 nestandart

Вы напрасно злитесь, вопрос совсем в другом chaytan вам пересказывает свой опыт, он не со зла.

Поверьте что опыт у него есть.

Я не использую Американские системы доступные на ебэй и т.д. а компоненты Европейского производителя промышленных систем.

И то, что пишу - уже проверено. Давайте лучше что-то вместе сотворим.

спасибо!

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

 

italius
Offline
Зарегистрирован: 19.12.2011

 nestandart

Да так, 4 на каждый контур и в общей магистрали один на стравливание!

Датчики с аналоговым(индуктивные) сигналом при мониторинге от 96 до 1023 от БМВ (но могут и другие, например от Ауди)!

Предустановленые режимы - хотелось бы, и воз можно не один и не два, к примеру -5!

Дисплей, если как комерческий проект, то хорошо при продажах, а для меня, то маленький, так как дополнительно выведена подкачка колес и было бы красиво видеть это на дисплее. А так можно и светодиодами обойтись. Например - аварийный режим, режим подкачки или спуска _ ну где-то так.

Естественно хотелось бы калибровку датчиков и установки рабочего диапазона например одной кнопкой.

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

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>Датчики с аналоговым(индуктивные) сигналом при мониторинге от 96 до 1023 от БМВ (но могут и другие, например от Ауди)!<<

Диапазон сигнала можно (даже нужно) , программно , ввести в определенные рамки , скажем от 200 до 1000.

Но вы меня не так поняли. Что измеряют датчики ? Давление или высоту клиренса ?

 

>>Дисплей, если как комерческий проект, то хорошо при продажах,<<

Двустрочный дисплей на 32 символа стоит 200-400р. 

>>Естественно хотелось бы калибровку датчиков и установки рабочего диапазона например одной кнопкой.<<

Там понадобится 2-4 кнопки.

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

 >>Вы напрасно злитесь<<

Да это я так от непонимания.
 

italius , насколькоя понял , мы исходим из того что на накачку работают четыре клапана

 (один на каждый контур) а на стравливание один общий. Так ?

Нужны ли предустановленые режимы ?

Какие датчики используете ? 

Какая будет индикация (светодиоды  или дисплей) ?

 

спасибо.

взаимопонимание мы найдем. спасибо.

да, используется 4 клапана контуров, клапан накопительного ресивера и клапан сброса.

в качестве датчиков применяются или датчики положения дросельной заслонки бесконтактные или оригинальные датчики уровня. они также бесконтактные на датчиках холла.

датчики подключаются тремя проводами, где масса, питание 5 вольт и выход. выходное напряжение пропорционально положению датчика. в среднем положении датчика на выходе 2.5 вольта.

есть также одна маленькая особенность вызванная расположением датчиков- работа правого и левого датчика отличается, точнее отличается выходное напряжение датчика. здесь при подьеме с нуля на выходе одного датчика напряжение подымается от 0 до 5 вольт то на выходе второго оно наоборот снижается от 5 до 0 вольт.

также присутствует датчик давления и датчик температуры компрессора. последний это также часть защитных функций.

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

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>датчики подключаются тремя проводами, где масса, питание 5 вольт и выход. выходное напряжение пропорционально положению датчика. в среднем положении датчика на выходе 2.5 вольта.<<

Ясно. Резистивный делитель напряжения.

>>есть также одна маленькая особенность вызванная расположением датчиков- работа правого и левого датчика отличается, точнее отличается выходное напряжение датчика. здесь при подьеме с нуля на выходе одного датчика напряжение подымается от 0 до 5 вольт то на выходе второго оно наоборот снижается от 5 до 0 вольт.<<

Вот как. А зачем это ?

Как я понял датчики просто перевернуты. И это легко исправить поменяв GND и +5 местами.

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

 >>датчики подключаются тремя проводами, где масса, питание 5 вольт и выход. выходное напряжение пропорционально положению датчика. в среднем положении датчика на выходе 2.5 вольта.<<

Ясно. Резистивный делитель напряжения.

>>есть также одна маленькая особенность вызванная расположением датчиков- работа правого и левого датчика отличается, точнее отличается выходное напряжение датчика. здесь при подьеме с нуля на выходе одного датчика напряжение подымается от 0 до 5 вольт то на выходе второго оно наоборот снижается от 5 до 0 вольт.<<

Вот как. А зачем это ?

Как я понял датчики просто перевернуты. И это легко исправить поменяв GND и +5 местами.

по сути да. можна считать что они перевернуты. хотя несовсем. датчик работает в диапазоне от 0 до 180 градусов от 0 до 5 вольт и от 180 до 360 градусов в диапазоне от 5 до 0 вольт. внутри датчика электроника и просто смена полярности выведет его из строя, хотя по своему принципу это схоже с резистивным делителем. 

 

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

Не совсем понял. Причем тут градусы ? Мы же измеряем высоту подЪема.

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

Не совсем понял. Причем тут градусы ? Мы же измеряем высоту подЪема.

я описал датчик, штатно применяемый в пневмоподвеске.

датчик закрепляется на кузове, на оси датчика коромысло к которому подсоеденена тяжка, ответная часть тяжки закрепляется на рычаге подвески.  перемещение датчика ограничено от 0 до 180 градусов на одной стороне и от 180 до 360 на противоположной. в обоих случаях в среднем положении на выходе датчика имеем 2.5 вольта. при изменении уровня показания меняются на одной стороне в сторону 5 вольт на противоположной в сторонну массы.

градусы мы в счет не берем, это ненадо. все что нас интересует это выходное напряжения в диапазоне работы подвески.  здесь от 0 до 5 и от 5 до 0 вольт.

chaytan
Offline
Зарегистрирован: 02.02.2012

а как здесь вставлять картинки??? 

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart, подскажи пожалста.

сейчас стою перед выбором в покупке ардуинки.

на какой стоит сделать выбор??? 

и еще вопрос, принцип работы датчиков описал, а как с помощью ардуино можна внести изменение в показание датчиков получаемые штатным блоком.

как ардуино подключить между датчиком и мозгами? суть в изменении напряжения поступающего на родной моск от датчика. 

подробно так- имеем среднее положение клиренса. тоисть ездовое и назовем это нормальный уровень. но надо ввести еще два положения, так чтобы при этом родной блок видел что клиренс находится в нормальном уровне. скажем так, ардуино получает реальный уровень, но по команде или прибавляет 20% или отнимает, и на выходе напряжение измененное на эти 20%. можна что-то придумать??? 

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 на какой стоит сделать выбор???

На самодельной.

Если хотите опишу изготовление (самый простой и надежный вариант).

Как обстоят дела с электроникой , паяльником , ЛУТом ?

 

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

 на какой стоит сделать выбор???

На самодельной.

Если хотите опишу изготовление (самый простой и надежный вариант).

Как обстоят дела с электроникой , паяльником , ЛУТом ?

 

имею опыт ремонта и изготовления электронных устройств но до програмирования так и не добрался...

платы рисовать умеем, но изготовление заказывал, сам не травил...

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

>>платы рисовать умеем, но изготовление заказывал, сам не травил...<< 

Зря , там нет ничего сложного.

Берете лазерный принтер , берете бумагу от самоклеящихся обоев (нормальные люди ее выбрасывают) , печатаете разводку , накладываете на плату , проглаживаете утюгом , снимаете бумагу (под водой) , травите 

(хлорным железом) , сверлите , лудите , собираете.

Дело в том что дуина хороша для разработки и отладки в лабораторно - бытовых условиях.

Для реально рабочих устройств она плохо подходит.

Вот мой ЛУТ (я применяю его уже больше года).

 

                                                        Сборочный рисунок

 

 

 

"Мой" программатор посмотрите здесь myrobot.ru/forum/topic.php

 

 

chaytan
Offline
Зарегистрирован: 02.02.2012

спасибо.

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

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

>>ардуино получает реальный уровень, но по команде или прибавляет 20% или отнимает, и на выходе напряжение измененное на эти 20%. можна что-то придумать???  <<

Да , сделать можно .

Вы сейчас описали работу связки АЦП-ЦАП (аналогоцифровой - цифроаналоговый преобразователь).

Если "родной блок" работает в пределах 0-5в. то легко , а если напруга другая придется городить  схему на транзисторе с внешним питанием.

Там всего лишь несколько арефметических действий и преобразование.

Вот простой пример.

int val=0;
int val2=0;
int val3=0;



void setup()
{
 
 lcd.begin(16, 2);//иницифлизация дисплея
 
 
 pinMode(10,OUTPUT);

 
}

void loop()
{
 val=analogRead(16);//читаем сигнал на входе
 
  val2=(val/5);//считаем 20% от полученого сигнала
  
  val3=(val+val2)/4;//прибавляем 20% к первоначальному сигналу
  //и приводим получившуюся цифру в соответствие с 
  //аналоговым выходом
  //диапазон аналогового выхода от 0 до 255 соответствует от 0 до 5вольт

 
  analogWrite(10,val3);//выход измененного сигнала
   
    
}

 

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

>>нарисовать схемку то не вопрос, тоже самое в луте состряпать макет печатки тоже без проблем. а микроконтролер где взять с бутлоадером???  <<

Не думаю что это проблема , тем более для Москвы.

"У себя " я покупаю напрямую у поставщика 150 - 200р. шт.

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

>>нарисовать схемку то не вопрос, тоже самое в луте состряпать макет печатки тоже без проблем. а микроконтролер где взять с бутлоадером???  <<

Не думаю что это проблема , тем более для Москвы.

"У себя " я покупаю напрямую у поставщика 150 - 200р. шт.

увы, я не в Москве. Украина, Кривой Рог.

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

>>нарисовать схемку то не вопрос, тоже самое в луте состряпать макет печатки тоже без проблем. а микроконтролер где взять с бутлоадером???  <<

Не думаю что это проблема , тем более для Москвы.

"У себя " я покупаю напрямую у поставщика 150 - 200р. шт.

ага. нашол у нас за 11 доларов....

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

>>увы, я не в Москве.<< 

Так и я не в Москве , Сибирь - Кемерово.

Мне проще контора фридуино Кемеровская , а один из их начальников мой знакомый .

Так что если надо то и к подЪезду подвезут.

Если заказывать в инет магазинах то вот фридуиновский сайт www.freeduino.ru/arduino/

Но , я думаю , лучше найти Украинских продавцов.

Обычно там где продают дуины продают и МК для них.

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>нашол у нас за 11 доларов....<<

Что то дороговато , должны быть дешевле.

"Как то на ибее видел микруху ULN2003 за 4$ за шт .

Смешно стало , они в соседнем магазине стоят 10$ за ведро."

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

>>ардуино получает реальный уровень, но по команде или прибавляет 20% или отнимает, и на выходе напряжение измененное на эти 20%. можна что-то придумать???  <<

Да , сделать можно .

Вы сейчас описали работу связки АЦП-ЦАП (аналогоцифровой - цифроаналоговый преобразователь).

Если "родной блок" работает в пределах 0-5в. то легко , а если напруга другая придется городить  схему на транзисторе с внешним питанием.

Там всего лишь несколько арефметических действий и преобразование.

Вот простой пример.

int val=0;
int val2=0;
int val3=0;



void setup()
{
 
 lcd.begin(16, 2);//иницифлизация дисплея
 
 
 pinMode(10,OUTPUT);

 
}

void loop()
{
 val=analogRead(16);//читаем сигнал на входе
 
  val2=(val/5);//считаем 20% от полученого сигнала
  
  val3=(val+val2)/4;//прибавляем 20% к первоначальному сигналу
  //и приводим получившуюся цифру в соответствие с 
  //аналоговым выходом
  //диапазон аналогового выхода от 0 до 255 соответствует от 0 до 5вольт

 
  analogWrite(10,val3);//выход измененного сигнала
   
    
}

 

спасибо!

для вычитания тоже самое значит???

для четырех датчиков тоже самое только меняем порты...

с аналоговыми входами понятно, а вот в качестве выходов используются цифровые в режиме шим или тоже аналоговые???

извини, может мои вопросы иногда могут звучать и глупо....

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

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

>>увы, я не в Москве.<< 

Так и я не в Москве , Сибирь - Кемерово.

Мне проще контора фридуино Кемеровская , а один из их начальников мой знакомый .

Так что если надо то и к подЪезду подвезут.

Если заказывать в инет магазинах то вот фридуиновский сайт www.freeduino.ru/arduino/

Но , я думаю , лучше найти Украинских продавцов.

Обычно там где продают дуины продают и МК для них.

так это у них и нашол... у украинских продавцов дуины...

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

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

Не проще ли дать на вход родного блока напругу "нормального уровня"(с той же дуины) и пускай он ее курит.

А рулить системой будет дуина.

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>для вычитания тоже самое значит???<<

Да. Простые арефметические действия.

>>для четырех датчиков тоже самое только меняем порты...<<

Да. И , соответственно , названия переменных.

>>с аналоговыми входами понятно, а вот в качестве выходов используются цифровые в режиме шим или тоже аналоговые???<<
 

Цифровые в режиме ШИМ , pwm выходы (их у обычной дуины 6).

>>извини, может мои вопросы иногда могут звучать и глупо....<<

Это вы еще глупых вопросов не видели.

"На myrobot , как то , два дня обЪяснял человеку что такое подтягивающий резистор и почему у него программа не работает."

 

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

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

Не проще ли дать на вход родного блока напругу "нормального уровня"(с той же дуины) и пускай он ее курит.

А рулить системой будет дуина.

родной блок обеспечивает все задержки, контроль исполнительных механизмов (клапана, компрессор) и обработку дополнительных входов таких как- включено зажигание, работающий двигатель, открытие дверей, нажатие на педаль тормоза и запуск мотора, а также данные от датчика скорости.

если в дуине реализовать всё перечисленное то в родном блоке и нет необходимости вообще, плюс можна получить массу дополнительных ворзможностей. в моем случае родной блок вовсе не принимает участие в работе авто и не привязывается к цифровым шинам. он полностью автономен.

 

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

 >>для вычитания тоже самое значит???<<

Да. Простые арефметические действия.

>>для четырех датчиков тоже самое только меняем порты...<<

Да. И , соответственно , названия переменных.

>>с аналоговыми входами понятно, а вот в качестве выходов используются цифровые в режиме шим или тоже аналоговые???<<
 

Цифровые в режиме ШИМ , pwm выходы (их у обычной дуины 6).

>>извини, может мои вопросы иногда могут звучать и глупо....<<

Это вы еще глупых вопросов не видели.

"На myrobot , как то , два дня обЪяснял человеку что такое подтягивающий резистор и почему у него программа не работает."

 

спасибо за понимание...

chaytan
Offline
Зарегистрирован: 02.02.2012
nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

>>если в дуине реализовать всё перечисленное то в родном блоке и нет необходимости вообще, плюс можна получить массу дополнительных ворзможностей. в моем случае родной блок вовсе не принимает участие в работе авто и не привязывается к цифровым шинам. он полностью автономен. <<

Здесь лучше пойти по пути наименьшего гемороя и использовать дуину как преобразователь сигналов датчиков.

К этой же дуино подключить кнопки и ими задавать , заране запрограмированые , коэффициенты преобразования +20% , +50% , -20% -50% и т.д.

Особенно хорошо если стандартная предустановка блока находится около 2.5 вольт .

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

 

Здесь лучше пойти по пути наименьшего гемороя и использовать дуину как преобразователь сигналов датчиков.

К этой же дуино подключить кнопки и ими задавать , заране запрограмированые , коэффициенты преобразования +20% , +50% , -20% -50% и т.д.

Особенно хорошо если стандартная предустановка блока находится около 2.5 вольт .

собственно я об этом и спрашивал... мне достаточно -15%, +25% и +50%.

да, стандартная предустановка так и есть, 2.5 вольта.

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

>>да, стандартная предустановка так и есть, 2.5 вольта.<< 

Тогда не вижу проблем.

Соберете дуину , а потом и программу напишем.

chaytan
Offline
Зарегистрирован: 02.02.2012

 еще вопрос- к стандартному блоку подключается датчик скорости. можна-ли на дуине сделать автоматическое изменение коэфициентов при подкючении датчика скорости? это например- выбран режим +50%, но движение на таком клиренсе с большой скоростью нежелательно в целях безопасности, и дуина сама переводит в режим +20%, 0% и -15% взависимости от скорости если последняя была выше заданного предела в течении 30 секунд??? если это возможно, значит здесь уместно и повышение уровня до 0% при снижении скорости и если низкая скорость была в течении допустим секунд 50....

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart, вы тоже смотрю заядлый полуношник.... 

и большое вам спасибо за помощь и разяснения....

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>еще вопрос- к стандартному блоку подключается датчик скорости. можна-ли на дуине сделать автоматическое изменение коэфициентов при подкючении датчика скорости? это например- выбран режим +50%, но движение на таком клиренсе с большой скоростью нежелательно в целях безопасности, и дуина сама переводит в режим +20%, 0% и -15% взависимости от скорости если последняя была выше заданного предела в течении 30 секунд??? если это возможно, значит здесь уместно и повышение уровня до 0% при снижении скорости и если низкая скорость была в течении допустим секунд 50.... <<

Датчик скорости акселерометр ?

Если получится вытащить с него сигнал (не вводя в заблуждение заводской блок) то конечно можно 

делать преобразования учитывая этот сигнал.

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

Например если скорость "нормальная" то коэффициенты 15 25 50.

Если выше нормальной то , допустим,  0 15 30 , или по другому (как угодно).

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

 

>>nestandart, вы тоже смотрю заядлый полуношник.... <<

Да , отпуск расслабляет.

>>и большое вам спасибо за помощь и разяснения....<<

Пожалуйста . Мне сейчас , все равно , делать нечего .

Собрал вот металл детектор , лежит тестируется.

А так хоть с человеком пообщался , не без пользы.

 

 

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

 

Датчик скорости акселерометр ?

Если получится вытащить с него сигнал (не вводя в заблуждение заводской блок) то конечно можно 

делать преобразования учитывая этот сигнал.

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

Например если скорость "нормальная" то коэффициенты 15 25 50.

Если выше нормальной то , допустим,  0 15 30 , или по другому (как угодно).

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

 

>>nestandart, вы тоже смотрю заядлый полуношник.... <<

Да , отпуск расслабляет.

>>и большое вам спасибо за помощь и разяснения....<<

Пожалуйста . Мне сейчас , все равно , делать нечего .

Собрал вот металл детектор , лежит тестируется.

А так хоть с человеком пообщался , не без пользы.
 

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

конечно можна применить и внешний акселерометр.

изменение уровня в сторону занижения на скорости наоборот улучшает аэродинамические характеристики и занижает центр тяжести, что также благоприятно сказывается на управляемости и устойчивости авто. да и занижение нужно то только при превышении скорости выше 120 км, я выше этой скорости езжу редко, да и то только по хорошей дороге. а так обычно 90-110, это и экономно и безопасно...

завышение нужно для реализации режима *зима* когда необходимо приподнять немного авто, здесь приподымаем на 20% и для езды по плохим дорогам, здесь приподымаем на 50%, с автоматическим возвращением на +20 или 0%.

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart, а я вот делаю пометки о том какие внести изменения в проводку авто товарищу. одну машинко его вот сделал, сейчас для второй готовлю... 

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>это сигнал прямоугольной формы, частота которого меняется пропорционально скорости авто<<

Импульсы. Дуина вполне может измерять их длинну.

>>изменение уровня в сторону занижения на скорости наоборот улучшает аэродинамические характеристики и занижает центр тяжести <<
 

Это понятно , но вот как скажется именно резкий переход ?

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

chaytan , какие крайние точки сигнала с датчиков клиренса.

По логике до "упора" там должен оставаться "зазор" (хотябы 0.5в).

chaytan
Offline
Зарегистрирован: 02.02.2012

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

за основу лучше всего взять принципы и алгоритмы реализованые в штатных системах. 

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

chaytan , какие крайние точки сигнала с датчиков клиренса.

По логике до "упора" там должен оставаться "зазор" (хотябы 0.5в).

так и есть, зазор составляет примерно по 0.5 в. в каждую сторону.

nestandart
nestandart аватар
Offline
Зарегистрирован: 15.06.2011

 >>так и есть, зазор составляет примерно по 0.5 в. в каждую сторону.<<

То что надо . Получется рабочий ход 4вольта.

chaytan
Offline
Зарегистрирован: 02.02.2012

nestandart пишет:

 >>так и есть, зазор составляет примерно по 0.5 в. в каждую сторону.<<

То что надо . Получется рабочий ход 4вольта.

ага.

italius
Offline
Зарегистрирован: 19.12.2011

ДУ

Вот и хорошо вы ночью пообщались.

Датчики для управления клиренсом, кстати, есть левые и правые.

Но даже в однотипных не составляет проблем изменить знак > на противоположный <.

nestandart - Вот LEVV2006 написал рабочий скетч и он проверен, чуточку подправлен и есть маленький изъян, но не критичный.

предлагаю делать все поэтапно

К данному скетчу делаем такой же с добавлением еще одного аналогового датчика A_2 и одного светодиода D_4 и расстовляем запреты и приоритеты.

Например такие:

Датчики D_1, D_4 могут быть включены вместе если их комбинации совпадают - D_1 + D_2 и D_4 + D_2 или D_1 + D_3 и D_4 + D_3. Вариант одновременного включения D_2 и D_3 исключить, оставив приоритет включения за первым включенным.

Вот такие варианты возможны? Или может как-то изъясняюсь неправильно?

chaytan
Offline
Зарегистрирован: 02.02.2012

italius пишет:

ДУ

Вот и хорошо вы ночью пообщались.

Датчики для управления клиренсом, кстати, есть левые и правые.

Но даже в однотипных не составляет проблем изменить знак > на противоположный <.

nestandart - Вот LEVV2006 написал рабочий скетч и он проверен, чуточку подправлен и есть маленький изъян, но не критичный.

предлагаю делать все поэтапно

К данному скетчу делаем такой же с добавлением еще одного аналогового датчика A_2 и одного светодиода D_4 и расстовляем запреты и приоритеты.

Например такие:

Датчики D_1, D_4 могут быть включены вместе если их комбинации совпадают - D_1 + D_2 и D_4 + D_2 или D_1 + D_3 и D_4 + D_3. Вариант одновременного включения D_2 и D_3 исключить, оставив приоритет включения за первым включенным.

Вот такие варианты возможны? Или может как-то изъясняюсь неправильно?

ага, просто чудесно пообщались... очень много полезного и интересного для себя узнал.

датчики. я выше кидал ссылку на компоненты моей пневмы, там есть и датчики. они идут с одним и тем-же номером, просто при установке получается что один датчик работает от 0 до 5 а второй от 5 до 0, можна конечно один из двух провернуть на 180 градусов и тогда они оба будут показывать или от 0 до 5 или от 5 до 0, здесь все зависит какой датчик был перевернут. но неудобство лишь в том что при проворачивании разьем датчика оказывается не в самой лучшей позиции и вероятность попадания воды и повреждения становится очень высокой.

согласен относительно поэтапности. но как мне думается надо сразу определиться с конечным результатом, с тем что мы получим и тем что должно быть реализовано. определиться с компонентами, тем что будет контролироваться (датчики) и что будет управляться (клапана, компресор) ну и способ вывода и управления (светодиоды или дисплей, количество и назначение кнопок). насколько я понимаю всеравно это отдельные части скетча, просто на их выполнение оказывают влияния другие.

italius, надеюсь позволишь изложить свое виденье конечного результата. здесь будет взято из того как реализовано на ауди, фольцах и вито. 

italius
Offline
Зарегистрирован: 19.12.2011

 ДВ

Конечно хорошо увидеть конечный результат, но не забудь про то, что штатно в этих машинах стоят аксельометры и датчики поперечного и продольного ускорения и в работе это все учтено. Лучше потерпеть и сделать самое простое и в дальнейшем добавить возможности.

Как вижу я - одинаковая работа четырех контуров и объединение в две группы-пары с правильной расстановкой приоритетов и запретов. Затем необходимо установка (калибровка) среднего положения на програмном уровне (возможно кнопка ресета с удержанием и светодиодным подтверждением) и это уже будет основной базой. И только после этого перейти к дописапнию дополнительных предустановленных уровней и дополнение доп. датчиками (аксельометр, гироскоп, датчик давления....)

С ув

Игорь

chaytan
Offline
Зарегистрирован: 02.02.2012

italius пишет:

 ДВ

Конечно хорошо увидеть конечный результат, но не забудь про то, что штатно в этих машинах стоят аксельометры и датчики поперечного и продольного ускорения и в работе это все учтено. Лучше потерпеть и сделать самое простое и в дальнейшем добавить возможности.

Как вижу я - одинаковая работа четырех контуров и объединение в две группы-пары с правильной расстановкой приоритетов и запретов. Затем необходимо установка (калибровка) среднего положения на програмном уровне (возможно кнопка ресета с удержанием и светодиодным подтверждением) и это уже будет основной базой. И только после этого перейти к дописапнию дополнительных предустановленных уровней и дополнение доп. датчиками (аксельометр, гироскоп, датчик давления....)

С ув

Игорь

в некоторых (мерсы, туареги, фаэтоны) штатных системах действительно присутствуют дополнительные датчики, такие как датчики ускорений, но они нужны для управления амортизаторами. просто управление пневмой и амортами обьеденено в одном блоке но обработка выполняется двумя процесорами. в тойже ауди кватро этого нет, только взаимодействие с есп и блоком управления двигателя, как и у всех остальных. часть штатных пневм неимеют всего этого, только используют сигнал датчика скорости и несколько других сигналов необходимых только для вывода системы из спящего режима в дежурный и в зависимости от состояния выполняется работа по одному из алгоритмов.

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

к основной базе отношу- 4 датчика уровня, 4 клапана контуров, 1 клапан сброса, 1 клапан ресивера, реле компрессора, датчик давления в ресивере, датчик температуры компрессора, кнопки выбора режимов (несколько уровней и сервисный режим), индикация аварии и перехода в сервисный режим и конечно акселерометр для определения скорости движения (все остальные возможности акселерометра уже потом равно как и применение гироскопа). это на мой взгляд основной набор элементов которые будут задействованы. исходя из этого и составлять программу управления. причем здесь у нас много модулей которые автономны и лишь влияют на выполнение тех или иных операций. это относится к акселерометру, датчику давления в ресивере, датчику температуры компрессора и реле компрессора.

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

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

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

italius,vladdych тебе передает привет. сегодня забирал у него свои передние пневмостойки. доооолго прообщались....

italius
Offline
Зарегистрирован: 19.12.2011

Ок Спасибо

Вот попробовал порисовать скетч под два аналогового датчика и двух клапанов , но без запретов и приоритетов.

Вот что получилось, спасибо LEVV2006

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=0;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1=0;
int flag2=0;
int flag3=0;
int flag4=0;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
}
void loop() 
{
  
  if (analogRead(A_1)<450&&flag1==0)
  {
    Millis1++;
    delay(1);
      if(Millis1==interval) 
      {
        Millis1=0;
        digitalWrite(D_1, 1);
        digitalWrite(D_2, 1); 
        flag1=1;  
      }
  }
  if (analogRead(A_1)>=450&&analogRead(A_1)<=495)
    Millis1=0;




  if (analogRead(A_1)>550&&flag2==0)
  {
    Millis2++;
    delay(1);
      if(Millis2==interval) 
      {
        Millis2=0;
        digitalWrite(D_1, 1);
        digitalWrite(D_3, 1); 
        flag2=1;  
      }
  }
  
  if (analogRead(A_1)>=505&&analogRead(A_1)<=550)
    Millis2=0;


  if (analogRead(A_2)<450&&flag3==0)
  {
    Millis3++;
    delay(1);
      if(Millis3==interval) 
      {
        Millis3=0;
        digitalWrite(D_1_1, 1);
        digitalWrite(D_2, 1); 
        flag3=1;  
      }
  }
  if (analogRead(A_2)>=450&&analogRead(A_2)<=495)
    Millis3=0;


  if (analogRead(A_2)>550&&flag4==0)
  {
    Millis4++;
    delay(1);
      if(Millis4==interval) 
      {
        Millis4=0;
        digitalWrite(D_1_1, 1);
        digitalWrite(D_3, 1); 
        flag4=1;  
      }
  }
  
  if (analogRead(A_2)>=505&&analogRead(A_2)<=550)
    Millis4=0;


  if (analogRead(A_1)>495&&analogRead(A_1)<500)
  {
    flag1=0;
    digitalWrite(D_1, 0);
    digitalWrite(D_2, 0);
  }


  if (analogRead(A_1)>500&&analogRead(A_1)<505)
  {
    flag2=0;;
    digitalWrite(D_1, 0);
    digitalWrite(D_3, 0);
  }
  
  
  if (analogRead(A_2)>495&&analogRead(A_2)<500)
  {
    flag3=0;
    digitalWrite(D_1_1, 0);
    digitalWrite(D_2, 0);
  }
  
   if (analogRead(A_2)>500&&analogRead(A_2)<505)
  {
    flag4=0;;
    digitalWrite(D_1_1, 0);
    digitalWrite(D_3, 0);
  }
}

 нужно только дописать, что D_2 и D_3 не могут включаться вместе и разрешено включение поочередно после первого выключившегося.

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

Помогите пжлст расставить приоритеты и запреты при работе с двумя аналоговыми датчиками
С ув

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Какие приоритеты? Какие запреты? 0_о