цифровой индикатор ёмкости бака+температура

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

цифровой индикатор ёмкости бака+температура

Сообщение shtorm »

всем привет, хочу выложить для проверки мой маленький проект, может комуто пригодиться...я же делал это для друзей автомобилистов. итак если вам это интересно: сие устройство с интервалом в 5сек показывает кол-во топлива в баке авто и температуру салона. Настраиваеться практический на любой датчик в баке сопративлением до 500 Ом(ограничение внесено вручную). Работает на Меге8 отображает на семисегментник динамический с общим анодом, датчик температуры ds18b20. пожелания и жалобы сюда. если гдето начудил сильно не пинайте я только учусь )))
значит как правильно настроить:
1.отключаем "родной" прибор(откидываем провод от датчика бака)
2. подключаем прибор переключаем в режим настроек
3. в первом меню выставляем емкость бака
4. щелкаем кнопку "mod" выставляем максимальное сопративление датчика бака(на жигулях нового типа датчик на 330 Ом)
5. щелкаем кнопку "mod" и видим показания ацп...тут надо подстроечным резистором поймать значение 255 (ПРИ ПУСТОМ БАКЕ!!! либо при в ручную опущенном в нижнее положение поплавке)
6. коротнуть провод датчика бака на корпус(либо поднять поплавок в верхнее положение) при этом измениться показания на ацп, нажать на кнопку "+" при этом сохраняться данные в еепром
7. еще раз проверить правильность ввода перещелкиванием "mod" :)) и переключить кнопку(или джампер) в обычный режим.

вот и все :)

хотелосьбы услышать отзывы...
схему не чертил, печатку не делал :oops: поэтому выкладываю проект с проэтуса+фотки

P.S. резонатор на 8,0000МГц(что было под рукой)
кнопки лучше вынести на шлейф потому, что они нужны 1 раз только для настройки

+ до 8 датчиков температуры
+ дискретные светодиоды
+ вольтметр (от 8 до 15В погрешность 0,05)
+ тахометр(инжектор)
+ часы с внешним календарем (ds1307)
Вложения
full.rar
последняя полная версия которая осталось
(7.38 КБ) 462 скачивания
tank11.rar
отладка
(69.78 КБ) 1478 скачиваний
Последний раз редактировалось shtorm Пн ноя 22, 2010 16:28:23, всего редактировалось 13 раз.
Реклама
folks
Открыл глаза
Сообщения: 53
Зарегистрирован: Пт янв 18, 2008 19:59:20

Сообщение folks »

Хорошая задумка. Твои друзья проводили испытания? Какова точность измерения уровня топлива?
Реклама
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

shtorm писал(а):11 скачиваний и ниодного ответа :(

Возможно, народ кинулся в железе пробовать. Соберут отпишутся.
А возможно, нет протеуса, как у меня :) , а по фото ничего сказать не могут.
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Задумка очень и очень неплоха.
Однако,
Дисплей - зачем использовать 4 разряда индикации? Вполне достаточно и 3 ( если врезать в штатный прибор как правило не хватает 2-5 мм размера, а 3 разряда по габаритам меньше.
Отображение символов - стилизованная буква Р и S явно перебор. Последняя воспринимается как 5. На мой взгляд достаточно засветить DP в самом младшем разряде.
Отображение температуры.
Меги 8 думаю хватит и на точность 01 градуса, в крайнем случае 05 градуса. Символ С желательно заменить на маленький 0 (ABFG) сегменты.
По возможности 2 датчика температуры 1 охлаждающая жидкость 2 температура за бортом и привинтить второй датчик к той же кнопке.
Перебор параметров если возможно одной кнопкой с автовозвратом через 1-3 минуты в режим топливомера.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

Сообщение shtorm »

folks уже 5 день в кармане тоскаю....никак не могу установить...я расчитывал для форда и получилось 255-147=108. 59/108=0,54л - точность...на жигулях точность побольше 0,2 гдето вобщем зависит от датчика...

asteroid7 попробую схемку нарисовать и развести :P

Igr44 спасибо за советы...попробую доделать...да к стате с буквой S самому ненравиться надо чтонибуть другое придумать...а по поводу 2-х датчиков опять же надо както обозначить что первое это охлаждающяя жидкость второе температура за бортом...т.е. всетаки 4 разряда или отказаться от знака цельсия...
Вложения
tank.JPG
схема
(141.3 КБ) 1423 скачивания
Последний раз редактировалось shtorm Чт мар 12, 2009 10:49:41, всего редактировалось 1 раз.
Реклама
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Лучше откажитесь от индикации параметра, чем от самого параметра. По идее без цельсия можно обойтись. Хотя если привинтите 2 датчик тогда бомба получится. Можно действительно 4 разряда и 1й датчик просто 0 а второй 0 и D сегмент.
И так индикация режимов может выглядеть например:
Основной режим
(бак) 15 L
Первый тык кнопки ( температура охл. жидкости) 74 о
Второй тык кнопки ( температура за бортом, или в салоне, не важно) 25о
Третий тык возврат в режим бака
Если получится с этими доработками, думаю можно повторять.
И если не затруднит приделайте к 7 F сегмент в таблице знакогенератора, визуально воспринимается получше, проверено.
Вложения
Speedo.rar
Пример семерки
(15.76 КБ) 858 скачиваний
Реклама
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Да еще, чуть не забыл, прибери автоматическую смену бак-температура, очень неудобно в движении просто некогда коситься на прибор и ждать когда например засветится температура.
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

Сообщение shtorm »

по просьбам трудящихся: свежая версия :))
1. заменен значек температуры на верхний нолик
2. обозночение бака "b"(bak) заменен на "F"(fuel)
3. обозначение режима настроек "S"(setting) заменен на "t"(tuning)...вроде приятнее смотрится
4. в цифре 7 добавлен сегмент F
5. убранно 5 секундное мигание...теперь "перелистывать" меню нужно кнопкой, и если вы остановились на температуре то через минуту автоматически переключаеться на "топливо".
6. добавленно подключение до 8 !!! датчиков одновременно...подключать все паралельно...количество показаний в меню будет равно количеству датчику+1...так как непонятно какой по счету датчик где находиться...поэтому индикации номера датчика еще не придумал...придеться догадываться
7. датчики переключены на 9 битный режим...теперь время опроса датчика составляет 150мс но погрешность 0,5
8. обновление данных именьшенно с 5сек на 2сек
Последний раз редактировалось shtorm Ср мар 18, 2009 15:10:11, всего редактировалось 1 раз.
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Вот это уже очень и очень серьезно!
Хотя особой необходимости в 8 датчиках по моему нету. Ну 3 максимум( за бортом, в салоне, охлаждающая жидкость), а дальше вроде более нечего измерять, разве что как Бехах температуру масла, но это наверное уже лишнее.
Лучше конечно оставить пару датчиков температуры но добавить обычный бузард, который бы пищал при остатке топлива в баке менее 5 литров и повышении температуры выше 105 градусов.
И вот наконец вплотную подошли к индикации напряжения, то же не маловажный параметр, и все на той же кнопке ?
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Может это глюк моего Протеуса, но при подключении 2 датчика температура не меняется , показания постоянные -95.0
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

Сообщение shtorm »

по поводу кол датчиков, кол датчиков никак не сказываеться на работе устройства, опрашиваеться только тот датчик который на данный момент показывает, в меню появляються новые показания судя по количеству датчиков

по поводу пищалки, уже работаю в этом направлении :)

по поводу напряжения вообще не проблема.

по поводу протеуса нужно на втором, третем...и т.д. датчиках вручную выставлять разные серийные номера...это оба датчика отвечают одним номером, мк путаеться (в реале номера вроде как уникальны)
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Блин, за датчик стыдно до безобразия, и на старуху бывает проруха.
По буззарду не нужно искать модель с активным звуком достаточно логики работы обычного светодиода то есть при аварии уровень 1, все гуд 0( в итоге можем подключать буззард а можем и обычный СД ( тогда будет индикация аварии.
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

Ещё неплохо былобы функцию тахометр и вольтметра добавить.
PS. Сколько там ещё у Мега8 места осталось?
Изображение
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Очень и очень неплохо было бы, но там свои нюансы, нужно точно определиться с самим кварцем ( у автора явно экзотический номинал) и с
вариантом отсчета, для крабовых машин с одной высоковольтной катушкой один , под инжектора другой ( там две катушки)
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

Сообщение shtorm »

и вот я с новой версией :)
1. ориентация показаний в левую сторону+светодиодные индекаторы, теперь можно поставить как 4 разрядный индекатор так и 3 разрядный
2. добавлен вольтметр с погрешностью 0,05
3. добавлен сигнализатор аварий: при включении зажигания и каждую минуту проверяеться количество топлива и температура датчика Т1 если температура превысит 105 С то мигает индекатор Т1 и пишит базер(5раз) если топливо меньше 5 литров тоже самое только светодиод Fuel и пишит 3 раза.(в протеусе в место базерта сунул светодиод)

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

Igr44 - обещал помочь с разводкой...и подкинул схему ОУ на датчик бака (еще не разобрался поэтому не пририсовал), ему спасибо за потдержку в разработке :)

P.S. да к стати...поставил проеус 7,4 сп2 датчики температуры опрашиваються через раз...на версии 7,2 рабтает нормально...в чем фишка незнаю ((
Последний раз редактировалось shtorm Ср мар 18, 2009 15:06:20, всего редактировалось 1 раз.
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

В последней версии старый проект
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Ну, что поздравляю Вас коллега, проект почти дозрел, но позволю себе несколько комментариев.
Все теперь выглядит логично и эргономично, только немного смущает индикация. Чтобы получить некоторую универсальность и неприхотливость в деталях ( использование либо 3 либо 4 разрядного индикатора) возникает небольшой конфликт, считаю очень правильно тот факт что вы переместили служебные символы в крайний правый разряд, но на индикации малых величин, например топливо в баке 7.6 литра цифры сдвигаются в лево, такой же порядок наблюдается и при индикации температуры, т.е. кпримеру температура 1040 - на дисплее 1040
температура 470 - отображается 470 и последний (младший разряд не светится, а должно быть ( на мой взгляд более логично первый (старший разряд не светится, а индикация выводится на 2,3 разряды в 4 разряде символ температуры 0. То же самое должно быть и в указателе топлива, т.е. литраж до десяти литров должен отображаться во 2 и 3 разрядах, в четвертом символ L. Объем более 10 литров - десятки литров в старшем (первом) разряде, единицы во втором, десятые литра в третьем и символ в четвертом.
С индикацией напряжением все в норме. Теперь если используем 3 разрядный индикатор то мы запитываем только первые 3 разряда, и ничего в показаниях не теряем ( только символы отображения параметра, как 0, илиL. В железе сами индикаторы не отличаются распиновкой и колличеством выводов, отличие только в 4 рахрядном индикаторе запитана 6 ножка ( анод 4 -младшего разряда) а в трех разрядном она присутствует но не соединена ни с чем.
По звуковому сигналу аварии
в предложенном Вами включении и практической реализации возникнет проблема подзвучки буззарда самой динамической индикацией, да и не совсем удобно (отлавливать) строб анода одного из разрядов и открывать в период лог 1 на нем звукоизлучатель.
Если вас не затруднит не могли бы вы перецепить выход буззарда на любой из свободных портов Меги. Обратно, же в виде светодиода анодом к выходу меги катодом к земле, а светодиод аварии пусть остается, будет своеобразный наружный чек энджин, при необходимости его совсем можно не подключать.
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

Сообщение shtorm »

почему проблема с подключением 3 разрядов? не будет хватать какраз 6 ноги (4 разряда), т.е. будит не видно либо последней цифры (00,0) либо служебного символа. Если я не ошибаюсь на 3 разрядном отсутствует правый разряд а не левый.

а вот с базером не зря подлючил на стробировании...на мк осталось всего 1 нога свободная которую я расчитываю подключить к тахометру...может всетаки есть возможность сгладить строб?
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

[quote="shtorm"]почему проблема с подключением 3 разрядов? не будет хватать какраз 6 ноги (4 разряда), т.е. будит не видно либо последней цифры (00,0) либо служебного символа. Если я не ошибаюсь на 3 разрядном отсутствует правый разряд а не левый.

Именно так, но показания при индикации малых величин (до десяти литров сдвинуты в сторону старшего разряда и получается что при использовании 3 разрядного индикатора показываться будет 7.8L, а при топливе более 10 литров на индикаторе 22.5 (символ литра получается то пропадет то появится), то же самое и с температурой ( символ градуса при индикации до 10 будет присутствовать а при отрицательных и температурах выше 10 на индикаторе будет отсутствовать. Смысл вот в чем на индикаторе цифры не смещалюся влево - вправо, а четко привязаны к своему знакоместу, например десятки литров -1 разряд, единицы литров второй разряд, десятые литра - третий разряд. Четвертый (младший разряд используется для индикации символа о или L. А со стробированием звука я думаю можно будет решить вопрос добавлением обычной логики, раз ног Меги не хватает.

Постараюсь до середины следующей недели развести и сделать плату, думаю изменений в распиновке не будет, так что можно реализовывать в железе. так догадываюсь что тахометр будет на PB5 (19). К стати очень хорошо что вы переразвели выводы на катоды индикатора, теперь трассировать будет на много легче
Аватара пользователя
shtorm
Нашел транзистор. Понюхал.
Сообщения: 185
Зарегистрирован: Чт янв 22, 2009 14:03:25
Контактная информация:

Сообщение shtorm »

по поводу тахометра я вот что думаю: логично былоб использовать ногу int0 (нога 4) для внешних прерываний а не отслеживать вручную...может пока не позно перекинуть 1 ногу от семисегментника на 19 ногу?
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»