Автономный контроллер своими руками.

    Рекомендованный
  • #451
Посетила такая мысль.
Ситуация внезапного отключения сетевого напряжения в целом довольно вероятна, потому не лишней функцией была бы возможность продолжить работу и в этом случае. Типа, функция "последнего шанса".
Но, потребуется дополнение схемы. Или резервной АКБ и цепью контроля питающего напряжения + контроллер её заряда.
Или, другой вариант, несколько проще, отдельной микросхемой памяти, для постоянного сохранения текущего места УП. Добавление - одна микросхема памяти в корпусе SOIC8.
В обоих случаях, вследствии специфики работы прошивки, нет возможности точно определить точку "обрыва", только лишь, вариант продолжить работу немного раньше.
Можно и третий вариант рассмотреть - периодически выполнять автосохранение, с выработкой команд из буфера. Тут ничего аппаратного добавлять не потребуется, но возможны (теоретически) минипаузы при работе.

В общем, стоит ли эту мысль пытаться развивать? Я в общем, пока склоняюсь к третьму способу, но и для памяти на плате место бы оставил...
 
Посетила такая мысль.
Ситуация внезапного отключения сетевого напряжения в целом довольно вероятна, потому не лишней функцией была бы возможность продолжить работу и в этом случае. Типа, функция "последнего шанса".
хорошая мысль, поддерживаю

потребуется дополнение схемы. Или резервной АКБ и цепью контроля питающего напряжения + контроллер её заряда.
литиевые АКБ наверное у всех есть(от телефона, планшета, нотика, фонарика)
берем плату от повербанка к примеру такую или такую
можно взять и готовый повербанк, они сейчас не дороги
сразу получаем и контроллер заряда и контроллер питающего напряжения
делаем датчик пропадания напряжения, который цепляем на прерывание ESP32 и пишем процедуру сохранения.
ESP32 и LCD потребляют мало, только нужно отключить подсветку LCD - она в таком дежурном режиме не нужна и что бы зря не разряжала питание

упустил потребление MAX3232 и GRBL контроллера (у меня другое исполнение электроники, поэтому и потребление другое)

я подключил бы для начала на на кнопку HOLD или DOOR
посмотрел, как успевает отработать станок


В общем, стоит ли эту мысль пытаться развивать?
мое мнение - нужно развивать
 
Можно и третий вариант рассмотреть - периодически выполнять автосохранение, с выработкой команд из буфера. Тут ничего аппаратного добавлять не потребуется, но возможны (теоретически) минипаузы при работе.
Рассматривал такой вариант. Вполне рабочий, разве что увеличит время работы из за минипауз. Можно в меню сделать пункт и пусть каждый сам решит нужно ему это или нет и через сколько строк кода делать "контрольную точку".
 
С АКБ мне что-то не особо нравится вариант.
Всё же неизвестно, как оно получится, но у же придётся всё это распаивать или предусматривать место на плате и в корпусе.
Тем более, что всё равно не удастся точно с этого же места продолжить.
Единственный плюс, конечно - гарантировано законченная запись.
Но такой вот набросок -
22250
Левый ДЦ-ДЦ - для питания подсветки LCD
Оптопара - отслеживает пропадание входного напряжения, выход отсеживает нога МК с прерыванием.
Правый ДЦ-ДЦ - питание МК
Делитель на резисторах - для мониторинга оставшегося заряда батареи
SW - ключ на мосфете
Два небольших плоских литиевых элемента, малосигнальное реле с двумя группами перекл. контактов и плата заряда на TP4056 с Али.

Работа - при подаче питания, стартует МК и подключает батарею через SW к схеме, схема и LCD запитаны от своих ДЦ-ДЦ.
При пропадании входного напряжения, отключается подсветка дисплея, открывается правый по схеме диод, поддерживая питание схемы и формируется прерывание, по которому записывается нужное нам в файл и после этого МК снимает сигнал с ключа SW.
Всё обесточивается.

Зарядка АКБ - при подаче питания 5В на вход платы зарядки, срабатывает реле и коммутирует две батареи параллельно.
Они заряжаются одновременно, балансируя друг-друга.
При отключения ЗУ, реле отпускает и коммутирует батареи последовательно.
Большой ёмкости батарей не требуется, лишь бы хватало для записи.
Есть мелкие батарейки 30х30мм, ёмкостью до 200мА/ч - этого хватит.
Такая схема питания-зарядки год используется в одной моей поделке - работает качественно.

С доп. памятью, в принципе, всё аналогично, но оно хоть мало места займёт и если не не получится, то и плату переделывать не придётся - просто микру не впаивать.
Микросхема памяти, для справки - FM24CL64, ресурс огромный, пиши-запишись.

Третий вариант практически бесплатен, всё производится софтово, в железе изменений нет, как минимум, стоит его проверить на работоспособность. Но насколько быстро произойдёт запись и не произойдёт ли отключения именно в момент записи - вопрос (иначе - трындец данным).

Можно, в принципе, добавить в схему разводку под микросхему памяти для второго варианта и вывести пины для первого (недостающие компоненты + аккумы смонтировать на отдельной плате) если оно не выгорит, то и фигсним, зато можно испытать все три варианта без особых переделок.
 

ниче не понял, но ВНУШАИТЬ!!!:)

оффтоп
 
При отключения ЗУ, реле отпускает и коммутирует батареи последовательно.
Большой ёмкости батарей не требуется, лишь бы хватало для записи.
Вот здесь вопрос.Что и как мы будем записывать в этот момент?
Писал ранее:
В обоих случаях, вследствии специфики работы прошивки, нет возможности точно определить точку "обрыва", только лишь, вариант продолжить работу немного раньше.
И снова вопрос. Для того чтоб начать немного раньше, нужна "контрольная точка" Которую нужно предварительно сохранить. Потому как нельзя просто начать работу с какой то строки г-кода.
И мы плавно подходим к вопросу создания контрольных точек используя микропаузы. И собственно схемы с памятью и акумом нам абсолютно ничего не дают.
Или я что-то упустил?
 
С АКБ мне что-то не особо нравится вариант.
Всё же неизвестно, как оно получится, но у же придётся всё это распаивать или предусматривать место на плате и в корпусе.
Тем более, что всё равно не удастся точно с этого же места продолжить.
Единственный плюс, конечно - гарантировано законченная запись.
Но такой вот набросок -
А зачем АКБ последовательно переключать?
 
  • Последнее редактирование:
Последнее редактирование:
Я потому сразу и пытался оговорить этот момент - не факт, что из этого что-то получится надёжно работающее, ибо есть куча нюансов.

Вот здесь вопрос.Что и как мы будем записывать в этот момент?
Смотря, какое решение будет выбрано.
В случае без АКБ - чем меньше запишем, тем больше шансов, что успеем.
С АКБ в этом плане проще, там несколько секунд - за глаза и можно записать кучу всего.
Текущее смещение (не номер строки) точно надо записать.
И, возможно, текущее состояние парсера. Или обороты и подачу.

Для того чтоб начать немного раньше, нужна "контрольная точка" Которую нужно предварительно сохранить. Потому как нельзя просто начать работу с какой то строки г-кода.
Тут, конечно, есть заморочка - на сколько нужно откатываться от текущего смещения. Буфер планировщика GRBL хранит до 16 команд линейных перемещений. Я отслеживал этот момент и да - на "простом" G-коде, типа [ось][координата] их действительно влазит около 16, а, например, дуг "влазит" меньше. Значит (приблизительно) можно планировать величину "отката" на 300-400 символов, с запасом, что бы попасть в место, которое уже точно было выполнено физически.
Далее перемещаемся вперёд по файлу до символа перевода каретки и считаем это смещение стартовым. Это уже будет начало строки, с которого будем продолжать.
Далее, начиная с начала файла (это пара десятков строк, не более), можно получить: безопасную высоту, обороты, подачу врезания по Z и рабочую подачу. Если перемещаться дальше по файлу, до указанного выше стартового смещения, то можно получить и координаты всех осей перед точкой, с которой будет продолжение работы.
Тут может вылезти "бутылочное горло" - парсинг текстового файла занимает время, а в случае с УП "миллионниками" - довольно значительное время.
С другой стороны, что бы не запороть всю работу, можно и подождать.

И мы плавно подходим к вопросу создания контрольных точек используя микропаузы.
Александр, а ты в своей конструкции не пробовал такие микропаузы? Насколько заметны "затыки" на Атмеге с тактовой в 16 МГц?
Да и как быть, если пропадает сеть в момент записи в файл? Т.е. и старых данных уже нет и новые ещё не записаны.
Ваши сообщения автоматически объединены:

А зачем АКБ последовательно переключать?
Две АКБ - это 6-8 вольт, вполне нормально, для получения стабильных 5В после ДЦ-ДЦ конвертера.
Если использовать один элемент, то, возможно потеряется значительная часть напряжения - на запирающем диоде и на ключе.
Возможно, не слишком элегантное решение, предложите, как сделать по-другому.
 
Александр, а ты в своей конструкции не пробовал такие микропаузы? Насколько заметны "затыки" на Атмеге с тактовой в 16 МГц?
Пробовал. Сейчас точно не скажу, но было заметно. Может около секунды. Но отказался я от этой затеи не поэтому. У меня некоторые данные записывались в EEPROM, а там есть лимит перезаписи. Одно дело единичные сохранения, и совсем другое регулярные "точки восстановления". А записывать всё в один файл на карту памяти у меня не хватило ума ;)
Да и как быть, если пропадает сеть в момент записи в файл? Т.е. и старых данных уже нет и новые ещё не записаны.
В одном из своих проектов сталкивался с таким вопросом. Решил его очень просто. Записывал не один файл, а два. Если питание пропадало во время записи одного, то использовал другой.
 
Две АКБ - это 6-8 вольт, вполне нормально, для получения стабильных 5В после ДЦ-ДЦ конвертера.
Если использовать один элемент, то, возможно потеряется значительная часть напряжения - на запирающем диоде и на ключе.
Возможно, не слишком элегантное решение, предложите, как сделать по-другому.
У меня два варианта плат с 5в питание и с 3.3 , тоже думал что для 5в напряжения АКБ 4,2в мало будет, но нет работает на одной батарее несколько часов.
22259

Контроллер заряда lth7
Есть платка на ip5306 она с контроллером зарядки и преобразователем с АКБ на 5в , но есть небольшой минус небольшой провал при переключении с внешнего питания на резерв, но тоже решаемо .
 
Пробовал. Сейчас точно не скажу, но было заметно. Может около секунды.
Если "на лету" писать, то только с вариантом на внешней памяти. Ферроэлектрическая память, что я указывал выше, имеет ресурс 10 в 14 степени циклов чтения-записи - это более 30 миллионов лет, если писать раз в секунду.

Записывал не один файл, а два. Если питание пропадало во время записи одного, то использовал другой.
Я думал в ту же сторону: первая запись + контрольная сумма целостности, затем следующая, аналогично, с контрольной суммой.
При восстановлении проверяем обе на контрольную сумму и используем более свежую или более "целую".

У меня два варианта плат с 5в питание и с 3.3 , тоже думал что для 5в напряжения АКБ 4,2в мало будет, но нет работает на одной батарее несколько часов.
Тут условия какие.
1. На батарею должно переключаться "безударно", без провала.
2. Батарея без вступления в работу не должна разряжаться (максимум - через цепь контроля её заряда).
3. Батарея не должна неконтролируемо заряжаться (литий в этом плане довольно опасен).
4. Батарея должна быть отключена после выполнения операции сохранения. Т.е. пропал свет - сохранили и отключили девайс. В таком режиме даже небольшой по ёмкости АКБ хватит надолго.
Предложенная выше блок-схема этим условиям удовлетворяет.
Возможны некоторые упрощения - подсветку дисплея можно и от общих цепей питать, не думаю, что она критично съест АКБ за пару секунд.
Реле, при всей своей кажущейся архаичности, с успехом выполняет свою функцию, при этом и АКБ балансируются и контроллер заряда позволяет использовать любой зарядник от телефона.
Ваши сообщения автоматически объединены:

Есть платка на ip5306 она с контроллером зарядки и преобразователем с АКБ на 5в
Если АКБ не используется, она на преобразователь молотит в холостую?
 
Если АКБ не используется, она на преобразователь молотит в холостую?
АКБ при включённом внешнем питании находится в режиме контролируемого заряда, на выходе преобразователя всегда 5в, но можно чтобы отключалось при отсутствии нагрузки.
Мне достаточно схемы на lth7 , схема питается DC/DC 5в , при пропадании питания питается через диод с АКБ , схема работает не выключаясь годами вне помещения.
 
схема работает не выключаясь годами вне помещения
Тут другая специфика, выше я же написал, какие условия должны выполняться.
"Компаньон" не нужно питать не выключаясь. АКБ нужна лишь на короткое время - это позволит обойтись малоёмкими, небольшими по размеру батареями.
Или я чего-то не допонял, нарисуйте ваше видение вопроса.
Можно и блок-схемой.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать