PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Блоки питания > M2-ITX

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2015, 00:30   #1
Lexx09
Старший Пользователь
 
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
Lexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud of
По умолчанию Arduino в M2-ITX

Давно хотел поковыряться в БП M2-ITX и сделать его более гибким в настройке, более функциональным.

Что мне не нравится:
  • невозможно изменить задержку Remote. Громкие пуки сабвуфера мне надоели, поэтому для включения усилителя использую дополнительное USB-реле. Реле включается и выключается Autoit-скриптом по событиям "Включение", "Выключение", "Вход в сон", "Выход из сна".
  • невозможно изменить порог напряжения, до которого АКБ может разрядиться.
  • невозможно сделать нормальный гибридный спящий режим. В режиме B0+B1+B3 большая задержка выключения - 30 сек. Режимами B0+B1+B2+B3 и B1+B2+B3 пользоваться не хочу, т.к. не хочу оказаться с разряженным АКБ.
В наличии имеется БП M2-ITX rev. 2F (он же LB160D-7600). Для исследования M2-ITX вооружился фотоаппаратом, лупой и цифровым многоканальным осциллографом. Фотографии платы M2-ITX и наименования некоторых элементов можно посмотреть тут: https://goo.gl/photos/vY1ZBgePqnxCi7np8

Прочитать прошивку микроконтроллера P87LPC761B не получилось, т.к. она защищена от чтения. Поэтому решил подключить Arduino Nano вместо этого микроконтроллера.

В принципе, можно расширить функционал и самого P87LPC761B. Для этого надо написать свою прошивку. А к выводам Tx и Rx подключить преобразователь COM-USB, чтобы оперативно изменять различные настройки.

Мои конструкции:


Возможности на данный момент:
  1. Задание произвольных задержек:
    • задержка включения компьютера после включения зажигания - 0...10 сек. Это задержка до подачи сигнала +5VSB после включения зажигания. Непосредственно запуск компьютера происходит еще через 1.4 сек, после эмуляции нажатия кнопки питания.
    • задержка сигнала Remote после включения компьютера - 0...10 сек (если 0, то Remote не включается). Это задержка отсчитывается не с момента включения зажигания, а с момента поступления сигнала PS_ON с материнской платы.
    • задержка выключения компьютера после выключения зажигания - 0...5 сек. Это задержка до эмуляции нажатия кнопки питания после выключения зажигания. После выключения компьютера +5VSB остается поданным на материнскую плату.
    • задержка полного отключения питания компьютера после выключения компьютера при выключении зажигания - 0...3600 сек (0-1 час, для нормальной реализации гибридного спящего режима). После этой задержки отключается +5VSB. Задержка отсчитывается не с момента выключения зажигания, а с момента пропадания сигнала PS_ON с материнской платы.
  2. Управление сигналом Remote (включение/выключение) подачей команд на Arduino. Т.е. сигнал Remote можно включать уже после загрузки компа, что гарантированно позволяет избежать громкие пуки сабвуфера, независимо от продолжительности загрузки компа. В базовой реализации задержка 5 сек, если комп загружается более 5 сек - то пук обеспечен. Перед перезагрузкой, выключением компьютера и входом в сон можно отключить Remote другой командой.
  3. Чтение текущих настроек, изменение, запись новых настроек без перепрошивки Arduino с помощью управляющей программы (через интерфейсный разъем USB).
  4. Хранение всех настроек в энергонезависимой памяти Arduino.
Дополнительные реализованные возможности:
  1. Прием команд с ИК-пульта и передача их в iCarDS.
  2. Активация круиз-контроля с помощью кнопки на ИК-пульте.
  3. Передача в iCarDS данных с акселерометра (для определения продольного и поперечного наклона автомобиля).
Дальнейшие планы:
  1. Задание порога напряжения АКБ, при снижении до которого компьютер будет автоматически выключен или обесточен. Благодаря внешнему ИОН и калибровке делителя - напряжение АКБ будет измеряться достаточно точно. Я надеюсь.)
  2. Считывание напряжения АКБ управляющей программой.
  3. Полное отключение блока питания от бортовой сети.
Можно еще реализовать такие функции:
  1. Работа с фоторезистором.
  2. Работа с датчиками температуры.
  3. Подогрев жесткого диска, его включение после прогрева.
  4. Включение монитора эмуляцией нажатия кнопки (если монитор сам не включается при подаче питания).
  5. Подключение различных мультимедиа-кнопок.
Нюансы:
  1. Сброс Arduino во время загрузки компьютера из-за инициализации COM-порта, что вызывает бесконечный циклический перезапуск компьютера.
  2. Сброс Arduino во время работы компьютера при подключении к COM-порту управляющей программой, что вызывает жесткую перезагрузку компьютера. Причем, программное отключение сигнала DTR влияет через раз, видимо, криво реализован компонент для работы с COM-портом.

    Решение этих двух проблем - вытаскивание джампера. Для прошивки Arduino джампер нужно вставлять обратно, а после прошивки - вытаскивать.

  3. Занять COM-порт можно только одной программой. Поэтому для изменения настроек придется закрывать iCarDS и потом подключаться управлющей программой.
  4. Столкнулся с искажением данных, поступающих от Arduino, если Arduino подключена к этому-же компу. При подключении Arduino к другому компу - данные приходят без искажений. Причем, настройки COM-порта одинаковые на обеих компах. Проанализировал искаженные данные и определил, что большинство байт сдвигаются на 2 бита влево. Первый байт передаваемой строки сдвигается влево на 3 бита. Алгоритм искажения оставшихся нескольких байт понять не смог. Вроде победил это недоразумение...
  5. Проблема с watchdog у Arduino. Решается перепрошивкой загрузчика.
  6. Arduino и другие элементы не помещаются в корпус 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, круиз-контроль...

Последний раз редактировалось admin; 12.03.2018 в 10:13.
Lexx09 вне форума   Ответить с цитированием
Старый 25.09.2015, 01:23   #2
admin
Administrator
 
Аватар для admin
 
Регистрация: 15.06.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX400h
Сообщений: 832
admin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of light
По умолчанию

Я гдето встречал контроллер для m2-ITX на ардуино
Завтра поищу ссылку
__________________
Все для arduino.
admin вне форума   Ответить с цитированием
Старый 25.09.2015, 07:57   #3
sirota
Бывалый писикарщик
 
Аватар для sirota
 
Регистрация: 27.09.2008
Город: Собянинск
Регион: 77, 97, 99, 177
Машина: шкода а5
Сообщений: 5,443
sirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant future
По умолчанию

Lexx09

Круто
__________________
То win 10х64, то win 8.1x64

Видео регистрация на web. камеру:http://www.youtube.com/watch?v=1hPPLRBBIqc
sirota вне форума   Ответить с цитированием
Старый 25.09.2015, 13:06   #4
Lexx09
Старший Пользователь
 
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
Lexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud of
По умолчанию

Для полного обесточивания буду использовать эту схему:


При включении зажигания срабатывает нижнее реле и на БП поступает +12В от АКБ. Далее БП формирует сигнал +5VSB, что вызывает срабатывание верхнего реле. После выключения зажигания нижнее реле размыкается, но питание на БП все равно подается (через верхнее реле). При переходе компьютера в гибридный спящий режим верхнее реле не размыкается, т.к. +5VSB присутствует. После окончания определенного интервала +5VSB снимается, верхнее реле размыкается и БП полностью обесточивается.

Вместо верхнего автомобильного реле можно использовать какое-нибудь другое с напряжением переключения 5В. Тогда можно обойтись без резистора и транзистора.

Эту схему можно использовать и в базовом варианте (без Arduino).

Цитата:
Сообщение от admin Посмотреть сообщение
Я гдето встречал контроллер для m2-ITX на ардуино
Завтра поищу ссылку
Было бы неплохо найти.)
__________________
Приора хэтчбек
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.
Lexx09 вне форума   Ответить с цитированием
Старый 25.09.2015, 18:29   #5
admin
Administrator
 
Аватар для admin
 
Регистрация: 15.06.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX400h
Сообщений: 832
admin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of light
По умолчанию

Самодельный контроллер для m2-ATX
Это немного не то что планирует ТС, но все же основные функции работы с БП уже реализованы

__________________
Все для arduino.
admin вне форума   Ответить с цитированием
Старый 25.09.2015, 19:50   #6
Lexx09
Старший Пользователь
 
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
Lexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud of
По умолчанию

Это я видел.
__________________
Приора хэтчбек
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 вне форума   Ответить с цитированием
Старый 16.12.2015, 20:26   #7
Trantor
Старший Пользователь
 
Регистрация: 15.02.2013
Город: Москва
Регион: 77, 97, 99, 177
Машина: x-trail T30
Сообщений: 400
Trantor is on a distinguished road
По умолчанию

