Простой БК для авто

whoim
Offline
Зарегистрирован: 03.11.2011

 Попросил друг, да и мне нужно с точки зрения развития. Перый на макетке, далее мелкая платка под дисплей. Зацените ТЗ, все ли верно?

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

Дано:
- микроконтроллер Atmega8L / Atmega168 / Atmega 328 в зависимости от необходимых ресурсов.
- Дисплей Nokia 3310
- Среда програмирования МК Arduino IDE

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

Расположение элементов на экране

#######################
#                     #
#   *****    *****    #
#   *   *    *        #
#   *   *    *****    # - зона 1
#   *   *        *    #
#   *****    *****    #
#                     #
# RPM: 1000  V: 12.3  # - зона 2
#                     #
#   c1: 1204 km/h     # - зона 3
#                     #
#######################

Конечно, размер шрифта будет крупнее. Зона 1 - выводятся показания скорости. Зона 2 - показания RPM и напряжения
бортовой сети.
Зона 3 - показания счетчиков либо времени / даты, переключается кнопкой 1.

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

Прибор подключается к машине следующим образом:

+BATT на постоянное напряжение бортовой сети
+ACC на зажигание (используется как сигнал для МК и питание подсветки дисплея)
GND - на корпус авто
+RPM на катушку зажигания - парралельно проводу с трамблера
+SPEED на датчик скорости, можно в парралель со спидометром (электронным)

Сигнальные выводы с импульсами подключены к пинам МК, работающим как прерывания и так же сконфигурированным в программе.
Функции, связанные с этими пинами, просто увеличивают временные переменные на единицу. В главном теле программы раз в одну десятую
секунды происходит расчет основной переменной и сброс в ноль временной. 
Расчет RPM: RPM = (tempRPM / числоЦилиндров) * 600, числоЦилиндров = 0 в случае сзятия сигнала с компьютера инжекторной машины. 600 здесь 60 * 10,
60 секунд в минуте умножить на 10 чтобы вывести показания не в одну десятую секунды а в секунду. То есть сначала расчитываем показания оборотов
в секунду и потом - в минуту.


Расчет скорости основан на тех же принципах но более сложен.
SensorType = 6; //число импульсов на оборот колеса, из паспорта датчика скорости
WheelDist = 0,865; //Расстояние за оборот колеса в метрах
SPEED = (tempSPEED / SensorType) * WheelDist; //вычисляем количество оборотов колеса и умножаем на дистанцию одного оборота колеса,
получаем пройденное расстояние в метрах за одну десятую секунды. Далее
SPEED = (SPEED * 1000) * 10 * 3800; Переводим метры в километры а одну десятую секунды в часы. Итог - КМ/Час.

Все переменные должны иметь float тип для точного расчета.

Данные обновляются раз в одну десятую секунды.

Парралельно с вычислением скорости производит пеперасчет обоих счетчиков пройденного расстояния.
counter1 = counter1 + (tempSPEED / SensorType) * WheelDist; //Значения счетчиков хранятся в значении метров за 1/10 секунды и пересчитываются в километры
непосредственно при выводе на дисплей.

Назначения кнопок. При включенном зажигании первая кнопка (select) переключает вывод третьей зоны дисплея между 
- счетчиком пробега 1
- счетчиком пробега 2
- часами / датой

Вторая кнопка в этом режиме имеет следующие функции:
- кратковременное нажатие ставит текущий счетчик на паузу либо отпускает его
- длительное нажатие сбрасывает счетчик в 0

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

 

Mastino
Offline
Зарегистрирован: 03.12.2011

мне кажется купить готовый будет дешевле и проще..:) А так ТЗ что надо!

whoim
Offline
Зарегистрирован: 03.11.2011

 Да причем тут купить, опыт надо получать) В принципе все готово, дисплей 3310 запустил, завтра за запчастями

whoim
Offline
Зарегистрирован: 03.11.2011

  (tempRPM / числоЦилиндров) * 600, числоЦилиндров = 0

ыы на ноль делить низзя, тут единица)

whoim
Offline
Зарегистрирован: 03.11.2011

 http://sxemy.103mb.ru/avto/51-tahometr_dlj_avtomobilj_na_mikrokontrollere_avr___attiny2313.html

схематику можно нагло стырить и расширить)

Mastino
Offline
Зарегистрирован: 03.12.2011

whoim пишет:

  (tempRPM / числоЦилиндров) * 600, числоЦилиндров = 0

ыы на ноль делить низзя, тут единица)

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

 

 

whoim
Offline
Зарегистрирован: 03.11.2011

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

Mastino
Offline
Зарегистрирован: 03.12.2011

whoim пишет:

 Mastino обычный советский уазовский трамблер (или коммутатор) дает 4 импульса за оборот.

неверю..:) что же получается 2 тактный мотор?:)

76region
Offline
Зарегистрирован: 08.07.2011

за 1 оборот кв на уазе трамблер делает 2 оборота

 

whoim
Offline
Зарегистрирован: 03.11.2011

неверю..:) что же получается 2 тактный мотор?:)

ну почему же. В трамблере четыре шторки, вспомни. За один оборот трамблера трамблер дает 4 импульса с ДХ. 

за 1 оборот кв на уазе трамблер делает 2 оборота

а вот про это я забыл) 

kadushkin
Offline
Зарегистрирован: 18.12.2011

Интересно как реализуешь подключение к АСС и датчику скорости.

Есть интересный датчик http://www.ebay.com/itm/Arduino-Voltage-Sensor-Module-/280715724672?pt=L...

Который на протекание тока реагирует, возможно как раз для АСС.

Ну а датчик скорости наверняка на эффекте холла, вот тут интересно как... он то ли 12В, то ли 5В. Если из под панели подключаться, то как сигнал обработаешь, просвети.

whoim
Offline
Зарегистрирован: 03.11.2011

 kadushkin оба интересующих меня тракта есть тут: http://sxemy.103mb.ru/avto/51-tahometr_dlj_avtomobilj_na_mikrokontrollere_avr___attiny2313.html

один для подключения напрямую к катушке (но ессно будет работать и с выхода коммутатора/компа специально для тахометра)

один для подключения внешних сигналов. ACC - берется с замка зажигания. Эти тракты надо считывать по LOW если я правильно понимаю. 

Mastino
Offline
Зарегистрирован: 03.12.2011

whoim пишет:

ну почему же. В трамблере четыре шторки, вспомни. За один оборот трамблера трамблер дает 4 импульса с ДХ.  

я смеюсь на щиот двух такного мотора.. :)

whoim пишет:

за 1 оборот кв на уазе трамблер делает 2 оборота

нет наоборот, за 2 оборотa кв, трамблер делает 1 оборот

whoim
Offline
Зарегистрирован: 03.11.2011

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

Mastino
Offline
Зарегистрирован: 03.12.2011

whoim пишет:

 так запутали совсем)

пишу так как есть..

A почему 76region ложную информацию публикует  я не знаю..

step962
Offline
Зарегистрирован: 23.05.2011

"При измерениях надо учитывать два момента. Первый: тахометр (тестер) показывает не обороты дрели (или вала трамблера), а обороты гипотетического КВ, которого на самом деле нет. Т. е. истинная скорость вращения вала трамблера - в два раза меньше, чем показания тахометра. И второе: в различных справочных изданиях данные или графики по работе трамблера могут находиться, так сказать, "в разных системах координат", т. е. в то время, как один автор по оси n (или х) располагает значения оборотов КВ, то другой - значения оборотов вала трамблера или равных им оборотов распредвала (РВ). И наоборот - по оси а (или у) могут располагаться как углы поворота КВ, так и вдвое меньшие углы поворота вала трамблера. Поэтому, прежде чем приступать к замерам, надо определить систему координат имеющегося эталонного графика или таблицы и перестроить их в систему "обороты КВ - углы поворота трамблера" - так будет проще в процессе работы. То же можно сказать и о графике работы вакуум-корректора: для упрощения процесса исходные (справочные) данные надо привести к виду "разрежение в атм - углы поворота трамблера"." 

Взято отсюда.

Цитата:

A почему 76region ложную информацию публикует я не знаю..

Плюс с минусом перепутал?

76region
Offline
Зарегистрирован: 08.07.2011

Значит попутал с клапанами, лет 15 его близко не видел

Mastino
Offline
Зарегистрирован: 03.12.2011

step962 - не вижу не минуса не плюса, а только обороты..:)

 

Mastino
Offline
Зарегистрирован: 03.12.2011

.

whoim
Offline
Зарегистрирован: 03.11.2011

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