Главная » Статьи » Полезная информация |
В категории материалов: 18 | Страницы: 1 2 » |
В портативных устройствах, как известно, важной составляющей является время автономной работы. Кому понравится пользоваться устройством, которое приходится очень часто заряжать? Поэтому к различным способам снижения энергопотребления полезно добавлять еще одну функцию - автоматическое отключение питания, которое поможет спасти заряд батареи если пользователь забыл отключить устройство. А для того чтобы это реализовать, нужно чтобы устройство включалось и выключалось от кнопки без фиксации. Мне как раз понадобилось реализовать подобное и испытав несколько схем найденных в интернете, остановился на самом интересном решении. Поэтому сейчас покажу, как можно включать и выключать устройство на микроконтроллере одной кнопкой без фиксации и реализацию такого алгоритма в Bascom-AVR. |
Выполняя небольшой проект, столкнулся с необходимостью вести в устройстве подсчет количества пройденных суток. Время и дата брались с микросхемы DS1307, а сам период подсчета был небольшой (не больше 30 дней) и счетчик был организован на суммировании отработанных часов. Каждый час данные сохранялись в EEPROM на случай перебоя с питанием. И конечно же во время отсутствия питания часы не прибавлялись, что приводило бы к неточностям подсчета. В принципе все устраивало, так как питание устройства предусматривает наличие генератора, который запускается в течении пары минут. Но стало интересно как организовать программно расчет пройденного времени по разнице дат. Это сразу решило бы много проблем, в том числе и заморочки со стабильным питанием, да и ресурс EEPROM не безграничный. Результатом своей работы я и хочу сегодня поделиться с вами. |
Как известно, при измерении чего-либо возникает погрешность, влияющая на результат измерений. Будь то температура, измеренная с помощью специализированного датчика, или же напряжение измеренное аналого-цифровым преобразователем. Ничего идеального не бывает и поэтому на выходе мы получаем прыгающие значения. В радиолюбительской практике, для избавления от подобного, чаще всего применяют простое сглаживание: берут результат нескольких измерений и находят среднее значение, на выходе получая данные без резких скачков. Этот алгоритм прост и понятен любому человеку, окончившему школьную программу по математике. Но в этом методе кроется куча недостатков, такие как необходимость делать большое количество измерений для приемлемого результата или же отсутствие связи между текущим результатом и предыдущими. Не так давно, открыл для себя один интересный метод фильтрации, который лишён этих недостатков. Этот метод носит имя американского математика Рудольфа Калмана и способен давать значение максимально приближенное к реальному.
|
Размышляя на тему как максимально экономить батарейку в проектах где основная задача выполняется по нажатию кнопок (как в пультах ДУ) в голову пришла очень простая и эффективная схема. Ее достоинство состоит в том, чтобы на кнопку возложить не только задачу вызывать ту или иную функцию, но и подавать питание на микроконтроллер. Таким образом потребление схемы в режиме ожидание падает до нуля (!), так как батарейка оказывается полностью отключенной от схемы. |
Давненько я ничего не выкладывал, исправляюсь. Сегодня я поделюсь результатами своих экспериментов в области управления нагрузками, подключенными к бытовой сети 220 вольт. А именно займемся диммированием - будем плавно зажигать и гасить лампочку накаливания.
На первый взгляд тут ничего сложного нет - используем ШИМ и регулируем в свое удовольствие. Но не стоит забывать что напряжение в розетке переменное, а значит что сделать это будет немного сложнее. Дальше будет немного теории, схема и метод управления.
|
Используя в проектах большое количество кнопок, постоянно сталкиваюсь с проблемой нехватки количества внешних прерываний. Вроде выбрал подходящий по нафаршированности камень, есть все что надо - АЦП, 2 юарта, много флэша, а вот прерываний нехватает... Или чаще наоборот, небольшой проект, на который с лихвой хватит ресурсов tiny2313, и нужно обрабатывать много внешних событий (таких как нажатие на кнопки). Брать камень крупнее не спортивно, да и жалко когда ресурсы будут низачто простаивать :), поэтому был найден простой способ как, использовав всего один вход прерывания, обработать практически неограниченное количество кнопок. |
У нас на сайте уже выкладывался материал на тему как связать микроконтроллер и ПК, организовав на стороне микроконтроллера софтовый USB. Но все же, чаще всего для связи с компьютером по прежнему используется добрый старый RS232. А так как я тоже понемногу стал осваивать написание программ для ПК, решил проработать метод управления микроконтроллером через компьютерное приложение. Опытом всего этого я и хочу поделится сегодня. |
Любое измерительное USB устройство (как наш вольтметр) не мыслимо без пользовательского интерфейса - компьютерной программы которая позволяет управлять устройством и получать от него данные. Поэтому в третьей части будет описано создание программы для получения результатов от нашего USB устройства. Программа будет написана в компиляторе
PureBasic, поэтому освоится в нем после Bascom-AVR не сложно. Тем более что автор хорошо потрудился, и дал объяснения каждой строчке программы. |
Проекты [46] |
Как подключить [32] |
Инструменты [3] |
Полезная информация [18] |
Объявления [3] |