Не срабатывает реле с первого раза помогите !
- Войдите на сайт для отправки комментариев
Всем привет!
Есть схема на ней разъем (5+, GND, Rele out)

Вторая схема "Питания" на ней этот же разъем (+5, GND, ReleIn)

Проблема в том что если на схему только что подали напряжение (реле не разу ещё не срабатывало), то
при нажатии на "кнопку" на контроллере подается сигнал на включение реле через транзистор "на схеме 1 его видно" BC547, реле с первого раза не стартует (щелкает и как будто ему питания не хватает вырубается)
Если нажимаю на "кнопку" ещё раз то реле срабатывает, (если хоть раз реле нормально включилось то потом работает как надо, все с первого раза и вкл и выкл)
Я в схемах не очень силен подскажите может что то не правильно на схеме
Могу прошивку контроллера скинуть но думаю она мало чем поможет ) тут в hardware части проблемы
Да и ещё вопрос если Reset на МК висит в воздухе как бы это вроде считается не нормально куда его и через че воткнуть? или без разницы? (при работе МК не ребутает)
Чтобы не гадать "схема-программа" возьмите и посмотрите, что делается на базе транзистора в описываемых случаях. Если сигнал есть, но реле не включилось - схема, а если сигнал "пляшет" - программа.
Я же четко написал что это не программа, читайте внимательнее
Попросил помочь разобраться в схеме
Видимо, ношкой топнуть забыл
Всем спасибо за очень дельные советы !
Но вопрос остался открытым
Я же четко написал что это не программа, читайте внимательнее
Вообщето Ваше мнение никто не спрашивал.
Если бы Вы были способны самостоятельно найти источник проблемы, на форум бы не обращались.
Так что, если хотите получить помощь, выкладывайте скетч и схему (именно схему, а не чертеж печатной платы).
Чет я смотрю форум начинает портиться появляются всякие "Тролли" и "Умники"
"Вообщето Ваше мнение никто не спрашивал", а Ваше как будто ждут с нетерпением ))))
Вот без "вые**" можно же написать "Для определения проблемы выложите схему по чертежу невозможно определить" ))
или у всех какое то летнее обострение )))
Схема:
bc547 на 3А ставить и еще без резистора в базе? Ничего себе фокус-покус.
3А ведь на общей схеме или я не так что то понимаю?
Транзистор надо другой? и резистор на PIN?
т.е. должно быть как то так?!
Ну, на общей или нет - я не знаю. Зачем-то же написано 3A. Скоко реле-то жрет? Резистор лично я бы поставил, но я в этих делах любитель.
Источник питания на 2576 преобразователе (по DataSheet) выдает до 3А поэтому и написал
Реле в DataSheet написано вроде (если я не ошибаюсь) 0.36W-0.45W
В инете схемы нашел да там действительно резюк на пине стоит, попробую поставить
Извиняюсь у меня там оказывается есть резистор на 1к
Вот так получается
тады вольтметр в руки и мерять, что там происходит с питанием. какие тут еще варианты могут быть...
Вообще эта схема должна подключаться к автомобильному аккумулятору
когда схема выключена ток идет только на преобразователь LM2576 (из него соответственно 5В)
когда схема включена ток идет через реле (12В) на повышающий стабилизатор или как их там называют (12->19в)
При тестах я подключаю все это дело к БП обычному от 220 (12в 2А)
Мерить на базе транзистора как написал vk007 ?
0.2 в при не срабатывании
0.82 при срабатывании
Если в скретче написать
Когда включится замерьте напряжение эмиттер-коллектор транзистора.....
Или напряжение на реле.....
база-эмиттер 0,71
база-коллектор 0,82
коллектор-эммитер 0,11
Реле 4,8
Да хотел сразу написать но чет забыл у стабилизатора на выходе 4,9
Понимаю с картинок определить проблему затруднительно, подскажите схема сама хоть правильная включения реле?
правильная схема, только на плате резистор 1к с другой стороны от 10к стоит, что сути не меняет.
Сама схема, если все детали правильные, глючить не должна. Напряжения соответствуют.
Когда включится замерьте напряжение эмиттер-коллектор транзистора.....
Или напряжение на реле.....
С насыщением транзистора всё в порядке.
А когда не включилось ? Те же напряжения?
на первой плате между VCC и GND, желательно прямо на выводах, нужно поставить керам. конденсатор 0,1-0.33 мкф.
Вообще, на первой плате блокировочных конденсаторов по питанию не видно, может и электролит требуется, что-то типа 100,0х16В на входные клеммы (+5, гнд) разъема.
т.е. должно быть как то так?!
пять миллиампер тока в базу маловато, можно смело поднять в два раза поставив резистор на 470-510 Ом
Только я еще диод в прямом включении последовательно ставлю, спасает контроллер при пробое коллектор-база
у него по факту
сколько будет, если увеличить ток базы вдвое?
При первом вкл. реле подключаются разряженные конденсаторы 4х2200мкФ, они и коротят. При следующем вкл. кондеры уже частично заряжены. Схемы то нету...
При первом вкл. реле подключаются разряженные конденсаторы 4х2200мкФ, они и коротят. При следующем вкл. кондеры уже частично заряжены. Схемы то нету...
+1
у него по факту
сколько будет, если увеличить ток базы вдвое?
Меньше не будет.
да, похоже проц рано стартует, когда еще нет 5в, для нормальной работы реле.
Да и ещё вопрос если Reset на МК висит в воздухе как бы это вроде считается не нормально куда его и через че воткнуть? или без разницы? (при работе МК не ребутает)
о чем и речь, так зачем попусту напрягать ТСа
При первом вкл. реле подключаются разряженные конденсаторы 4х2200мкФ, они и коротят. При следующем вкл. кондеры уже частично заряжены. Схемы то нету...
+1
Очень логично что не поднялось питание.
Но тогда и процессор должен был ещё не работать, так?
И не пытаться включать какие-то реле.
Очень логично что не поднялось питание.
Но тогда и процессор должен был ещё не работать, так?
И не пытаться включать какие-то реле.
Как там говорите? Мозг надо включать? ))
просто перезагружается ИМХО
продолжим
если конденсаторы не успевают зарядится, то ТС при включении питания должен держать кнопку нажатой, что маловероятно. НО Кнопка там в кавычках, т.е. зх как она вообще фунциклиирует.
5в реле обычно много жрут по току, т.е. может не хватать емкости 5в лита, реле просаживает питание и идет ребут проца, но почему тогда не каждый раз?
скетч, наверно таки нужен и/ или алгоритм "кнопки"
0.2 в при не срабатывании
0.82 при срабатывании
Если в скретче написать
а если написать так
#define PIN_RELAY 5 void setup() { pinMode(PIN_RELAY, OUTPUT); delay(7300); } void loop() { digitalWrite(PIN_RELAY, HIGH); }Марка реле указана на схеме, там 70 Ом обмотка, жрет - соотв - 70 ма. Ток базы 4 ма, пусть транзистор китайский, но 70 ма он должен дать.
Так что идея Петра о просадке на заряд конденсаторов - самая здравая. Контроллер просто по BOD перегружается.
==================
Если уж "по Гамбургскому счету" ;;), то нужно идти по всей цепочке.
1. убираем контроллер и подаем на резитор базы (то, что якобы 1К) щупом просто от питания 5В, смотрим, как реле щелкает.
2.Ну и так далее. Лень расписывать. Все мы учили в своих ВУЗАх правила проведения инженерных изысканий, поочередно убираем источники влияния.
Я тоже грешу на кондеры, сейчас скину схему
Марка реле указана на схеме, там 70 Ом обмотка, жрет - соотв - 70 ма. Ток базы 4 ма, пусть транзистор китайский, но 70 ма он должен дать.
Так что идея Петра о просадке на заряд конденсаторов - самая здравая. Контроллер просто по BOD перегружается.
==================
Если уж "по Гамбургскому счету" ;;), то нужно идти по всей цепочке.
1. убираем контроллер и подаем на резитор базы (то, что якобы 1К) щупом просто от питания 5В, смотрим, как реле щелкает.
2.Ну и так далее. Лень расписывать. Все мы учили в своих ВУЗАх правила проведения инженерных изысканий, поочередно убираем источники влияния.
... опыт всё же лучше, когда у меня инженер стал перематывать советский шаговик, был сильно удивлён...
межобмоточного там не может быть по определению, при 12 вольтах то питания...
Естественно дело было в ключах )))
и да, в чем проблема написать скетч для самотестирования?
Марка реле указана на схеме, там 70 Ом обмотка, жрет - соотв - 70 ма. Ток базы 4 ма, пусть транзистор китайский, но 70 ма он должен дать.
Так что идея Петра о просадке на заряд конденсаторов - самая здравая. Контроллер просто по BOD перегружается.
==================
Если уж "по Гамбургскому счету" ;;), то нужно идти по всей цепочке.
1. убираем контроллер и подаем на резитор базы (то, что якобы 1К) щупом просто от питания 5В, смотрим, как реле щелкает.
2.Ну и так далее. Лень расписывать. Все мы учили в своих ВУЗАх правила проведения инженерных изысканий, поочередно убираем источники влияния.
С подключением реле всё норм. Резистор и до 3 кОм можно (от транзистора зависит).
Чтоб МК не перезагружался (он "комфортно" работает пока не замкнутся контакты реле), нужно плавно заряжать конденсаторы при первом включении (например током в 1 А) или выкинуть их совсем)) Для чего такие емкости не понятно...
Влад, не все мы учились в ВУЗах ((
Более полная версия
Преобразователь:
https://ru.aliexpress.com/item/E053-03-Free-shipping-150W-Power-Boost-co...
Схема подразумевается для использования в Авто, так вот если схема включена
и мы пытаемся завести авто! то тогда эти емкости помогают
// Контакты ============================================= #define PIN_TX 2 //Данные TX #define PIN_RX 3 //Данные RX #define PIN_LED 3 //Светодиод #define PIN_POWER_BUTTON 4 //Кнопка включения всей системы #define PIN_RELAY 5 //Включение реле питания #define PIN_POWER_PC 8 //Контакт замыкания кнопки ПК #define PIN_SENSOR_PC A5 //Датчик включения ПК #define VOLTAGE_SENSOR_ON 210 //(2.7 вольта включен, меньше выключен) #define MODE_NONE 0 //Режим ожидания действия #define MODE_SYS_BUTTON_DOWN 1 //Режим нажатой кнопки (системной*) #define MODE_HARD_SYSTEM_OFF 2 //Режим жесткого выключения системы #define MODE_SYSTEM_ON 3 //Включение системы #define MODE_SYSTEM_ON_POWER_PC 4 //Включение ПК #define MODE_SYSTEM_OFF 5 //Выключение системы //======================================================= class Controller { public: Controller() { mode = MODE_NONE; thread_timer = 0; timer_button_down = 0; button_power_status = false; button_power_down = false; DATA_POWER_pc = false; DATA_POWER_system = false; WAIT_pc_off = false; WAIT_pc_on = false; }; byte mode; //Таймер задержки при режимах кроме NONE unsigned long thread_timer; /* СИСТЕМНАЯ КНОПКА ================================================================== */ unsigned long timer_button_down; //Таймер нажатия кнопки bool button_power_status; //Auto: кнопка питания (системная*) определяется автоматически bool button_power_down; //Переключатель (используется для запоминания времени нажатия) /* =================================================================================== */ bool DATA_POWER_pc; //Auto: Питание на системнике включено или нет bool DATA_POWER_system; //Питание включено в системе или нет bool WAIT_pc_on; //Ожидание включения ПК bool WAIT_pc_off; //Ожидание выключения ПК }; Controller controller; void setup() { //Устанавливаем пины pinMode(PIN_POWER_BUTTON, INPUT); pinMode(PIN_SENSOR_PC, INPUT); pinMode(PIN_RELAY, OUTPUT); pinMode(PIN_POWER_PC, OUTPUT); digitalWrite(PIN_RELAY, LOW); digitalWrite(PIN_POWER_PC, LOW); controller.mode = MODE_NONE; //Serial.begin(9600); } void loop() { controller.button_power_status = bool(!digitalRead(PIN_POWER_BUTTON)); //Нажата системная кнопка или нет (LOW = нажата) controller.DATA_POWER_system = bool(digitalRead(PIN_RELAY)); //Проверка состояния основного питания controller.DATA_POWER_pc = bool((analogRead(PIN_SENSOR_PC) > VOLTAGE_SENSOR_ON)); //Включен ПК или нет (определяется датчиком) //Если мы в режиме NONE и системная кнопка нажата переходим в режим нажатой кнопки if ((controller.mode == MODE_NONE) && (controller.button_power_status)) controller.mode = MODE_SYS_BUTTON_DOWN; switch (controller.mode) { //Режим ожидания ---------------------------------------------------------------------- case MODE_NONE: { //Если режим кнопки нажат (кнопку нажимали) if (controller.button_power_down) { //Была нажата кнопка высчитываем время controller.timer_button_down = millis() - controller.timer_button_down; if ((controller.timer_button_down > 100) && (controller.timer_button_down < 5000)) { //Определяем статус питания ПК и делаем действия if (controller.DATA_POWER_pc == false) { controller.WAIT_pc_on = false; controller.thread_timer = millis(); controller.mode = MODE_SYSTEM_ON; } else { controller.thread_timer = millis(); controller.WAIT_pc_off = false; controller.mode = MODE_SYSTEM_OFF; } } //Жестко вырубаем систему if (controller.timer_button_down > 5000) controller.mode = MODE_HARD_SYSTEM_OFF; //Возвращаем статус нажатой кнопки в исходное состояние controller.button_power_down = false; } } break; //Нажали кнопку ------------------------------------------------------------------------- case MODE_SYS_BUTTON_DOWN: { //Если статус кнопки = false if (!controller.button_power_down) { //Запоминаем время нажатия кнопки controller.timer_button_down = millis(); //Устанавливаем кнопку в режим нажатия controller.button_power_down = true; } //Если статус кнопки "Отпущена" то переходим в режим MODE_NONE (там будет подсчет времени нажатой кнопки) if (!controller.button_power_status) controller.mode = MODE_NONE; } break; //Жесткое выключение системы ------------------------------------------------------------ case MODE_HARD_SYSTEM_OFF: { digitalWrite(PIN_RELAY, LOW); digitalWrite(PIN_POWER_PC, LOW); controller.mode = MODE_NONE; } break; //Включение системы --------------------------------------------------------------------- case MODE_SYSTEM_ON: { //Пытаемся включить систему if (!controller.DATA_POWER_system) digitalWrite(PIN_RELAY, HIGH); //Что то пошло не так система не включилась спустя 3 секунды if ((controller.DATA_POWER_system == false) && ((millis() - controller.thread_timer) > 3000)) { digitalWrite(PIN_RELAY, LOW); controller.mode = MODE_NONE; } else { controller.mode = MODE_SYSTEM_ON_POWER_PC; controller.thread_timer = millis(); } } break; //Включение ПК case MODE_SYSTEM_ON_POWER_PC: { //Система питания дала сбой переходим в стандартный режим if (!controller.DATA_POWER_system) controller.mode = MODE_NONE; //Система питания запущена if ((millis() - controller.thread_timer > 2000) && (!controller.WAIT_pc_on)) { digitalWrite(PIN_POWER_PC, HIGH); controller.thread_timer = millis(); controller.WAIT_pc_on = true; } //Если питание ПК включилось if ((controller.DATA_POWER_pc == true) && (controller.WAIT_pc_on)) { digitalWrite(PIN_POWER_PC, LOW); controller.mode = MODE_NONE; } //В течении 10 сек ПК не запустился что то пошло не так if ((controller.WAIT_pc_on) && (millis() - controller.thread_timer > 10000)) controller.mode = MODE_HARD_SYSTEM_OFF; } break; //Выключение системы -------------------------------------------------------------------- case MODE_SYSTEM_OFF: { //Если ПК Включен if (controller.DATA_POWER_pc == true) { if (millis() - controller.thread_timer < 500) digitalWrite(PIN_POWER_PC, HIGH); if (millis() - controller.thread_timer > 1500) { digitalWrite(PIN_POWER_PC, LOW); controller.WAIT_pc_off = true; } } //Если ПК выключен if (controller.DATA_POWER_pc == false) { if (controller.WAIT_pc_off) { controller.thread_timer = millis(); controller.WAIT_pc_off = false; return; } else if (millis() - controller.thread_timer > 3000) { //Выключаем основное питание digitalWrite(PIN_RELAY, LOW); controller.mode = MODE_NONE; //Переходим в обычный режим } } if (millis() - controller.thread_timer > 120000) controller.mode = MODE_HARD_SYSTEM_OFF; } break; } }Вот полный скретч
10 тыщ микрофарад подкидываемые через реле при первом его включении просаживают 12 вольт, для проверки - откинуть диод на банки
На LM2576 питание через диод попробуйте.
Чтоб МК не перезагружался (он "комфортно" работает пока не замкнутся контакты реле), нужно плавно заряжать конденсаторы при первом включении (например током в 1 А) или выкинуть их совсем)) Для чего такие емкости не понятно...
Влад, не все мы учились в ВУЗах ((
1. я вообще не в курсе, что там ТС изобретает, но емкости такого размера заряжать надо через токоограничивающий резистор, это да.
1. А те, кто не учился, но занимается инженерным хобби - способные самоучки. Их правилам поиска неисправности и учить не надо - все на уровне интуиции: Отключай все по очереди, пока не станет нормально, потом подключай по одному. Ничего более сложного не дают в ВУЗе, там еще всякие вероятности отказа можно вычислять и прочую херню...
ТС изобретает ядерный реактор в Аутомобиль СЭР))) Шутка
Комп на 2 дин, все работает с питанием надо только разобраться ))
На LM2576 питание через диод попробуйте.
ну или так
Вид сверху если интересно )
И в любом случае ограничение тока зарядки конденсаторов, иначе контактам реле не долго жить.
Можно через рнр транзистор или р-мосфет заряжать, а через 0.5-1 сек вкл-ть реле.
1. Или вырубить нафиг эти кондеры
2. Или сделать их зарядку, я правильно понимаю?
Чтоб МК не перезагружался (он "комфортно" работает пока не замкнутся контакты реле), нужно плавно заряжать конденсаторы при первом включении (например током в 1 А) или выкинуть их совсем)) Для чего такие емкости не понятно...
Влад, не все мы учились в ВУЗах ((
1. я вообще не в курсе, что там ТС изобретает, но емкости такого размера заряжать надо через токоограничивающий резистор, это да.
1. А те, кто не учился, но занимается инженерным хобби - способные самоучки. Их правилам поиска неисправности и учить не надо - все на уровне интуиции: Отключай все по очереди, пока не станет нормально, потом подключай по одному. Ничего более сложного не дают в ВУЗе, там еще всякие вероятности отказа можно вычислять и прочую херню...
Токоограничивающий резистор, можно поподробнее куда его и примерно какого сопротивления поставить?