Давайте на минутку представим себя, уважаемый радиолюбитель, маленьким человечком, который умеет управлять разными электронными детальками — тиристорами, транзисторами, лампочками и проч. Как бы поступил такой маленький человечек, если бы мы попросили его изобразить нам «бегущие огни»? Наверное, он бы:
♦ Включил бы первую лампочку.
♦ Подождал бы некоторое время (например, одну секунду).
♦ Выключил бы первую лампочку.
♦ Включил бы вторую лампочку.
♦ Снова подождал бы некоторое время.
♦ Выключил бы вторую лампочку.
♦ Включил бы третью лампочку.
♦ Снова подождал бы некоторое время.
♦ Выключил бы третью лампочку.
♦ Включил бы четвертую лампочку.
♦ Снова подождал бы некоторое время.
♦ Выключил бы четвертую лампочку.
♦ И начал бы все снова по списку, начиная с самой первой строчки — мы ведь не просили его останавливаться!
Вот такая запись плана работ на специальном искусственном языке (он называется языком программирования) и называется программой. А наш маленький человечек — это и есть микроконтроллер, выполняющий эту программу. К великому сожалению, сообщить вам что-то большее про программу автор не может: программирование — это совершенно особая наука, и про него надо писать отдельную книжку, либо найти и прочитать уже написанную, например, такую.
Бедов А. В.
Разработка устройств на микроконтроллерах AVR: шагаем от «чайника» до профи. Книга + видеокурс. — СПб.: Наука и Техника, 2012. — 528 с: ил. + CD. ISBN 978-5-94387-825-1.
Коротко о книге.
Этот популярный самоучитель поможет вам всего за шесть шагов пройти путь от «чайника», изучающего азы цифровой техники, до вполне готового специалиста, умеющего самостоятельно разрабатывать схемы любых устройств на микроконтроллерах и составлять для них программы. Познав основы цифровой логики, поймете, как работают более сложные элементы цифровой техники.
Затем освоите основы микропроцессорной техники, поймете, как работает микропроцессор и микроконтроллер. Узнаете подробности внутреннего устройства, архитектуру и возможности семейства микроконтроллеров AVR, освоите основы схемотехники и конструирования микроэлектронных устройств.
Научитесь ставить задачу на разработку устройства и выбирать стратегию ее решения.
Изучите сразу два языка программирования для микроконтроллеров (язык Ассемблера и язык СИ), научитесь транслировать, отлаживать программы, прошивать их в память микроконтроллера. Теперь вы уже самостоятельно сможете разработать собственное микроконтроллерное устройство.
Видеокурс на CD проиллюстрирует и позволит закрепить материал основного курса. На том же диске вы найдете всю необходимую для обучения информацию (инсталляционные пакеты программ, справочные материалы, обучающие примеры).
Книга предназначена для широкого круга читателей.
* * *
Плата. Само устройство собрано на плате из одностороннего стеклотекстолита толщиной 1,5 мм, размерами 42,5x17,5 мм. Разводку печатной платы для «лазерного утюга» и схему расположения деталей можно скачать с диска, прилагаемого к книге («Видеоурок 1», файл 2.DXF), и посмотреть на рис. 1.6.
Рис. 1.6. Разводка печатной платы устройства (42,5х 17,5 мм, в зеркальном изображении)
Схема расположения деталей устройства приведена на рис. 1.7.
Рис. 1.7. Схема расположения деталей устройства
Настройка. Настройки устройство не требует, но микроконтроллер перед работой необходимо запрограммировать. Программу для микроконтроллера (включая исходные тексты) можно взять с прилагаемого к книге диска («Видеоурок 1», раздел «SOFT»). Программируется микроконтроллер, как уже упоминал автор, с помощью специального устройства — программатора. Попросите своих родителей, друзей, знакомых или просто участников какого-нибудь интернет-форума, чтобы вам помогли ее записать в микроконтроллер (или подсказали, где и как это сделать) — самим вам пока эта задача, скорее всего, не под силу.
Аналоги. Микроконтроллер, примененный в нашей конструкции — типа ATTiny13. Заменить его можно на микроконтроллеры ATTiny25, ATTiny45 или ATTiny85, хотя они стоят заметно дороже. Кроме того, эта замена потребует небольшой переделки программы, поскольку разводка сигналов по ножкам этих контроллеров немного различается.
Примечание.
Обратите внимание — не переделки печатной платы, а переделки программы! Это— огромное преимущество программируемых микроконтроллеров по сравнению с обычными микросхемами — гибкость.
Все резисторы в нашей конструкции — SMD типоразмера 0805 (соответствуют резисторам МЛТ-0,125). Неэлектролитические конденсаторы — также SMD типоразмера 0805 (их можно заменять только керамическими конденсаторами). Резистор R3 — любой с допустимой мощностью рассеяния не менее 1 Вт. Симисторы — любые с рабочим напряжением не ниже 400 В, допустимым током не ниже тока потребления лампочек, и как можно меньшим током управляющего электрода (в пределах 20–30 мА, а лучше 5—10 мА). Выходные линии микроконтроллера достаточно слабенькие, симистор с большим управляющим током они могут просто не включить. Остальные детали — любые.
Внешний вид устройства приведен на рис. 1.8.
Рис. 1.8. Внешний вид устройства
Внимание.
При изготовлении этого устройства следует иметь в виду, что оно не имеет гальванической развязки от сети! Поэтому при его наладке следует особенно внимательно соблюдать правила техники безопасности.
Смотрим ролик. Работу устройства демонстрирует ролик «Видеоурок 1» — > «Бегущие огни на микроконтроллере» на прилагаемом диске.
Бегущие огни на электромагнитных реле
Не смейтесь, уважаемый радиолюбитель! Если вы думаете, что до изобретения транзистора люди жили в пещерах и питались съедобной плесенью, то вы очень глубоко заблуждаетесь. Схему, которая приведена на рис. 1.9, можно было собрать и пятьдесят, и сто лет назад. И — что удивительно, — их собирали!
Рис. 1.9. Схема варианта «бегущих огней» на электромагнитных реле
Итак, имеются два реле, два конденсатора и три резистора, соединенные кучкой проводов. Как же они обеспечат нам бег огней в этой, без всякого преувеличения, исторической схеме? Разберем ее работу подробнее, потому что в силу древности таких схем прочитать об этом в другом месте вам вряд ли удастся.
В начальный момент времени конденсатор С2 через первую контактную группу реле Rel1, резистор R2 и третью контактную группу реле Rel2 соединен с шиной питания и заряжен до напряжения +36 В.
Конденсатор С1 через резистор R1 и четвертую контактную группу реле Rel1 начинает заряжаться от шины питания. Когда напряжение на нем достигнет величины 24 В (это произойдет примерно через секунду после включения питания), сработает реле Rel1, обмотка которого подключена параллельно конденсатору С1.
В результате срабатывания резистор R1 отключается от напряжения питания, и конденсатор начинает разряжаться через обмотку реле Rel1, удерживая его в сработавшем состоянии. Когда напряжение на конденсаторе упадет примерно до 7 В, реле отпустит якорь, резистор R1 снова окажется подключен к напряжению питания, и цикл повторится. Все это есть не что иное, как мультивибратор, только собранный на реле.
Что же происходит в это время с реле Rel2? В момент срабатывания реле Rel1 конденсатор С2 через первую контактную группу реле Rel1 оказывается подключенным к обмотке реле Rel2. Напряжение на нем, как мы уже говорили, равно напряжению питания. Поэтому в обмотке реле Rel2 немедленно возникает бросок тока, приводящий к срабатыванию реле Rel2. Через свою четвертую контактную группу реле Rel2 подключает резистор R3 к напряжению питания. И теперь через обмотку реле Rel2 все время будет течь ток, поддерживающий его во включенном состоянии, т. е. новое состояние реле будет устойчивым.
Когда реле Rel1 отпустит якорь, конденсатор С2 отключается от обмотки реле Rel2 и через первую контактную группу реле Rel1, резистор R2 и третью контактную группу реле Rel2 оказывается подключен — не к напряжению сети, как было ранее, а к общему проводу (потому что уже сработало реле Rel2).
Напряжение на нем, разумеется, быстро падает до нуля. Когда в следующий раз сработает реле Rel1, это конденсатор окажется подключенным к обмотке реле Rel2, и фактически замкнет его обмотку. Реле Rel2 при этом немедленно отпустит якорь, резистор R3 окажется отключенным от шины питания и реле останется в этом новом устойчивом состоянии.