PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Разработка устройств (http://pccar.ru/forumdisplay.php?f=18)
-   -   Ардуино парктроник на базе Sho-Me 2616 (http://pccar.ru/showthread.php?t=23555)

NSMax 19.10.2015 12:48

Ардуино парктроник на базе Sho-Me 2616
 
Вложений: 5
Здравствуйте, уважаемые :)
Давненько я тут не был.
Предлагаю Вашему вниманию крайне простую конструкцию парктроника на базе SHO-ME 2616, но думаю, что в качестве донора может стать любой с похожей схемотехникой, а она как правило одинакова.

Итак имеем парктроник в котором есть MUX - HCF4032, Усилитель - NE5532, обвязка по питанию и процессор - EM78P156.

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

Первым делом разобрался с пинами мукса

http://pccar.ru/attachment.php?attac...1&d=1445241147

и снял эпюры:

http://pccar.ru/attachment.php?attac...1&d=1445240905

Видим что на "Common X" - посылается сигнал 40кГц длительностью 0.48ms и потом он отлавливается с "Common Y" после операционника. Также подрыгиванием ног 10 и 9 можем выбирать датчик с которым работаем в текущий момент

http://pccar.ru/attachment.php?attac...1&d=1445241623

Ну а дальше все крайне элементарно - дрыгаем ногой ардуины и ждем ответ на 2й ноге (int1). Вот кусок кода дрыганья ногами.
2-я чтение
9-я запись пакета в порт
3,4 - MUX select

PHP код:

long time_delay;

void setup()
{
  
Serial.begin(115200);
  
DDRD B11111001;
}

void loop()
{
  
DDRD B11111101;
  
PORTD B00011000;
  
tone(OUT392003);
  
_delay(0);
  
pinMode(ININPUT_PULLUP);
  
_delay(30000);
  
PORTD B00000000;
}

void _delay(int x) {
  
time_delay 0;
  
time_delay micros();
  while (
micros() - time_delay x) {  }
  
0;


На выходе имеем следующее:

http://pccar.ru/attachment.php?attac...1&d=1445242563

Из картинки видно, что эхо прилетело через 17.408ms а это с учетом скорости звука 340.29m/s и пути в оба конца, составляет 2961,88416 mm. Правда есть один нюанс - скорость переключения MUXа из режима записи в режим чтения (или еще какие переключения) - 0.442ms что составляет 75,20409 мм что накладывает ограничение на минимальное измеряемое расстояние.
В ходе экспериментов удалось замерить с достаточной точностью (~10см) расстояние в 5 метров.

А теперь фото парктроника с точками подключения:

http://pccar.ru/attachment.php?attac...1&d=1445244292
Справа на разъемах это соответствие пинам MUX

Ниже:
1 - MUX select B
2 - MUX select A
3 - Common X - запись
4 - Common Y - чтение

(vS) 20.10.2015 09:18

насколько точно воду мерит?

NSMax 20.10.2015 22:27

Привет! Виктор....
Получилось следующее: при условии спокойной воды (не в режиме аэрации и при выключенном насосе наполнения) на расстояниях 20-15 см точность около 4х см, при расстояниях 120 - 240см (мне больше не надо) разброс не превышает 10 мм...
Сейчас заморочен написанием правильного кода. И у меня на выходе данные будут передаваться стандартным I2C 3-мя байтами. Причем не сырыми, а усредненными. Полный цикл опроса и обработки будет около 0,5 сек + одна нога на внешний INT и режим сна. При работе устройство пожирает около 100ма... Как то так.

(vS) 21.10.2015 06:18

Привет, Макс

100ма не дофига?
при условии стандартной бочки 200л, там наверно 120 высота емкости, что там будет с точностью? и ограниченность пространства насколько сказывается? т.е. насколько узкий "луч" ?

NSMax 21.10.2015 08:31

Высота у меня 140см. Расстояние от верхней границы воды до. Места установки около 20см. Я стал морочится когда мех. датчик навернулся а поменять его вообще не вариант, т.к. стоит у дна. Точность буду пробовать улучшить. По поводу 100ма - мой дипломный проект на подобную тему жрал около 4х ампер ) Правда был на ттл весь )

(vS) 22.10.2015 00:32

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


Часовой пояс GMT +4, время: 00:04.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot