не понятно, когда возникает у вас проблема?
если при питании повышенным напряжением у вас МК что-то там фиксировал, и помог резистор, то явно у вас порт МК не настраивался на выход, а оставался в третьем состоянии - иначе резистор бы не помог.
а вот стиль оформления программы, имхо, у вас ужасный.
Добавлено after 2 minutes 38 seconds:
кстати, если у вас гарантируется, что питание не превысит допустимых для МК 5,5 вольт, можно вообще обойтись без биполярного транзистора VT5, подключив 2-ю ногу МК прямо на затвор VT4.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Ну уж и ужасный - все разделено согласно назначения.
единственно - издержки текстового формата из-за необходимости одинакового стиля (компромис) одинаково успешно воспринимаемого разными компиляторами да упрощение с вызовом компилятора при указании единственного файла в командной строке.
Там на лапках управления в любом случае переход из Z-состояния имеет место - или при начальном включении или при восстановлении питания..
Похоже на то, что через модуль светиков завязывается какая-то бяка.
Если при низком напряжении работа устойчива, то при более высоком там и подавно должно было все быть нормально.
Можно конечно силовой ключ и напрямую на вывод МК прицепить - только тогда сон будет с 1 на выводе - хотя...
На резисторе больше теряется в данный момент. Не удалось таки обойти истину "законов природы/схемотехники".
Я ж хотел "спать с 0" на выводе управления ключом.
пока что я не вижу причин для каких-то законов природы, которые бы могли вам помешать.
проделайте следующие тесты:
- отключите МК вообще, и подавайте 1, 0 и Z-состояние руками на базу VT5 - будет при всех напряжениях включаться?
- выбросьте вообще VT5 и сопутствующие резисторы, проверьте включение путем замыкания затвора VT4 на общий без МК - будет включаться при всех напряжениях?
- соедините PORTB.2 с затвором VT4 и перепрограммируйте МК на включение питания тупым переводом DDRB.2 на выход, а выключение пиатния - на вход. будет работать?
Добавлено after 3 minutes 43 seconds:
BOB51 писал(а):Я ж хотел "спать с 0" на выводе управления ключом
будете спать с Z-состоянием.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
В том и фокус, что все вышеприведенное уже проверялось...
Похоже на эфект "затягивания уровня к нулю"...
Хотя - ёжли будет работать с внешней подтяжкой - и так сойдет.
Там имеют место два вывода с неизвестным содержимым -
собственно вывод питания и вывод данных.
Выход из останнова:
исходно
pwr_set=out_line=0 питание линейки отключено
по прерыванию ставим исходное состояние (аналогично подаче питания) pwr_set=out_line=Z питание линейки отключено
затем подаем одновременно
pwr_set=1, out_line=Z что приводит к подаче питания на линейку, а вывод данных временно оставляет неподключенным...
вот после этого и имеем тот сбой для определенного диапазона питающих напряжений...
А почему именно для какого-то диапазона работает, а для другого -фигвам?
Ненормально!
Должно или работать или не работать!...
R9 вопрос похоже полностью снимает (уточню только завтра/послезавтра как акумулятор естественным путем высажу).
Пы.Сы. подтягивающие резисторы в МК отключены по двум причинам -
1. несоответствие с емкостной кнопой (у нее активный выход, а не ОК)
2. меньше жреть в режиме сна.
Последний раз редактировалось BOB51 Пн июл 30, 2018 13:24:52, всего редактировалось 1 раз.
Все, чего ему захочется между прерываниями, обслуживающими автономно функционирующий дисплей.
Алгоритм построен на максимальном использовании возможностей таймера Т1 классики АВР.
Так сказать "фоновый светодиодный дисплей" при полной свободе действий самого МК.
Обмен информацией между основными исполняемыми программами и программой регенерации дисплея ведется через буфер отображения и флаги диспетчера программы регенерации дисплея.
Возможно и в других МК с аналогичными возможностями аппаратной начинки реализовать.
К сожалению... программа на ассемблере...
Ежли интересно - покопаюсь в архивах - там был комплект термодатчика(не помню с чем) на ПИКе и удаленного дисплея с репитером в терминалку ПК. Протокол обмена хоть и RS232, но пакетами аналогичными далласу с защитой CRC8.
Только мне все те возможные градации физически наблюдать поднадоело - использовал гораздо более грубые фиксированные величины.
Ну почему же?
Использование базы наработок значительно упрощает решение многих проблем.
И чем база обширнее тем возможности лучше!
Только вот... не знаю, можно ли то решение хотя-бы под Си реализовать...
Яж не спец в Си...
Это под ассемблером можно распределять ресурсы как душа пожелает...
А так возможно и патентное решение (хотя заложено авторами тех же АВРок)
Просто используем имеющееся по своему усмотрению.
BOB51 писал(а):Алгоритм построен на максимальном использовании возможностей таймера Т1 классики АВР.
Сколько прерываний в секунду происходит от таймера?
ARV писал(а):ну вам-то какая разница?
Ну спрашивал я не у вас. Может мне интересно программное решение, ведь проект в котором есть поддержка 1000 градаций яркости семисегментного индикатора не часто встречается.
Спрашивали вы не у меня, но отвечать бросались мне, когда я вас и не спрашивал. Так что мы квиты
Но ведь вам не нужен ответ, т.к. в STM32 сделать 1000 градаций труда не составит, там и 10000, пожалуй, не проблема.
Для чего спрашиваете?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мурик
Честно... не помню - но поскольку 4 канала при частоте 62 герца - 0,016 секунды на позицию.
Но там не одно а три прерывания с коротюсенькими обработчиками. Количество градаций с учетом пары "мертвых зон" определяется разрешающей способностью (разрядностью) таймера. И там раздельно по каждому из каналов/позиций регулировка. Как расширение планировалось подключение 4-8 штук 595х по одной из координат ... Да уж то совсем влом делать было...
Копаться в архиве пока лень - надо доконать забодучий светильничек.
Сегодня с матюком запаял классику да прожку переделал - вечерком попроверю, тогда и можно чем другим побаловаться.
Спасибо хош ARV напомнил, что ешшо Z приткнуть в дело можно!
От нашей погодной жары-духоты мозг плавится...
Насчет количества градаций у светиков - там и 256 излишни...
Динамический диапазон восприятия глазом более к мультипликации тяготеет, чем к ШИМу.
А красивые эфекты - на основе смеси как ШИМа в кадре (элементе изображения)
так и нескольких последовательно выполененных кадрах (элемент мультипликации).
Да еще кучма всяческих "нюёнсов" ... уже дизайнерско/инженерно-конструктивных и материаловедческих...
BOB51 писал(а):Честно... не помню - но поскольку 4 канала при частоте 62 герца - 0,016 секунды на позицию.Но там не одно а три прерывания с коротюсенькими обработчиками. Количество градаций с учетом пары "мертвых зон" определяется разрешающей способностью (разрядностью) таймера.
Писали про 1000 градаций яркости. Какой алгоритм не рассказали, предположим что яркость меняется пропуском свечения разрядов, тогда частота прерываний таймера должна быть 62 * 4 * 1000 = 248000. МК справится с 248 тысяч прерываний в секунду?
Мурик писал(а):МК справится с 248 тысяч прерываний в секунду?
продолжаете допрашивать, абсолютно не нуждаясь в ответе? да вы не тужьтесь, на любой вопрос сразу говорите "а вот с STM32 такой проблемы нет", все равно ведь практически все, что вы пишите, сводится к этому.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
такто это не сложно - 256 ступеней получаем таймером с прерыванием по совпадению, а там точнехонько добиваем нопами или "делай()" (если влезет).
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мурик, я готов ставить 10 против 1, что если вам рассказать алгоритм, вы не успокоитесь и начнете выспрашивать, сколько тактов алгоритм съедает, или еще что-то. ну и обязательно закончите тем, о чем я сказал.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...