Raspberry Pi:Примеры/Подключение МОП-транзистора
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Подключение МОП-транзистора
Данный пример демонстрирует подключение МОП-транзистора для управления мощными устройствами, запитываемыми от отдельного источника питания. Старайтесь не использовать выводы GPIO в качестве источника питания для внешних устройств. Через вывод GPIO Raspberry Pi можно пропускать только относительно малые токи.
Резистор в цепи ограничивает прохождение через вывод GPIO сильных токов, которые возникают при закрытии и открытии затвора МОП-транзистора.
При подаче на затвор МОП-транзистора напряжения больше 2В он отпирается и через транзистор протекает ток, обеспечивая питание нагрузке.
Необходимое оборудование
- плата Raspberry Pi;
- пара перемычек;
- макетная плата;
- резистор 1 кОм;
- N-канальный МОП-транзистор(например:FQP30N06L);
- блок питания 12В;
- любая нагрузка которую вы хотите запитать;
Схема
Будьте осторожны при обращении с портами GPIO вашего Raspberry Pi. Помните входы и выходы GPIO расссчитаны на напряжение +3,3В |
Положительный вывод источника питания идет к нагрузке, второй вывод нагрузки подключается к стоку МОП-транзистора.
Исток заземляется и подключается к минусу источника питания и 20 выводу GPIO.
Затвор подключается через резистор к 12 выводу GPIO.
Все манипуляции по подключению МОП-транзистора производите только при отключенном питании платы Raspberry Pi |
Код
Вкл/Выкл нагрузки
Данный пример необходимо ввести в консоли python.
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, True)
GPIO.output(18, False)
Подача ШИМ-сигнала
Данный код можно использовать для регулировки яркости свечения светодиодного модуля.
Python 2.X
import RPi.GPIO as GPIO
led_pin = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(led_pin, GPIO.OUT)
pwm_led = GPIO.PWM(led_pin, 500)
pwm_led.start(100)
while True:
duty_s = raw_input("Enter Brightness (0 to 100):")
duty = int(duty_s)
pwm_led.ChangeDutyCycle(duty)
Python 3.X
import RPi.GPIO as GPIO
led_pin = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(led_pin, GPIO.OUT)
pwm_led = GPIO.PWM(led_pin, 500)
pwm_led.start(100)
while True:
duty_s = input("Enter Brightness (0 to 100):")
duty = int(duty_s)
pwm_led.ChangeDutyCycle(duty)