Raspberry Pi:Примеры/Подключение МОП-транзистора

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.



Подключение МОП-транзистора

Данный пример демонстрирует подключение МОП-транзистора для управления мощными устройствами, запитываемыми от отдельного источника питания. Старайтесь не использовать выводы GPIO в качестве источника питания для внешних устройств. Через вывод GPIO Raspberry Pi можно пропускать только относительно малые токи.

Резистор в цепи ограничивает прохождение через вывод GPIO сильных токов, которые возникают при закрытии и открытии затвора МОП-транзистора.

При подаче на затвор МОП-транзистора напряжения больше 2В он отпирается и через транзистор протекает ток, обеспечивая питание нагрузке.

Необходимое оборудование

Схема

Будьте осторожны при обращении с портами 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)

См.также

Внешние ссылки