Orange pi hdmi не работает
Всем привет, в течении последних пару лет у меня в шкафу с роутерами стоял OrangePI на котором выполнялась банальнейшая задача - был поднят web сервер tornado и по открытии определенных страниц он выдавал/снимал питание с GPIO.
Все это время питался он от промышленного источника TRACO POWER TSP 090-124 (24v) который потом через китайский DC-DC преобразователь понижался до 5V, на китайском амперметре по линии 5V всегда была нагрузка в ~0.67А и работало это дело на удивление стабильно, 24 часа в сутки.
Но сейчас понадобилось расширить задачи и я подключил к нему по USB Arduino Nano (328) которая тянула за собой 4 PCF8574, и через Serial /dev/ttyUSB0 выдавал ему команды. И собственно вчера (на второй день после изменения конструкции) он перестал работать, выдает потребление 1.15А с самого начала без скачков и чип Allwinner H3 на нем становится раскаленным сразу после включения.
Собственно в чем тут дело? Он накрылся из-за отсутствия радиаторов на чипе? Почему? Загрузка процессора была на пару процентов по ps/aux. У меня есть запасной OrangePI, но перед заменой хотелось бы понять в чем могло быть дело тут
скорее - по GPIO что-то прилетело.
встроенный DC-DC - жив?
ну и да, ардуину для i2c городить - смысл если i2c есть и в самой апельсинке?
GPIO на тот момент был вообще отключен, связь с Arduino было по USB. Собственно к OrangePI только USB и SD карта с интернетом были подключены.
Встроенный DC-DC где находится и как его проверить?
Да собственно просто лежат несколько десятков плат на которых в качестве МК стоит Arduino Nano и PCF8574 с ULN2003A, а в качестве входа MAX488, ну я и решил зачем городить что-то новое если банально можно сунуть USB и вроде как без проблем работать с устройством
А он точно совсем того?
Оранж даже в консоль на последовательном порту ничего не пишет?
Проверь напряжение на позолоченных пятачках(которые подписаны 3_3V, 1_5V, 1V25) на плате оранжа относительно нуля.
Китайский преобразователь точно не накрылся, ровно 5 вольт выдает?
А ведь совсем недавно для интернета достаточно было дискеты. Эх-х-х.
А напряжение?
Китайские DC-DC любят гореть с пробоем.
Напряжение замерил дополнительно мультиметром - все в принципе цивильно 4.87V
Ну не совсем точно, но я побаиваюсь его включать лишний раз.
Последовательный порт не подключал, но сейчас принес телевизор и ткнул в HDMI, что бы посмотреть лог загрузки. Снял видео, извиняюсь за качество, то ли YouTube еще не обработал, то ли при загрузке через приложение оно очень сильно режется, но собственно вот:
Напряжения в контрольных точках проверь, а?
Жор больше ампера это не есть нормально.
Какая операционка стоит у тебя, кстати?
ТОЛЬКО НЕ ГОВОРИ МНЕ, ЧТО У ТЕБЯ ЯДРО 3.4.XX
Какого didька ты еще не перешел на стабильное 4.14!?
timdorohin ★★★ ( 04.08.18 16:47:04 )
Последнее исправление: timdorohin 04.08.18 16:49:43 (всего исправлений: 1)
Да я бы проверил, но то ли я глупый, то ли лыжи не едут, но я впритык не могу найти пятачки измерения, нашел у контакта питания только 3_3V, по которому намерил 3.28V, может вы знаете схему в которой это указано, я что-то не могу найти честно говоря
Операционная система стоит Debian, вроде как 8.3)))
По поводу операционной системы и ядра объясню - этот микрокомпьютер покупался конкретно под задачу держать одно Python приложение под Web сервером tornado которое банально подавало на GPIO питание, собственно оно работало безотказно 24 часа в сутки на протяжении пары лет, я не видел смысла туда лезть, пока оно не работает, да и сейчас я интегрировал туда работу через Serial вместо GPIO и думал, что опять забуду про это на долгое время.
Кстати, есть подозрение одно, я через script.bin поначалу поднял uart3 и работал через него напрямую. Но через некоторое время OrangePI перестал передавать команды на Arduino, в процессе поиска неисправности, я понял что не подумав подключил к 3.3 uart на Orange 5v uart от Arduino и похоже накрыл этот порт. Я оперативно отключил этот uart и начал работать по USB. Наверное в этом дело, но странно что это через пару дней проявилось
Кстати, вытащил карту памяти и решил посмотреть сколько потребляет OrangePI One без загрузки ОС, вот эта проблемная плата показала 0.90А по тому штатному амперметру, взял абсолютно новую только из упаковки вытащил и тоже без карты памяти включил - 0.18А, тут на лицо какая-то проблема
Спалил ты что-то. Осталось выяснить что именно.
Большая нагрузка по усб, например.
Ахиреть не встать. Общий брал с подводящих проводов или на самой плате тыкал? Если последнее, (т.е. к измеренному не добавилось падение на проводе) то вот и причина такого бешеного потребления, у тебя напряжение далеко за пределы уплыло.
Общий брал с шины клемм питания, там собственно сидят еще с тем же GND потребители 24V, 12V другие, ну и еще сантиметров 30 проводов питания, так что наверное если бы мерил с GND платы было бы побольше.
Пределы я так понял 1V2S 1.2V 1V2C 0.6-1.3V, я так понял от этих точек измерения питается и центральный процессор и все важные участки, так что вполне вероятно перепайкой пары транзисторов не обойдешься и там что-то серьезно накрыться могли и то, что он выводит еще изображение на HDMI - чудо.
Но собственно вопрос то главный - почему? Я сначала думал, что может я в каком-нибудь while true в python при работе с Serial запустил тяжелую рекурсию и перегрел это дело. Но я так понимаю, шансы того, что поломка из-за перегрева минимальны.
На ваш взгляд это могло быть вызвано ошибкой с напряжением uart или из-за Arduino висящем на USB? Arduino кроме как через USB еще висел через VIN+GND на тех же 5V от которых жил OrangePI, там конечно был сомнительный момент c ULN2003A который коммутировал 24V, но я так понимаю при подключении через USB шансы весьма маленькие накрыть тазом плату?
Я повторюсь, у меня есть такая же плата и хотелось бы ввести в эксплуатацию все как можно скорее, но я боюсь, как бы не повторился такой же печальный финал
Всем привет! Заказывал на али от ресселлера Element14 бандл с карточкой и блоком питания на 2.5А, источники питания менял, не помогает.
Закидывал на сд карту и BerryBoot, и Raspbian with Desktop, и NOOBS, результат один и тот же. Зеленый светодиод мигает, красный пару раз мигает при запуске и все, но, подключаю через HDMI к монитору, пишет NO INPUT(NO SIGNAL), не знаю, как фиксить. Учитывая, что диоды вроде показывают, что она запустилась, и то, что диоды на Ethernet-port'е мигают, то в чем дело? В NOOBS пробовал с клавиатуры от 1-4 понажимать, там вроде меняет режимы выхода, не помогло
Успешный вход в малину исключит несколько возможных причин - плохую малину, плохую флэшку и плохой
источник питания. Ну а потом уже надо копать дальше.
если красный после мигания остаётся в состоянии "потух", значит надо менять БП и/или кабель до него.
Красный тухнет когда питания меньше чем в концлагере.
если красный после мигания остаётся в состоянии "потух", значит надо менять БП и/или кабель до него.
Красный тухнет когда питания меньше чем в концлагере.
Я имел ввиду, что он пару раз мигает, а потом горит, все хорошо
Кстати, зачем проверять, работает ли все, если на LAN все горит?
Успешный вход в малину исключит несколько возможных причин - плохую малину, плохую флэшку и плохой
источник питания. Ну а потом уже надо копать дальше.
Вошел, плюс мораль от того, что дело не в малинке и т.д.
Поставил Raspbian, сделал hdmi_hotplug 1, монитор не видит все равно
Я имел ввиду, что он пару раз мигает, а потом горит, все хорошо
Кстати, зачем проверять, работает ли все, если на LAN все горит?
в при старте есть моменты с максимальным потреблением (когда управление частотой процессора ещё не активировано, и проц шпарит на максимальной частоте), если мигает - значит не хватает энергии даже для старта.
Красный светодиод никогда не должен мигать!
PS Причём здесь LAN? на многих компах он мигает даже когда комп выключен, т.к. есть такая фича как "пробуждение по сети".
Кстати, Если всё же предположить что Проблемы с HDMI - то по LAN мадина должна хотя бы пинговаться.
(либо научитесь правильно формулировать свои мысли)
Я имел ввиду, что он пару раз мигает, а потом горит, все хорошо
Кстати, зачем проверять, работает ли все, если на LAN все горит?
в при старте есть моменты с максимальным потреблением (когда управление частотой процессора ещё не активировано, и проц шпарит на максимальной частоте), если мигает - значит не хватает энергии даже для старта.
Красный светодиод никогда не должен мигать!
PS Причём здесь LAN? на многих компах он мигает даже когда комп выключен, т.к. есть такая фича как "пробуждение по сети".
Кстати, Если всё же предположить что Проблемы с HDMI - то по LAN мадина должна хотя бы пинговаться.
(либо научитесь правильно формулировать свои мысли)
Ну вот, грубо говоря я использовал малину через другой пк с помощью ssh, значит нормально в этом плане все. А про мигать, розетки я менял, а адаптер из набора(5V, 2.5A
Используйте кабель Micro HDMI-HDMI для подключения платы разработки Orange Pi и дисплея HDMI.
Если на дисплее HDMI отображается изображение после запуска ОС Linux, это означает, что интерфейс HDMI работает нормально.
Инструкция
Версии конвертера
Конвертер бывает трех видов:
- Без дополнительного питания и без аудио выхода
- Без дополнительного питания, но с аудио выходом
- С дополнительным питаним и с аудио выходом
Характеристики
- Поддерживает разрешения до 1080P (1080P Full HD) в том числе 480P/576P/720P для HD-мониторов или проекторов
- Подходит для всех видов vga-устройств
- Встроенный чип преобразования улучшает совместимость
- Plug and play, без специальной настройки
Изменяем файл Script.bin
1. Создаем резервный файл на случай ошибки:
2. Преобразовываем двоичный файла в формат fex редактируемого текста:
3. Редактируем файл fex:
Часть интересующего нас файла находится в разделах [disp_init] и [tv_para] .
В [disp_init]:
Изменяем строку disp_mode: Устанавливает используемые параметры отображения. Может принимать следующие значения от 0 до 4.
0 — соответствует конфигурации экрана screen0
1 — соответствует конфигурации экрана screen1
2 — dualhead (screen0, screen1, fb0, fb1) (2 экрана, 2 видео-буфера)
3 — xinerama (screen0, screen1, fb0) (2 экрана, один большой видео-буфер)
4 — clone (screen0, screen1, fb0) (2 экрана, один стандартный видео-буфер)(он показывает то же самое на обоих экранах)
Установим конфигурацию в значение 1, чтобы она отобразила конфигурации экрана screen1:
Изменяем строчку screen1_output_type, которая устанавливает тип отображения (0 — нет, 1 — LCD, 2 — TV, 3 — HDMI и 4 — VGA ) и screen1_output_mode (0-10 различные разрешения экрана, 11 — выход PAL и 14 — NTSC). Поэтому устанавливаем тип телевизионного экрана с режимом вывода PAL:
В [tv_for]:
Включим ТВ-выход, для этого устанавливаем 1 в tv_used (0 — Off и 1 — On):
Часть файла будет выглядеть следующим образом (остальные строки могут иметь другие значения, это зависит от используемого дистрибутива):
Можно видеть в предыдущей части файла, что screen0 установлен на HDMI с разрешением 720p, но мы выбрали в disp_mode использовать только вывод screen1, поэтому эти параметры пропускаются системой.
Но если никогда не будет использоваться HDMI, то он может быть отключен путем ввода в разделе [hdmi_para] в строчке hdmi_used значение 0.
Если необходимо подключить PS4, ТВ-приставку, проектор, возможно понадобится дополнительное питание и аудио выход, это нужно учесть при покупке.
Ширина и высота Framebuffer (How to modify the width and height of Framebuffer)
1) В файле /boot/orangepiEnv.txt ОС Linux есть две переменные fb0_width и fb0_height, которые можно использовать для установки ширины и высоты фреймбуфера.
В ОС Linux по умолчанию используется fb0_width = 1280, fb0_height = 720.
2) Рекомендуемые значения fb0_width и fb0_height, соответствующие разным разрешениям :
3) При одинаковом разрешении HDMI отображение разных fb0_width и fb0_height выглядит следующим образом:
Разрешение HDMI — 1080p60, fb0_width и fb0_height — 1920×1080
Разрешение HDMI — 1080p60, fb0_width и fb0_height — 1280×720
Настройки видеовыхода в SCRIPT.BIN
- Для установки аппаратных настроек Orange Pi используется файл Script.bin. Дополнительные сведения об этом файле.
- Поэтому для изменения разрешения видеовыхода необходимо изменить Script.bin.
- Для некоторых дистрибутивов, таких как Armbian, были реализованы и представлены инструменты, связанные с внесением изменений в конфигурацию оборудования простым и автоматическим способом, таким как скрипт h3disp (который позволяет изменять разрешение видеовыхода) этот инструмент автоматически обновляет файл script.bin, поэтомуо пользователь может не знать параметры .fex. Однако это очень полезно, если мы ставим Armbian, а если устанавливаем другой дистрибутив, то скрипта такого нет, и поэтому нам придется прибегнуть к модификации script.bin вручную.
Часть интересующего нас файла script.bin, соответствующая конфигурации экрана, находится в разделе [disp_init] , сначала мы рассмотрим каждый из его параметров:
Вся необходимая информация о значениях файла FEX находится на этом сайте . Я объясню вам это ниже:
- disp_init_enable: Включить / отключить использование экрана (видеовыход). Как вы можете видеть в предыдущей конфигурации, она включена. 0 для отключения; 1 для включения
- disp_mode: Устанавливает используемые параметры отображения. Может принимать следующие значения от 0 до 4.
0 — соответствует конфигурации экрана screen0
1 — соответствует конфигурации экрана screen1
2 — dualhead (screen0, screen1, fb0, fb1) (2 экрана, 2 видео-буфера)
3 — xinerama (screen0, screen1, fb0) (2 экрана, один большой видео-буфер)
4 — clone (screen0, screen1, fb0) (2 экрана, один стандартный видео-буфер)(он показывает то же самое на обоих экранах)
В предыдущей конфигурации включен режим экрана 0, который использует настройки screen0 и поэтому учитывает только значения следующих строк screen0_output_ и fb0_.
Схема подключения
Настройка разрешения HDMI (HDMI resolution setting)
1) В файле /boot/orangepiEnv.txt ОС Linux есть переменная disp_mode, которую можно использовать для установки разрешения HDMI.
Разрешение ОС Linux по умолчанию — 1080p60.
2) Переменная disp_mode поддерживает значения настройки, как показано в следующей таблице.
disp_mode supported value | HDMI Resolution | HDMI refresh rate
Поддерживаемое значение | Разрешение HDMI | Частота обновления HDMI
3) Измените значение переменной disp_mode на разрешение, которое вы хотите вывести, а затем перезапустите ОС. HDMI отобразит установленное разрешение.
Пример: Установить разрешение 1080P60
Если мы используем дистрибутив Armbian, который настроен по умолчанию с разрешением экрана 720p60, и мы хотим настроить его на максимальное разрешение, поддерживаемое нашим экраном 1080p60, то легко с помощью скрипта h3disp и командой:
А если скрипта h3disp нет то необходимо делать всё вручную:
1 — Создаем резервный файл в случае возникновения ошибки:
3 — Редактируем файл fex:
Анализируя установленные значения по умолчанию, имеем конфигурацию экрана screen0 ( disp_mode = 0 ), и она настроена как HDMI 720p ( screen0_output_type = 3 и screen0_output_mode = 5 ), экран screen1 не используется, но его значения такие же, как на экране screen0:
Единственная модификация, которую нужно внести в файл, — это изменить строку «screen0_output_mode = 5» и установить значение режима 10 (разрешение 1080p60):
История подключения одноплатного компьютера с HDMI к монитору с VGA и DVI
Имелся монитор с VGA и DVI, подключение через DVI вызывало много проблем, то не подходил переходник HDMI-DVI, хотя он сам по себе имеет простое исполнение, обычная коммутация контактов, из трёх переходников которые мне попались, заработал у меня один, который был с кабелем, остальные я расковырял и пытался скоммутировать правильно по распиновке HDMI-DVI, безуспешно.
Ещё необходимо настроить script.bin, а в armbian при обновлениях он может сброситься. Выйти из ситуации помог конвертер HDMI-VGA , который сразу заработал без всяких танцев с бубном. На Aliexpress цена на них небольшая, имеются модели и с выводом звука и ещё с дополнительным питанием, мне подошел самый обычный без всего. Греется не сильно, чуть теплый. Существуют конверторы в виде свистка , говорят они тоже работают как положено.
Orange Pi имеет два типа видеовыходов: цифровой, через HDMI и аналоговый, через разъем RCA (или, в конкретном случае Orange Pi Zero, через дополнительные контакты). Для аппаратных настроек Orange Pi используется файл Script.bin. Чтобы включить вывод композитного видео, необходимо изменить Script.bin.
- Orange Pi имеет два типа видеовыходов: цифровой, через HDMI и аналоговый, через разъем RCA (или, в конкретном случае Orange Pi Zero, через дополнительные контакты).
- Для аппаратных настроек Orange Pi используется файл Script.bin.
- Чтобы включить вывод композитного видео, необходимо изменить Script.bin.
Настройка разрешения HDMI (HDMI resolution setting)
1) В файле /boot/orangepiEnv.txt ОС Linux есть переменная disp_mode, которую можно использовать для установки разрешения HDMI.
Разрешение ОС Linux по умолчанию — 1080p60.
2) Переменная disp_mode поддерживает значения настройки, как показано в следующей таблице.
disp_mode supported value | HDMI Resolution | HDMI refresh rate
Поддерживаемое значение | Разрешение HDMI | Частота обновления HDMI
3) Измените значение переменной disp_mode на разрешение, которое вы хотите вывести, а затем перезапустите ОС. HDMI отобразит установленное разрешение.
Читайте также: