Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 29 мар 2024, 17:27

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Делаем Альфаметр
СообщениеДобавлено: 05 янв 2012, 03:47 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Решил выкладывать свои размышления и изыскания на тему этого хитрого прибора для автодиагностики и настройки ДВС.
В дано:
Условно прямые руки и инженерный склад ума.
Родня которая постоянно пинает сделай, Аа.....
Датчик кислорода Bosch LSH 25 0 258 0050 133 (узкополосный и не рекомендуемый для разработки чего либо )
Микроконтроллер АVR

Условие задачи:
Нужно создать устройство с питанием от сети. для работы на открытом воздухе.
Что-бы показывал не гипотетические попугаи а вполне конкретные единицы стехиометрического состава
топливо воздушной смеси. Как пожелание минимальное количество органов регулирования и простая работа в сложных условиях.

Для начала я решил выяснить что за зверь этот датчик и как он работает. Со вторым в принципе проблем не наблюдается. Прогрел датчик появилось напряжение. Величина напряжения зависит от коэффициента Альфа смеси. А вот конкретных ттх узнать не удалось. :shock:
Путём надоедания друзьям и пытками поисковика удалось выяснить что ТТХ у датчиков (здесь и далее узкополосные оксид-циркониевые датчики кислорода) одинаковые различается лиш конструктивным исполнением. Но какие они в точности большой вопрос.
И тут поисковик выдал картинку из мурзилки. Страшного вида c комментарием "Зависимость напряжений лямбда-зонда от коэффициента избытка воздуха (L) при температуре датчика 500-800оС "
Помедитировал и понял что не верю! Комментарий к файлу: Зависимость напряжений лямбда-зонда от коэффициента избытка воздуха (L) при температуре датчика 500-800оС
alfa_001.jpg
alfa_001.jpg [ 13.86 КБ | Просмотров: 20817 ]

Во 1 у датчика есть температурная зависимость иначе с чего его греть?
Во 2 любой электрохимический датчик прибор инерционный и нелинейный. А тут красивая картинка. Природа не любит прямых линий!
Путём долгих изысканий была найдена практическая информация на сайте http://alflash.com.ua/story.htm
В статье была картинка "Зависимость напряжения датчика от альфа" Посмотрел и понял что в это верю! Комментарий к файлу: Зависимость напряжения датчика от альфа
Лямбда зонд график.png
Лямбда зонд график.png [ 114.66 КБ | Просмотров: 20817 ]

По сути эти 2 графика похожи если сравнить их то ступенька на втором то-же видна и при определенном масштабе выглядят похоже.
Но 2 график позволяет нам использовать узкополосный датчик как широкополосный благо используем мы МК а не вольтметр и можем производить практически любую обработку сигнала с датчика.

Нужна таблица перевода. Те в одном столбце данные о напряжении в другом о Альфа а дальше дело техники.
Сочинять таблицу от руки я не стал долго и неудобно записывать 1024 значения. А учитывая что есть много научных пакетов которые умеет работать с данными ещё и не солидно. Под Linux есть пакет engauge-digitizer который я при случае использую. Комментарий к файлу: engauge-digitizer оцифровываем график
engauge.png
engauge.png [ 82.71 КБ | Просмотров: 20816 ]
Позволяет оцифровать график с картинки или с бумаги. Делаем картинку скармливаем проге. Выставляем реперные точки и вписываем координаты. Экспортируем данные в файл CSV. Закрываем прогу данные у нас есть но их мало у меня получилось 64 точки. А нужно 1024 и данные надо округлить до ближайшего целого. Ато МК будет считать очень долго.
Следующий щаг мы будем доводить данные до удобоваримого вида.
Я очень давно использую пакет LabPlot мне экселя давно не хватает. Даже по количеству данных.
Грузим наши данные в LabPlot и внимательно смотрим на график. Корявенько получилось :cry: линия местами с явными артефактами. Но у нас есть мощный мат аппарат. Для начала путём линейной интерполяции мы увеличиваем количество доступных данных например до 2048 точек.
Устал продолжение в следующей серии

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 06 янв 2012, 14:03 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Продолжение в следствии ошибок затянулось. Долго пытал я данные пока не понял что всё это не то что надо. Данных маловато для успешной мат обработки. Был применен программный пакет Fityk. Сам пакет заслуживает целой статьи но в кратко позволяет аппроксимировать данные произвольной функцией и не путём долгих подборов в коэффициентов. А мышетыканием и авто подбором по куче хитрых алгоритмов.
Комментарий к файлу: Окно с результатом работы fityk
fityk.png
fityk.png [ 77.97 КБ | Просмотров: 20797 ]

Ну и краткий пример было до обработки данных.
Артефакты до обработки
Комментарий к файлу: Было до обработки
артефакты.png
артефакты.png [ 12.32 КБ | Просмотров: 20797 ]

После обработке в Fityk
Комментарий к файлу: Обработтано
обработанно.png
обработанно.png [ 8.24 КБ | Просмотров: 20797 ]

На картинка один и тот-же участок функции только разный масштаб. Но общий смысл понятен.

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 07 янв 2012, 12:42 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Ура данные я победил. Но тут есть несколько не явных якорных мин.
Данные то у нас в таблице оказались немного не того вида. По оси альфа у нас оказалась линейная последовательность чисел. В по оси напряжение наша хитрая функция. Те при попытке данных о напряжении заменить на данные о номере строки получаем прямую линию :mrgreen:
Из курса математики нам известно что бы получить функцию обратную данной достаточно поменять данные по оси х записывать по оси у. Но в нашем случае после подобного преобразования нужно провернуть следующий финт. (тут меня мой препод по метметодам будет убивать ) Мы линейным интерполированием увеличиваем количество точек раз в 10. А следующим шагом возвращаем 1024. Как результат по оси напряжение линейный ряд чисел. По оси альфа функция датчика. Ура победа. График и данные прилагаются.


Вложения:
Комментарий к файлу: Начальные данные
исходные_0.png
исходные_0.png [ 15.63 КБ | Просмотров: 20756 ]
Комментарий к файлу: Итоговый график
итог_0.png
итог_0.png [ 11.06 КБ | Просмотров: 20756 ]
Комментарий к файлу: данные которые получились
stop.csv [11.78 КБ]
Скачиваний: 872

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Последний раз редактировалось anatoliy 08 янв 2012, 20:35, всего редактировалось 1 раз.
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 07 янв 2012, 20:32 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Теперь ближе к телу. То есть к железу. По тз у нас практически промышленные условия эксплуатации. Значит юзать ЖК дисплей придётся разве что с подогревом. Что не есть хорошо. А заметность и читаемость в сложных условиях очень посредственная. Будем юзать 4 разрядный LED индикатор. Для наших задач более чем достаточно. БП будем использовать от старого ноута как-раз 2 ампера при 16в может дать по паспорту. Для нормирования сигнала с датчика будем использовать ОУ lm358 его же вторую половинку для контроля тока с нагревателя. ОУ нас устраивает и по дрейфу шумам и цене и они у мя есть 8-) Ион будем использовать tl431. Тк параметры ИОН в нутрях МК не нормируются. Нагревателем датчика будем управлять ШИМ. С помощью irfz44n. С большим запасом и он у мя есть :-)

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 08 янв 2012, 17:00 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Сегодня примерял внутренний ацп e AVR. Я конечно подозревал что он бяка. Но что-бы на столько. :x :evil:
Опять нужно математикой заниматься. 10 разрядов а столько проблем. Но устройство у нас народное по тому стиснем зубы и попытаемся откалибровать ацп.
Сделаем стенд прецизионный цап + внутренний ацп.
Есть вот такие 12 разрядные ЦАП. Древность. Но 9 приёмка и фраза "лазерная подгонка делителей" внушает оптимизм. :geek:


Вложения:
Комментарий к файлу: к594па1
DSC00084.JPG
DSC00084.JPG [ 32.06 КБ | Просмотров: 20760 ]

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 11 янв 2012, 12:08 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
к594па1 откладывается. Нашел 24 разрядный цап PCM1723. не сложнее космической ракеты судя по датасшиту. :D


Вложения:
pcm1723e.pdf [154.94 КБ]
Скачиваний: 1029

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 11 янв 2012, 16:32 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904


Вложения:
AD562.pdf [153.96 КБ]
Скачиваний: 857
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 11 янв 2012, 17:43 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Ладно уговорили. :-)
к594па1 Она с лазерной подгонкой и нормированным коэффициентом нелинейности. Но 2 источника питания и ОУ. Кстати тогда надо ОУ выбрать что-бы картинку не испортил. Думаю tl082 вполне подойдёт.
АЦП у нас питается +5 -15 вольт . Те придётся делать источник +15 -15 от него же запитать ОУ . И источник +5 для цифровой части.
Учитывая повышенные требования к стабильности думаю использовать следящий регулятор на +15 -15. Ведь для 2х полярных схема важно что-бы напряжения были точно равны.

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 11 янв 2012, 20:22 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Я вот думаю, а нельзя ли откалибровать как-то проще? Может есть возможность найти какой калибровочный вольтметр? У поверителей знакомых нет? Источник регулируемого напряжения собрать не проблема (или даже заюзать какой-то готовый) а напряжение контролировать по эталонному вольтметру.
А то если собрать до кучи все источники нестабильности (разное питание, ОУ, ЦАП, посторонние шумы, температуру, давление ... цену помидоров в Африке...), по итогу, придется калибровать сам ЦАП... :bumbed:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Делаем Альфаметр
СообщениеДобавлено: 11 янв 2012, 20:52 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Ну у мя есть твердотельный опорник. (надо его только найти в завалах) От процентного вольтметра. Щ***** что-то там.
Смысл этих мучений это проверка ацп на монотонность.
Можно подумать как эти проблемы обойти. В нашем случае если мы запитаем ЦАП и АЦП от одного ИОН мы уберем дрейф напряжения ИОН и его шумы. Температурную зависимость мы уберём условием эксперимента. Прогреем и будем держать при одинаковой температуре. Шумы убираются многоканальным усреднением. Возможно даже придётся шум добавить что-бы быстрее выйти к значению.

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

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB