25.09.2015, 00:30 | #1 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Arduino в M2-ITX
Давно хотел поковыряться в БП M2-ITX и сделать его более гибким в настройке, более функциональным.
Что мне не нравится:
Прочитать прошивку микроконтроллера P87LPC761B не получилось, т.к. она защищена от чтения. Поэтому решил подключить Arduino Nano вместо этого микроконтроллера. В принципе, можно расширить функционал и самого P87LPC761B. Для этого надо написать свою прошивку. А к выводам Tx и Rx подключить преобразователь COM-USB, чтобы оперативно изменять различные настройки. Мои конструкции: Возможности на данный момент:
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... Последний раз редактировалось admin; 12.03.2018 в 10:13. |
25.09.2015, 01:23 | #2 |
Administrator
Регистрация: 15.06.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX400h
Сообщений: 832
|
Я гдето встречал контроллер для m2-ITX на ардуино
Завтра поищу ссылку
__________________
Все для arduino. |
25.09.2015, 07:57 | #3 |
Бывалый писикарщик
Регистрация: 27.09.2008
Город: Собянинск
Регион: 77, 97, 99, 177
Машина: шкода а5
Сообщений: 5,443
|
Lexx09
Круто
__________________
То win 10х64, то win 8.1x64 Видео регистрация на web. камеру:http://www.youtube.com/watch?v=1hPPLRBBIqc |
25.09.2015, 13:06 | #4 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Для полного обесточивания буду использовать эту схему:
При включении зажигания срабатывает нижнее реле и на БП поступает +12В от АКБ. Далее БП формирует сигнал +5VSB, что вызывает срабатывание верхнего реле. После выключения зажигания нижнее реле размыкается, но питание на БП все равно подается (через верхнее реле). При переходе компьютера в гибридный спящий режим верхнее реле не размыкается, т.к. +5VSB присутствует. После окончания определенного интервала +5VSB снимается, верхнее реле размыкается и БП полностью обесточивается. Вместо верхнего автомобильного реле можно использовать какое-нибудь другое с напряжением переключения 5В. Тогда можно обойтись без резистора и транзистора. Эту схему можно использовать и в базовом варианте (без Arduino). Было бы неплохо найти.)
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... Последний раз редактировалось Lexx09; 25.09.2015 в 14:45. |
25.09.2015, 18:29 | #5 |
Administrator
Регистрация: 15.06.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX400h
Сообщений: 832
|
Самодельный контроллер для m2-ATX
Это немного не то что планирует ТС, но все же основные функции работы с БП уже реализованы
__________________
Все для arduino. |
25.09.2015, 19:50 | #6 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Это я видел.
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... |
16.12.2015, 20:26 | #7 |
Старший Пользователь
Регистрация: 15.02.2013
Город: Москва
Регион: 77, 97, 99, 177
Машина: x-trail T30
Сообщений: 400
|
Я б транзистор в схеме заменил на опторазвязку, мое эстетическое чувство протестует против замешивания нестабилизированного 12В до БП и стабилизированных 5В после. Реле на 5В, используемое как развязка, может подгаживать индуктивными помехами в те же 5В. Понятно, что комп во время отключения реле выключен, но все же.
__________________
http://www.pccar.ru/showthread.php?t=18648 мой проект. Icar DS , Cityguide,bGEO, Семь дорог. I3 3220T, 4Gb, W10х32. SSD 128Gb |
05.12.2017, 01:06 | #8 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Потихоньку продолжаю проект...
Для понятия алгоритма работы и распиновки МК оригинального M2-ITX снял 30 осциллограмм 8-канальным цифровым осциллографом всех возможных режимов работы, включения, выключения. Почти со всем разобрался, кроме назначения пина 5 МК. Вероятно, он связан с защитами от КЗ, перенапряжения и т.п., но в проекте не используется. Первоначальный вариант переделал практически полностью. Описание и возможности Контроллер блока питания предназначен для расширения функционала блока питания M2-ITX путем замены микроконтроллера на аппаратно-программное средство типа Arduino на базе микроконтроллера компании Atmel. В дальнейшем под Arduino подразумевается не только оригинальный вариант, но и многочисленные клоны. Контроллер обеспечивает богатые возможности по настройке параметров работы БП и различных периферийных устройств, и обладает следующими возможностями:
Программа управления Для взаимодействия пользователя с контроллером разработана программа управления. Взаимодействие программы управления с Arduino происходит через COM-порт. Возможности программы:
На маленьких разрешениях экрана в программе появляются ползунки, которыми можно прокручивать окно программы. Поначалу тестировал в Proteus: Там еще второй микроконтроллер был, который эмулировал ответную часть БП и компьютер. Контроль напряжения бортовой сети В оригинальном варианте контроль пониженного напряжения производится компаратором, настроенным на один уровень напряжения. Определение напряжения средствами Arduino производится без использования компаратора, что позволяет задать уровень пониженного напряжения. В качестве опорного напряжения используется напряжение питания Arduino, которое может быть не равно точно +5В. На разных экземплярах M2-ITX это напряжение также может немного различаться. Например, при подключении к USB-порту домашнего компьютера – напряжение питания Arduino равно +4,65В. Если подключить вывод 3V3 (на котором фактически 3,28В) к аналоговому входу и в течение некоторого времени скетчем измерять напряжение, приняв за опорное напряжение точно +5В, то получим следующие результаты: Если измерить вольтметром напряжение питания Arduino, и прописать это значение в скетч вместо 5В, то получим следующие результаты: Как видим, результат стал существенно точнее. Т.о., для корректного определения напряжения бортовой сети необходимо знать два параметра:
В процессе тестирования выявил еще одну вещь - напряжение питания Arduino при работающем компе ниже, чем при выключенном. А в момент запуска компьютера напряжение питания Arduino просаживается еще ниже, из-за чего срабатывала защита от низкого напряжения. Пришлось ввести в алгоритм два коэффициента - один для неработающего CarPC, другой - для работающего. От использования более точного ИОН на отдельных элементах решил отказаться, дабы не усложнять схему. Выбор и подготовка Arduino В проекте может быть использована Arduino любого типа с микроконтроллером, удовлетворяющим следующим требованиям: https://duino.ru/arduino.html
Желательно использовать Arduino, на которой есть джампер для отключения автоматического программного сброса. Этот джампер необходимо удалить, иначе при открытии порта программой управления возможен жесткий сброс CarPC (даже если программой не используется сигнал DTR). Для прошивки Arduino нужно либо временно устанавливать джампер, либо нажимать кнопку сброса в начале загрузки прошивки. Загружать прошивку необходимо с другого компьютера/ноутбука, при этом CarPC должен быть выключен. Arduino отсоединять от БП не обязательно. Если в наличии есть Arduino без джампера, то надо каким-либо способом отключить ее программный сброс. Например, соединив контакты 5V и RST резистором. Рекомендуется сразу заменить стандартный загрузчик на загрузчик Optiboot по следующим причинам:
Схема подключения На данный момент схема подключения Arduino к M2-ITX такая: Резисторный делитель на входе D3 Arduino нужен для:
Arduino при отключенном питании и 5VSB переходит в глубокий сон, из которого выходит только при появлении ACC. Замеры потребления тока уснувшей Arduino и во время спящего/ждущего/гибридного режимов CarPC еще не делал. Сейчас тестирую дома на снятом CarPC. Когда до полевых испытаний доберусь - непонятно, надеюсь, до НГ успею. Времени не хватает на все про все, как обычно. Надо же еще и красивое руководство пользователя сделать (большую часть уже выложил здесь)... Если у кого-нибудь есть замечания/предложения/пожелания - с удовольствием выслушаю. PS: COM-порты - такая убогая технология для обмена данными, ужас просто. Намучался с ней. В дальнейшем развитии проекта можно попробовать использовать Arduino с полноценным USB-портом (на ATmega32U4), либо STM32 (STM32F103C8T6, тоже с полноценным USB-портом), либо ESP8266 (с обновлением прошивки и управлением по WiFi).
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... Последний раз редактировалось admin; 12.03.2018 в 10:18. |
05.12.2017, 08:51 | #9 |
Старший Пользователь
Регистрация: 01.01.2014
Возраст: 38
Город: Новосибирск
Регион: 54
Машина: РРС, Форд
Сообщений: 954
|
Можно добавит вход от сигнализации, что бы система не нагружала на прогревах борт сеть авто.
Распознование режима ACC и START от повышения напряжения-плохая идея. Я бы посоветовал отслеживать состояние от любого включённого прибора авто на время положения ключа Start, убьёшь ещё одного зайца, просадка АКБ (если это есть) |
05.12.2017, 10:59 | #10 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
По поводу сигнализации с автозапуском уже думал... Полагаю, для корректной работы достаточно будет развязать ACC замка зажигания от остальной бортовой проводки, в т.ч. и от сигнализации. Иначе при срабатывании автозапуска на линии ACC появится напряжение и, соответственно, включатся БП, CarPC и усилитель. А при прогреве автомобиля это не нужно.
Отслеживать заводку двигателя можно многими способами - по тахометру, по датчику давления масла, по индикатору зарядки АКБ... Но не хочется прокладывать дополнительные провода. В полевых испытаниях проверю отслеживание по напряжению.
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|