Как сделать бортовой компьютер
Перейти к содержимому

Как сделать бортовой компьютер

  • автор:

Бортовой компьютер своими руками? — легко!

Давно была идея сделать бортовой/маршрутный компьютер в авто.
Есть готовые очень неплохие мультитрониксы — но с ними проблема, они не поддерживают наши старые тоетки по OBD (точнее авто не поддерживает OBD диагностику).

Решено сделать свое универсальное устройство, которое будет уметь все и все.
В качестве «мозга» — AVК контроллер Atmel AtMEGA640/1280/2560 серии.
Тем более, что плата готовая и подходящая по всем параметрам и возможному функционалу — давно валяется в загашнике, запасы от старого проекта 🙂

Функционально состоит из 2х частей — слева БП от 220В, справа собственно сам процессор.
Т.к. в авто уже есть 12В — то соответственно БП на 220 — нам не нужен. Сделано для универсальности.
На данной плате все сделано по максимуму именно для универсального применения — можно реализовать от примитивной елочной «мигалки», до системы «умный дом» — на сколько хватит фантазии.

Ну а касательно нашей задачи, функционал будет примерно следующий:
— вывод информации со всех датчиков, как штатных так и допольнительных, а это —
— температура ОЖ ДВС
— температура масла двигателя
— температура ОЖ доп датчик (верхний патрубок радиатора)
— температура масла в АКПП, в поддоне
— температура воздуха во впуске
— давление во впускном коллекторе (наддув)
— время открытия форсунок / % загрузки
— положение дросселя (% открытия)
— напряжение в сети
— ведение логов и возможность записи информации на компьютер (ноутбук) по RS232

Функции маршрутного компьютера:
— скорость/пробег — суммарный/за поездку
— расход средний/за поездку
— снятие ограничителя скорости (для сток мозга)
— текущая передача АКПП (если кому интересно)

Любые доп. функции — кому на сколько хватит фантазии.
Можно как снимать данные с любых датчиков — например, поставить акселерометр (ADXL*) — и измерять ускорение. Либо управлять любыми внешними исполнительными устройствами.

На текущий момент стадия проектирования функционала, для наглядности пара «скринов» — экранчик пока такой, что под рукой было. Со временем может переделаю на графический — посимпатичнее будет внешний вид.

Фото в бортжурнале Toyota Soarer (3G)

WAT — температура воды радиатор/ДВС
OIL -температура масла в двигателе/АКПП
IAT- температура воздуха во впуске INJ — время открытия форсунок
BST — давление во впуске (наддув) DRS — % открытия дросселя

Фото в бортжурнале Toyota Soarer (3G)

FULLRUN — суммарный пробег/расход топлива
AVG — средняя скорость движения, средний расход топлива
CUR — текущая поездка, пробег/расход
SPD — текущая скорость движения, (можно еще добавить сюда же мгновенный расход топлива)

Вариант представления данных в виде «прогресс бара». На скрине буст и % открытия дросселя.

Все данные даны для примера. Пока на неподключенном к авто устройстве.

Может у кого еще какие мысли и предложения будут — каменты приветствуются.

Продолжение следует … (по мере сил и свободного времени).

Бортовой компьютер на ардуино своими руками

Появился как-то неожиданно в гараже Днепр МТ-16 и т.к. я только начал вникать в программирование микроконтроллеров то, руки сразу зачесались что-то заколхозить на него) Мной было принято решение сделать бортовой компьютер. Решил, что на дисплее будет отображаться напряжометр, термометр, тахометр и температура с двух бошек.

Фото в бортжурнале Great Wall Hover

Ну чтож руки в ноги и отправился писать код) Спустя некоторое время макетная плата приобрела вид хаоса из проводов.

Фото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall Hover

В левом верхнем углу вольтметр, в правом верхнем температура окружающей среды с датчика TMP36, по центру тахометр и внизу справа и слева температура с левой и правой головы соответственно. Снимать температуру решил термопарой типа К. Вольтметр из обычного делителя, для бортовика с головой хватит такого решения. Импульсы оборотов коленвала я снимать решил через оптопару с безконтактной системы зажигания.

Фото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall Hover

Вроде бы все настроено и работает как надо. Проверил на аппарате. Надо бы сделать корпус для дисплея.

Фото в бортжурнале Great Wall Hover

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

Фото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall Hover

Сделал вот такую плату. Атмегу взял конечно конскую для таких целей))))) Тут бы и 8 хватило) Но задача была все сделать поскорее, хочется кататься) и на тот момент я в основном писал в ардуино ИДЕ.

Фото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall HoverФото в бортжурнале Great Wall Hover

#include // библиотека для дисплея
#include «max6675.h» // библиотека для термопары

OLED myOLED(SDA, SCL);

extern uint8_t SmallFont[]; // шрифт термометров
extern uint8_t MediumNumbers[]; // шрифт вольтметра
extern uint8_t BigNumbers[]; // шрифт тахометра
extern uint8_t akb[]; // иконка «Аккумулятор»
//extern uint8_t logo[]; // логотип используемый при запуске
extern uint8_t logo2[]; // логотип используемый при запуске

#define volt A1 // пин для вольтметра
#define R1 199.0 // (+) номенал резистора делителя напряжения кОм
#define R2 9.96 // (-) номенал резистора делителя напряжения кОм
#define TMP36 A0 // пин под датчик наружной температуры LM36

#define tachometer 2 // пин тахометра. INTERUPT0

#define thermoDO 5 // пин SO max6675
#define thermoCS_R 6 // пин CS max6675 правая термопара
#define thermoCS_L 8 // пин CS max6675 левая термопара
#define thermoCLK 7 // пин SCK max6675
MAX6675 thermocouple_R(thermoCLK, thermoCS_R, thermoDO); // инициализация правая термопара
MAX6675 thermocouple_L(thermoCLK, thermoCS_L, thermoDO); // инициализация левая термопара

float V, V1, Voltage = 0; // переменная хранящая данные вольтметра
float temp_out; // переменная для наружной температуры
volatile unsigned int RPM = 0; // переменная тахометра
unsigned long tmr1, timer_imp = 0; // переменные для таймеров

void tacho() // Обработчик прерывания от пина INT0
RPM=60/((float)(micros()-timer_imp)/1000000); // расчет оборотов
timer_imp=micros(); // засекаем когда был последний импульс
>

void setup()
pinMode(volt, INPUT); // пин для вольтметра
pinMode(TMP36, INPUT); // датчик наружной температуры
pinMode(tachometer, INPUT); // пин тахометра
analogReference(INTERNAL); // мерить будем относительно внутреннего опорного напряжения в 1,1в
V = 1.1 / 1024.0 / (R2 / (R1 + R2)); // расчет коэффициента для вольтметра
temp_out = ((analogRead(TMP36) * 1.1 / 1024.0) — 0.5) * 100; // считываем температуру и переводим в градусы
myOLED.begin(SSD1306_128X64); // подключаем дисплей
myOLED.clrScr(); // очищаем дисплей
// myOLED.drawBitmap(30, 0, logo, 64, 64); // рисуем стартовое лого
myOLED.drawBitmap(12, 0, logo2, 100, 63); // рисуем стартовое лого2
myOLED.update(); // выводим все на экран
attachInterrupt(0, tacho, RISING); // устанавливаем прерывания на пине INT0 (D2)
delay(4000); // задержка для стабильности и показа логотипа
>

void loop()
Voltage = analogRead(volt) * V; // Вольтметр
if ((micros() — timer_imp) > 300000) RPM = 0; //если сигнала нет больше 300мсек считаем что RPM 0

if (millis() > tmr1) //считываем окружающую температуру по заданному интервалу
temp_out = ((analogRead(TMP36) * 1.1 / 1024.0) — 0.5) * 100 ; // считываем температуру и переводим в градусы
tmr1 = millis() + 30000; // задаем интервал 30мс
>

//вывод на экран

