Часть 2.2 работа схемы, по частям
Извиняюсь, снова, за долгое отсутствие продолжения, но времени катастрофически не хватает
У нас с Номадом, вышел разговор, в следствии которого появилось некоторое понимание, вылившееся в эту небольшую заметку
Схемы собранные на контроллерах, в большинстве своем(естественно не всегда), можно легко разбить на отдельные части. И представить это в виде контроллера, который считывает несколько "датчиков" и управляет несколькими исполнительными механизмами. Цепь каждого датчика и исполнителя, можно рассматривать как абсолютно не зависящую от других часть схемы (бывают исключения, и достаточно часто, но в нашем случае их не наблюдается ;) ) Рассмотрим датчики и исполнители, встречающиеся на нашем будильнике.
1) Кнопки. Каждая кнопка, представляет собой простейший датчик - "нажата/не нажата" В цепь кнопки входит два элемента: кнопка и резистор.
Резистор, подключенный к Vcc (+5 вольт), обеспечивает присутствие на входе порта PIC уровня логической единицы, когда же мы нажимаем кнопку, вход порта подтягивается к земле, что обеспечивает появление логического нуля на нем. Резистор в такой цепи может быть от 1 до 100к, что обеспечивает появление единицы при отсутствии подтяга к земле, и малый ток при его присутствии.
2) Схема выбора разряда индикатора. У нашего будильника, на дисплее имеется четыре разряда, для отображения четырех цифр. чтобы выбрать какую из цифр показывать в данный момент, используется цепь называемая "транзисторный ключ". Чисто логически это кнопка, только переключается она не нажатием, а электрическим сигналом.
Ключ состоит из транзистора и резистора. В зависимости от типа транзистора ( pnp или npn ) меняется полярность управляющего сигнала. т.е. в нашем случае транзистор npn и управляющий сигнал будет положительный. Резистор служит для ограничения тока текущего через транзисторный переход база-эмиттер. (так стоп. поясняю на рисунке у транзистора три контакта. тот что под прямым углом подходит к широкой полосе, называется базой, база это управляющий вход транзистора. Тот что со стрелкой, называется эмиттер. Появление тока, между базой и эмиттером, "открывает" транзистор. Оставшийся вывод, называется коллектором. При открытии транзистора, сопротивление между коллектором и эммитером от очень большого падает до очень маленького(в идеале 0, но это не возможно). Таким вот образом и работает транзистор, если говорить более менее простым языком и не учитывать большое количество нюансов, которые в нашем случае роли не играют ) так вот, при появлении плюса на входе ключа, появляется ток между базой и эммитером, транзистор открывается и общий вывод сегмента подключается к земле. теперь, появившийся плюс на любом из семи сегментов
(плюс точка), вызовет свечение светодиода индикатора. Фактически каждый семисегментный индикатор состоит из семи светодиодов подсвечивающих сегменты цифры и одного подсвечивающего точку. Электрически это восемь светодиодов. с одной стороны замкнутых на один общий провод, который и является линией выбора данного разряда.
На каждый светодиод, необходимо поставить резистор, который будет ограничивать ток текущий через него. Теперь рассмотрим работу всего индикатора. Когда приходит управляющий сигнал на транзистор, тот открывается, тем самым подключая к земле общий вывод данного разряда. Теперь любая комбинация единиц и нулей на входах сегментов, высветит соответствующую группу светодиодов(сегментов). Таким образом, выставив какую-либо комбинацию на входах a-h и поочередно подавая управляющие сигналы на транзисторы разрядов, получим поочередно показываемую "цифру" на разных разрядах индикатора. Т.к. нам не требуется точка нигде, кроме как между второй и третьей цифрой, и горит она там постоянно, следовательно сделаем так, чтобы акитивация второго разряда ( где и есть эта самая точка) зажигала и ее.
Появление управляющего сигнала открывает не только транзистор T8, подключающий землю к общему проводу второго разряда, но и транзистор Т9. К сожалению это еще не все. Т.к. управляющий сигнал положительный, мы используем транзистор npn, но он коммутирует землю, а не плюс, и значит светодиод гореть не будет. Чтобы зажечь светодиод, мы используем эту управляемую землю, как сигнал управления другим транзистором( уже pnp ). Появление минуса на его базе открывает его и плюс подведенный к его эмиттеру, коммутируется (через резистор) на вход сегмента h. В результате точка горит.
3) Динамик. С точки зрения контроллера динамик - такой же исполнительный механизм. Т.к. его элемент управления представляет собой электромагнит, и имеет реактивные свойства, а именно индуктивность, то прямое подключение к контроллеру крайне не желательно. Используем для "раскачки" динамика транзистор, по знакомой уже нам схеме.
принципами извлечения звука из него, мы займемся позднее, сейчас же смело переходим дальше, ничего нового, по сравнению с управлением разрядами индикаторов, мы здесь не видим.
4) Разъем программирования я рассматривать не буду, это достаточно хорошо разжевывается в даташитах к PIC микроконтроллерам, перейдем к дешифратору. Микросхема К514ИД1 - представляет собой кодер, преобразующий входную четырех разрядную шестнадцатиричную цифру, в ее соответствие единиц и нулей на семисегментном индикаторе.(вернее соответствие идет для десятичных цифр 0-9, вместо шестнадцатиричных мы видим следующие знаки:
Его применение, позволяет не использовать 8 выводов для "рисования" цифры на дисплее, а только четыре. Так же это позволяет не писать код для преобразования, а просто выводить цифру на дисплей.