Robert Sa писал(а): ↑18 сен 2020, 14:36
Было бы интересное послушать алго работы прошивки по секундам и шагам.
Проект создан на базе: Arduino Nano 328, 16МГц, 5вольт.
Двигателя: 32 биполярные, 0.4А, 7.5 градусов, 48 шагов на один оборот.
Драйвера двигателя: А4988, с установленным шагом 1/16.
В программе, каждой команды задается, что выполнять. двигателя работают на прерываниях основного цикла. Это сделано для независимой работы генераторов двигателей от работы Дисплея.
В проекте используется командоаппарат. На вход подеется номер команды (ОРДЕР) и он, выполняет заданные значения.
- номер команды - задание значений.PNG (34.75 КБ) 1062 просмотра
Алгоритм работы спайщика:
1. включается спайщик – подеется команда №0 «включение». На дисплее надпись: «Спайщик полуавтомат» (на английском).
2. При необходимости, заходим в меню. Нажимаем кнопку «пуск» на энкодере и удерживаем 2 секунды. На дисплее надпись: «нагреватель и значение в секундах». Вращением кнопки выбираем необходимое значение, для длительности работы нагревателя. Кратковременное нажатие на кнопку – переход к настройке охлаждения. На дисплее надпись: «охлаждение и значение в секундах». Вращением кнопки выбираем необходимое значение, для длительности работы вентилятора (насоса, при водяном охлаждении). Все, настройка закончена и сохранена в памяти. Нажимаем кнопку «пуск» на энкодере и удерживаем 2 секунды. Переходим в рабочий режим.
3. Нажимаем кнопку «пуск» - подается команда №1 «пуск / протяжка прутка». Начинают выполняться задания этой команды. Запускаются оба двигателя на больших оборотах. На дисплее надпись: «жду 1 филамент» и загорается зеленый светодиод. Вставляем 1 пруток. Идет протяжка. Включается ИК датчик. Как только 1 пруток выйдет из зоны ИК датчика – ИК датчик отключится.
4. Сигнал отключение ИК датчика включает команду №2 «установка 1 прутка». Начинают выполнятся задания этой команды. Запускается 2 двигатель на малых оборотах, с заданным количеством шагов, необходимых для протяжки 1 прутка в зону нагревателя. После выполнения заданных шагов двигатель остановится.
5. Сигнал остановки 2 двигателя, включает команду №3 «протяжка 2 прутка». Начинают выполнятся задания этой команды. На дисплее надпись: «жду 2 филамент» и загорается зеленый светодиод. Запускается 1 двигатель на малых оборотах. Вставляем 2 пруток. Как только 2 пруток войдет в зону ИК датчика – ИК датчик включится.
6. Сигнал включения ИК датчика, включает команду №4 «установка 2 прутка». Начинают выполнятся задания этой команды. Запускается 1 двигатель на малых оборотах, с заданным количеством шагов, необходимых для протяжки 2 прутка в зону нагревателя. После выполнения заданных шагов, 1 двигатель остановится.
7. Сигнал остановки 1 двигателя, включает команду №5 «пайка». Начинают выполнятся задания этой команды. На дисплее надпись: «нагреватель и заданное значение в секундах». Включается нагреватель. По окончанию отсчета времени, нагреватель выключится.
8. Сигнал отключения нагревателя, включает команду №6 «стыковка». Начинают выполнятся задания этой команды. Запускается 1 двигатель на малых оборотах, с заданным количеством шагов, необходимых для протяжки 2 прутка для стыковки прутков. После выполнения заданных шагов, 1 двигатель остановится.
9. Сигнал остановки 1 двигателя, включает команду №7 «пауза». Начинают выполнятся задания этой команды. Пауза, для завершения всех процессов.
10. Через 1ms, включается команда №8 «смещение к холодильнику». Начинают выполнятся задания этой команды. Запускаются оба двигателя на малых оборотах, с заданным количеством шагов, необходимых для протяжки 1 и 2 прутка в зону охлаждения. После выполнения заданных шагов, 1 и 2 двигателя остановится.
11. Сигнал остановки 1и 2 двигателя, включают команду №9 «холодильник». Начинают выполнятся задания этой команды. На дисплее надпись: «охлаждение и значение в секундах ». Включается вентилятор (насос, при водяном охлаждении). . По окончанию отсчета времени, вентилятор (насос, при водяном охлаждении) выключится.
Процесс окончен!
12. Сигнал отключения охлаждения, включает команду №1. Начинают выполнятся задания этой команды. И т.д. – все начинается по кругу.
Для снятия прутка – нажимаем кнопку «пуск». Включатся оба двигателя и освободят пруток. Далее нажимаем кнопку «стоп» и включится команда №0.