myOLED.clrScr(); // очищаем экран
myOLED.setFont(MediumNumbers); // задаем шрифт MediumNumbers
myOLED.printNumF(Voltage, 1, 18, 0); // пишем напряжение с 1 знаком после запятой. В х0 у0
myOLED.drawBitmap(0, 1, akb, 18, 15); // рисуем иконку аккумулятора
myOLED.drawLine(0, 18, 128, 18); // рисуем верхнюю линию
myOLED.drawLine(0, 48, 128, 48); // рисуем нижнюю линию
myOLED.setFont(SmallFont); // задаем шрифт SmallFont
myOLED.print(«B», 67, 9); // пишем «В» (вольт)
myOLED.print(«RPM», 0, 38); // пишем RPM
myOLED.printNumI(thermocouple_L.readCelsius(), LEFT, 53); // считываем температуру с левой термопары
myOLED.printNumI(thermocouple_R.readCelsius(), RIGHT, 53); // считываем температуру с правой термопары
myOLED.printNumF(temp_out, 1, 95, 0); // пишем наружнюю температуру
myOLED.print(«C», RIGHT, 0); // пишем С (градусы)
myOLED.setPixel(121, 0); // ставим пиксель для обозначения градусов
myOLED.setFont(BigNumbers); // задаем шрифт BigNumbers
myOLED.printNumI(RPM/2/10*10, RIGHT, 21); // пишем обороты с 0 на конце.
myOLED.update(); // выводим все на экран

delay(150); // задержка для стабильности
>

// Generated by : ImageConverter Mono Online
// Generated from : akb.png
// Time generated : Wed, 18 Jan 17 11:27:44 +0100 (Server timezone: CET)
// Image Size : 18×15 pixels
// Memory usage : 33.75 bytes

#if defined(__AVR__)
#include
#define imagedatatype const uint8_t
#elif defined(__PIC32MX__)
#define PROGMEM
#define imagedatatype const unsigned char
#elif defined(__arm__)
#define PROGMEM
#define imagedatatype const unsigned char
#endif

imagedatatype akb[] PROGMEM=0xFC, 0x04, 0x04, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x85, 0x05, 0x05, 0x04, // 0x0010 (16) pixels
0x04, 0xFC, 0xFF, 0xC0, 0xC0, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC3, 0xC1, // 0x0020 (32) pixels
0xC0, 0xC0, 0xC0, 0xFF,
>;

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

Но все же решил выложить работу. Вдруг кому-то из нее что-то пригодится. Код писал очень подробно весь, разберется даже школьник. Да там вроде и ничего особо сложного и нет. Где-то даже слишком примитивно все сделано.
Сначала все немного тормознулось из-за того, что я захотел сделать систему зажигания на МК, потом инжектор вкорячить, параллельно все переписать на Си. Ну вобщем как на современных тачках сделать мозги. И однажды все к херам пошло)

Платы кстати у меня остались, кому надо обращайтесь, по сути это готовый показометр на машину или мот.

Простой бортовой компьютер для Итальянских авто и ВАЗ

