User Tools

Site Tools


зал

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
зал [2021/10/30 18:54] – [Датчик температуры в TinkerCAD (TMP36)] servikoзал [2021/12/07 19:31] (current) – [Задание для самостоятельной работы] serviko
Line 71: Line 71:
  
 Для тестирования датчика TMP36, подключенного к порту A0, будем использовать светодиод, анод которого соединен с цифровым портом D3. Этот порт поддерживает широтно-импульсную модуляцию (ШИМ) и может выдавать значение от 0 до 255 для плавного изменения яркости свечения светодиода. Для тестирования датчика TMP36, подключенного к порту A0, будем использовать светодиод, анод которого соединен с цифровым портом D3. Этот порт поддерживает широтно-импульсную модуляцию (ШИМ) и может выдавать значение от 0 до 255 для плавного изменения яркости свечения светодиода.
 +
 +<note important>
 +В примере для упрощения схемы светодиод подключается без **токоограничивающего резистора**! Для устойчивой работы светодиода необходимо последовательно с анодом или катодом подключить резистор номиналом от 180 до 220 Ом.
 +</note>
  
 {{ :wiki:praktika:zal:zal02.jpg }} {{ :wiki:praktika:zal:zal02.jpg }}
 +
 +----
 +
 +===Программный код===
  
 Программный код, представленный на рисунке ниже, выводит во встроенный "Монитор последовательного интерфейса" два параметра: "данные температурного датчика на выводе" и данные "с аналогового вывода". Программный код, представленный на рисунке ниже, выводит во встроенный "Монитор последовательного интерфейса" два параметра: "данные температурного датчика на выводе" и данные "с аналогового вывода".
Line 93: Line 101:
   * при диапазоне от 0 до 1024 - от 20 до 358   * при диапазоне от 0 до 1024 - от 20 до 358
  
-Опытным путем можно подобрать рабочий диапазон для команды. В этом случае на цифровой пин (к которому подключен светодиод) при температуре 20°C подается небольшое значение (порядка 40), то есть светодиод еле засветится, а при температуре 40°C подается максимальное значение 255, то есть светодиод будет светиться максимально ярко.+Опытным путем можно подобрать рабочий диапазон для команды: от -700 до 4550. В этом случае на цифровой пин (к которому подключен светодиод) при температуре 20°C подается небольшое значение (примерно 33), то есть светодиод еле засветится, а при температуре 40°C подается максимальное значение 255, то есть светодиод будет светиться максимально ярко. 
  
-<note important> +<note important>Мы выбрали диапазон температур исходя из того, что в дальнейшем arduino будет управлять не светодиодом, а двигателем (вентилятора, кондиционера и т.п.). Хотелось, чтобы реальный вентилятор начинал работать при небольшом превышении нормальной температуры и достигал своей максимальной производительности при жаре в 40°C.
-В примере для упрощения схемы светодиод подключается без **токоограничивающего резистора**! Для устойчивой работы светодиода необходимо последовательно с анодом или катодом подключить резистор номиналом от 180 до 220 Ом.+
 </note> </note>
 +
 +Дополненный функцией **''map()''** - "**''СОПОСТАВИТЬ...''**" программный код управления светодиодом:
 +
 +{{ :wiki:praktika:zal:zal04.png }}
 +
 +----
 +----
 +
 +====Управление мощной нагрузкой====
 +Контроллер Arduino обычно выступает в роли логического (командного) устройства. Контроллер выдает команды, а другие, более сильные, более мощные устройства выполняют полезные действия. Представьте, как вы поворачиваете маленький кран рукомойника, а мощный насос продавливает по трубе под напором воду. И, чем больше вы поворачиваете кран, тем мощней струя воды.
 +
 +===Транзисторный усилитель===
 +
 +{{ :wiki:praktika:zal:zal05.png}}В электронных устройствах постоянного тока слабый управляющий (логический) сигнал превращают в сильный "усилители", которые строятся на основе [[https://ru.wikipedia.org/wiki/Транзистор|транзисторов]]. 
 +
 +<note>
 +**Транзистор** (от английских слов transfer — переносить и resistor — сопротивление) электронный полупроводниковый прибор, предназначенный для усиления, генерирования и преобразования электрических колебаний различных частот.
 +
 +**Изобретен в 1948 г. американцами У.Шокли, У.Браттейном и Дж.Бардином**
 +</note>
 +
 +----
 +
 +===Схема подключения===
 +На схеме к аналоговому порту A0 подключен датчик температуры TMP36, который определяет температуру окружающей среды. При достижении температуры выше 20°C, контроллер arduino начинает выдавать на цифровой порт D3 ШИМ-сигнал определенной величины. 
 +
 +К порту D3 через резистор 100 Ом подключен контакт Gate (Затвор) полевого N-канального транзистора. К контакту транзистора Drain (Сток) подключен двигатель (вентилятора, кондиционера и т.п.). К другому контакту двигателя подключен мощный источник питания (в нашем случае на 5 вольт). Контакт Gate (Затвор) соединен с контактом arduino GND (Земля) через резистор 10 кОм. 
 +
 +<note>//"Резистор на 100 Ом (можно ставить в диапазоне 100-500 Ом, мощность любая) выполняет защитную функцию: затвор полевика представляет собой конденсатор, в момент открытия затвора конденсатор начнёт заряжаться и в цепи пойдёт большой ток (практически короткое замыкание), который может повредить пин Ардуино. Резистор просто ограничивает ток в цепи пин-затвор и спасает пин от скачков тока"// (источник [[https://alexgyver.ru|AlexGyver]])</note>
 +
 +<note>//"Резистор на 10 кОм (можно ставить в диапазоне 5-50 кОм, мощность любая) выполняет подтягивающую функцию для затвора. Если случится так, что плата Ардуино выключена или сигнальный провод от неё отвалился – на затвор будут приходить случайные наводки и он может случайно открыться. Если в этот момент будет подключен источник питания – нагрузка тоже включится! Восстание машин начнётся именно с этого момента. Подтягивающий к GND резистор позволяет “прижать” затвор, чтобы он не открылся сам по себе"// (источник [[https://alexgyver.ru|AlexGyver]])</note>
 +
 +{{ :wiki:praktika:zal:zal06.png }}
 +
 +<note important>Обязательным условием устойчивой работы схемы является соединение контактов GND (земля) всех элементов вместе</note>
 +
 +----
 +
 +===Программный код===
 +
 +На рисунке выше температура датчика TMP36 25°C. При этом обороты двигателя 2846 rpm (обороты в минуты). С помощью программного кода сделаем так, чтобы двигатель начинал вращаться только при температуре выше 20°C и максимальные обороты набирал при температуре окружающей среды 40°C. При дальнейшем росте температуры, на пин D3 выдается значение 255 - максимальные обороты двигателя.
 +
 +**"TMP36_T"** и **"TMP36_A0"** - переменные для сохранения параметров, выдаваемых датчиком температуры TMP36. Заметьте так же, что, в соответствии с задачей, изменены параметры команды **''[СОПОСТАВИТЬ ... С ДИАПАЗОНОМ ... ОТ ... ДО ...]''**
 +
 +{{ :wiki:praktika:zal:zal07.png }}
 +
 +----
 +==== Задание для самостоятельной работы ====
 +=== Уровень 1 ===
 +Если на arduino порты A0 и D3 заняты другим оборудованием. Что необходимо сделать для решения нашей задачи? Выполните необходимые действия и сохраните изменения в виде скриншотов.
 +
  
 ---- ----
-[[start|На главную страницу]]+[[start|На главную страницу]] ]. . . .[ [[спальня|Далее]] ]
зал.1635620083.txt.gz · Last modified: by serviko