Выпускная квалификационная работа обучающегося по направлению подготовки 44. 04


Обзор проектов элективного курса по физике с применением



Pdf көрінісі
бет9/24
Дата21.11.2022
өлшемі1,46 Mb.
#51502
түріРеферат
1   ...   5   6   7   8   9   10   11   12   ...   24
2.3 Обзор проектов элективного курса по физике с применением 
ARDUINO 
Проект 1: Транзистор MOSFET. Показываем усилительные качества 
транзистора. На примере электродвигателя изменяем обороты 
В этом эксперименте мы познакомимся с транзистором MOSFET и с 
помощью него будем управлять мощной нагрузкой – электродвигателем. 
Необходимые компоненты: 
• плата для прототипирования; 
• блок питания 5 В; 
• контроллер Arduino UNO R3; 
• транзистор MOSFET IRF540; 
• диод 1N4007; 
двигатель DC
• провода папа–папа. 
Находятся в состоянии низкого импеданса контакты Arduino, 
сконфигурированные как OUTPUT и могут подавать 40 мА на нагрузку и не 
могут подавать питание на мощную нагрузку и высокое напряжение. Одним 
из способов управления мощной нагрузкой является использование полевых 
MOSFET-транзисторов. МОП-транзистор является ключом для управления 
большими токами с небольшим напряжением (в отличие от биполярных 
транзисторов, управляемых током). В нашем эксперименте мы будем 


33 
контролировать скорость вращения двигателя, изменяя напряжение, 
подаваемое на полевой МОП-транзистор. Мы будем контролировать 
напряжение, подаваемое на полевой МОП-транзистор, используя ШИМ 
(широтно-импульсная модуляция). Для регулирования скорости двигателя 
будет использоваться потенциометр.
Схема подключения элементов для данного эксперимента показана 
на рисунке 2.3. 
Рисунок 2.3 – Схема подключения мотора к Arduino 
В листинге показан эскиз данного эксперимента. В цикле loop () мы 
читаем аналоговое значение потенциометра и, масштабируя с помощью 
функции map (), подаем сигнал ШИМ на MOSFET, к которому подключен 
двигатель. 
const int MOTOR = 9; // Выход для подключения MOSFET 
const int POT = 0; // Аналоговый вход A0 для подключения 
потенциометра 
int valpot = 0; // переменная для хранения значения потенциометра 
int speedMotor = 0; // переменная для хранения скорости двигателя 
void setup () 



34 
// 
pinMode (МОТОР, ВЫХОД); 

void loop () 

valpot = analogRead (POT); // читать данные потенциометра 
// масштабируем значение до интервала 0–255 
speedMotor = map (valpot, 0,1023,0,255); 
// устанавливаем новое значение ШИМ 
analogWrite (MOTOR, speedMotor); 
задержка (1000); // Пауза 



Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   24




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет