Цифровой измеритель остатка топлива и напряжения АКБ
Цифровой измеритель остатка топлива и напряжения АКБ для автомобиля (ATMega8 и дисплей от Nokia 1110i)
18.06.11 hsl 155 559 67
Автомобильная электроника Микроконтроллеры
Не знаю кому как, а мне лично не нравится точность, вернее ее полное отсутствие у автомобильного индикатора топлива. Поэтому, как только появилась у меня машина, решил эту недоработку исправить.
В итоге появился этот индикатор, который умеет следующее:
1. Отображать остаток топлива с точностью до литра, поддерживаемый объем бака выбирается от 30 до 99 литров
2. Отображать напряжение бортовой сети
3. Компенсировать качание поплавка в баке многократными (количество выбирается в меню) замерами и выводом среднеарифметического значения.
4. Менять яркость подсветки в зависимости от освещенности, 2 режима, день/ночь, определяется по включению подсветки приборной панели.
5. Менять режим отображения индикатора обычный/инверсный.
↑ Усовершенствование датчика топлива на ВАЗ-ах
Хотя речь дальше пойдет и не об этом БК, но одну вещь стоит упомянуть уже тут, ее я переделал еще тогда под первый БК, это датчик топлива в баке.
Что из себя представляет этот датчик на ВАЗ 2106? Это обычный проволочный переменный резистор, сопротивлением ~350 Ом. Но есть у него одна особенность - это нелинейность намотки, вначале (пустой бак) виток к витку, а к концу (полный бак) уже через несколько витков. Может для родного индикатора это и нормально, но для БК на мой взгляд неприемлемо, при калибровке получается в начале бака на 1 литр приходится 15-20 Ом, а в конце на 1 Ом приходится 1-2 литра.
Поэтому решил я его перемотать, тем же проводом, но равномерно через виток, на подложке присутствуют насечки, поэтому контролировать шаг намотки несложно. В итоге через виток как раз хватило на весь диапазон, а при калибровке на 1 литр приходится ~10 Ом +- конечно, все таки бак не прямоугольный, но все литры теперь фиксируются четко.
Тут можно заметить некую нестыковочку, сопротивление датчика ~350 Ом, на 1 литр приходится ~10 Ом, 40 литров не получается, однако получается, дело в том что в начале датчика намотано некое количество провода в навал, естественно витки замкнуты, при нормальной намотке общее сопротивление увеличилось как раз до ~400 Ом.
И так идем дальше, после установки БК остался не удел родной индикатор топлива, и мне пришла мысль сделать в его корпусе нечто типа мини БК, с отображением только топлива и напряжения. Так родилась первая версия индикатора,
но это еще было не мое творение, а совместное с Ветровым Ю.А. поскольку я лишь адаптировал исходную схему и программу под дисплей Nokia 3310, именно на нем и был сделан первый вариант. Но в итоге он мне не понравился, в основном из за дисплея. Только фирменные дисплеи 3310 имеют нормальные контакты, а их найти сейчас довольно сложно, а у левых контакты на стекле напылением, в общем не лучший вариант, да и программу хотелось написать свою.
↑ На этом с предысторией закончено
Пока эксплуатировался первый вариант, разрабатывалась новая программа и подбирался другой дисплей...
И так новая программа готова, дисплей выбран, я остановился на дисплее от Nokia 1110/1200/1110i/1112,
по размеру практически влезает в корпус родного индикатора, нужно лишь чуть подпилить уголки подсветки.
↑ Схема
↑ Детали
Практически все детали использовал SMD, кроме резисторов R1 - используется как опорная часть делителя напряжения, у меня на нем был откалиброван бак еще в первом БК, чтоб не перекалибровывать, так и использую его, R20 - токоограничительный для подсветки, поскольку с подсветкой много экспериментировал, то решил там оставить обычный резистор.
Список элементов
Наверное стоит пояснить зачем стоит такой мощный транзистор на подсветку, ну во первых они у меня есть, а во вторых по такой схеме можно подключать любую подсветку и на любое напряжения +5 или +12, хотя на +12 предпочтительнее, не надо греть стабилизатор 7805 лишней нагрузкой. Сделал такое подключение еще и по той причине, что пока экспериментировал с дисплеем спалил подсветку, но немного извратившись сумел приспособить туда 2 сверхярких 3мм светодиода.
Резистор R22, по схеме он подстроечный, но потом решил что по месту настрою и поставлю постоянный.
Подключается индикатор через родной разъем, используются 4 провода, земля, плюс бортовой сети, подсветка приборной панели (+12в), датчик топлива.
↑ Конструкция
Платы решил сделать две, одна для установки дисплея, вторая основная, платы круглые, по диаметру корпуса 50 мм.
Под разъем индикатора ответной части не нашел поэтому сделал разводку под шлейф, отпаял от него разъем и припаял шлейф прямо на плату с обратной стороны, сам дисплей посадил на двухсторонний скотч.
Основная плата формально двух сторонняя, но обратная сторона вся используется под "землю" с обратной стороны установлены только стабилизаторы и транзистор, остальные детали практически все SMD установлены со стороны дорожек. Отверстия с квадратными площадками "земляные" пропаиваются перемычками, остальные отверстия со стороны "земли" рассверлены.
Две платы между собой соединяются при помощи контактов от какого то давно разобранного разъема. В корпусе платы фиксируются на одном винте, под него на основной плате припаяна втулка с резьбой.
Кнопок как таковых нет, они и нужны то не часто, только при первоначальной настройке и калибровке, поэтому они просто выведены на разъем РС10, который стоит сзади корпуса, его фоток к сожалению нет. Так же на этот разъем выведены сигналы для программирования МК.
↑ Программа
Режимы работы, их два:
↑ 1. Рабочий режим
в него он входит после включения питания и отображает остаток топлива и напряжение бортовой сети.
↑ 2. Режим установок
в этом режиме производятся первоначальные установки и калибровка бака. Вход в этот режим осуществляется кнопкой Menu
В режиме установок перемещение по пунктам меню вверх/вниз производится кнопками Up/Down
Вход в подменю кнопкой Ок
Кнопка Menu в режиме установок служит для возврата в предыдущее меню.
↑ Емкость
Здесь устанавливаем емкость бака
↑ Калибровка
Здесь производится калибровка бака
Уровень, это ячейки каждого литра, выбирается кнопками Up/Down
Датчик, это то что выдается с датчика в баке в данный момент
В памяти, это то что записано в памяти в ячейке текущего литра
↑ Плавность
Устанавливаемая цифра это количество замеров уровня топлива, затем выводится среднеарифметическое значение.
↑ Яркость день/Яркость ночь
Здесь устанавливаем яркость подсветки соответственно днем и ночью, фактом дня и ночи является включение подсветки приборной панели.
↑ Инверсия
Переключение режима работы дисплея, обычный/инверсный
Во всех пунктах меню для изменения значений используются кнопки Up/Down,
для применения измененных значений необходимо нажать кнопку Ок, на несколько секунд на дисплее появится надпись "Сохранено", чтобы выйти из текущего пункта меню без сохранения нужно нажать кнопку Menu
↑ Настройка
1. Программирование МК, производится внутрисхемно, любым программатором, фьюзы выставляются следующим образом
2. Настройка показаний напряжения. Для настройки подключаем подключаем индикатор к напряжению 12-14 в., подключаем к этому же источнику вольтметр и подстроечным резистором R3 выставляем то же значение что показывает вольтметр.
3. Программная настройка.
Выставляем емкость бака и калибруем его. Калибруем бак следующим образом, начинаем с пустого бака, ставим в меню калибровка значение литров 0 и нажимаем ОК, затем заливаем в бак 1 литр, ставим значение литров на 1 и снова нажимаем ОК и так с каждым литром до полного бака. Процесс конечно небыстрый, но сделать его нужно всего один раз. Если при калибровке еще и записать показания датчика, то при необходимости повторения устройства или при сбое, можно будет занести значения сразу в прошивку и не маяться с калибровкой.
Остальные настройки устанавливаем на свой вкус.
На этом настройка закончена, можно ставить индикатор на место.
Цифровой измеритель остатка топлива и напряжения АКБ
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(2)
- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
10usability
-
10creativity
-
10content
More by Igor
-
-
-
-
-
-
3D printed Enclosure Backplate for Riden RD60xx power supplies
154 1 1 -
-