Всем доброго времени суток. Последнее время немного забросил БЖ и решил маненько дозаполнить. Всякие технически/механически улучшаки выложу уже отдельным постом.
Сегодня речь пойдет про БК ака Бортовой Компьютер. Дэдроводы укурсе, что БК в наших ведрах есть, но по большей части он аутентиче аутистичен — получить информацию от него очень сложно, при чем полностью, кроме приборок с экраном, коих было аж 2 ("ламбоприборка" и с электронным табло земесто часов), обе они редкость редкая и не без проблемные.
Обладатели фирменных швейцарских часов veglia-borletti прекрасно знают, что ходят они по особому — марсианскому времени, а зимой могут впадать в спячку. Меня сие поведение жутко доставало. Причиной тому пластиков-металлические шестеренки, которые грызут друг-другу зубы и нервы хозяину, пыль со временем забивает механизм и начинается "життя по новому"…
Как-то зимним утром, после 1го января, решил я положить этому конец. Задумал собрать часы на основе микроконтроллера и экранчика. Прикупил IPS 1.3" экран, DC-DC стабилизатор и начал ваять прошивку для атмеги… В процессе создания было выпито много вина и пива, от того пришло понимание, что просто тика часиками на таком экране не интересно и почему бы не заделать полноценный БК?
Полазил по форумам, почитал как этот путь проходят другий самураи…
Чего я только не видел, от полноценного Pentium4 в багажнике, до all-in-one разработки с травлением на фабрике по собственной схеме. Все они имеют право на жизнь и имеют свои плюсы и минусы. Во многом, все пытались соедини как можно больше функционала в как можно меньшем устройстве. С одной стороны, все логично — компактно, эффективно, функционально… но не ремонтопригодно. В случае выхода из строя любого компонента отключается вся система. Меня это не устраивало, ибо в наших колесницах нет идеально стабилизированного источника питания, а о том, как они любят мозги электрикой — слагают дифирамбы…
По симу, я решил делать распределенную систему. Примерная блок-схема выглядит так:
Имеем большой экран, в моем случае Nextion 4.2 но это пока не финальный вариант. Его плюсы это собственный контроллер изображения, флеш-память для ресурсов и UART интерфейс для обмена данными. Из минусов — посредственные углы изображения, но для моей затеи вполне достаточно.
Так, как блоков в системе может быть много, а экран — один, для него предусмотрен собственный драйвер, который принимает данные, в специальных пакетах, от других блоков, сортирует их по приоритетам и отправляет на экран…эдакий менеджер очереди на рендер.
По мимо этого, имеем:
Драйвер дверей — следит за закрытием дверей, ЦЗ, стеклоподьмники, освещение (пока заложил для подсветки ног пассажиров и дверных проемов).
Драйвер сенсоров — снимает показания с датчиков, ведет анализ полученных данных и предупреждает в случае возникновения критичных ситуаций (слабое давление масла, перегрев, сухой бак)
K-line блок — подключается к мозгам и читает ошибки и показания по двигателю (пока не реализовано)
Общаются все блоки по I2C шине (2 провода).
Итого: имеем распределенную систему, которая может быть децентрализована, легко масштабируема (код также запилен на работу с сущностями, а не покрывало из буквенно-циферного месива) и в случае гибели одного бойца — остальные остаются жизнеспособны, при очень большом желании, любой блок может временно заменить павшего товарища, но такой подход усложняет подключение блоков к проводке авто. Расстояние между блоками ограничено свойствами шины и равно 75 метров при подключении проводом типа "витая пара".
В плане графического интерфейса, вариантов было много, в разных цветовых решениях, ниже покажу те, что дожили до сегодня:
Изначально, цветовая гамма была белой. Но, во время ночной езды такое цветовое решение выедает глаза как водителю, так и пассажиру. По этому, графика мутировала в черные тона. Изначально, хотелось но перехотелось реализовать двух-цветный вариант "день-ночь", но делать такой вариант со старта — неоправданно сложно. Сначала реализую приемлемый вариант в одном цветовом решении, а там уже будет видно, будет ли необходимость во втором.
Спустя много литров пива и бессонных ночей получилось нечто, что начало радовать глаз хоть немного. Да, голых сисек там нет, но тем не менее:
Теперь Же, благодаря соведерниками одноклубникам, у меня есть подопытная панель приборов, куда предстоить врезать экран. Блоки будут собраны в съемном корпусе с 48ми пиновым разъемом и спрятаны под приборкой. Так же, будет добавлен отсутствующий на схеме блок — адаптер нестандартных сенсоров. Так, как ДПДЗ типа PF-09 крайне редкая птица, а новый — не существует в природе, для него был реализован блок-адаптер, позволяющий установить любой ДПДЗ с подходящим диапазоном значений через переходную пластину…но об этом в следующих записях…