Я б транзистор в схеме заменил на опторазвязку, мое эстетическое чувство протестует против замешивания нестабилизированного 12В до БП и стабилизированных 5В после. Реле на 5В, используемое как развязка, может подгаживать индуктивными помехами в те же 5В. Понятно, что комп во время отключения реле выключен, но все же.
__________________
http://www.pccar.ru/showthread.php?t=18648 мой проект.
Icar DS , Cityguide,bGEO, Семь дорог.
I3 3220T, 4Gb, W10х32. SSD 128Gb
Trantor вне форума   Ответить с цитированием
Старый 05.12.2017, 01:06   #8
Lexx09
Старший Пользователь
 
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
Lexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud of
По умолчанию

Потихоньку продолжаю проект...

Для понятия алгоритма работы и распиновки МК оригинального M2-ITX снял 30 осциллограмм 8-канальным цифровым осциллографом всех возможных режимов работы, включения, выключения. Почти со всем разобрался, кроме назначения пина 5 МК. Вероятно, он связан с защитами от КЗ, перенапряжения и т.п., но в проекте не используется.

Первоначальный вариант переделал практически полностью.

Описание и возможности

Контроллер блока питания предназначен для расширения функционала блока питания M2-ITX путем замены микроконтроллера на аппаратно-программное средство типа Arduino на базе микроконтроллера компании Atmel. В дальнейшем под Arduino подразумевается не только оригинальный вариант, но и многочисленные клоны.

