Чарльз Платт - Электроника для начинающих (2-е издание)
- Название:Электроника для начинающих (2-е издание)
- Автор:
- Жанр:
- Издательство:«БХВ-Петербург»
- Год:2017
- Город:Санкт-Петербург
- ISBN:978-5-9775-3793-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Чарльз Платт - Электроника для начинающих (2-е издание) краткое содержание
Электроника для начинающих (2-е издание) - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Теперь я готов ответить на вопрос: «Что следует предпочесть — микроконтроллеры или традиционные дискретные компоненты?»
Мой ответ таков: вам понадобится и то, и другое. Именно поэтому я включил микроконтроллеры в книгу, которая в основном рассказывает о дискретных электронных компонентах.
В следующем эксперименте я покажу, как датчик и микроконтроллер могут работать совместно.
Эксперимент 33. Исследуем окружающий мир
Переключатель либо включен, либо выключен, однако большинство значений, которые мы получаем из окружающего мира, обычно находятся между этими крайностями. Например, терморезистор — это датчик, электрическое сопротивление которого изменяется в широком диапазоне, в зависимости от температуры.
Микроконтроллер был бы очень полезен для обработки такого входного сигнала. Например, получая входной сигнал от терморезистора, микроконтроллер поддерживает заданную температуру, включая нагревательный элемент, если температура опускается ниже минимального значения, и выключая его, если в комнате достаточно тепло.
Микроконтроллер ATmega 328, установленный на плате Arduino Uno, может справиться с этой задачей, поскольку шесть из его выводов относятся к числу «аналоговых входов». Сигнал, поданный на эти входы, не оценивается как «логически высокий» или как «логически низкий». Он преобразуется внутри микросхемы с помощью аналого-цифрового преобразователя или АЦП.
В 5-вольтовой версии платы Arduino аналоговый сигнал на входе должен быть в диапазоне от О до 5 В. На самом деле, верхний предел можно изменять, что вносит некоторую сложность, поэтому я оставлю рассказ об этом на потом. Терморезистор не вырабатывает никакого напряжения, он только изменяет свое сопротивление. Так, необходимо придумать, каким образом изменение сопротивления обеспечит изменение напряжения.
Как только эта проблема будет решена, АЦП внутри микроконтроллера сможет преобразовать напряжение на аналоговом выводе в числовое значение в диапазоне от 0 до 1023. Почему именно такой числовой диапазон? Потому что его можно выразить десятью двоичными цифрами, а число разрядов АЦП в микроконтроллере на плате Arduino равно десяти.
После того как АЦП выдал число, ваша программа может сравнить его с заданным значением и предпринять соответствующие действия, например, изменить состояние вывода, подающего напряжение на твердотельное реле, которое включает комнатный нагреватель.
Эта последовательность операций, начиная с терморезистора и заканчивая числовым значением, проиллюстрирована на рис. 5.86.

Следующий эксперимент покажет, как это осуществить.
Что вам понадобится
• Макетная плата, монтажный провод, инструмент для зачистки проводов, кусачки, тестовые провода, мультиметр
• Терморезистор номиналом 10 кОм, с допуском 1 или 5% (1 шт.) (Он должен быть типа NTC, что означает «сопротивление падает по мере увеличения температуры». Терморезистор типа РТС ведет себя противоположным образом.)
• Плата Arduino Uno (1 шт.)
• Ноутбук или настольный компьютер со свободным USB-портом (1 шт.)
• USB-кабель с разъемами типа А и В на противоположных концах (1 шт.)
• Резистор номиналом 6,8 кОм (1 шт.)
• Исследование терморезистора
Первый шаг — изучить, что собой представляет терморезистор. Он имеет очень тонкие выводы, потому что они не должны проводить тепло к верхней части или забирать его оттуда, поскольку там располагается p-n-переход, реагирующий на изменение температуры. Эти выводы, вероятно, слишком тонкие, чтобы надежно фиксироваться в макетной плате, поэтому я предлагаю вам зажать их парой тестовых проводов с «крокодилами» и подключить к щупам мультиметра, как показано на рис. 5.87.
Терморезистор, который я рекомендую, имеет номинал 10 кОм. Это максимальное значение, когда компонент становится совсем холодным. Его сопротивление меняется слабо, пока температура не повысится до 25 °С. После этого сопротивление будет уменьшаться быстрее.
Вы можете проверить это с помощью мультиметра. При комнатной температуре терморезистор должен иметь сопротивление около 9,5 кОм. Теперь зажмите его между большим и указательным пальцами. Поскольку он поглощает тепло вашего тела, его сопротивление снижается. При температуре тела (приблизительно 37 °С) сопротивление составит около 6,5 кОм.
Как преобразовать этот диапазон сопротивлений в необходимый для микроконтроллера диапазон напряжений от 0 до 5 В?
Вначале примите во внимание то, что максимальное значение, которое соответствует комнатной температуре, должно быть ниже 5 В. Окружающий мир непредсказуем. А вдруг по какой-то непонятной причине терморезистор нагреется гораздо сильнее, чем вы рассчитывали? Возможно, вы положили рядом с ним паяльник или же оставили его на нагретом участке электронного оборудования.

Отсюда мы извлекаем первый урок аналого- цифрового преобразования: при измерении величин сигналов, поступающих из окружающего мира, предусматривайте неожиданные, предельные значения.
Преобразование диапазона
Самый простой способ преобразовать сопротивление терморезистора в значение напряжения — подобрать резистор, номинал которого приблизительно равен среднему сопротивлению терморезистора в интересующем нас температурном диапазоне. Соедините такой резистор и терморезистор последовательно, чтобы создать делитель напряжения, подайте 5 В на один конец и О В на другой, а затем измерьте напряжение в средней точке между компонентами, как показано на рис. 5.88.
Обычно, чтобы настроить такую схему, вам понадобилось бы подключить стабилизатор, обеспечивающий напряжение 5 В. Однако на плате Arduino есть встроенный стабилизатор напряжения и он выдает на выходе ровно 5 В (см. рис. 5.79). Вы можете сделать отвод от этого выхода и подключить его к макетной плате с помощью перемычки. Вам понадобится также сделать отвод от одного из заземляющих выходов платы Arduino и таким же образом подключить его к макетной плате.

Когда я пробовал это сделать и изменял температуру терморезистора с 25 до 37 °С, мультиметр показывал напряжение от 2,1 до 2,5 В. Вам предстоит самостоятельно проделать аналогичный эксперимент, чтобы проверить мои значения.
Читать дальшеИнтервал:
Закладка: