ИНТЕРЕСНО Автономный контроллер своими руками.

trew21

trew21

МЕСТНЫЙ СТАРОЖИЛА
НАШ ЧЕЛОВЕК
Регистрация
21.12.2018
Сообщения
592
Лучшие ответы
0
Репутация
423
Баллы
108
Город
Великий Новгород
Имя
Андрей
Прошивка
1.1f, Marlin
Плата
CNC Shield v3.0, RAMPS 1.4

Samokatoff

Samokatoff

НЕ ТОЛЬКО ЧИТАЕТ
НАШ ЧЕЛОВЕК
Регистрация
04.11.2019
Сообщения
61
Лучшие ответы
0
Репутация
52
Баллы
23
Возраст
41
Город
Москва
Прошивка
1.1f
Плата
3.3
Аварийный стоп обязателен! Притом с характерной кнопкой.
А еще было бы удобно разделить обнуление. Отдельно по XY и отдельно по Z.
При смене инструмента, например, XY обнулять не обязательно.
 

Sany-sch

Sany-sch

МЕСТНЫЙ
НАШ ЧЕЛОВЕК
Регистрация
12.11.2019
Сообщения
6
Лучшие ответы
0
Репутация
22
Баллы
3
Город
Тростянец
Имя
Александр
Платы в продажу будут?
Есть 4 шт. но так как первая модификация, то есть некоторые недоработки. отдам по себестоимости +доставка
интересно в работе посмотреть
сделаю видео, покажу функционал тот что есть на данный момент.
Можно исходники прикрепить, поместив их в архив 7z или winRAR. В процессе повторения вашей платы возможно и появятся идеи по доработке/дополнения и т.д.
прикрепляю. Схемы к сожалению нет, так как плата рисовалась сразу, "по месту". Так что только печатка и прошивка на данный момент.
Печатка уже немного изменена, с учётом недочётов. Но ещё есть одна не решенная проблема. Греются стабилизаторы. Не придумал как решить. Может попробовать поставить параллельно ещё по одному? Или активное охлаждение.
За код сильно не пинайте. Но носом потыкайте. Это только на пользу.
Ваши сообщения автоматически объединены:

Аварийный стоп обязателен! Притом с характерной кнопкой.
Подробней пожалуйста. что должно делаться при нажатии? Пробки выбивать? или шпиндель отключаться, просто пауза? С возможностью восстановления и продолжения работы или без. В общем что должно происходить. Какая команда подаваться?
А еще было бы удобно разделить обнуление. Отдельно по XY и отдельно по Z.
При смене инструмента, например, XY обнулять не обязательно.
Принято, хотя при ручном перемещении координаты высвечиваются на экране. можно просто их записать на листочек и повторить при необходимости. Но разделить можно. Думаю, даже не "занимая" лишнюю кнопку. Например просто при нажатии обнуления обнуляется только Z, а если удерживать кнопку быстрого перемещения и нажать обнуление, то обнулится XY. Так подойдёт?
Кстати, таким способом можно ещё освободить кнопки. Например "ДОМ по концевикам" и "РАЗБЛОКИРОВКА" повесить на одну кнопку.
Ваши сообщения автоматически объединены:

функциональные - управление какой нибудь силой, типа подсветки, пылесоса, ОСЖ и т.д.
Такое нужно было делать на момент проектирования платы. Ставить реле силовые, клемники и т.д.
 

Вложения

  • 26.1 КБ Просмотров: 8
Последнее редактирование:

Владимир (Vofka)

Владимир (Vofka)

МЕСТНЫЙ СТАРОЖИЛА
Команда форума
НАШ ЧЕЛОВЕК
Регистрация
18.06.2018
Сообщения
709
Лучшие ответы
0
Репутация
515
Баллы
133
Возраст
54
Откуда
Оттуда
Город
Сочи
Имя
Владимир
Отчество
Леонидович
Прошивка
1.1f
Такое нужно было делать на момент проектирования платы. Ставить реле силовые, клемники и т.д.
необязательно, есть масса мелких готовых плат с релюхами и опторазвязкой, главное пины знать.
Отдельные реле проще менять при случае
 

Sany-sch

Sany-sch

МЕСТНЫЙ
НАШ ЧЕЛОВЕК
Регистрация
12.11.2019
Сообщения
6
Лучшие ответы
0
Репутация
22
Баллы
3
Город
Тростянец
Имя
Александр
необязательно, есть масса мелких готовых плат с релюхами и опторазвязкой, главное пины знать.
Отдельные реле проще менять при случае
Тогда пины для подключения и управления предусмотреть. На данный момент все пины уже заняты кнопками. Я же и сказал, такое нужно учитывать на стадии разработки.

Вот как он работает:
 

mobistrike

mobistrike

ЧТО-ТО УЖЕ ЧИРКАНУЛ
Регистрация
23.09.2019
Сообщения
2
Лучшие ответы
0
Репутация
0
Баллы
11
Город
Samarkand

Sacs

Sacs