Контроллер обеспечивает богатые возможности по настройке параметров работы БП и различных периферийных устройств, и обладает следующими возможностями:
  • Контроль напряжения бортовой сети
    В базовом варианте пониженное напряжение бортовой сети отслеживается аппаратным компаратором, настроенным на один уровень напряжения. Изменение этого уровня возможно только перепайкой резисторного делителя.
    Контроллер позволяет установить любое значение минимально допустимого напряжения бортовой сети.
    Напряжение бортовой сети контролируется при запуске компьютера, во время его работы и в ждущем/спящем/гибридном режимах.
    Если при запуске компьютера бортовое напряжение будет низкое – то контроллер будет ждать, пока напряжение не станет нормальным. Это может случиться после запуска двигателя. В этом случае, даже если включена настройка «Ждать запуска двигателя», ожидания не будет.
    Если напряжение понизится во время работы компьютера – он будет автоматически выключен и обесточен.
    Если напряжение понизится во время спящего/ждущего/гибридного режима – компьютер будет обесточен.
  • Ожидание запуска двигателя
    При включении данной настройки компьютер не будет запущен до тех пор, пока не заведется двигатель. Заведенный двигатель определяется по повышению напряжения бортовой сети на 1В.
    Если двигатель завелся раньше истечения задержки включения +5VSB, то контроллер ожидает окончание задержки, и потом включает компьютер. Иначе – компьютер включается сразу после запуска двигателя.
  • Несколько попыток запуска компьютера
    Если компьютер не запустился с первого раза – контроллер будет пытаться запустить его еще несколько раз через заданные интервалы времени.
  • Контроль выключения компьютера
    Если компьютер в течение заданного времени не выключился (то есть «завис») – жесткое отключение питания, в том числе и +5VSB.
  • Управление сигналом Remote
    Сигнал Remote предназначен для включения и выключения звукового усилителя. Задержка включения сигнала Remote относительно запуска компьютера задается с помощью соответствующей настройки. Так же возможно управление командами, посылаемыми в COM-порт. Силы тока выхода Remote контроллера может не хватить для срабатывания усилителя, поэтому рекомендуется использовать промежуточное реле.
    Сигнал Remote управляется только при включенном CarPC, т.е. управлять им из режима «на столе» нельзя.
  • Управление дополнительным реле
    К контроллеру может быть подключено дополнительное реле, которое управляется только с помощью команд, посылаемых в COM-порт.
  • Управление питанием HDD
    Поддержка реле, разрывающего цепи питания HDD. Разрывать цепи питания HDD необходимо, чтобы он не пытался запуститься при низкой температуре до тех пор, пока не прогреется до минимально допустимой температуры.
  • Управление подогревателем HDD
    Подогрев HDD необходим при низких температурах, чтобы не ждать долгого прогрева HDD по мере прогрева салона. Например, HDD Hitachi Travelstar 7K500 рассчитан на температуру от +5°C до +55°C, и без подогрева при низких температурах он может сломаться за два сезона (что, собственно, у меня и случилось). Подогреватель включается только при первой попытке запуска компьютера в соответствие с заданным условием, далее он автоматически выключается при наступлении одного из заданных условий выключения. Подогреватель, сделанный, например, из автомобильного обогревателя зеркал бокового вида, можно разместить сверху HDD.
    • Условия включения подогревателя:
      • Всегда включать – подогреватель будет всегда включаться при запуске независимо от текущей температуры.
      • Если текущая температура ниже заданной – подогреватель будет включаться только, если при запуске температура ниже минимальной.
    • Условия выключения подогревателя:
      • При достижении заданной температуры – подогреватель будет выключен при достижении заданной минимальной температуры.
      • При истечении заданного времени работы – подогреватель будет выключен по истечении заданного времени работы.
      • При наступлении любого из указанных событий – подогреватель будет выключен при наступлении любого из указанных событий.
    Если включен параметр «Ждать выключения подогревателя» – то компьютер не будет запущен, пока подогреватель не выключится. После выключения подогревателя автоматически включится реле питания HDD.
    Теоретически, можно обойтись и без подогревателя, при этом контроллер будет ожидать прогрева HDD по мере прогрева салона.
  • Поддержка цифрового датчика температуры
    Датчик температуры необходим для корректного включения/выключения подогревателя HDD. Поддерживаются следующие типы датчиков – DS18B20, DS1822, DS18S20, DS1820. Определение модели датчика – автоматическое, точность измерения температуры – 0,5°C. Датчик температуры можно закрепить снизу на HDD, или просто разместить внутри корпуса компьютера.
    Если включен параметр «Ждать нормализацию температуры» – то компьютер не будет запущен, пока температура не станет выше минимальной. Настройку можно использовать, если подогреватель HDD не используется. В этом случае контроллер будет ждать прогрева HDD по мере прогрева салона.
  • Задержка напряжения питания +3.3В
    Задержка подачи напряжения питания +3.3В на материнскую плату относительно других напряжений питания (+5В и +12В) требуется для корректного запуска некоторых плат производства компании Intel (например, Intel D525MW). Для запуска платы необходима небольшая задержка (около 0,5 с), которая подбирается экспериментально.
  • Поддержка спящего/ждущего/гибридного режимов компьютера
    Поддержка указанных режимов осуществляется с помощью настройки задержки отключения дежурного напряжения +5VSB. Максимальное время задержки – 65535 сек (18,2 часа). По истечении этого времени будет отключено дежурное напряжение +5VSB.
    Во время задержки контроллер отслеживает напряжение бортовой сети, и при его снижении ниже заданного – отключение дежурного напряжения +5VSB.
    Во время задержки контроллер также следит и за температурой. Если включена настройка «Ждать выключения подогревателя» или «Ждать нормализацию температуры» – то при понижении температуры ниже заданной произойдет отключение дежурного напряжения +5VSB. Это нужно для того, чтобы компьютер не запустился с холодным HDD при выходе из режима.
  • Поддержка двух способов загрузки ОС – с SSD и HDD
    При загрузке ОС с SSD – ждать окончание подогрева HDD и/или нормализацию температуры не нужно. Компьютер стартует сразу, а подогрев HDD идет параллельно. По заданному условию выключается подогреватель HDD и включается реле питания HDD. Таким образом, в течение некоторого времени после загрузки ОС – HDD будет недоступен (пока не прогреется).
    При загрузке ОС с HDD – нужно ждать окончание подогрева HDD и/или нормализацию температуры. Компьютер при этом не запустится до тех пор, пока по заданному условию не выключится подогреватель и включится реле питания HDD.
  • Режим работы «на столе»
    Режим включается установкой соответствующего джампера. В этом режиме, после перезапуска, контроллер реагирует только на поступающие команды. Это может быть полезно, если были случайно записаны некорректные настройки и после этого CarPC не стартует.

Программа управления

Для взаимодействия пользователя с контроллером разработана программа управления. Взаимодействие программы управления с Arduino происходит через COM-порт. Возможности программы:
  • Выбор COM-порта.
  • Установка настроек по умолчанию.
  • Чтение настроек из Arduino.
  • Запись настроек в Arduino. При этом настройки применяются сразу же после записи, перезапуск Arduino не требуется.
  • Сохранение настроек в файл и загрузка их из файла.
  • Чтение текущего напряжения и температуры.
  • Включение/выключение реле Remote.
  • Включение/выключение дополнительного реле.
  • Мультиязычность (русский, английский, украинский).



На маленьких разрешениях экрана в программе появляются ползунки, которыми можно прокручивать окно программы.

Поначалу тестировал в Proteus:

Там еще второй микроконтроллер был, который эмулировал ответную часть БП и компьютер.


Контроль напряжения бортовой сети

В оригинальном варианте контроль пониженного напряжения производится компаратором, настроенным на один уровень напряжения. Определение напряжения средствами Arduino производится без использования компаратора, что позволяет задать уровень пониженного напряжения.

