Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Белов А.В. Микропроцессорное управление устройствами - файл Микропроцессорное управление устройствами.doc


Белов А.В. Микропроцессорное управление устройствами
скачать (2323.1 kb.)

Доступные файлы (1):

Микропроцессорное управление устройствами.doc2755kb.31.05.2009 15:39скачать

содержание
Загрузка...

Микропроцессорное управление устройствами.doc

  1   2   3   4
Реклама MarketGid:
Загрузка...
Управление тиристором
Автор Белов А. В.

29.04.2008 г.
В данной статье приводится несколько схемных решений и описываются алгоритмы позволяющие микропроцессору управлять внешней нагрузкой при помощи тиристорных ключей.
Иногда необходимо, что бы микропроцессорное устройство управляло мощными электроприборами, получающими питание от сети переменного напряжения 220В. Например, нагревательными элементами, моторами, соленоидами, лампами уличного освещения и т.д. Для решения подобной задачи необходимо создать мощную схему управления, преобразующие сигналы стандартных логических уровней в сигналы управления цепями высокой мощности. Вторая проблема, которую нужно решить при создании подобных схем: это гальваническая развязка цепей микроконтроллера и управляемых им цепей 220В. Без такой развязки эксплуатация подобного устройства станет слишком небезопасной. Решение проблемы зависит от того, каким способом необходимо управлять нагрузкой. Если требуется просто ее включать и выключать, то с задачей может справиться небольшой транзисторный ключ, управляющий обмоткой электромагнитного реле. Если же нужно не просто включать и выключать, а еще и регулировать мощность, то без тиристорного ключа тут не обойтись.

Ключевые схемы
Рассмотрим несколько вариантов возможных решений. Один из таких вариантов приведен на рисунке 1.


В схеме используется даже не тиристор, а мощный симистор TC106-10. Этот симистор позволяет коммутировать нагрузку до 10 ампер. Для справки: симистор отличается от тиристора тем, что он работает с обоими полупериодами переменного напряжения, то есть, в открытом состоянии он пропускает как положительную, так и отрицательную полуволны. Для гальванической развязки цепей микроконтроллера и силовых цепей нагрузки используется оптодинистор АОУ103Б. Для того, что бы не создавать лишней нагрузки на выход микроконтроллера для управления светодиодом фотодинистора используется ключ на транзисторе КТ361. Что бы отключить нагрузку от источника питания 220В микроконтроллер должен выставить на своем выходе (в данном случае на выходе PB4 сигнал логической единицы. При этом ключ VT1 закрывается, ток через светодиод фотодинистора не течет, и симистор тоже закрыт. Когда нужно включить нагрузку, микроконтроллер устанавливает на своем выходе логический ноль. Транзистор VT1 открывается, светодиод фотодинистора зажигается и освещает динистор. Динистор начинает открываться в каждом полупериоде напряжения. Через диодный мостик, обозначенный, как VD1 динистор подключен к управляющему электроду симистора VS1. Поэтому в каждом полупериоде семистор тоже открывается и на нагрузку поступает полное напряжение питания. Диодный мостик VD1 необходим потому, что динистр может работать лишь в одном направлении. Он открывается только тогда, когда на его верхнем по схеме выводе плюс а на нижнем минус. В обратном направление динистор не открывается. Если подключить динистор к симистору напрямую, то и симистор тоже сможет пропускать лишь одну из полуволн питающего напряжения. В качестве мостика VD1 можно применить любой маломощный мостик либо составить его из четырех диодов КД522Б. Светодиод HL1 служит просто для индикации включения нагрузки.

На рисунке 2 приведен второй вариант схемы управления тиристором. Эта схема отличается от предыдущей отсутствием диодного мостика. Вместо этого в схеме используются сразу два оптосимистора U1 и U2. Светодиоды обеих фотодинисторов включены последовательно и управляются от микроконтроллера через эмиттерный повторитель на транзисторе VT1. Динисторы же включены встречно параллельно. При этом один из них работает при положительной полуволне, а второй при отрицательной. В остальном работа схемы аналогична предыдущему примеру. Отличие лишь в том, что для включения нагрузки микроконтроллер должен установить на своем выходе высокий логический уровень, а для выключения низкий. То есть, можно сказать, что схема на рис. 1 инвертирующая, а схема на рис. 2 неинвертирующая.
В заключении нужно сказать, что развитие элементной базы дает нам новые возможности в постороении схем управления мощной нагрузкой в сети 220В. Теперь разработчик имеет в своем распоряжении такой новый элемент, как мощный оптодинистор, который с успехом заменяет пару: тиристор-оптодинистор и позволяет построить более простые и надежные схемы. Подробнее об этом читайте в статье "Управление оптодинистором".
Плавная регулировка мощности
Если необходимо не просто включить или выключить нагрузку, а плавно регулировать ее мощность, то приведенные так же подойдут для этого. Нужно только изменить алгоритм управления. Существует два метода плавной регулировки. Мы опишем их чуть ниже. Оба метода используют синхронизацию микроконтроллера с фазой колебаний переменного напряжения сети. Для синхронизации нам необходимо сформировать и подать на микроконтроллер сигнал, по которому он сможет определять начало и конец каждого полупериода. Схема блока питания, имеющего цепи формирующие подобный сигнал приведена в статье "Схема блока питания". Сигналы "+" и "-" сформированные этими цепями необходимо подать на вход встроенного компаратора. В нашем случае это выводы 12 и 13 (AIN0, AIN1).
Метод фазового регулирования

Это стандартный способ управления тиристором. Состоит он в выборе момента открытия тиристора относительно начала фазы текущего полупериода питающего напряжения. Этот процесс иллюстрирует следующий рисунок:

Фазовый метод регулирования
На рисунке приведена форма сигнала на нагрузке при разных значениях времени задержки. Алгоритмм регулирования состоит в том, что сначала контроллер ожидает начала очередного полупериода. Обнаружив начало полупериода, контроллер запускает внутренний таймер. По окончании задержки, формируемой таймером контроллер выдает запускающий сигнал на выход, управляющий тиристорным регулятором. Тиристор открывается и напряжение поступает на нагрузку. Важно, что бы управляющее напряжение было снято с тиристора до окончания текущего полупериода. В этом случае, как только сетевое напряжение достигнет нуля, тиристор закроется а с началом следующего полупериода процесс отсчета времени повторится снова. В зависимости от выбранной длительности задержки отдаваемая в нагрузку мощность будет различной. Так при малом времени задержки (t1) мощность максимальна. При t2 в нагрузку отдается ровно половина возможной мощности, а при t3 мощность минимальна.
Метод исключения отдельных полупериодов

Главным недостатком предыдущего метода является большой уровень электромагнитных помех, излучаемых тиристорным ключем в процессе работы. Подобная схема будет сильно мешать рядом работающему телевизору или радиоприемнику, создавая помехи на экране и по звуку. Большой уровень помех обусловлен тем, что включение тиристора происходит в момент, когда мгновенное значение сетевого напряжения находится вблизи его амплитуды. Крутые фронты достаточно большого уровня напряжения и создают большое количество помех. Выходом является второй метод регулирования. Он состоит в том, что включение тиристора всегда происходит в самом начале полупериода, когда напряжение переходит через ноль и, если полупериод пропускается в нагрузку, то весь полностью. Регулировка же мощности производится путем исключения отдельных полупериодов. Этот процесс показан на следующем рисунке:

Метод исключения полупериода
На рисунке мы видим, что все полупериоды с первого по пятый тиристор беспрепятственно открывается. Затем, во время прохождения шестого полупериода сигнал управления с тиристора снимается и напряжение на выход не поступает. В начале седьмого полупериода сигнал управления опять включается. Для реализации подобного метода разрабатываются целые схемы исключения полупериодов. Например, берется последовательность из десяти полупериодов. Для того, что бы получить мощность в 50%, пять полупериодов пропускают в нагрузку, а остальные пять не пропускают. Затем все повторяется, каждые 10 полупериодов. Причем не обязательно исключать полупериоды подряд. Можно разбросать включенные полупериоды по всему этому отрезку. Для получения 10% мощности из 10 придется оставить только один полупериод. А для 70% нужно оставить 7 а исключить три. Ну и так далее...
Недостатком такого способа является то, что подобным образом затруднительно регулировать мощность свечения электрической лампы. Лампа будет заметно мерцать. Но для регулировки мощности нагревательного элемента этот способ является самым оптимальным.
Последнее обновление ( 30.04.2008 г. )
Управление оптодинистором
Автор Белов А. В.

30.04.2008 г.

В этой статье описывается схема электронного ключа на оптодинисторе, позволяющая микроконтроллеру управлять мощной нагрузкой, питающейся от сети 220В.
Данная схема является альтернативой схеме описанной в статье "Управление тиристором". В старом варианте схемы для коммутации нагрузки использовался мощный симистор, а для развязки управляемых цепей 220В и низковольтных цепей микроконтроллера использовался маломощный оптодинистор. В новом варианте схемы для управления нагрузкой используется мощный оптодинистор, который заменяет оба перечисленные выше устройства. Ниже приведена схема такого устройства:


^ Схема управления нагрузкой на основе мощных оптодинисторов
Для управления светодиодом оптодинистора используется электронный ключ на транзисторе VT1. Не смотря на то, что микроконтроллер питается от стабилизированного источника +5В, цепь питания светодиодов оптодинисторов, которая потребляет значительный ток, питается от нестабилизированного напряжения +12В, снимаемого непосредственно с выпрямителя, до стабилизатора напряжения питания (см. статью про блок питания). Светодиоды обоих светодинисторов включены последовательно. Сами же динисторы включены встречно-параллельно. Это позволяет работать с обоими полупериодами сетевого напряжения. Для того, что бы включить питание на нагрузку, микроконтроллер подает на соответствующий выход (в нащем случае это PB4) сигнал логической единицы. Транзистор VT1 открывается и через последовательно соединенные фотодиоды оптодинисторов течет ток. Светодиоды зажигаются и вызывают срабатывание динисторов. Один из динисторов включается по положительной полуволне напряжения, второй по отрицательной. Когда нужно отключить нагрузку, микроконтроллер устанавливает на своем выходе сигнал логического нуля. Транзистора VT1 закрывается и светодиоды гаснут. После этого динисторы уже не открываются и напряжение с нагрузки снимаются.
Если в качестве ключа использовать полевой транзистор, то схему можно еще больше упростить. Ниже показан вариант такой схемы:


Второй вариант схемы
Обе приведенные выше схемы, так же, как и любая из схем на тиристорах может работать как в режиме ключевого включения и выключения нагрузки, так и в режиме плавной регулировки уровня отдаваемой мощности в нагрузку. При этом можно реализовать любой из двух возможных алгоритмоы плавного управления мощностью. Подробно об этом читайте в статье, посвященной управлению тиристорами.


^ Управление электромагнитным реле
Автор Белов А. В.

01.05.2008 г.
В данной статье рассказывается как микроконтроллер может управлять внешней нагрузкой при помощи электромагнитного реле.
При конструировании устройств на микроконтроллерах часто возникает необходимость управления различными внешними устройствами посредством включения и выключения напряжения питания. Причем напряжение питания и ток потребления таких устройств могут меняться в самых широких пределах. Универсальным способом управления подобными устройствами является электромагнитное реле. В настоящее время в продаже появились малогабаритные реле с довольно не плохими параметрами. Сегодня реле могут коммутировать нагрузку в цепи до 220 вольт при токе до 10 ампер и выше. Обмотка реле обычно расчитана на напряжение 12В и потребляет ток всего 40 мА. Это позволяет использовать для его управления ключ на маломощном транзисторе. Например на широко распространенном КТ315. Можно взять импортный BC547. Схема подключения реле к микроконтроллеру приведена на следующем рисунке:

Схема подключения реле
Для того, что бы включить нагрузку микроконтроллер выставляет на своем выходе (в данном случае на выходе PB4) сигнал логической единицы. Напряжение через резистор R1 поступает на базу транзистора. Танзистор открывается и реле срабатывает. Его контакты замыкают цепь нагрузки. Для отключения нагрузки микроконтроллер выставляет на своем выходе сигнал логического нуля. На базе VT1 напряжения снижается до нуля. Транзистор закрывается и реле отключается. Диод VD1 служит для защиты схемы от напряжения самоиндукции, которое возникает в обмотке реле при снятии с нее напряжения. Резистор R2 нужен для более надежного закрывания транзистора VT1.
В то время, как микроконтроллер питаетя от стабилизированного источника +5В, ключ и реле получает питание от нестабилизированного напряжения +12В. Это напряжение снимается с того же выпрямителя но до стабилизатора. Подробнее смотрите в статье "Схема блока питания".


^ Схема блока питания
Автор Белов А. В.

30.04.2008 г.
В этой статье рассматривается схема стабилизированного блока питания, которая может использоваться для питания простого микропроцессорного устройства.
Как известно, для питания цифровых микросхем необходимо стабилизированное напряжения 5В. Заметим, что современные микроконтроллеры способны работать в широком диапазоне питающих напряжений. Обычно от 3 до 6 вольт. Главное требование, что бы напряжение было стабилизированное. То есть не менялось при изменении нагрузки. Однако, обычно любое микропроцессорное устройство кроме мамого микроконтроллера содержит ряд других микросхем, которые обычно более требовательны к напряжению питания. Поэтому правильнее всего, если нет каких нибудь специальных причин, выбирать напряжение питания +5В. Такое напряжение питания широко используется в электронной технике. Поэтому промышленность давно уже наладила производство специальных микросхем - стабилизаторов напряжения. Для большинства применений подойдет микросхема 7905 или ее отечественный аналог КРЕН5. Ниже на рисунке приведена схема блока питания, который расчитан на питание практически любого устройства на микроконтроллерах.

^ Схема блока питания
Трансформатор T1 понижает сетевое напряжение до требуемой величины (примерно 8...9 вольт). Выпрямитель VD1 выпрямляет его. Предварительный фильтр C1 сглаживает пульсации выпрямленного напряжения и в результате на вход стабилизатора DA1 поступает постоянное нестабилизированное напряжение примерно равное 12 В. С выхода стабилизатора стабилизированное напряжение 5В поступает на выход (на питание цифровых цепей микроконтроллерного устройства. Нестабилизированное напряжение +12В так же поступает для питания некоторых цепей микроконтроллерного устройства. Обычно это силовые цепи, не требующие стабилизации напряжения: светодиоды, реле и т.п. Подключение таких цепей до стабилизатора существенно разгружает микросхему DA1 облегчает ее тепловой режим, повышает надежность и увеличивает КПД. Дополнительный фильтр С2, С3 служит для подавления помех по питанию. Причем электролит C3 служит для подавления низкочастотных помех, а керамический конденсатор C2 подавляет высочастотные помехи.
Кроме собственно цепей питания приведенная схема содержит специальные цепи, позволяющие получать сигнал, синхронный с частотой сетевого напряжения. Такой сигнал может подаваться на компаратор, входящий в состав многих микроконтроллеров и позволяет реализовать алгоритмы управления тиристорными либо оптодинисторными ключами для плавной регулировки мощности на нагрузке. В таких алгоритмах процессор отсчитывает необходимую задержку от начала текущего полупериода сетевого напряжения и по истечении этой задержки включает тиристор. В конце полупериода, когда мгновенное напряженияе переходит через ноль, тиристор закрывается и микроконтроллер отсчитывает очередную задержку. Изменяя время задержки можно изменять длительность импульсов, поступающих на нагрузку и тем самым изменять мощность, отдаваемую в эту нагрузку.
Подробнее об этом можно прочитать в статье "Управление тиристором" и в статье "Управление оптодинистором".

^ Подключение светодиодов
Автор Белов А. В.

01.05.2008 г.
В этой статье рассказывается, как подключать индикаторы на одиночных светодиодах к микроконтроллеру.
Ни одно устройство на основе микроконтроллера не обходится без световых индикаторов. В качестве одиночных светоизлучателей удобнее всего использовать светодиоды. Современные микроконтроллеры (в частности микроконтроллеры серии AVR) имеют достаточно мощные выходные схемы. Они рассчитаны на выходной ток до 40 мА. Этого вполне достаточно для непосредственного подключения одного маломощного светодиода. На следующем рисунке показано, как можно подключить светодиод к выходу микроконтроллеру.

Непосредственное подключение светодиода
Простой маломощный светодиодный индикатор - это самый распространенный способ индицирования. Именно такие индикаторы мы видим на подавляющем большинстве конструкций. Однако, иногда к микроконтроллеру необходимо подключить более мощные светодиоды. Это светодиоды повышенной яркости свечения или светодиоды большой площади излучения. В том случае, когда ток потребления светодиода превышает 40 мА, применяется электронный ключ на транзисторе. Ниже приводится схема подобного подключения.

Подключение при помощи электронного ключа
При использовании транзистора КТ315 можно подключать светодиод с током потребления до 100 мА. Если нужно подключить светодиод с еще большим током потребления, то необходимо подобрать другой, более мощный транзистор.

^ Подключение кнопок
Автор Белов А. В.

01.05.2008 г.
В данной статье освещаются вопросы подключения к микроконтроллеру различных кнопок и клавиш.


Рис. 1.
Практически ни одна микропроцессорная система не обходится без кнопок, клавиш, концевых контактов и тому подобных элементов коммутации. Любое подобное коммутационное устройство - это просто пара контактов, которые замыкаются при нажатии на клавишу (кнопку) или при другом механическом воздействии. Например, при срабатывании концевого выключателя управляемого механизма. Поэтому подключение любого вышеописанного устройства сводится к подключению к микроконтроллеру пары контактов. Микроконтроллеры серии AVR довольно неплохо приспособлены для работы именно с кнопками. Каждый из выводов каждого порта имеет специальные средства, облегчающие подключение внешних контактов.
На рисунке 1 показан типовой способ подключение пары контактов к порту микроконтроллера. Рассмотрим подробнее принцип работы этой схемы. Но прежде мы должны вспомнить, что любой из выводов любого порта может работать в одном из двух режимов: либо как вход, либо как выход. Естественно, в нашем случае соответствующий вывод должен быть переведен в режим входа. В этом режиме имеется возможность программным путем при необходимости подключать к любой внешней линии внутренний резистор нагрузки. На рисунке 1 этот резистор обозначен R. Этот резистор специально введен для того, что бы работать с внешними контактами. При создании программы для всех входов, к которым подключены контакты, не забудьте предусмотреть команды, включающие этот резистор. Если же вход предназначен для других целей, то скорее всего резистор необходимо отключить. Электронный ключ, который программно включает и отключает внутренний резистор нагрузки условно показан на рисунке 1 и обозначен как K.
И так, вывод порта запрограммирован как вход, внутренний резистор нагрузки включен. Если внешние контакты K1 разомкнуты, то на входе присутствует напряжение, близкое к напряжению питания, которое поступает через резистор R. При считывании информации из порта в данном разряде будет логическая единица. Если же контакты замкнуть, то линия порта будет замкнута на общий провод. Напряжение на входе станет равным нулю. При считывании информации в данном разряде порта появится ноль. Таким образом считывая информацию из порта и анализируя значение соответствующего разряда микроконтроллер всегда может определить, замкнуты контакты или нет. Если разряд равен нулю - контакты замкнуты, единице - разомкнуты.
Указанным выше образом можно подключить отдельную пару контактов при желании ко всем выводам всех портов. Однако такой подход не назовешь рациональным. Кроме клавиш к портам микроконтроллера должны подключаться и другие устройства: индикаторы, реле, датчики, последовательные каналы связи и многое другое. Поэтому, для экономии выводов и для упрощения схемы применяют матрицы клавиш. Схема типичной матрицы из 16 клавиш приведена на рисунке 2.


Рис. 2.
Для подключения матрицы используется весь порт PB микроконтроллера и еще две линии порта PD. Как видно из схемы каждый из выводов порта PB подключен сразу к двум кнопкам. Например, вывод PB0 подключен к кнопке S1 и S9. Вывод PB1 к S2 и S10 и так далее. Второй контакт каждой кнопки подключен к одной из линий PD5 или PD6. В результате образуется матрица. Она напоминает решетку. Два вертикальных провода и восемь горизонтальных. В каждом пересечении этих проводов вставлено по кнопке.
Как же работает эта матрица. Для правильной работы необходимо все выводы порта PB перевести в режим входов и включить для каждого из этих входов внутренний нагрузочный резистор. А два вывода порта PD (PD5 и PD6) нужно перевести в режим выходов. Для того, что бы считать состояние кнопок микроконтроллер должен сначала подать на выход PD6 сигнал логического нуля, а на выход PD5 сигнал логической единицы. Затем он должен прочитать байт из порта PB. Этот байт будет содержать информацию о состоянии кнопок S1...S8. Каждый бит будет отвечать за свою кнопку. Нулевой бит (PB0) за кнопку S1, первый бит (PB1) за кнопку S2 и т.д. Если кнопка нажата, то в соответствующем разряде будет ноль, если не нажата - единица. После анализа нажатия первой половины кнопок, микроконтроллер должен установить на выходе PD5 логический ноль, а на выходе PD6 - единицу. И опять считать байт из порта PB. Теперь этот байт будет содержать информацию о состоянии кнопок S9...S16. Опрашивая таким образом то первую то вторую половину кнопок, микроконтроллер может реагировать на нажатие каждой из кнопок отдельно.
Описанная выше матрица может быть легко расширена. Можно взять не две вертикальные линии, а три, четыре и так далее. Для данного микроконтроллера максимально возможная матрица имеет размеры 7X8. Так как порт PD имеет лишь семь линий. Общее количество кнопок при этом будет равно 56.

Последнее обновление ( 01.05.2008 г. )

Подключение 7 сегментного индикатора
Автор Белов А. В.

01.05.2008 г.
В данной статье рассматриваются различные способы подключения к микроконтроллеру семисегментных светодиодных индикаторов.
Для того, что бы микропроцессорное устройство было способно выводить информацию в виде цифр и знаков удобно использовать семи сегментные светодиодные индикаторы. Существует огромное множество различных моделей светодиодных индикаторов, разных размеров, цвета свечения. Существуют как индикаторы представляющие собой отдельный один разряд, для индикации всего одной цифры, так и многоразрядные индикаторные панели. В зависимости от модели и схема подключения может быть разной. Кроме того, все индикаторы делятся на две большие группы. Это индикаторы с общим анодом и индикаторы с общим катодом. Схема подключения одиночного индикатора с общим анодом изображена на рисунке 1.


Рис. 1. Подключение одного индикатора
Сегменты индикатора подключены непосредственно каждый к своему выходу порта PB микроконтроллера. Общий анод всех сегментов подключается к источнику питания. На схеме показан вариант питания индикатора от того же источника +5В, от которого питается сам микроконтроллер. Для уменьшения нагрузки на стабилизатор напряжения можно запитать индикатор до стабилизатора. Для того, что бы высветить на индикаторе ту либо иную цифру микроконтроллер просто программирует все выводы порта PB на выход а затем по мере необходимости выводит в порт код, соответствующий выбранному символу. При этом каждый разряд порта отвечает за свой сегмент индикатора. Если в соответствующий разряд выводится логическая единица, то сегмент остается погашенным. Если в разряд выводится логический ноль, то соответствующий сегмент зажигается. Остается подобрать коды таким образом, что бы засветившиеся разряды высветили нужный нам символ.
Для большинства случаев одного разряда индикатора явно не хватает. Подключать же несколько разрядов, каждый к своим выводам явно не получится. Даже самый большой микроконтроллер AVR имеет всего четыре полных порта ввода вывода. Поэтому единственным способом подключения многоразрядных семи сегментных индикаторов к микроконтроллеру является матричный способ. Этот способ очень похож на матричное подключение кнопок клавиатуры, о котором подробно написано в статье "Подключение кнопок". На рисунке 2 показан один из вариантов подключения дисплея из двух семисегментных индикаторов.


Рис. 2. Подключение дисплея
Приведенная схема рассчитана на световые семи сегментные индикаторы небольшой мощности с током потребления не больше 40 мА. Для более мощных индикаторов нужно применять транзисторные ключи. Обратите внимание, что каждый из выходов порта PB микроконтроллера подключен к одноименным сегментам обоих индикаторов. Так вывод PB0 через резистор R1 подключен к выводу сегмента A индикатора HL1 и индикатора HL2. Выход PB1 через резистор R2 подключен к сегментам B обоих индикаторов и так далее. Выбор одного из индикаторов осуществляется посредством двух старших разрядов порта PD. Общий анод индикатора HL1 подключен к выводу PD6, а общий анод индикатора HL2 к выводу PD5. Такая схема включения называется матрицей. Выводы порта PB можно рассматривать, как восемь горизонтальных линий, а два выхода порта PD, как вертикальные линии матрицы. В точках пересечения каждой линии включен один светодиодный сегмент.
Подобная схема включения индикатора всегда работает в режиме динамической индикации. Динамическая индикация состоит в том, что микропроцессор постоянно с достаточно высокой частотой высвечивает символ сначала в первом, а затем во втором разряде индикатора. При частоте переключения выше 24 герц глаз не замечает мерцания и воспринимает изображение на обоих индикаторах как одно статическое изображение. По такому принципу давно уже работают большинство семи сегментных дисплеев в самых различных электронных устройствах.
Для реализации режима динамической индикации процессор должен организовать постоянный цикл. Обычно для этого используют встроенный таймер. Таймер настраивается таким образом, что бы выдавать прерывание с определенной частотой, выбранной для динамической индикации. Каждый раз, при вызове прерывания контроллер выдает изображение символа в новый разряд индикатора. Для этого в порт PB контроллер выставляет код, соответствующий нужному символу, а в соответствующий разряд порта PD (PD5 или PD6) выставляет логическую единицу. В тот разряд, который должен быть потушен, подается логический ноль. На этом обработка прерывания заканчивается, контроллер переходит к выполнению основной программы, а выставленные на выводы порта сигналы так и остаются до следующего прерывания. И все это время в соответствующем разряде индицируется нужный символ. Когда возникает следующее прерывание, в порты выводятся сигналы, которые выводят на индикацию изображение другого разряда индикатора.
На рисунке 2 приведена схема, содержащая всего два разряда индикации. Точно так же можно подключить три, четыре и более разрядов. В случае применения микроконтроллера ATtiny2313 максимальное количество разрядов - 7. Так как порт PD этого контроллера имеет всего семь выводов. В этом случае в процессе индикации только на один из разрядов порта PD подается логическая единица, а на все остальные логический ноль.
Нужно заметить, что в данной схеме выводы PD5 и PD6, к которым подключены общие аноды индикаторов находится под самой большой нагрузкой. Ток протекающий через каждый из них зависит от индицируемого символа и в том случае, когда зажигаются сразу все сегменты в восемь раз больше, чем ток одного сегмента. Такой ток легко может превысить максимально допустимый ток для одного выхода. Однако, во-первых, этот ток носит импульсный характер и среднее значение тока гораздо меньше. А во-вторых, практика показывает, что микроконтроллеры AVR имеют значительный запас по мощности и свободно выдерживают такие нагрузки.
Все вышесказанное относится к индикатором с общим анодом. Что бы зажечь такие индикаторы на общий провод следует подавать плюс источника питания, а на выводы сегментов – минус (соединять с общим проводом). Но бывают другие индикаторы, построенные по схеме с общим катодом. Рассмотрим, как использовать этот тип индикаторов. Схему на рис 1 придется немного переделать. Переделка сведется лишь к тому, что общий анод индикатора нужно отключить от источника +5В и подключить на общий провод. Немного изменится и алгоритм работы. Теперь для того, что бы зажечь сегмент на него нужно подать логическую единицу, а что бы потушить - логический ноль. Схему на рис. 2 переделывать не нужно. Изменится лишь алгоритм. Просто фаза всех сигналов должна поменяться. Там, где раньше мы подавали ноль, теперь нужно подать единицу и наоборот.

Последнее обновление (01.05.2008 г.)


Управление ЖКИ (LCD) индикаторами
Автор Белов А. В.

02.05.2008 г.

В данной статье рассматривается пример подключения жидкокристаллического индикатора (сокращенно ЖКИ или LCD) к микроконтроллеру.
Сегодня на рынке электронных компонентов можно найти огромное количество индикаторов разных фирм и модификаций. Каждый индикатор имеет свои особенности, свою внутреннюю архитектуру и свой интерфейс для подключения к микроконтроллеру. Однако общие принципы подключения примерно одинаковы. Сразу отметим, что все ЖКИ можно разделить на индикаторы со встроенным контроллером и простые индикаторы без микроконтроллера. Индикаторы с микроконтроллером более предпочтительны для самостоятельного применения. Встроенный микроконтроллер уже содержит в себе сложные программы, выполняющие большинство операций по выводу изображения на индикатор и учитывающий все специфические особенности именно этой индикаторной панели. А интерфейс связи встроенного контроллера обычно совсем не сложный и позволяет легко подключить его к любому универсальному контроллеру. Возмем для примера микроконтроллер Российского производства МТ-10Т7-7. Это простой индикатор, дисплей которого представляет собой строку из десяти семисегментных знакомест. Напряжение питания такого индикатора от 3 до 5 вольт. Ток потребления 30 мкА. Габаритные размеры 66 X 31,5 X 9,5 мм. Схема подключения такого индикатора к микроконтроллеру приведена на рисунке 1.

Рис. 1. Подключение ЖКИ к микроконтроллеру

Для управления индикатором используется порт PB. Линии PB0...PB3 образуют шину данных/адреса. А линия PB4 используется для передачи на индикатор сигнала записи. Выход PB6 используется для выбора адрес/данные. Команды управления передаются на индикатор следующим образом. Сначала необходимо передать адрес разряда, куда мы хотим записать код очередного выводимого символа. Адрес состоит из одного четырехбитного двоичного числа. Нумерация разрядов ведется слева на право. Самый левый (старший) разряд имеет адрес 0 (00002). Следующий разряд имеет адрес 1 (00012). Последний, самый правый, десятый разряд имеет адрес 9 (10012). Для того, что бы записать адрес в контроллер индикатора необходимо, что бы на его A0 присутствовал сигнал логического нуля. Значение адреса выставляется на выходах PB0...PB3. А затем на выход PB4 кратковременно подается единичный сигнал, который поступает на вход WR1 индикатора. По фронту этого импульса адрес записывается в индикатор и запоминается в его внутренней памяти. Теперь, если в индикатор будет записан байт данных, он поступит именно по этому адресу.
Байт данных определяет изображение знака, которое высветится в соответствующем разряде индикатора. Каждый бит этого байта отвечает за свой сегмент в семисегментном поле. Восьмой бит отвечает за высвечивание десятичной точки. Для передачи байта данных на входе A0, а значит и на выходе PB6 должен присутствовать сигнал логической единицы. Байт данных передается в индикатор за два приема. Сначала на выводах PB0...PB3 выставляется младший полубайт. По сигналу на WR1 он записывается в память индикатора. Затем, на тех же выходах (PB0...PB3) выставляется старший полубайт и тоже записывается по сигналу на WR1. После записи второго (старшего) полубайта изображение появляется в соответствующем разряде индикатора, а адрес во внутренней памяти индикатора автоматически увеличивается на единицу. Таким образом, для записи данных в следующий разряд индикатора уже не надо передавать в него адрес. Весь процесс записи адреса и данных в индикатор изображен на рисунке 2.

Рис. 2. Диаграмма работы интерфейса индикатора


На этом рисунке представлены два варианта работы с индикатором. Запись одного знакоместа и запись нескольких знакомест подряд. Переменный резистор R1 (см. схему на рис. 1) предназначен для регулировки контрастности дисплея. Для того, что бы изображение на индикаторе было хорошо видно, нужно выставить самую подходящую контрастность наблюдая изображение на экране индикатора. Для разной освещенности и разного угла зрения ручку регулятора придется выставлять в разные положения. Хорошо видное изображение в других при изменившихся условиях наблюдения может стать абсолютно не видимым. Что бы увидеть его нужно покрутить ручку регулятора в разные стороны.
В заключении хочу отметить, что именно эти выводы порта для управления индикатором выбраны абсолютно произвольно. В данном случае автор руководствовался удобством разводки печатной платы. Вы же можете выбрать любые другие выводы и даже другой порт ввода вывода микроконтроллера.

Последнее обновление ( 01.05.2008 г. )
  1   2   3   4



Скачать файл (2323.1 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru