Юрий Ревич - Занимательная электроника
- Название:Занимательная электроника
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3479-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Юрий Ревич - Занимательная электроника краткое содержание
На практических примерах рассказано о том, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. От физических основ электроники, описания устройства и принципов работы различных радиоэлектронных компонентов, советов по оборудованию домашней лаборатории автор переходит к конкретным аналоговым и цифровым схемам, включая устройства на основе микроконтроллеров. Приведены элементарные сведения по метрологии и теоретическим основам электроники. Дано множество практических рекомендаций: от принципов правильной организации электропитания до получения информации о приборах и приобретении компонентов применительно к российским условиям. Третье издание дополнено сведениями о популярной платформе Arduino, с которой любому радиолюбителю становятся доступными самые современные радиоэлектронные средства.
Для широкого круга радиолюбителей
Занимательная электроника - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Давайте соорудим для начала на Arduino что-нибудь простенькое. В главе 12 мы уже изобретали термостаты на чисто аналоговых компонентах. Теперь посмотрим, как можно привлечь к этому полезному в хозяйстве делу цифровую технику.
Мы уже упоминали (см. главу 18 ), что в состав AVR-контроллеров входит 10-разрядный многоканальный АЦП. На платах Arduino его выводы специально помечены, как аналоговые входы (буквой А с цифрами от нуля до пяти). Заметьте, что они могут быть задействованы и как обычные цифровые с номерами от 14 до 18, и мы в таком качестве ими еще воспользуемся. Один из этих входов мы как раз и применим для измерения температуры, а управлять подключением нагрузки будем с одного из цифровых выходов.
Итого нам понадобятся:
□ плата Arduino Uno (годится и любая другая);
Я термистор в качестве датчика температуры. Подойдет, например, имеющийся
□ «Амперке» В57164-К 103-J с номинальным сопротивлением 10 кОм при 25 °C — именно его характеристики приведены в главе 13 в качестве иллюстрации к свойствам термисторов;
□ переменный резистор 10 кОм, постоянный резистор 620 Ом;
□ исполнительное реле — электромагнитное (обязательно с усилительным транзисторным ключом, см. далее) или твердотельное.
В продаже имеются модули на основе 5-вольтовых электромагнитных реле, специально подогнанных под управление от выходов Arduino. Электромагнитные реле сами по себе требуют довольно большого тока управления (и он тем больше, чем мощнее реле, — непосредственно от логики могут работать только самые маломощные герконовые реле), потому во всех подобных релейных модулях обязательно имеется транзисторный усилительный ключ [41] Хотя продавцы этот факт почему-то тщательно замалчивают — отсутствие документации или хотя бы исчерпывающих технических характеристик готовых комплектующих изделий для Arduino часто перерастает в серьезную проблему для желающего ими воспользоваться.
. Например, в «Амперке» продается такой модуль на основе реле HLS8L-DC5V-S-C. Если вас электромагнитное реле не устраивает, и вы стремитесь к предельной простоте схемы, то можно поискать твердотельные реле — подойдут, например, CX240D5R фирмы Crydom или аналогичные с напряжением срабатывания 3-15 В. У них ток управления составляет около 15 мА при 5 вольтах на входе, что допустимо для AVR, потому их управляющий вход можно подключать к цифровому выводу Arduino напрямую. Правда, при напряжении 220 вольт коммутировать нагрузку мощностью больше киловатта CX240D5R не может, но нам в данной задаче больше и не требуется.
Схема термостата на Arduino Uno показана на рис. 21.2.

Рис. 21.2. Схема термостата на Arduino Uno
На схеме обмотка реле К1 (с нормально разомкнутыми контактами) условно присоединяется прямо к цифровому выходу Arduino — подразумевается, что либо это упомянутое ранее твердотельное реле с нужными характеристиками, либо просто управляющий вход готовой платы релейного модуля. Для контроля состояния схемы одновременно с нагревателем срабатывает светодиод. Программа термостата в соответствии с подобной схемой крайне проста:
Величины резисторов подогнаны под указанный термистор В57164-К с номинальным сопротивлением 10 кОм при 25 °C (103-J). В соответствии с программой срабатывание реле будет происходить вблизи значения на выходе АЦП, равного 500. Это составляет примерно середину 10-разрядного диапазона (вся шкала — 1024 градации), т. е. такое значение установится при приблизительном равенстве верхнего и нижнего сопротивлений относительно входа АО (напряжение на этом входе тогда составит примерно 2,5 вольта).
Обратите внимание, что обе функции if не заканчиваются привычным else . Для предотвращения дребезга в программу введен гистерезис: реле включается при превышении значения кода 510, а выключается при снижении до значения 490. В промежутке оно будет сохранять предыдущее состояние. Двадцать единиц кода (то, что в главе 12 мы называли зоной нечувствительности ) соответствуют примерно 10 милливольтам, т. е. гистерезис при температуре в пределах 30–40 градусов составит чуть меньше одной десятой градуса (проверьте сами с помощью табл. 13.1 из главы 13 ).
Установка температуры срабатывания с помощью резистора R2 при таких параметрах возможна в пределах примерно от 22 до 96 °C. Разумеется, на практике такой широкий диапазон регулировки не требуется, потому целесообразно номинал R2 уменьшить. Величина R1 подбирается так, чтобы R1 и номинальное значение R2 в сумме составляли сопротивление термистора при нижнем значении желаемого диапазона температур (в соответствии с табл. 13.1). Для более точной подгонки можно провести калибровку и изменить пороговые значения в программе, измеряя установившуюся температуру обычным термометром.
Если вы примените в этой схеме другие датчики, то не забудьте про знак температурного коэффициента. Обычный диод или транзистор в диодном включении (как в схемах из главы 13 ) также имеют отрицательный наклон характеристики, потому для них в программе придется поменять только числовые значения порога срабатывания. А вот полупроводниковые датчики типа ТМР35 (см. главу 13 ) или просто металлические термометры сопротивления (как в конструкции из главы 17 ) имеют положительный температурный коэффициент, поэтому условия срабатывания придется изменить на обратные. Причем не просто поменять «больше» на «меньше» и наоборот, а изменить и соотношение порогов для гистерезиса — в новой ситуации нагреватель должен будет включаться, если значение меньше меньшего порога, а выключаться — если больше большего.
Как видите, обращаться с Arduino не просто, а очень просто. Работа с АЦП относится к базовым функциям платформы и не требует даже подключения отдельных библиотек. Оцените, насколько облегчили создатели платформы жизнь разработчику: вызову функции anaiogRead () соответствуют операции установки режима АЦП, тактовой частоты его работы, выбора канала и пр.
Попробуем на радостях решить задачку посложнее — научимся выводить данные через последовательный порт и на графический индикатор.
Для лучшего понимания, что именно мы будем делать дальше, кратко рассмотрим устройство последовательного порта. Сначала разберемся в терминах, которые имеют отношение к предмету разговора. В компьютерах ранее всегда присутствовал СОМ-порт, часто кратко называемый портом RS-232. Правильнее сказать так: СОМ-порт передает данные, основываясь на стандарте последовательного интерфейса RS-232. UART ( Universal Asynchronous Receiver-Transmitter , универсальный асинхронный приемопередатчик) есть основная часть любого устройства, поддерживающего RS-232. Соответственно, UART как составная часть входит практически во все универсальные микроконтроллеры, в том числе и в ATmega328, лежащий в основе Arduino. В контроллере ATmega2560 (Arduino Mega) таких портов даже целых три.
Читать дальшеИнтервал:
Закладка: