![]() |
oleg707
Да понятно что большую часть реализованную тобой можно выкинуть. Это часть украшательство просто. Но зная по себе остановится сложно. Мой скетч я выложил. При настройке использовал выдачу информации в сериал, после настройки потёр этот кусок. Смысла в этом не вижу поскольку светодиоды с промикры я в итоге отпаяю, да и их видно не будет, а долезть до USB равносильно разбору центра торпеды. Но ты продолжай визуализировать- для большинства тут присутствующих это актуально и тебе только спасибо скажут. А по существу, сегодня в голову долбанула идея. Я не углублялся в твой код, но походу она так же не реализована. Ситуация- завис планшет. Что делать? Разбирать? Надо реализовать жёсткий ребут его без разбора. Мне в голову только одна идея пришла. Заглушили машину, далее начал работать код который жмакает кнопку и если через, ну скажем 10 секунд на дисплее всё ещё питание есть, то уводим питание планшета в минимум тем самым обесточивая его и заставляя перезагрузиться. Ну и потом питание востанавливаем и дальше код работает дальше как ни в чём не бывало. Не написал, но на практике показало что если снизить питание до 2,8В то произойдёт выключение планшета, но время при этом не сбросится. В своём коде реализую, если будет интерес, то выложу сюда. |
Цитата:
заливай этот скетч, цепляй юсб к компу, выбирай скорость порта 115200 и номер свой. Должно кидать реальное напряжение по замеру АКБ. PHP код:
|
Oleg, чет словил очередной глюк...при подключенном 2ом контакте на пого пин не появляется напряжения на данном выводе. если же отключить 2ой контакт и включить АСС на этом контакте появляется напряжение... и при последующем подключении к пого появляется зарядка... и так до следующего отключения экрана
Цитата:
|
Цитата:
...ну скажем 10 секунд на дисплее всё ещё питание есть... а как ты питание процу покажешь? паяться к драйверу подсветки экрана? НАФИГ. Тут смысл в другом. Я заглушил, вынял ключ. Через 4 сек планшет потух. ВСЁ! Если зависон - то я его увижу. Если глюк в спящем режиме, да даже если ребут циклический - ну пусть мультики показывает, пока батарея планшета не сядет. БП питалово только 6 часов держит. В любом случае идёт контроль напряжения АКБ авто. скетч ложи, если запилишь. |
Цитата:
по порядку Отключи планшет нафиг, пока ты его не спалил Сначала блок протестируй, мигать его заставь диодиком Сними инфу про напряжение АКБ с ком порта. В качестве нагрузки повесь лампочки на 12 вольт (5-20 Вт) Ты чем блок питания запитываешь? Цитата:
|
oleg707
Да выложу конечно скетч. Только надо его реализовать. Неделя выходного началась, так вот за неё попытаюсь реализовать и псину на 555 и ребут планшета. У меня цель просто кристальна понятна- планшет должен работать как штатный БК автомобиля. Ни каких дополнительных кнопок, ни каких внешних видимых изменений. Поэтому требования ко всяким косякам завышены. Именно поэтому проект лежит на столе собранный, а не в машине стоит. Пока не допилю нюансы- ставить не буду. О проекте потом распишу, но тут тема про ситроен, кан и планшет есть моя. PS. Про питание дисплея- именно так как ты пердположил. Хвост припаян к драйверу. Самый надёжный вариант. Не понимаю твоего "НАФИГ. ". Кнопку запаять это норм, а к драйверу не катит. И вход использован аналоговый потому что планшет при разной интенсивности окраски дисплея разную яркость делает, но не менее определённого порога. А чтоб отпали дальшейшие вопросы- я использую не нексус, а линову. Нексус у меня в рамку не встаёт как надо. И требования у меня жёсткие- только стандартные прошивки. Поэтому реализация питания полностью аппаратная. Программная часть взаимодействия с автомобилем, "нетухнущий" дисплей и прочии фиговины- чисто моим софтом, без рута планшета. Но это уже не для этой темы. |
Цитата:
По поводу допиливания - нюансы вылазят как раз в машине. Так можно и пару лет готовиться при теле на столе. Я изначально вставил в наушники линейный разъём на усилитель звука, подпаял плюс и минус 5В на пого, подал туда питание с ''зарядки в прикуриватель'' и ездил так полгода. И оно Работало. |
oleg707
Да не мешает мне кнопка питания. При помощи неё я и сам рулю состоянием планшета и штатную не убрал даже, чтоб можно было тестировать. Я писал про то, что если уж полезли во внутренности, то какая разница уже что паять? Кнопку или припаять хвост к драйверу подсветки на который ты сказал НАФИГ. Симуляцию надо проводить на столе. В машине очень долго ловить глюки. На столе можно и кратковременные проподания питалова организовать и подмешивание в питалова белого шума и всё что угодно. Кнопка рядом не нужна. При отсутствии аккума можно это реализовать как я написал выше. С акумом планшета это тоже можно реализовать- ведь ресет делается двумя зажатыми кнопками. Я просто описал ситуацию, а нужен ли простой ресет или нет и как его реализовать это уже решает каждый сам для себя. |
Цитата:
на столе без планшета БП все норм пашед... кроме светиков. горит POW постоянно и тускло горит TX и их свечение не изменяется от положения АСС. по мониторингу порта видится напряжение 12.29 после подключения планшета этот глюк через раз появляется.. провода и точки подключения все перепроверил.. все норм. провод зарядки и на датчик холла вместе проходят... наводкой же не отдают наверно друг другу?.. |
TX мигает на самом деле похоже- идёт отправка значений напряжения в порт
БП походу просидает по напруге. |
Цитата:
Проверяй БЕЗ планшета. ПРосто тыкай тестером по напряжениям. залей с отключенным догом или вообще старую прошивку, там где светодиод(13) просто горит при наличии нормального напряжения. PHP код:
Дело в том, что порт светика для проца равнозначен порту управления пого или порту самозапитки. Проц ДОЛЖЕН работать везде одинаково и предсказуемо! И пока это не понятно, дальше смысла копать нет. И выложи ФОТО готового блока, мож где накосячил. |
Вложений: 2
Цитата:
блок то видит АСС.. ибо выводы питания хаба, y-otg и выход из сна исправно работают от статуса АСС. |
Цитата:
Да, и выпаяй кондер, который мешает юсб втыкать, это защита от помех |
Цитата:
|
Цитата:
Тут момент такой, что по сериал оно то отсылает, значит что-то по любому живое. Может просто светодиод глючит. Мне было бы проще процессор перекинуть, чем ардуину, но это с паяльной станцией. |
Цитата:
|
Az0m@
Без паники :) Если от ЮСБ работает, то мерий со стороны платы ардуино питалово. Походу дорожка порвана. Ещё сам косячил при пайке с недостаточным нагревом олова- олово проходило насквозь и под панелькой делало каку которая коротила с соседними ногами. Эту каку видно естественно не было. |
Oleg... подскажи куда еще копать....
урвал сегодня у соседа ардуринку... перепаял на плату. блинк работает. заливаю твой скетч... даю питалово на БП.. и тишина. ардурина сама не запускается, вообще никакой индикации... если подключить к ЮСБ... то при подключенной внешней питалове постоянно горит светик L, если же отключить питалово то L гаснет. а на подключение АСС никак не реагирует. |
Цитата:
2 - померяй питание на входе Vin ( от 8 до 13 - норма) 3 - померяй питание на +5V ардуины. оно же должно быть на кондере, который тебе мешает юсб втыкать 4 - прозвони массу. Если эти вещи есть, блинк будет работать при питании на БП.( асс и акб). Естественно, будет гореть светик PWR. |
Цитата:
Теперь следующий момент... светодиод L не видит отключенный АСС. Независимо от АСС он постоянно горит. Хотя при отключении АСС экран на планшете тухнет и наоборот. Еще нюанс....если к планшету подсоединить 2пин, то на этом выводе не появляется 5в в зависимости от АСС. Если же этот пин отсоединить от планшета то там исправно появляется 5в от АСС. При этом на входе А0 исправно в зависимости от АСС появляется 4.25В. на А1 постоянно стоит 4.24В На выводе 5V показывает 5.42в |
одну проблему вроде как решил, изменил код:
Код:
if (blink_mode != modes[5] || blink_mode != modes[5]) Код:
if (blink_mode != modes[5] || blink_mode != modes[5]) остался вопрос момент только под 2ому пину на пого пин. почему при подключенном планшете там не появляется +5В. при чем мультиком проверил что напруга не приходит с самого KIW. причем если пробудить планшет и после этого только подключить 2ой пин к пого то зарядка работает. но стоит переподключить АСС и снова на 2ом пину нет +5В |
Цитата:
во вторых, Планшет ВООБЩЕ никаким боком не должен влиять на поведение блока питания. Совсем! Может тебе вибер дать или скайп, так проще и быстрее, чем тонны текста писакать. |
Цитата:
|
Вот что получилось с "антизависанием".
Делей в 10 секунд, такой большой, потому что после восстановления питания планшет почему-то просыпается на несколько секунд показывая зарядку. Осталось организовать вочдог на 555. Решил использовать SE555 подключённую через диод и с кондёром на питание автомобиля (у SE максимальное 18 вольт) и дёргать ей ногу EN БП на kis3r33 который питает ардуину следящую за питанием. PHP код:
|
Дядьки читал читал... так и не понял...
подскажите сильно не ругаясь... какой в итоге блок питания лучше собрать... если можно сылкой |
Цитата:
можно и 3й, но я её забросил, так что все последние плюшки в 5й http://pccar.ru/showpost.php?p=354913&postcount=278 |
Цитата:
Сколько потребление самого блока при выключенном зажигании и при активном состоянии (без планшета) ? |
Пока ни чего не мерил.
Я потом схему выкину- рисовать её в лом. Суть такая- промикра запитана от киса и управляет двумя блоками питания на LM2596. Один БП на хаб, флешку и ардуину которая связывает CAN с планшетом. Второй (на самом деле спараллеленые два БП с одним резистором подстройки, так как один от планшета сильно греется)на планшет выдающий 4,35 вольта и при необходимости "жёстко" вырубить планшет падающий до 2,8. С отключённым зажиганием работают два БП на планшет и БП на кисе на ардуину. Если питание провалится ниже заданного предела, то останется работать только БП на кисе и ардуина. Сегодня ради развлекухи решил сделать часы- на столе валяется промикра ещё одна, часы на DS3231 и напоролся на косяк. Я конечно попробую на второй промикре, но походу это у всех! Заливаем в промикру тупой блинк if (millis() - timer0 > 1000){ digitalWrite(19, !digitalRead(19)) timer0 = millis(); } И получаем что первую минуту интервал выдерживается, а потом светодиод тупо горит! Нет- промикра не виснет и светодиод на самом деле мигает, но очень быстро. Если в луп накидать кода, то станет видно это. Заметил вообще случайно! В часах сделал палку крутящиюся которая на дисплее отображалась, так вот первую минуту она крутилась с заданной скоростью, а потом ускорялась в несколько раз. Ей не давал в сплошной засвет привратиться только код самих часов поскольку lcd.print работает долго. У кого есть промикра- проверьте плиз. |
Цитата:
А распиши ка подробнее, как работает эта строчка, в качестве ликбеза.digitalWrite(19, !digitalRead(19) timer0 ансигнед лонг? На другой ардуине такое же поведение ( на базе 328P или меги) ? |
oleg707 про ансигнед лонг угадал! Я в ночи написал ансигнед инт случайно- отсюда и глюк.
А строчка- ну чего тут не понятного? Задаётся состояние пина обратное его нынешнему состоянию. Я надеюсь что все знают что типы типа булена можно в условии указывать как boolean A = true; if (A) {} Это условие выполнится когда A == true if (!A) {} Это условие выполнится когда A == false Соответственно в верхней строчке берётся просто обратное состояние от нынешнего. Тоесть если оно HIGH, тоесть true, то получаем !HIGH (!true), тоесть false и наоборот. а если ещё точнее, то if (A == LOW) A = HIGH; else A = LOW; тоесть сокращённо A != A; Хреново я объясняю короче :) |
Цитата:
А ассемблер кончился, толком не начавшись лет 5 назад. Так что будешь консультантом по С++ |
а как задать условие НЕ РАВЕН ?
!= так? if (blink_mode != modes[5] || blink_mode != modes[6]) если blink_mode НЕ РАВЕН modes 5 или если blink_mode НЕ РАВЕН modes 6 это правильно? |
версия 54
PHP код:
PS могу отсутствовать на форуме около месяца. |
Вложений: 1
oleg707
Ну да- неравенства != в сях. Вот схема моя как и обещал. В заумных редакторах не рисую к сожалению. Вторая LM2596 это две спаренных платы. Из одной выпаян резистор подстройки, а пустые хвосты припаяны к резистору второй платы. Короче сделано бутербродом. Вывод ADJ взят от среднего конца подстроечника. Закупился SE555, так что буду злую псину изобретать :) У SE по сравнению с NE приделы питания побольше (SE 18В потолок), но пару диодиков поставить надо всё равно. PS. Сам отсутствую по неделе :) |
Вложений: 1
перерыл пол инета и не могу найти схему включения 555 в режиме перезапускаемого одновибратора! Помню что давно делал, но не помню как!
PS Отменяется- порылся в записях и нашёл как это сделать. Ан нет! Всё красиво, но по схеме которая у меня была надо формировать импульс входной. Тоесть нельзя подать минус и ждать что одновибратор сработает. Он естественно даже не чихнёт. Тоже самое касается тупого ввода конденсатора на вход. И даже конденсатора с диодом. Короче надо ещё попробовать транзистор по входу поставить чтоб им формировать импульс. Схема прицеплена из неё будет понятнее почему нельзя просто прицепить последовательно входу конденсатор или диод+конденсатор. Ещё идеи у кого есть по поводу вачдога? У меня в голову пришла только идея из двух 555. Первая работает в режиме одновибратора выдавая на выход импульсы заданной длинны, а вторая та что тут на схеме. Тоесть импульс на вход первой пришёл, через некоторое время сформировался импульс на выходе который сбросил второй таймер на 555. Но это писец как убого и громоздко! Второй вариант смешной и из области абсурда :) Взять какой нить восьминогий микроконтроллер типо атини и залить туда прогу сброса. И сделать чтоб основной микроконтроллер давал импульсы сброса на тиньку, а тинька на основной. Ну чтоб следили друг за другом и если что, то ресетили. Повесить на неё антизвонных кондёров и отправить это в плаванье :) Причём чтоб при ресете она тоже ресетилась по питанию. Но это как-то смешно. Микроконтроллер следит за зависанием микроконтроллера. А вообще есть предположение что виснет или из за помех или из за таймера! А точнее то, как переменным присваивается значение таймера. Или то, на что не расчитываешь- ну типо переменной было присвоено значение таймера 4294967295, но следующее значение у таймера не 4294967296, а 0 и из за этого происходит глюк. Короче, я свою версию БП потестирую, у меня там функций мало, так что код вряд ли глючить будет и посмотрим. На всякий случай выведу кнопку хард ресета (тоесть обесточивания контроллера). |
Как можно сделать задержку включения самым бюджетным способом, просто 1 кис который питает хаб и перефирию включается от АСС, и сейчас одновременно 2 кис включается с АСС для планшета!
|
Цитата:
|
Просто получается Планшет не успевает определить хаб и устройства в нем, есть пару реле и кондеры разные! Не пойму как это реализовать!
|
Народ, для начала спрошу продолжать ли мне отписывать свои наработки для своего БП тут или создать отдельную тему? Может вы не хотите тут лишнего флуда видеть.
Ну а про свои наработки- подумал я и переписал код "чутка". Короче захотел убрать делеи и сделать более правильный алгоритм работы. Вот код как ща есть- без перерывов цикла сделана только функция включения. Остальное потом допишу, а это для сравнения сколько нужно строк чтоб заменить 4 строки с делеем, но тем не менее так правильнее. PHP код:
Суть в том, что после "жёсткой" перезагрузки питанием через примерно 10 секунд экран планшета включается и показывает текущий заряд батареи! И это держится ещё примерно 10 секунд. Тоесть из за этого код выключения отработал и тут на тебе- экран загарелся и естественно код начал отрабатываться ещё раз с тем же "жёстким" ресетом. Ну короче дальше всё по кругу! Вовремя нашёл это, а то в машине было бы весело после первого же зависания. Поправил в своём коде на 30с, а в котором тут не правил. В общем-то я код оттестировал и если интерестно, то могу окончательный вариант запостить. PPS Не в тему, но может кто знает. Lenovo tab2 A7 при подключении флехи выдаёт сообщение "OTG-диск готов к использованию Изменить настройки памяти по умолчанию?" Ну и отмена и ок. Как убрать эту табличку нафиг? А то в машине при подключении флехи/выхода из слипа/загрузки она вылетать будет! Задолбает же в ноль! |
Конечно интересно кидай!
|
Часовой пояс GMT +4, время: 08:54. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot