Управление однорелейной платой с Raspberry Pi

У меня есть одна из этих плат с одним реле , и я пытаюсь управлять ею с помощью GPIO моего RasPi. (я полный нуб).

Я использую WiringPi , и в этом конкретном случае я использую контакт 1 (он же контакт 18 BCM) в качестве контакта управления. С релейной платы у меня есть контакт +, подключенный к 5v RasPi, контакт - к земле RasPi и контакт S к контакту управления.

Как только подсоединяю провода, реле щелкает и загорается светодиод. Если я запускаю программу, которая включает и выключает его каждые 3 секунды, светодиод реле включается и выключается, но реле остается подключенным (оно также не щелкает). Если я отсоединяю контрольный штифт или землю, он щелкает и выключается.

Что я делаю не так? Должен ли я заземлять что-то еще? Я думал, что, отправляя сигнал LOW на контакт управления, я фактически посылал ему 0 В, что должно было отключить реле, но, похоже, это не так.

Крупные планы релейной платы: сзади и спереди

Обновлять:

Я заставил его работать, используя контакт 3,3 В на RasPi вместо 5 В. Может ли кто-нибудь объяснить, почему контакт 5v + GPIO на LOW переходит не на 0v, а на 1,5? Не повредит ли подключение моего 5-вольтового реле к 3,3-вольтовому?

Есть ли у платы даташит?
К сожалению, нет. Я заказал его на этом сайте, предполагая, что это довольно стандартная вещь.
Совершенно не понятно, почему на релейной плате со стороны входа три контакта, а не два. Я вижу только диод и конденсатор на верхней стороне. У него тоже есть какой-то транзистор?
Это нижняя часть платы imgur.com/BNuHx, разве не стандартно для нее иметь +/- и сигнальный пин?
@juand: Что касается вашего обновления, само реле явно рассчитано на 5В. Может вроде и работает на 3.3В, но тянуть будет слабее. Это будет медленнее, и в зависимости от того, что вы переключаете, пониженное контактное давление может вызвать проблемы с надежностью.
У меня еще не было времени возиться с этим, но я использовал его с схемой 3v, и он отлично работал. Я использую его, чтобы открыть гараж.

Ответы (2)

Глядя на фотографии платы реле, мне кажется, что транзистор действует как переключатель верхнего плеча как для реле, так и для светодиода, поскольку один из выводов транзистора идет непосредственно на «+», а другой — на катушку реле. контакты идут непосредственно к "-" (плоскость заземления). Следовательно, транзистор будет либо PNP BJT, либо P-канальным полевым транзистором. Ставлю на ПНП.

Это будет означать, что вам нужно заземлить контакт «S», чтобы активировать реле, и вам нужно разомкнуть контакт , позволяя ему плавать до 5 В, чтобы деактивировать его. Просто доведя его до 3,3 В, транзистор все равно останется активным. Хотя, я признаю, это не объясняет изменения в светодиоде, если только напряжение на катушке реле не изменяется достаточно, чтобы заставить светодиод тускнеть, не позволяя реле отключаться.

Другими словами, релейная плата спроектирована таким образом, чтобы вести себя так же, как оголенная катушка реле (с переключением на стороне низкого напряжения), но без необходимости, чтобы что-то приводило ее в действие, чтобы поглотить полный ток реле. В этом есть определенный смысл.

Это имело бы некоторый смысл — похоже, что светодиод подключен к контактам + и —, так что, возможно, это просто индикатор питания, а не для включения / выключения реле (но в таком случае, почему он тускнеет? при переключении?)
Нет, я думаю, что светодиод (вверху) и его последовательный резистор (внизу) подключены параллельно катушке реле.
Вы имеете в виду компонент (который выглядит как светодиод, кристалл виден при увеличении) сверху и слева вверху? Если это так, это определенно имеет смысл (до сих пор я не обращал на это особого внимания). Я искал компонент чуть выше монтажного отверстия в правом нижнем углу. При увеличении это больше похоже на конденсатор. +1 за правильное понимание (судя по всему), пока я здесь...
Я уверен, что это где-то в этом направлении, я просто не мог придумать какую-либо комбинацию подключений с участием 5 В, которая работала бы. Если у меня есть + на 3,3 В, он работает, но если я перевожу его на 5 В, это не работает. Разница в том, что НИЗКИЙ уровень на контакте в сочетании с 5 В дает мне 1,5 В, а в сочетании с 3,3 В дает мне 0; тем самым освобождая реле (и его светодиод). Как мне заземлить / разомкнуть контакт с 5 В?
Я не могу объяснить эти показания напряжения в контексте моей гипотезы. У вас есть отрицательный щуп вольтметра на контакте «-», а положительный щуп на контакте «S»?
Нет, у меня есть положительный щуп на 5 В RasPi и отрицательный на контакте GPIO, который я тестирую.

Хорошо, угадаю 3 :-)

Давайте предположим, что вы правильно поняли проводку с первого раза (извините, я не сразу сообразил ;-))

Если это так, то у нас, вероятно, + идет к эмиттеру PNP-транзистора, - к земле, а вывод S идет к базе транзистора. Глядя на фотографии более внимательно, я думаю, что Дэйв прав в том, что это PNP-транзистор, поскольку одна сторона катушки, кажется, соединяется с контактом - (а не с контактом +, если это был NPN)

Вы говорите, что при включении все в реле щелкает и загорается светодиод. При переключении контакта GPIO светодиод выключается (полностью выключается?), но реле - нет.
Тот факт, что вы можете удалить управляющее соединение S, и реле переключается, по-видимому, указывает на то, что 1,5 В, которые вы измерили на выводе GPIO, являются проблемой (это измеряется, когда оно ни к чему не подключено?) Выяснение, почему это происходит — это следующий шаг, хотя пока вы можете попробовать другой GPIO.

РЕДАКТИРОВАТЬ - я только что проверил схемы Rpi, и похоже, что все GPIO имеют напряжение 3,3 В (я думал, что в основном это так, но я предположил, что там также есть специальные 5-вольтовые, хотя я не вижу их с первого взгляда)
В этом случае вы не должны считывать 5 В на вашем GPIO, если только сглаживание не подключено неправильно.

Возможно, светодиод выключается из-за того, что он подключен непосредственно к контактам S и -, и для выключения светодиода достаточно поднять напряжение до 3,3 В, так как прямое напряжение светодиода выше (5 В). - 3,3 В = 1,2 В) Однако транзистору драйвера требуется только> 0,7 В, чтобы включиться, поэтому, если напряжение не превысит V + - 0,7 В, реле останется включенным.

Это то, что я видел, но когда я подключаю + к 5v и - к GPIO, даже светодиод на плате реле не загорается. S также может означать «сигнал», но пока я не могу найти разумного способа управлять этой штукой.
Вопрос в том, в чем разница между отключением кабеля, идущего от S к GPIO, и отправкой на него 0v? Разве это не должно иметь такой же эффект?
Просто смотрю на картинку, которую вы разместили сейчас, не видел ее раньше, скоро отредактирую ...
Вот крупные планы i.imgur.com/zGyTC.jpg и i.imgur.com/pb2E8.jpg
Спасибо, я почти уверен, что контакт + идет к базе транзистора. Попробуйте отредактированный ответ и посмотрите, как пойдет.
Я сделал это, и ничего не происходит. Нет светодиода, нет щелчка реле. Я также заметил, что вывод gnd + gpio дает мне 3,5 В. Единственный способ, чтобы реле загорелось и щелкнуло, — это подключить кабели, как я написал. Возможно ли, что мне нужно заземлить контакт gpio?
Я думаю, что знаю, что здесь происходит. Я измерил выход 5 В + GPIO1 на RasPi, и он дает мне 1,5 В на НИЗКОМ уровне и 5 В на ВЫСОКОМ. Разве это не должно быть 0v?
Оно должно быть ближе к 0 В, если только оно не потребляет значительный ток, да. Есть ли что-то особенное в этом конкретном GPIO (у вас есть ссылка на страницу/схему RPi GPIO?) Остальные 3,3 В? Что касается модуля, то меня возмущает, как простая схема, размещенная на странице модуля, позволяет избежать всех этих догадок, кажется, это так часто встречается в наши дни с такими вещами.
полная схема находится здесь raspberrypi.org/archives/1090
Спасибо за изучение этого .. пожалуйста, смотрите мое обновление по этому вопросу.
Что касается попытки № 3, да, похоже, что все GPIO имеют напряжение 3,3 В, но на нем есть контакт 5 В, который, как я полагаю, может каким-то образом использоваться для питания 5-вольтовых периферийных устройств, таких как это реле. , поэтому информация, которую я предоставляю, может еще больше запутать ситуацию. Я попробую что-нибудь еще, когда вернусь домой и отпишусь :) спасибо!