ЧИТАТЕЛЬ ФОРУМА
Регистрация
01.01.2020
Сообщения
72
Лучшие ответы
0
Репутация
34
Баллы
18
Город
Ангарск
Имя
Андрей
Тогда пины для подключения и управления предусмотреть. На данный момент все пины уже заняты кнопками. Я же и сказал, такое нужно учитывать на стадии разработки.
Пины от кнопок можно освободить, а на один аналоговый вход навесить целую резистивную клавиатуру и отслеживать нажатия кнопки функцией analogRead(), я так отслеживал клавиатуру 4х8 кнопок, спокойно 1 нога справляется! Вообще желательно установить на плату контроллера разьем на 3 пина для подключения отдельной клавиатуры, тогда кнопки можно будет переделывать как угодно не трогая контроллер и только менять значения в функции обработки выполняя необходимые команды.
Ваши сообщения автоматически объединены:

Греются стабилизаторы. Не придумал как решить.
Можно использовать старый добрый LM338, ток до 5 ампер и отсутствие на выходе ВЧ составляющей от шим.
LM138-238-338
Если добавить к нему термопредохранитель на радиатор, будет автоматическое включение обдува при нагреве.

Вот скетч для обработки клавиатуры.

Вот примерная схема, если резистор подтяжки оставить на контроллере, подключается по двум проводам, масса и сигнал с кнопок.
 

Вложения

Последнее редактирование:

Vlaxa

Vlaxa

ПРОФИ
НАШ ЧЕЛОВЕК
Регистрация
28.11.2019
Сообщения
385
Лучшие ответы
0
Репутация
185
Баллы
43
Откуда
Алмата
Город
Алмата
Имя
Влад
Прошивка
1,1f
функциональные - управление какой нибудь силой, типа подсветки, пылесоса, ОСЖ и т.д.
Точно, Подсветки пылесоса.
Ваши сообщения автоматически объединены:

Пины от кнопок можно освободить, а на один аналоговый вход навесить целую резистивную клавиатуру и отслеживать нажатия кнопки функцией analogRead(), я так отслеживал клавиатуру 4х8 кнопок, спокойно 1 нога справляется! Вообще желательно установить на плату контроллера разьем на 3 пина для подключения отдельной клавиатуры, тогда кнопки можно будет переделывать как угодно не трогая контроллер и только менять значения в функции обработки выполняя необходимые команды.
Ваши сообщения автоматически объединены:


Можно использовать старый добрый LM338, ток до 5 ампер и отсутствие на выходе ВЧ составляющей от шим.
LM138-238-338
Если добавить к нему термопредохранитель на радиатор, будет автоматическое включение обдува при нагреве.

Вот скетч для обработки клавиатуры.

Вот примерная схема, если резистор подтяжки оставить на контроллере, подключается по двум проводам, масса и сигнал с кнопок.
дык вроде для ардуинки клавы с дровами есть чуть ли не на стандартную 102 кнопочную
Ваши сообщения автоматически объединены:

кнопки на резистивной матрице 4х4
 
Последнее редактирование:

Sany-sch

Sany-sch

МЕСТНЫЙ
НАШ ЧЕЛОВЕК
Регистрация
12.11.2019
Сообщения
6
Лучшие ответы
0
Репутация
22
Баллы
3
Город
Тростянец
Имя
Александр
Пины от кнопок можно освободить, а на один аналоговый вход навесить целую резистивную клавиатуру и отслеживать нажатия кнопки функцией analogRead(),
Верно, кнопки перемещения именно так и сделаны.
Можно использовать старый добрый LM338
Вот за это огромное спасибо.
 

Sacs

Sacs

ЧИТАТЕЛЬ ФОРУМА
Регистрация
01.01.2020
Сообщения
72
Лучшие ответы
0
Репутация
34
Баллы
18
Город
Ангарск
Имя
Андрей
дык вроде для ардуинки клавы с дровами есть чуть ли не на стандартную 102 кнопочную
Для этого необходимо целую либу в скетч пихать, а это занимает память, для обработки 1 кнопки нужно всего 3 строки кода, 10 кнопок - 30 строк, меньше килобайта, а на место либы дописать дополнительные полезные функции использующие освободившиеся от нопок пины.
На освободившихся ногах можно организовать дополнительные выходы управления нагрузкой, если есть свободный аналоговый, то потенциометром регулируем скорость оборотов шпинделя, если есть еще один, регулируем скорость перемещения по осям вторым потенциометром, на цифровые можно повесить управление вентиляторами, управление обычным зуммером для оповещения об шибке или перегреве, организовать линию 1-wire для термометров 18b20 хоть на каждый радиатор, при достижении заданной температуры они включат обдув, при превышении на 5 градусов подадут звуковой сигнал зуммером, при превышении на 10 градусов остановят выполнение программы включив паузу до снижения температуры, потом после остывания продолжат, еще можно добавить функцию сохранения контрольных точек выполнения программы через каждые 100-500 шагов и после отключения и включения электричества не придётся станку лопатить больше половины кода в холостую, найдёт последнюю точку, вернётся на 2точки назад, пройдёт в пустую 200 шагов и продолжит выполнение, если программа на несколько часов очень даже актульная функция!
Много можно добавить удобных штук, особенно если контроллер вспомогательный и у него есть не задействованые ноги
Ваши сообщения автоматически объединены:

Ещё есть одна нога на основном контроллере, наследованая в прошивке от принтеров и на нашем станке не актуальная, это открытая дверь, вход аналоговый, можно использовать для контроля наличия сетевого питания через резистивный делитель, как только напряжение упадеёт ниже заданного минимума, в файл sD карты Report.txt будет произведена запись об отключении питания, заряда гасящих конденсаторов блока питания на запись хватит с лихвой, зато станок при старте уже будет знать, что отключился свет и что ему нужно делать если свет включили, прописать это отдельной функцией при старте.
1-начать выполнение программы с начала
2-выполнять программу вернувшись на 2 точки назад
3-ждать команды начальника пилорамы
Ваши сообщения автоматически объединены:

Еще хорошо-бы чтоб при запуске, на карте было 4 файла, допустим command.txt-программа грбл, settings.txt-все настройки проекта которые считываютя при старте и правятся обычным блокнотом без всяких интерфейсов, файл point.txt-для записи контрольных точек и файл report.txt-куда записываются все ошибки
Ваши сообщения автоматически объединены:

В глобальные переменные добавить переменную типа "int Error_count = 0;" и при каждой ошибке увеличивать её на единицу, после завершенния программы выводить на дисплей сообщение: если равно нулю-проект успешно завершён, если не равно нулю проект завершён с количеством № ошибок, анализируем файл ошибок на карте и правим скетч
 
Последнее редактирование:

Sany-sch

Sany-sch

МЕСТНЫЙ
НАШ ЧЕЛОВЕК
Регистрация
12.11.2019
Сообщения
6
Лучшие ответы
0
Репутация
22
Баллы
3
Город
Тростянец
Имя
Александр
2-выполнять программу вернувшись на 2 точки назад
Думал об этом. Но тут есть большая вероятность Что работа начнётся с выключенным шпинделем. или ещё какой сбой.
 

Sacs

Sacs

ЧИТАТЕЛЬ ФОРУМА
Регистрация
01.01.2020
Сообщения
72
Лучшие ответы
0
Репутация
34
Баллы
18
Город
Ангарск
Имя
Андрей
Обычный алгоритм, при включении питания читаем текстовый файл настроек проекта на карте, если в настройках указано продолжать, отправляем станок в дом, устанавливаем ноль, читаем контрольную точку минус 2 точки назад, выводим инструмент чтоб фреза находилась в пройденой точке по осям X и Y, запускаем шпиндель, медленно выводим его в положение оси Z и продолжаем фрезеровку, на всё про всё порядка 2 минут примерно, поправьте если я ошибаюсь.
Ваши сообщения автоматически объединены:

Учтите ещё такой нюанс, что при предыдущих проходах феза работала под нагрузкой и её перемещения были обусловлены оборотами шпинделя, твёрдостью материала и люфтами передач, если она пройдёт это в течении нескольких минут по воздуху и впилится в заготовку будет упсс...
Ваши сообщения автоматически объединены:

А если будет ездить несколько часов повторяя программу с самого начала по воздху, точность будет +- 1сантиметр
Ваши сообщения автоматически объединены:

Думал об этом. Но тут есть большая вероятность Что работа начнётся с выключенным шпинделем. или ещё какой сбой.
Команда идущая на включение драйверов шаговых двигателей может автоматом врубать как низковольтовый шпиндель через ключ или реле, так и симистор BTA-41 через опттрон MOC-3142 мощностью до 5 килловат примерно
Ваши сообщения автоматически объединены:

У меня в частном доме "BTA-41 через опттрон MOC-3142" уже третий год через ардуино отоплением рулит, в самые сильные холода пластина 15х15см радиатор, слегка тёплая, ещё изоляция 800 вольт, не надо ни каких прокладок, крепи куда хочешь, между радиатором и ногами семистора
150 мегаом, управляеся через обычую моську!
 
Последнее редактирование:

Sany-sch

Sany-sch

МЕСТНЫЙ
НАШ ЧЕЛОВЕК
Регистрация
12.11.2019
Сообщения
6
Лучшие ответы
0
Репутация
22
Баллы
3
Город
Тростянец
Имя
Александр
Обычный алгоритм, при включении питания читаем текстовый файл настроек проекта на карте, если в настройках указано продолжать, отправляем станок в дом, устанавливаем ноль, читаем контрольную точку минус 2 точки назад, выводим инструмент чтоб фреза находилась в пройденой точке по осям X и Y, запускаем шпиндель, медленно выводим его в положение оси Z и продолжаем фрезеровку, на всё про всё порядка 2 минут примерно, поправьте если я ошибаюсь.
В начале кода идут команды включения шпинделя, задаётся скорость передвижения. Так же в процессе работы скорость может меняться, например при погружении фрезы. И вот мы с вами , полностью игнорируем часть кода и начинаем неизвестно с чего с непонятно каких установок. Какую скорость рабочую задавать?
 
Сверху