Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
384 Часть 111. Практическое программирование микроконтроллеров А VR ЗАМЕТКИ НА ПОЛЯХ Особенно беспечны бывают разработчики устройств , где имеется узел , работающий от батарейки , тогда как остальная часть схемы обесточена. Самый распространенный пример - компьютерная материнская плата с СМОS-часами . Там часы (несколько другой конструкции , чем наши DS1 307) подключены к выводам управляющих логиче ских микросхем . А обесточенная КМОП-логика , в отличие от нормального режима ра боты , может потреблять через входы при наличии на них высокого уровня значитель ный ток - он обусловлен защитными диодами , которые при отсутствии питания ока зываются подключенными к низкому потенциалу в прямом направлении . Это приводит к ускоренной разрядке резервной батарейки , если вы компьютер долго не включаете. Нельзя сказать , что так случается со всеми материнскими платами (в ноутбуках, на пример, я с этим вообще не сталкивался) , но такую вероятность надо иметь в виду. В более очевидных случаях, когда компонент (например, аналоговый датчик) по требляет много, а встроенной возможности отключения не имеет, питание этой части схемы можно отключать при уходе в «спящий» режим с помощью транзи сторных ключей или реле (разумеется, ключи предпочтительнее, т. к. любое реле много потребляет само и долго включается). Но при таком способе надо учитывать, что многие датчики имеют достаточно большое время выхода на режим, которое нередко составляет несколько миллисекунд или десятков миллисекунд (датчик влажности серии HIH-4000 фирмы Honeywel l - 70 мс), а в худших вариантах мо жет достигать и секунд. Это время надо с запасом учитывать при такой организа ции питания. Экономичный термометр на батарейках Давайте попробуем применить полученные сведения на практике - построим тер мометр на датчике ТМР36 и дисплее МТ- 1 ОТ l 1 , который мы рассматривали в пре дыдущей главе (рис . 1 4 .2) . С точки зрения энергосбережения I 2 С-порт ничего нам напортить не может: хотя он и имеет «подтягивающие» резисторы, но основное время оба порта установлены на вход с «третьим» состоянием вывода, потому ни чего не потребляют. Что немаловажно, это отключенное состояние соблюдается с обеих сторон, и ничего специально тут предпринимать не требуется. Датчик ТМР36 потребляет 50 мкА, и эта цифра еще может быть уменьшена в сто раз, если задействовать режим Shutdown, который доступен, если использовать вариант датчика в корпусе с планарными выводами. Мы таких корпусов не приме няем, потому обойдемся обычным потреблением - нам этого хватит. Дисплей МТ- 1 OT l 1 потребляет, как мы говорили, около 30 мкА. Программу этого термометра вы найдете в архиве по адресу, указанному во введе нии (файл MT- 1 0T1 1 _TMP36.asm ) . Тактирование здесь предполагается от внешнего кварца 4 МГц по причине, о которой мы упоминали ранее : задержка выхода из «сна>> при тактировании от внутреннего гецератора может достигать 65 мс, что нам невыгодно. Если очень надо избавиться от кварца, то лучше снизить задержку, пе реключив «фьюзьш suт1 : suтo в состояние 0 1 . В момент пробуждения зажигается контрольный светодиод, подключенный к выводу РВО, перед уходом в «сон» мы его гасим, в результате светодиод будет коротко «подмигивать» раз в две секунды.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==