Современный автомобили в большей степени оснащены бортовым компьютером учёта мгновенного и среднего расхода. Являясь обладателем авто Фиат Мареа 1.9JTD данной функции в нем не было предусмотрено. Заводские девайсы отказывались работать или выводили скудную и маловажную информацию. Я являюсь приверженцем простоты и надёжности своих разработок. Что вполне и показала эксплуатация собранного устройства. Самодельный бортовой компьютер (БК) через интерфейс K-Line для Итальянских авто. Испытан на JTD евро 2 и 3 (CF2, CF3). Схема согласования уровней микроконтроллера с К-линией взята с диагностического адаптера ELM327, команды (PIDs) опроса ЭБУ авто сканированы по К-линии при работе диагностического софта Multiecuscan. Также изучалась документация [АО “АвтоВАЗ” Генеральный Департамент Развития Управление Проектирования Электроники и электрооборудования], [ISO/WD 14230-1 — Road Vehicles — Diagnostic Systems — Keyword Protocol 2000 — Physical layer].
Протокол ISO14230. Для приёма/передачи по К-линии был задействован аппаратный USART интерфейс PIC16F628. Но поскольку вывод передатчика (ТХ) не имеет функции инверсного режима работы, требуемого по условию схемы, был задействован соседний вывод. Который программно работает в режиме ТХ передатчика, инвертируя его состояние.
В основу схемы взят индикатор 16х2 HD44780 (распиновка питания может отличаться), контроллер PIC16F628A и немного пассивных элементов smd (габарит 1206 и 805), номинал не критичен. Транзисторы можно MMBT2222 SOT-23 (2N2222). Кренка на 5В в layoute вверх радиатором для схемы с dip PICом. В зависимости от подсветки ЛСД (>20mA) может потребоваться небольшой радиатор для кренки. Цепочка R10 и D16 выполняют защитную функцию схемы. Сама плата вписывается в габариты и клеится с обратной стороны дисплея. При подключении схемы к авто К-линию подключать в последнюю очередь, не допускать замыкание К-линии БК на плюс!. Программная часть работы схемы начинается с инициализации LCD и подключению к ЭБУ авто. Для ЭБУ тип евро 2 и 3 отличается адресация подключения к блоку, выбор выполняется удержанием кнопки UP до появления надписи нужного типа CF2 или CF3. При успешном подключении к ЭБУ включится подсветка LCD. Далее чтение HW и SW номера ЭБУ для JTD. И переход в первое меню, 4 параметра (мгновенный и средний расход, скорость и температура двигателя), другие меню могут быть по 2, 3 параметра. Переход по
меню клавишей UP или Down (индикация нажатия — закрашенный первый сегмент). Можно сохранить текущее меню (с 0 по 12) как стартовое при включении бортового компьютера — длительно удержав UP (более 2 сек.). В 13 меню — чтение ошибок, выводиться количество ошибок и до 4 кодов (слитно Р***), удаление ошибок — длительно удержав UP.
В 14 меню (мгновенный расход и общее количество газойля) — можно менять число цилиндров в авто (4 или 5) для правильного расчёта расхода топлива — длительно удержав UP.
В 15 меню сброс показаний средней скорости и среднего расхода, и также регулирование подсветки LCD — длительно удержав UP.
Регулирование подсветки LCD представляет собой цепочку: pin13 через Т2 — стандартная яркость; и pin3 через R12 — пониженная яркость подсветки. В обновлении схемы, архив №2, меню смещены и 15 меню выделено под плавное регулирование яркости подсветки экрана (ШИМ). При длительном удержании кнопки — плавное нарастание яркости от 0 до 255 и так по кругу. При отпускании кнопки — сохранение значения яркости в энергонезависимой памяти. При этом возможна потеря связи с ЭБУ, т.к. опрос прерывается.
Расчёт расхода топлива выполняется по показаниям общего количества газойля, оборотов и скорости авто. И расчёт происходит при активном меню расхода. Мгновенный расход выводиться в литрах/час при скорости до 10км/ч, а выше — в литрах на 100км. Обесточив БК средний расход сброшен и =0. Формула расчёта расхода =. Литры*100/. км. При пройденном расстоянии равном нулю, средний расход стремится к бесконечности. По мере движения и увеличения пройденного пути средний будет приближаться к мгновенному значению расхода.
Меню включает в себя набор следующих параметров: обороты двигателя, текущую скорость, скорость круиз-контроля, температура двигателя, температура топлива и воздуха, подогрев свечей накала и топлива, общее количество газойля, расход воздуха, давление топлива и его регулятор, давление наддува и его регулятор; расчёт мгновенного и среднего расхода, и средней скорости; чтение/удаление ошибок авто. Сообщение «Error K-Lines» говорит о замыкании К-линии на минус, питание схемы ниже 9В или неисправности схемы, в частности сгоревший транзистор Т1 при замыкании К-линии на плюс.
В версии для ВАЗа все данные читаются напрямую с блока ЭБУ одним кадром, включая расход в л/100км и л/час, согласно документации. Для ВАЗ (Lada) БК работает с блоком Январь-. . Обновление 30.05.2015: Добавил ШИМ управление яркостью подсветки LCD. Открыл для себя, что в 16F628 есть выход PWM. В архиве №2 новая схема и прошивки «r4», (не тестировал).

Список радиоэлементов

PIC16F628A
BZB784-C5V6

Прикрепленные файлы:
  • OBD_body628.rar (70 Кб)
  • OBD_body2.rar (94 Кб)
Теги:

Deman25 Опубликована: 16.03.2015 Изменена: 28.05.2015 0 2

Вознаградить Я собрал 0 3

Оценить статью

  • Техническая грамотность

Оценить Сбросить

Средний балл статьи: 4.8 Проголосовало: 3 чел.

Комментарии (82) | Я собрал ( 0 ) | Подписаться

Для добавления Вашей сборки необходима регистрация

0

ergio 01.02.2019 12:33 #

Отличный девайс, собрал на столе заработало. Пишет error k-line. При включенном зажигании подключается сам, загорается подсветка,меню можно поклацать, но после запуска работает сек 10 и связь теряется. Косяков в схеме нет, не могу найти причину, подскажите?

0

Deman25 02.02.2019 14:53 #

Если пишет error k-line то не проходит внутрисхемный тест цепочки к-линии. Т.е. пик сам себе отправляет данные.

0

ergio 05.02.2019 21:31 #
Поменял транзистор и всё заработало.

0

mot 10.02.2019 19:13 #

Переделал под pic16f876a, не могу организовать задержку старт бита для bosch 7.9.7. Не сможет ли автор выложить исходник?
Проекты в mplab на ассемблере

0

mot 12.02.2019 14:29 #

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

0

Бортовой компьютер на AVR микроконтроллере

В данной статье я опишу создание мною простого бортового компьютера для автомобиля или мотоцикла. Никаких экзотических функций устройство не содержит, но зато в нём есть часы, термометр и вольтметр. Основа, это AVR микроконтроллер ATmega8 с восьми килобайтами флеш память, этого нам как раз достаточно. Часы реализованы на специальной микросхеме (часов реального времени RTC) DS1307, это позволяет идти часам очень точно довольно длительное время, даже тогда когда устройство выключено. Но конечно для работы микросхемы DS1307 требуется дополнительное питание 3 вольта, например батарейка CR2032. Датчик для термометра взял DS1820 работающий по интерфейсу 1-Wire. Все данные выводятся на ЖК индикатор WH1602 на контроллере HD44780. Итак, для сборки устройства понадобятся следующие радиодетали: 1. Микроконтроллер Atmega8 — 1шт.
2. Микросхема DS1307 — 1шт.
3. Датчик DS1820 — 1шт.
4. Панелька DIP-8 — 1шт.
5. Панелька DIP-28 — 1шт.
6. Микросхема LM7805 — 1шт.
7. Микросхема LM7809 — 1шт.
8. Тактовые кнопки — 4шт.
9. Кнопки с фиксацией положения — 2шт.
10. Кварц 14.3 МГц — 1шт.
11. Кварц часовой 32768 Гц — 1шт.
12. Конденсатор керамический 22 пф — 2шт.
13. Конденсатор керамический 100 нф — 4шт.
14. Транзистор КТ315 — 2шт.
15. Конденсатор электролитический 100 мкф — 1шт.
16. Конденсатор электролитический 47 мкф — 2шт.
17. Диод 1N4001 — 1шт.
18. Подстроечный резистор 20 кОм — 2шт.
19. Резистор 1 кОм — 2шт.
20. Резистор 10 кОм — 2шт.
21. Резистор 4,7 кОм — 3шт.
22. Резистор 100 кОм — 1шт.
23. Резистор 20 Ом — 1шт.
24. Резистор 68 Ом — 1шт.
25. Динамик 0.2 Вт — 1шт.
26. ЖК индикатор WH1602 (на контроллере HD44780 или совместимом) — 1шт.
27. Текстолит — 1шт.
28. Корпус пластиковый — 1шт.
29. Отсек для батареек 2xAA — 1шт.
30. Батарея 1.5v AA — 2шт. Принципиальная схема устройства: Схема БКПодстроечный резистор R4 устанавливает контрастность ЖК индикатора, а R12 подстраивает вольтметр до точного значения. Кварц Z2 на 14.3 МГц, его можно найти на старых материнских платах. Кнопка S1 — «Отмена», S2 — «Вниз», S3 — «Ок», S4 — «Вверх». Резистор R3 подтягивает Reset микроконтроллера к плюсу питания чтобы предотвратить случайный сброс. Резисторы R1, R2 и R7 также подтягивают порты микроконтроллера к плюсу питания. Керамические конденсаторы C1 и C2 нужны для стабильной работы кварца Z2. Я собрал устройство на двух печатных платах, на одной содержатся микросхемы LM7805 и LM7809, на другой, всё остальное. Платы рисовал в программе SprintLayout 4.0 и изготавливал с помощью ЛУТ. Вот готовая плата покрытая сплавом розе: DSC04518.jpgПлата с запаянными на ней деталями: DSC04523.jpgС обратной стороны: DSC04521.jpgВсе потроха собрал в корпус, в итоге получилось красиво и компактно. DSC04529.jpgФото готового бортового компьютера (вид спереди): Фото БКФото готового бортового компьютера (вид сзади): DSC04532.jpgДля удобства, спереди я разместил только ЖК индикатор и кнопки управления S1, S2, S3 и S4. Разъём, кнопки включения устройства и выключения звука, подстроечный резистор R12 я разместил сзади корпуса. Прошивку для микроконтроллера писал в среде BASCOM-AVR (исходник прилагается), микроконтроллер прошивал программатором USBtiny с помощью программы SinaProg. После прошивки микроконтроллера нужно установить следующие фьюз-биты: ФьюзыПравильно собранное и прошитое устройство запускается сразу, и не требует настройки, разве что, точной подстройки вольтметра и настройки часов. Из дополнительный функций присутствует регулировка яркости ЖКИ и часовой бипер (часы подают сигнал в начале каждого часа). При включении устройства на ЖКИ появляется заставка и плавно загорается подсветка индикатора, потом появляется главный экран, где отображается время, дата, температура и напряжение. Если в это время нажать кнопку S3 то вы войдёте в меню настройки времени, S2 — в информационную вкладку, где написана информация о версии устройства и его авторе, S4 — в меню настройки яркости ЖКИ и управления часовым бипером. Кнопка S1 возвращает обратно, на главный экран. Наглядно посмотреть, как управлять устройством вы можете на видео:

В файлах к статье есть исходники программы, прошивка, проект в программе Proteus.

Список радиоэлементов
Прикрепленные файлы:
  • BKmega8.rar (84 Кб)
Теги:

alex98y Опубликована: 03.03.2013 Изменена: 10.03.2013 0 1

Вознаградить Я собрал 0 3

Оценить статью

  • Техническая грамотность

Оценить Сбросить

Средний балл статьи: 4.9 Проголосовало: 3 чел.

Комментарии (19) | Я собрал ( 0 ) | Подписаться

Для добавления Вашей сборки необходима регистрация

0

Kamikadza 03.03.2013 14:30 #

Все конечно классно, только мне кажется использовать данный дисплей не совсем удобно. Использование LCD экранов и smd деталей уместило бы все это в более компактный и приятный вид, а также позволило (как указывается в статье) использование в мотоцикле. Но это так ИМХО. Автор молодец

+1

BARS_ 03.03.2013 17:03 #

Я когда-то собирал подобное устройство для Москвич 2141. Только использовал 8 семисегментных индикаторов. Они как раз идеально стали в приборную панель. Жаль, что фоток не осталось.

+2

Uplink 03.03.2013 17:29 #

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

+1

mr_smit 03.03.2013 21:35 #
Полностью поддерживаю! Название надо поменять.

0

Vasil9 04.03.2013 19:05 #

Где расходы топлива (на 100км, мгновенный, за поездку)?
Это не бортовой компъютер, а бортовые усложннённые часы с добавочными функциями

+1

Андрей 05.03.2013 17:14 #

А можно на какой то свободный порт добавить следующею функцию:
1. При включении данного устройства смотрим на напряжение, если оно больше или равно 12.5 вольт, то на этом порту устанавливаем лог 1, если меньше, то оставляем 0.
2. После выполнения условий 1 функции следим за напряжением. Когда напряжение упадет до 10.5 вольт на том же порту устанавливаем 0 и останавливаем в таком состоянии, пока оно не станет 12.5 вольт.

+1

05.03.2013 22:56 #
Можно. Свободного флеша вроде бы осталось, в ближайшее время смогу переделать прошивку.

-1

flair007 09.03.2013 00:46 #

В архиве нету хекса, а бас файл не проходит проверку синтаксиса.
И датчик бы использовать da18B20, и кварц странный.

+1

11.03.2013 20:37 #

