Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
22.02.2015, 19:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от Proshha
|
а для особо непонятливых - можно? где там про потребление подсветки?
|
Пункт 12: Backlight power consumption - 1.2W (Typ.)
|
|
|
|
22.02.2015, 19:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от alvadep
|
omercury, ума не приложу зачем там второй корпус. Подсветка то по условиям задачи в мультиметр и 20мА там аж занадто. Вон 83-й изя от STM-ма подсветку питает и нарадоваться никак не может.
ЗЫ. Ну разве только для питания самого МК, чтоб не ставить Д815.
|
Ёкарный бабай!!!
А то, что мультиметр, я как-то и упустил уже...
Тогда действительно достаточно одной SOT-ки.
Proshha, Ваш выход!
Нарисуйте ему схему на одной ЛА7 с регулировкой скважности подстроечником и таймером на ионисторе - нифига там больше не нужно!
Последний раз редактировалось omercury; 22.02.2015 в 19:40.
Причина: ЛА7, конечно же.
|
|
|
|
22.02.2015, 20:17
|
|
Вид на жительство
Регистрация: 26.10.2009
Сообщений: 379
Сказал спасибо: 47
Сказали Спасибо 146 раз(а) в 93 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от Proshha
|
1..
Двойное короткое нажатие появилось в роли костыля, когда не удалось простой перетасовкой готовых подпрограмм дибиться заявленого вначале алгоритма работы. .
...............................................
Кому не интересно - будет продолжать изобретать костыли с двойным-тройным-четверным нажатием
Удачи ))
|
Дык вроде бы в предложенных вариантах заявленый вначале алгоритм работает.
__________________
..истина где то рядом..
|
|
|
|
22.02.2015, 23:48
|
|
Временная регистрация
Регистрация: 23.07.2007
Сообщений: 42
Сказал спасибо: 3
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от proba60
|
Дык вроде бы в предложенных вариантах заявленый вначале алгоритм работает.
|
Работает. Но МК молотит постоянно, даже при выключенной подсветке. В результате вместо экономии батареи получаем ускоренный разряд. Погружение МК в сон привело к сбоям. Всё это обсуждалось здесь ранее.
Как-то так ))
|
|
|
|
23.02.2015, 00:49
|
|
Временная регистрация
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от proba60
|
Дык вроде бы в предложенных вариантах заявленый вначале алгоритм работает.
|
Вот этот код работает более-менее нормально, и он мне в принципе подошел бы, но не хочется сверлить в корпусе мультиметра дырку под кнопку!
Вначале думал использовать для вкл./выкл. подсветки сенсорный датчик, но отказался от этой идеи, когда обнаружил, что кнопка "REL" (relative) задействована в мультиметре не полностью! То есть она реагирует только на короткие нажатия, а если подержать больше 1с, нажатие засчитывается два раза (то есть вкл. и выкл.).
Вот я и решил "прикрутить" включение подсветки к этой кнопке, чтобы подсветка хотя бы включалась и выключалась! За основу взял код, который написал omercury (за что кстати ему большое спасибо), и попробовал упростить. Файл с кодом, который получился прикрепляю к сообщению!
Очень странно, но код не работает хотя и компилируется! Правда с предупреждениями "... expression with possibly no effect"
Конечно опытный программист наверно подумает, что написать такой простой код неправильно невозможно - это как "заблудиться среди двух сосен", но тем не менее... у меня это похоже получилось
Подскажите пожалуйста, в чем я ошибся? Заранее спасибо!
|
|
|
|
23.02.2015, 04:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от prosto_andriy
|
Очень странно, но код не работает хотя и компилируется!
|
Что Вы там понаписали, компилятору всё равно, главное, чтоб не было синтаксических ошибок.
У Вас их нет и он честно компилирует.))
Правда предупреждает, что то, что находится по указанным строкам всё равно в работе не участвует и он тот код выкинул к зелёной бабушке. И он, как ни странно, прав!
Флаг BACKLIGHT_on не только индицирует включение подсветки, но и управляет ей.
Строка 107, первый вызов функции включения/выключения. Вы указываете, что фонарь выключен, записав в флаг 0 и вызываете функцию вкл/выкл. МК входит в функцию, выполняет условие по else, то есть опять устанавливает флаг и выходит из функции. Строка "led_on = 1;" ничего не делает, так как вывод подключен к ШИМ таймера.
Строка 151, вызов из main. Чтобы попасть в это место надо либо подождать 15 минут, чтобы переменная systemClock досчиталась до порогового значения, либо вызвать функцию BACKLIGHT_on_off(void) с установленным флагом, которая сделает то же самое, но сразу... Флаг установлен и условие выполняется. В результате функция увеличивает systemClock до порогового значения(которое и так уже пороговое) и тут же заканчивается, осуществляя возврат в main. Далее МК отправляется спать, не обнулив эту переменную, в результате после пробуждения он выполнит действия из строки 107 и тут же снова вхолостую сходит туда же и уснёт... Если переменную обнулить, то в логике "работы программы" это ничего не поменяет, так как всё равно будет строка 107.
Строка 62, Вызов из опроса кнопки (который никогда не произойдёт)...
Допустим он всё же произошёл и Вы туда чудом попали и даже удержали длительное нажатие. МК честно туда сходил бы, установил бы себе флаг BACKLIGHT_on, вернулся в опрос кнопки, пропустил его до конца, так как всё уже выполнено и ничего больше делать не надо, вернулся в main... и снова строка 151...
Сообщение от prosto_andriy
|
кнопка "REL" (relative) задействована в мультиметре не полностью! То есть она реагирует только на короткие нажатия, а если подержать больше 1с, нажатие засчитывается два раза (то есть вкл. и выкл.).
Вот я и решил "прикрутить" включение подсветки к этой кнопке
|
Что в результате-то?
Как кнопка должна реагировать на нажатия?
Включение - двойной клик, это понятно.
Отключение тоже по двойному клику?
|
|
|
Сказали "Спасибо" omercury
|
|
|
23.02.2015, 16:01
|
|
Временная регистрация
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Да, поскольку одинарное нажатие уже занято под вкл./выкл. режима REL(relative).
Фактически два коротких нажатия при включении/выключении подсветки будут включать и сразу же выключать этот режим, но в итоге мультиметр окажется в том же состоянии только с уже переключенной (вкл./выкл.) подсветкой!
Вместо двух коротких нажатий можно использовать одно длинное (больше 1с), поскольку длительное нажатие кнопки "REL", приводит к тому, что режим RELATIVE отключается, если кнопку держать больше 1с!
То есть переключение можно сделать двумя способами:
1. Одним длинным нажатием кнопки - больше 1с.
2. Двумя короткими - мультиметр реагирует даже на нажатия длительностью 0,3с!!!
P.S.: В идеале конечно, если это возможно (имею в виду на ATtiny13) двумя способами! Но наверно у нее памяти для этого не хватит.
Последний раз редактировалось prosto_andriy; 23.02.2015 в 16:21.
|
|
|
|
23.02.2015, 17:09
|
|
Гражданин KAZUS.RU
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от Proshha
|
Здесь Вы вообще заблудились в трёх соснах, заодно отменив закон Ома ))
Чтоб оставить на потребителе (лампочке) 10% напряжения нужно увеличить сопротивление управляющего элемента. Что неминуемо приведёт к уменьшению общего тока и, как следствие - потребляемой мощности. В том числе - и рассеиваемой на регулирующем элементе.
Возвращаясь к вопросу "что в данном конкретном случае экономичней" - получаем однозначный ответ: линейный регулятор.
|
Всем доброго времени суток.
Чтобы не быть голословным, давай зададим лампочке сопротивление и пусть оно будет линейным, для простоты.
1. Лампочка -200ом.; на управляющем транзисторе падает 1 в. Напряжение 220в. При этом ток будет 219/200=1,95А. Мощность падающая на лампе равна 219*1,95=427,05 вт, а на транзисторе 1*1,95=1,95 вт.
КПД=427,05/((427,05+1,95)/100)=99,(54)%
2. Уменьшили напряжение на лампе на половину: 110/200=0,55А. При этом сопротивление транзистора будет такое как и у лампы 110/0,55А=200ом. при этом мощность рассеиваемая лампой будет 110*0,55=60вт, а на транзисторе - 110*0,55=60 вт. КПД=60/((60+60)/100)=50%
3. Оставим на лампе 10% напряжения. 22/200=0,11А. Мощность на лампе будет равна 22*0,11А=2,42вт. Мощность рассеиваемая транзистором равна 198в*0,11А=21,78 вт. КПД=2,42/((2,42+21,7 /100)=10%.
Ну, и где же экономичность линейного регулятора? Видно прав был Akegor, это безнадежно.
Последний раз редактировалось МВА; 23.02.2015 в 17:11.
|
|
|
|
23.02.2015, 17:26
|
|
Вид на жительство
Регистрация: 26.10.2009
Сообщений: 379
Сказал спасибо: 47
Сказали Спасибо 146 раз(а) в 93 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от МВА
|
Всем доброго времени суток.
Чтобы не быть голословным, давай зададим лампочке сопротивление и пусть оно будет линейным, для простоты.
1. Лампочка -200ом.; на управляющем транзисторе падает 1 в. Напряжение 220в. При этом ток будет 219/200=1,95А.
|
Не фатальная но всё-же ошибка 219/200=1,095А
__________________
..истина где то рядом..
|
|
|
Сказали "Спасибо" proba60
|
|
|
23.02.2015, 18:05
|
|
Гражданин KAZUS.RU
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
|
Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?
Сообщение от proba60
|
Не фатальная но всё-же ошибка 219/200=1,095А
|
Спасибо, согласен, но на подсчет КПД это никак не скажется, просто в 1,78 раз получится завышена мощность нагрузки и управляющего элемента. А КПД зависит от отношения этих нагрузок. Но виноват не я.... Это мышка у меня выделывается и я не заметил что ввел не то число, потом заметил, на других числах и стал вводить числа с клавы. Так что извиняйте, я не буду даже исправлять этого.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:26.
|
|