В своем проекте второй версии автомобильчика я упомянул плату управления, на которую планируется повесить всю логику основного и доп. оборудования самодельного автомобиля. Рассмотрим идею чуть поближе. Сама плата:
Принцип, по которому я последнее время реализую свои разработки, достаточно простой. Необходимый функционал набирается готовыми модулями, каждый со своей периферией, (общей для всех разработок), которые вставляются в плату, выполняющую свою определенную задачу. Модули универсальные а вот плата уникальная для каждой задачи.
Так и здесь. Плата размером 180х100мм. Размер и отверстия выбраны не случайно. Все это проектировалось для корпуса G1183:
вполне подходящему в качестве «пульта» внутри автомобиля.
Корпус позволяет разместить внутри как минимум 2 платы. Первая (исполнительная) прикручивается к нижней части. Вторая (управление, кнопки, светодиоды) к верхней крышке. (см. вид сбоку посередине).
И так, в левой части платы расположены входы. Первый ряд: питание монитора (12в), общее питание схемы, CAN-шина. Второй ряд: Кнопка «старт», кнопка «стоп», гудок, датчик скорости. Третий ряд: клавиша «стоп-сигнал», клавиша «левый поворотник», клавиша «правый поворотник», тахометр. Четвертый ряд: клавиша «габаритные огни», клавиша «ближний свет», датчик уровня топлива, 1-wire шина.
Все входы кнопок и клавиш сделаны через оптопару. Подтянутая (через 4к7 резистор) к +5в ножка микроконтроллера кладется на землю оптопарой PC817 при подаче на ее диод напряжения 12в через резистор, путем замыкания на землю соответствующего контакта в колодке.
«Кнопкой» я называю то, что можно отпустить и оно разомкнет цепь, которая была замкнутой в нажатом состоянии. «Клавишей» то, что без приложения постоянных усилий сохраняет свое состояние. То есть удержание кнопки стартера пока он крутит — это кнопка. А включение габаритов — клавиша.
Датчик скорости подключен к выводу RB5 микроконтроллера. На этом выводе находятся таймеры T0CKI / T3CKI. Сам контроллер при этом планируется запрограммировать так, чтобы источником сигнала для таймера служило состояние ножки RB5, то есть в фоновом режиме мы всегда знаем период срабатывания данного таймера, то есть количество импульсов на 1 оборот, то есть скорость. Сам датчик скорости тоже самодельный и состоит из вращающегося на подшипнике цилиндра с 6 магнитами. Считывающий элемент — цифровой датчик холла A3144E.
При питании его от 3.8 до 30в на выходе он выдает TTL сигнал если рядом есть магнит. Напечатанная ось сидит на двух подшипниках корпуса. В оси 6 магнитов. В корпусе датчик. Всё просто как топор.
Этот датчик устанавливается на выходную ось вариатора рядом с ведущей звездой и является своего рода шайбой (подшипником) на кронштейне.
Тахометр реализован по такому же принципу. Он подключен к таймеру T1CKI.
Датчик уровня топлива представляет собой делитель напряжения с изменяемым сопротивлением (резистор в бензобаке штатный скутеровский). Датчик подключен к аналоговому входу AN6 микроконтроллера.
В принципе все кнопки и клавиши ничем не управляют напрямую. Они лишь дают знать микроконтроллеру что от него хочет пользователь. Микроконтроллер в свою очередь дает команды управляющим устройствам, колодки для подключения к которым расположены в правой части платы:
Первый ряд: Старт и Стоп. Применено отечественное двухканальное твердотельное реле малой мощности КР293КП3А. Принцип его работы простой. При подаче «1» от микроконтроллера он кладет свой выход на землю. То что нужно, т.к. в проводке двигателя вывел 2 провода, при замыкании которых на землю происходит старт и стоп соответственно.
Второй ряд: один сдвоенный транзистор IRF7314PBF (5.3A/канал) на поворотники: левый и правый. При подаче «1» от микроконтроллера — включается соответствующий канал транзистора, подавая 12в на линию поворотника. Логика управления внутри микроконтроллера тоже не сильно мудрая: если клавиша «правый/левый поворотник» нажата — моргать правым/левый поворотником. При этом так же просто реализуется аварийка — при нажатии на кнопку — моргать обоими каналами поворотников. То есть в принципе, всю логику, которая обычно реализуется в автомобилях в виде реле — я перенес в логику микроконтроллера. Но т.к. эта плата всего лишь контроллер периферии — она не оказывает влияния на работу самого мотора. Это 2 разные схемы друг с другом не связанные.
Третий ряд: Еще один транзистор 2 канала: 4 колодки габаритов и 1 гудок. Тут надо сказать, что несмотря на то, что я сделал двухполюсные колодки для каждого потребителя (плюс и минус), не обязательно вести оба провода, например, от гудка до платы управления. Привести можно только плюс, а минус закрепить рядом с гудком «на массу». Но ведь не у всех автомобили металлические, правда ? 🙂
Четвертый ряд: еще один транзистор 2 канала: ближний свет и стоп сигналы. Работа аналогична. Нажата клавиша «ближний свет» — «1» подается на транзистор «ближний свет» — 12в через него идет на соответствующую лампочку.
По центру платы расположены разъемы для двух модулей: VGA-модуля и модуля микроконтроллера.
Приборную панель с индикаторами включения/выключения чего-либо, спидометром, тахометром и прочим, буду делать на VGA-мониторе.
https://www.youtube.com/watch?v=6UwqeKBoYpA
Работа в этом направлении продолжится сразу после окончания железячной части автомобильчика.
В принципе, данная плата управления подойдет для любой разработки, т.к. не связана с двигателем. Это контроллер периферии, избавляющий от необходимости копаться в схемах, крутить провода, городить кучу реле. Просто взял левый габарит и подключил к колодке «левый габарит». Правый поворотник в колодку «правый поворотник».Проще некуда. Вот прям 2 провода напрямую. От лампочки до платы. Всё остальное сделает микроконтроллер.
Более того, т.к. плата имеет разъем CAN-шины, функционал этой разработки легко увеличивается путем добавления уже CAN-модулей на эту же шину. Как собственно это и сделано в современных автомобилях. Например тот же модуль mp3:
На входе у него питание и CAN-шина. Выход 2 канала по 15Вт или линейные выходы. На плате расположен модуль, плата питания, mp3-SD-модуль и усилитель. А используя VGA-монитор в качестве приборной панели — можно выводить информацию и с него и с других модулей, подключенных к CAN-шине.