В качестве опорного напряжения используется напряжение питания Arduino, которое может быть не равно точно +5В. На разных экземплярах M2-ITX это напряжение также может немного различаться. Например, при подключении к USB-порту домашнего компьютера – напряжение питания Arduino равно +4,65В. Если подключить вывод 3V3 (на котором фактически 3,28В) к аналоговому входу и в течение некоторого времени скетчем измерять напряжение, приняв за опорное напряжение точно +5В, то получим следующие результаты:


Если измерить вольтметром напряжение питания Arduino, и прописать это значение в скетч вместо 5В, то получим следующие результаты:


Как видим, результат стал существенно точнее.

Т.о., для корректного определения напряжения бортовой сети необходимо знать два параметра:
  1. Напряжение питания Arduino.
  2. Коэффициент резисторного делителя.
Оба параметра различаются от экземпляра к экземпляру M2-ITX. В проекте оба параметра объединяются в один коэффициент, который предварительно необходимо определить и потом указать в настройках.

В процессе тестирования выявил еще одну вещь - напряжение питания Arduino при работающем компе ниже, чем при выключенном. А в момент запуска компьютера напряжение питания Arduino просаживается еще ниже, из-за чего срабатывала защита от низкого напряжения. Пришлось ввести в алгоритм два коэффициента - один для неработающего CarPC, другой - для работающего.

От использования более точного ИОН на отдельных элементах решил отказаться, дабы не усложнять схему.


Выбор и подготовка Arduino

В проекте может быть использована Arduino любого типа с микроконтроллером, удовлетворяющим следующим требованиям: https://duino.ru/arduino.html
  • Память программ (Flash) – 16 Кбайт (с учетом загрузчика размером 2 Кбайт),
  • Оперативная память (RAM) – 1 Кбайт,
  • Энергонезависимая память (EEPROM) – 64 байт,
  • Количество аналоговых входов – 1,
  • Количество цифровых входов/выходов – 12.
Данным требованиям удовлетворяет микроконтроллер ATmega168P, но лучше использовать микроконтроллер с запасом по требованиям, например, ATmega328P (у которого в два раза больше Flash и RAM), используемый в недорогой и малогабаритной Arduino Nano.

Желательно использовать Arduino, на которой есть джампер для отключения автоматического программного сброса. Этот джампер необходимо удалить, иначе при открытии порта программой управления возможен жесткий сброс CarPC (даже если программой не используется сигнал DTR).



Для прошивки Arduino нужно либо временно устанавливать джампер, либо нажимать кнопку сброса в начале загрузки прошивки. Загружать прошивку необходимо с другого компьютера/ноутбука, при этом CarPC должен быть выключен. Arduino отсоединять от БП не обязательно.

Если в наличии есть Arduino без джампера, то надо каким-либо способом отключить ее программный сброс. Например, соединив контакты 5V и RST резистором.



Рекомендуется сразу заменить стандартный загрузчик на загрузчик Optiboot по следующим причинам:
  • Выше скорость загрузки – 115200 вместо 57600.
  • Корректно работающий Watchdog, поддержка которого, возможно, будет добавлена при дальнейшем развитии проекта. Проблемы с Watchdog на стандартном загрузчике описаны тут.

Схема подключения

На данный момент схема подключения Arduino к M2-ITX такая:


Резисторный делитель на входе D3 Arduino нужен для:
  1. понижения напряжения бортовой сети до допустимых значений, иначе Arduino не просыпается при появлении ACC (вероятно, срабатывает защита от превышения),
  2. подтяжки входа к нулю при отсутствии ACC.

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.
Lexx09 вне форума   Ответить с цитированием
Старый 05.12.2017, 08:51   #9
НСО154
Старший Пользователь
 
Регистрация: 01.01.2014
Возраст: 38
Город: Новосибирск
Регион: 54
Машина: РРС, Форд
Сообщений: 954
НСО154 is on a distinguished road
По умолчанию

Можно добавит вход от сигнализации, что бы система не нагружала на прогревах борт сеть авто.
Распознование режима ACC и START от повышения напряжения-плохая идея.
Я бы посоветовал отслеживать состояние от любого включённого прибора авто на время положения ключа Start, убьёшь ещё одного зайца, просадка АКБ (если это есть)
НСО154 вне форума   Ответить с цитированием
Старый 05.12.2017, 10:59   #10
Lexx09
Старший Пользователь
 
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
Lexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud of
По умолчанию

По поводу сигнализации с автозапуском уже думал... Полагаю, для корректной работы достаточно будет развязать 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, круиз-контроль...
Lexx09 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 06:48.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot