тут надо просто запомнить последние исполняемые координаты, не надо исполнять что то, просто остановить и запомнить. что бы потом при запуске вывести в нужную точку лазер (вручную кнопками).ASPtr писал(а):Не, не взлетит. Хотя идея об уходе в спячку при пропадании питания, безусловно здравая и полезная, но в текущем варианте - не реализуемая. Компараторы, конденсаторы, 7805 - баловство это всё.
Единственный корректный способ завершить работу станка, подчеркиваю станка, а не контроллера, это выполнить до конца текущую команду (или вообще буфер, автору прошивки видней). А если это команда выжигать 20 см не останавливаясь, или тем паче фрезеровать и шпиндель под киловатт? И вот в процессе выполнения этой самой команды пропадает питание... Где остановился станок контроллер не знает, откуда начинать, соответственно, тоже. Даже если считать шаги, после обесточивания драйверов каретка по инерции проедет некоторое, опять же неизвестное, расстояние.
Только ИБП спасет отца русской демократии. Хотя бы дохленький на пару минут работы - пара 18650 + DC/DC. Отслеживать конечно же переменку на входе (через оптопару). При пропадании - дождаться выполнения текущего фрейма, выключить лазер/поднять шпиндель, записать что надо в EEPROM. Ну и либо аппаратно, если разведено, отрубаем питание, либо как в Windows95 пишем "Теперь питание компьютера можно отключить".
У Артура все уже работает как надо, надо только надежный способ определения пропадания напряжения реализовать, что бы без привязки к сетевому напряжению, только по питаю контроллера.
Буфер, буфер, я его знаю, раз ищет способ как определить пропадание сети. значит все остальное уже работает как надо, и команды в буфере ему не помеха для определения правильных координат.
Вы, те кто уже сталкивался или просто знает, схему работоспособную , проверенную, нарисуйте, работающую по общему питанию и всё.