Юрец Опубликовано 28 марта, 2009 Поделиться Опубликовано 28 марта, 2009 Сделал девайс для своей машины, думаю, многим понравится. Прибор устанавливается на любом автомобиле с напряжением бортовой сети 12В. Основные функции: 1.остаток топлива в баке в литрах. 2.напряжение бортовой сети. 3.рабочую температуру двигателя. 4.температуру воздуха снаружи машины. 5.изменение яркости дисплея в зависимости от включенного габаритного освещения (день/ночь). Дополнительно, компьютер обладает следующими сервисными возможностями: 1.калибровка штатного датчика уровня топлива. 2.установка уровня подсветки дисплея для режимов день/ночь. 3.изменение поправочного коэффициента инерционности показаний уровня топлива. Все калибровки прибора производятся программно. Для измерения температуры необходима установка собственных датчиков dallas ds18b20. В основе устройства лежит микроконтроллер AVR ATMega8 производства фирмы ATMEL. Для измерения напряжения бортовой сети предусмотрен отдельный контакт, который можно подключить непосредственно к аккумулятору или замку зажигания. В качестве индикатора был выбран алфавитно-цифровой ЖК индикатор фирмы МЭЛТ МТ-16S2H, который с успехом можно заменить на любой другой, совместимый с HD44780. Статья на сайте: Бортовой миникомпьютер В архиве схема, фьюзы для прошивания, файлы lcd.hex и lcd.epp, описание работы с менюшками. avr_lcd.rar 2 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
Блуд Опубликовано 12 апреля, 2009 Поделиться Опубликовано 12 апреля, 2009 (изменено) можно ли спросить, в правой нижней части схемы нужно ли общее соединение между землёй 7805 и минусами конденсаторов? и как МК узнает, какой датчик от двигателя, а какой уличный? Изменено 12 апреля, 2009 пользователем Блуд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Mobilom Опубликовано 12 апреля, 2009 Поделиться Опубликовано 12 апреля, 2009 можно ли спросить, в правой нижней части схемы нужно ли общее соединение между землёй 7805 и минусами конденсаторов? да нужно .. и как МК узнает, какой датчик от двигателя, а какой уличный? действительно ... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Юрец Опубликовано 13 апреля, 2009 Автор Поделиться Опубликовано 13 апреля, 2009 и как МК узнает, какой датчик от двигателя, а какой уличный? действительно ... собственно - контроллер не понимает, какой датчик на улице, а какой от двигателя. я делал так: подключаю 2 датчика (параллельно, как по схеме), потом нагреваю один из них (зажигалкой, паяльником, феном). далее смотрю на экране жк где поползла температура . если поднимается температура ДВ, то нагреваемый датчик цепляю на двигатель , и наоборот. (у датчиков есть свой уникальный серийный номер, именно по нему контроллер ориентируется в показе температуры.) 0 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
Блуд Опубликовано 13 апреля, 2009 Поделиться Опубликовано 13 апреля, 2009 понятно. спасибо. в принципе, я так и думал. куда можно посоветовать прицепить уличный датчик? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Mobilom Опубликовано 13 апреля, 2009 Поделиться Опубликовано 13 апреля, 2009 у меня в машине стоит за бампером ( с завода) 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
NebsteR Опубликовано 13 апреля, 2009 Поделиться Опубликовано 13 апреля, 2009 и как МК узнает, какой датчик от двигателя, а какой уличный? действительно ... собственно - контроллер не понимает, какой датчик на улице, а какой от двигателя. я делал так: подключаю 2 датчика (параллельно, как по схеме), потом нагреваю один из них (зажигалкой, паяльником, феном). далее смотрю на экране жк где поползла температура . если поднимается температура ДВ, то нагреваемый датчик цепляю на двигатель , и наоборот. (у датчиков есть свой уникальный серийный номер, именно по нему контроллер ориентируется в показе температуры.) эээ... т.е. теоретически можно подключить неограниченное кол-во датчиков на 1 ногу таким способом? 0 > Правила форума < ...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике... ...это не дым от канифоли, нет... это души умерших транзисторов.... Первый закон Ома: никому не рассказывать про Ома! Ну вот, а ты говорил ноль... Ссылка на комментарий Поделиться на другие сайты Поделиться
Блуд Опубликовано 13 апреля, 2009 Поделиться Опубликовано 13 апреля, 2009 (изменено) конечно, было бы красиво поднять точность датчиков до десятых (они ведь позволяют же). было бы точнее. если можно, то почему не поспользоваться?) место ведь на дисплее есть ещё.. эээ... т.е. теоретически можно подключить неограниченное кол-во датчиков на 1 ногу таким способом? ну, как сейчас помню, делалось 8 штучек. все работали. смотря для какой цели ведь. в машине 8 штук явно избыточно)) Изменено 13 апреля, 2009 пользователем Блуд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрец Опубликовано 14 апреля, 2009 Автор Поделиться Опубликовано 14 апреля, 2009 (изменено) конечно, было бы красиво поднять точность датчиков до десятых (они ведь позволяют же). при увеличении температуры (скажем с 24 до 25 градусов) почему-то конструкция типа: sprintf(lcd_buffer,"t=%i.%u\C",temp,temp%1); показывает t=24.0C , потом t=25.0C , хотя должны показываться 24.1 .... 24.9. не знаю, с чем это связанно..... я грешу на сами датчики .... вот код , описанный на многих сайтах: devices=w1_search(0xf0,rom_code); //ищем датчики, и записываем их адреса в массив while(devices>0) //бесконечный цикл, если датчик подключен { if(i>=devices){ //Если "i" больше или равно найденным датчикам i=0; //тогда "i" равно нулю } temp=ds18b20_temperature(&rom_code[0]); //читаем температуру с выбранного датчика if (temp>1000){ //если датчик выдает больше 1000 temp=4096-temp; //отнимаем от данных 4096 temp=-temp; //и ставим знак "минус" } sprintf(lcd_buffer,"t=%i.%u\C",temp,temp%1); //записываемем массив для экрана температуру lcd_clear(); //чистим дисплей перед выводом lcd_puts(lcd_buffer); //выводим массив на LCD }; если кто - нибудь знает, в чем грабли - буду рад сотрудничеству (с последующим исправлением в прошивке). Изменено 14 апреля, 2009 пользователем Юрец 1 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
Блуд Опубликовано 14 апреля, 2009 Поделиться Опубликовано 14 апреля, 2009 (изменено) Автор, вот мой код, реально рабочий (с десятыми работает). Пользуюсь им уже достаточно долго float temp; long temp2; { temp=ds18b20_temperature(&rom_codes[0]); temp2=temp*10; sprintf(lcd_buffer2,"t%u=%d.%i\xdfC",j++,(temp2-(temp2%10))/10,temp2%10); lcd_clear(); lcd_puts(lcd_buffer2); delay_ms(500); датчики тут, конечно, не при чём. автор, если будут проблемки, стукни в асю, сообразим на двоих, а то, думаю, всем здесь читать разбирательства по поводу кода не шибко интересно=) пояснения к моему коду: (temp2-(temp2%10))/10 - цифра десятков - из общего числа вычитаем количество единиц и делим на 10 temp2%10 - а это цифра единиц в вашем же случае sprintf(lcd_buffer,"t=%i.%u\C",temp,temp%1); //записываемем массив для экрана температуру temp%1 - это остаток от деления числа на единицу. к дробным числам такая штука не работает. надо переносить точку (умножать на 10) и потом делить с остатком на 10, остаток и будет искомым числом. любое число при делении на единицу даёт в остатке ноль. поэтому и выводится у вас ноль после точки Изменено 14 апреля, 2009 пользователем Блуд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрец Опубликовано 15 апреля, 2009 Автор Поделиться Опубликовано 15 апреля, 2009 вот прошивка для показа температуры с долями градусов: lcd_2.rar но мне кажется, что это излишне (более удобочитаемо смотреть на целые числа). to admin : можете прикрепить и эту прошивку для желающих. 0 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
ANAIT Опубликовано 15 апреля, 2009 Поделиться Опубликовано 15 апреля, 2009 Автору.Какой программой лучше воспользоваться для прошивки контроллера? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Блуд Опубликовано 15 апреля, 2009 Поделиться Опубликовано 15 апреля, 2009 (изменено) с десятыми динамичнее получается. особенно, когда машина почти прогрелась. Автор. Энергонезависимая память ведь ещё осталась. почему бы не сделать более точной регулировку бензина в баке? плюс-минус 1 литр- это слишком грубовато, ведь можно, к примеру, снизить порог. выводить с точностью до десятых, калибровать по пол-литра (не понимаю, почему вы так боитесь десятых?) Особенно, когда бензина не так много и осталось- это будет важно. Например, если осталось 3,8 литра, то в вашем случае покажет 3, ошибка довольно велика выходит, а если покажет 3,5 то это уже куда ни шло) это так, перспективы. ваш проект ведь можно развивать и развивать. Изменено 15 апреля, 2009 пользователем Блуд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 15 апреля, 2009 Поделиться Опубликовано 15 апреля, 2009 вот прошивка для показа температуры с долями градусов:но мне кажется, что это излишне (более удобочитаемо смотреть на целые числа). to admin : можете прикрепить и эту прошивку для желающих. Закачал и эту на сайт 0 VK | Дзен | Telegram | OK Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрец Опубликовано 16 апреля, 2009 Автор Поделиться Опубликовано 16 апреля, 2009 (изменено) Автору.Какой программой лучше воспользоваться для прошивки контроллера? я прошиваю в codevisionAVR , в которой и пишу программу. но, если требуется просто прошить контроллер, то можно использовать ponyprog в архиве - описание работы с ponyprog "для чайников" HELP.rar Автору.почему бы не сделать более точной регулировку бензина в баке? а вы посмотрите (лучше посчитать) количество витков проволоки на реостате уровня топлива, по которому двигается ползунок. я не думаю, что для бака (скажем 40 литров) количество витков реостата будет 80 и более (40*0,5 , где 0,5- показ через 0,5 литра)... Изменено 16 апреля, 2009 пользователем Юрец 0 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
Viper2107 Опубликовано 16 апреля, 2009 Поделиться Опубликовано 16 апреля, 2009 Здравствуйте! Я как новенький возможно задам глупые вопросы но хотелось бы получить ответ. Подскажите пожалуйста что за датчик подключен на МК на 13 вывод? И прошивка для МК она полная? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ANAIT Опубликовано 17 апреля, 2009 Поделиться Опубликовано 17 апреля, 2009 Автору.Спасибо за помощь!Если можно еще вопрос:Можно ли использовать вместо индикатора указанного на схеме индикатор WINSTAR WH1602C? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрец Опубликовано 17 апреля, 2009 Автор Поделиться Опубликовано 17 апреля, 2009 что за датчик подключен на МК на 13 вывод? И прошивка для МК она полная? на 13 ноге подключен пьезоизлучатель типа зп1, зп3. да собственно любой другой (можно использовать китайский, который стоит в цифровом мультиметре). попадаются в детских игрушках. служит для "пикания" при нажатиях на кнопки. прошивка для МК полная (охватывает полный дамп памяти микроконтроллера). Можно ли использовать вместо индикатора указанного на схеме индикатор WINSTAR WH1602C? насколько я знаю, у индикатора WINSTAR WH1602C полная совместимость с HD44780, поэтому подключайте, должно работать. 0 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
ANAIT Опубликовано 18 апреля, 2009 Поделиться Опубликовано 18 апреля, 2009 Автору.Спасибо.Начал собирать прибор.Обязательно сообщу о результатах. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Viper2107 Опубликовано 18 апреля, 2009 Поделиться Опубликовано 18 апреля, 2009 Спасибо за ответ 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ANAIT Опубликовано 22 апреля, 2009 Поделиться Опубликовано 22 апреля, 2009 Автору.Собрал прибор,прошил конроллер,так как Вы указали.После подключения ирдикатор ничего не показывает.Решил проверить контроллер,но Pony Prog его не видит.Подскажите пожалуйста где моя ошибка. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрец Опубликовано 22 апреля, 2009 Автор Поделиться Опубликовано 22 апреля, 2009 (изменено) Решил проверить контроллер,но Pony Prog его не видит. а до программирования Pony Prog видел контроллер? если ДА, то вероятно неправильно выставлены фьюзы (прошивка не причем). все работает (уже третий девайс). во всех трех использовал ATMEGA8-16PU в DIP корпусе. пробуйте реанимировать микроконтроллер подключением кварца, подачей внешних импульсов (где-то в соседних ветках форума есть похожее). если залочен RESET то самый простой способ восстановить (без применения параллельного программатора) - этот способ испытан (и мною тоже) неоднократно. по фьюзам здесь подробно расписано. будут вопросы - пишите. вопрос ко ВСЕМ : кто повторял конструкцию? Изменено 22 апреля, 2009 пользователем Юрец 0 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
ANAIT Опубликовано 22 апреля, 2009 Поделиться Опубликовано 22 апреля, 2009 До програмирования - видел.После загрузки файла прошивки и EEPROM,я нажал на вкладке "биты конфигурации и защиты" клавишу "считать",затем выставил фьюзы согласно рисунку,затем нажал "записать".Самое интересное,что после прошивки я дважды проверял, программатор нормально определял контроллер.Очень хочется повторить замечательный прибор. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрец Опубликовано 22 апреля, 2009 Автор Поделиться Опубликовано 22 апреля, 2009 1.Решил проверить контроллер,но Pony Prog его не видит.2.после прошивки я дважды проверял, программатор нормально определял контроллер. нестыковочка... либо я что-то недопонял... сейчас программатор определяет контроллер? индикатор WINSTAR WH1602C? ошибки в монтаже проверяли? p.s. мне как-то попадался один из WINSTARовских 4х20 WH2004A, так я его и не запустил... (работал только тестовый режим - на экране черные прямоугольники знакомест).может заводской брак, или еще что-то. стоит прилично. в итоге - деньги на ветер... совместимость разных фирм 0 не всё золото, что на контактах... Ссылка на комментарий Поделиться на другие сайты Поделиться
ANAIT Опубликовано 23 апреля, 2009 Поделиться Опубликовано 23 апреля, 2009 Автору.Сейчас программатор не видит МК.Индикатор WH1602C-YGH-CTK.С удовольствием применил бы индикатор указанный на схеме,но к сожалению в Киеве их просто не возможно купить.С трудом нашел Винстаровский,по даташит вроде идентичен с МЭЛТ,кирилицу поддерживает.Интересен тот факт,что через несколько минут после включения,на индикаторе действительно появляются квадратики,потом исчезают.Монтаж проверял.У нас в Киеве этот индикатор стоит менее 7 у.е.попробую еще раз прошить очередной МК,и заменить индикатор. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.