Архив подправил, HEX вложил. Кварц можно найти на старых материнских платах, а датчик использовал тот, что был под рукой. Исходник возможно не компилится потому что у вас не та версия компилятора BASCOM-AVR, с версией баскома 1.11.9.0 у меня всё компилется нормально.

+1

serega 24.04.2013 11:32 #

А нельзя ли добавить функцию индикации открытой двери? Например ‘отрыта вод дверь’ плюс капот, багажник как на фф2

+1

25.04.2013 23:01 #

Конечно можно! Свободные ноги у МК то остались. Придётся только добавить в программе опрос ног, к которым подключены датчики открытых дверей.

0

max 10.09.2013 20:18 #
Перепишите исходник под ds18b20 или подскажите что изменить?

0

сергей 28.10.2013 10:58 #

Очень понравился проэкт, решил повторить. Схему собрал и не могу запустить. Что-то не то с прошивкой. Дело в том что микроконтроллерах новичек и ничего не понимаю в баскоме. Прошивал хекс файл из архива в коде визион. Горят все сегменты в верхнем ряду и не на что не реагирует. Схема собрана правильно все проверил. Подскажите плиз в чем косяк? И еще вопрос: нет ли прошивки, чтобы термометр был с функцией термостата? И для чего на печатке выведены ноги 15,18, 23 мк ?

0

сергей 29.10.2013 12:25 #

Здравствуйте уважаемые. Вы забросили проект? А то я так и не могу запустить схему. Все проверил. Шил коде визион и поником и дудкой. Ни как не запускается.

+1

евгений 11.11.2013 17:30 #

Схема довольно интересная. есть вопросы:
1. КТ-315 на ШИМе подсветки у вас через сколько времени сдох? У него несчастного 100мА ток, у многих дисплеев переваливает за 200мА подсветка, заменить на копеечный bc817/337.
2. Нафига козе баян в виде 14МГц кварца? Он траекторию посадки Бурана просчитывает? 1МГц по самые помидоры, за одно и глупая конструкция на каскаде КРЕНок греться меньше будет
3. Кнопки без подтяжки?
4. Питание АЦП выполнено изящно, топором из камня. почитайте документацию питания АЦП из даташитов меги.
5. Прочитайте про нормальные блоки питания, например копеечный 34063, хотя я не могу понять зачем два линейника? Греются? А кто столько жрёт? Проц, не в меру раскочегаренный до 14МГц вместо 1МГц, или подсветка, сующая через бедный КТ-315 достаточный ток?
6. Код. код. выколите мне глаза. аффтар, вы зачем примеры из интернета в кучу сложили, и назвали ЭТО «firmware»? Это ж не прочитать без поллитра успокоительного.
Граждане, не повторяйте эту ошибку в железе, это же ужас.

+1

Sergio 21.12.2013 12:00 #

Так предложите же лучше и с учетом пожеланий высказанных выше. Тем более народ действительно желает. А то говорить мы все любим, а вот делают единицы.

0

bulat943 28.04.2019 18:21 #
Поправил прошивку
Прикрепленный файл: firmware2.hex

0

bulat943 28.04.2019 19:29 #

А эта прошивка без кварца, внутр ген на 8 МГц
Обе прошивки-устранил мерцание вольтметра ,переделал бипер, DS1820 у меня нет-оставил этот кусок программы нетронутым

Прикрепленный файл: firmware2 8 MHz.hex

0

Сергей 05.07.2023 18:29 #

Никак не могу за программировать атмегу8, то есть программа записывается и читается всё ок, но с фьюзами проблема. Выставляю как вы указали, программирую всё нормально, делаю верификацию происходит сбой контроллера. Приходится лечить доктором. В итоге схема не запускается, горит верхняя строка индикатора подсветка не загорается. В чём причина или я что-то не так делаю? Программатор у меня USBasp v2.0

200 Вт усилитель класса D на IRS2092

200 Вт усилитель класса D на IRS2092

ELM327 OBD II — адаптер с поддержкой CAN Конструктор: DDS генератор сигналов

1999-2024 Сайт-ПАЯЛЬНИК ‘cxem.net’
При использовании материалов сайта, обязательна
ссылка на сайт ПАЯЛЬНИК и первоисточник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *