Repetier-Firmware и реле
- Войдите на сайт для отправки комментариев
Вс, 17/03/2019 - 15:31
Проблема с реле... Чтобы выключить реле, мне нужно подать команду на подачу напряжения на D11. Подключен sig провод к D11, земля к земле, + к 5V. Заливаю прошивку, реле включается, на sig проводе и земле - 0V. Чтоб реле выключилось нужно 5 вольт...параметр LASER_ON_HIGH не помогает...LASER_PIN 11, нажимаю M3 255 не работает, и M5 Не работает... Для выключения реле нужно подать 5V, но как? ссылка на конфиг ниже. Спасибо заранее.
В прошивке есть файл с кейсами на команды... Как переделать case , чтоб работал так?
если приходит команда M3 из консоли,
то digitalWrite(11, HIGH);
А если M5, То digitalWrite(11, LOW);
Вот кейс для M3:
case 3: // Spindle/laser on
#if defined(SUPPORT_LASER) && SUPPORT_LASER
if (Printer::mode == PRINTER_MODE_LASER) {
if (com->hasS())
LaserDriver::intensity = constrain(com->S, 0, LASER_PWM_MAX);
LaserDriver::laserOn = true;
Com::printFLN(PSTR("LaserOn:"), (int)LaserDriver::intensity);
}
#endif // defined
#if defined(SUPPORT_CNC) && SUPPORT_CNC
if (Printer::mode == PRINTER_MODE_CNC) {
waitUntilEndOfAllMoves();
CNCDriver::spindleOnCW(com->hasS() ? com->S : CNC_RPM_MAX);
}
#endif // defined
break;
Собрал схему с релюшкой по такой схеме:

Собственно о работоспособности реле:
c таким скетчем реле щелкает как нужно
void loop() { digitalWrite(11, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(11, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }Что должно включать реле?
замыкает контакт на плазмотроне, причем тут это...
Чтобы знать, в какой #ifdef заносить. Но, если без разницы, то перед break засуньте digitalWrite().
У меня в схеме получается так, на сигнальном- 0 в, реле включается, поступает 4 вольта, реле выключается, но если вносить в кейс, то ничего не происходит...если удалить все с кейса, то на сигнальном будет все так же 0 вольт, и никакой командой не выключить реле....засада какая-то...