Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Моя цель - обновить свой 3D-принтер Anet A8, добавив управление питанием через интерфейс Octoprint. Тем не менее, я также хочу иметь возможность запускать свой 3D-принтер «вручную», то есть не использовать веб-интерфейс, а просто нажимать кнопку.
Шаг 1: Электромонтаж
Блок питания AC-DC подключается к Smart-Plug (TP-Link), которым можно управлять с помощью смартфона (App Kasa) или кнопки.
Этот блок питания питает Raspberry Pi 3 B + с помощью понижающего преобразователя постоянного тока LM2596 (12 В - 5 В). Модуль с 4 реле 5 В с триггером низкого уровня оптопары напрямую подключается к RPI 3B + (нет необходимости в настройке 3,3 В).
4 Кнопки подключены к RPI 3B + как «подтягивающий резистор».
Что касается проводки, просто взгляните на эскиз.
Шаг 2: Программное обеспечение
Для управления с помощью кнопок я использовал Python для написания программы, вдохновив меня, прочитав следующий поток:
www.raspberrypi.org/forums/viewtopic.php?t…https://invent.module143.com/daskal_tutorial/raspbe…
invent.module143.com/daskal_tutorial/raspbe…
www.hertaville.com/introduction-to-accessin…
www.hertaville.com/introduction-to-accessin…
Чтобы обеспечить взаимодействие с системой управления через Octoprint, существует тест, позволяющий проверить текущее состояние реле и изменить его.
Скрипт прилагается.
Комментарии: Поскольку Relay 1 управляет материнской платой, я хотел добавить безопасность путем выключения нажатием кнопки. Целью было удерживать кнопку нажатой в течение 5 секунд, чтобы подтвердить выключение. К сожалению, скрипт работает, но ненадежно из-за эффекта рикошета. Если у вас есть исправление, которое вы можете предложить, не стесняйтесь поделиться им.
Чтобы сделать скрипт исполняемым: sudo chmod 777 /home/pi/script/Relay_board_control.py Чтобы проверить скрипт:./Relay_board_control.py
Чтобы скопировать сценарий: sudo cp Relay_board_control.py / usr / local / bin
Для автоматического запуска скрипта при старте:
sudo nano /etc/rc.local
добавьте путь к скрипту "/home/pi/scripts/Relay_board_control.py &" между fi и выходом 0
Что касается управления с помощью Octoprint, это хорошо документировано в Интернете.
Есть два шага:
1- Отредактируйте файл /etc/init.d/octoprint, добавив в блок "do_start ()" сразу после RETVAL = "$ ?:
gpio экспорт 6 из
gpio -g запись 6 1
gpio экспорт 13 из
gpio -g запись 13 1
gpio экспорт 19 из
gpio -g запись 19 1
gpio экспорт 26 из
gpio -g запись 26 1
2- Отредактируйте файл /home/pi/.octoprint/config.yaml, добавив блок «Система»:
система: действия:
- действие: Printer_ON
команда: gpio -g write 6 0
подтвердить: ложь
имя: Printer_ON
- действие: Printer_OFF
команда: gpio -g write 6 1
Подтвердите: вы собираетесь выключить принтер.
имя: Printer_OFF
- действие: LED-String_ON
команда: gpio -g write 13 0
подтвердить: ложь
имя: LED-String_ON
- действие: LED-String_OFF
команда: gpio -g write 13 1
подтвердить: ложь
имя: LED-String_OFF
- действие: LED-Cam_ON
команда: gpio -g write 19 0
подтвердить: ложь
имя: LED-Cam_ON
- действие: LED-Cam_OFF
команда: gpio -g write 19 1
подтвердить: ложь
имя: LED-Cam_OFF
- действие: Реле-4_ОН
команда: gpio -g write 26 0
подтвердить: ложь
название: Реле-4_ОН
- действие: Реле-4_OFF
команда: gpio -g write 26 1
подтвердить: ложь
имя: Реле-4_OFF
Шаг 3: Тест
Оно работает!
Поведение кнопок немного сложное, но после нескольких попыток вы все поймете.
Шаг 4: Завершите концепцию
Теперь я припаяю кнопки на монтажной плате и добавлю 5-контактный разъем.
Наконец, я разработал и распечатал 2 кейса:
- один для RPI 3 B + и релейной платы
- один для закрытия проводки в основании блока питания и для фиксации модуля понижающего преобразователя постоянного тока LM2596.
Вы можете найти файлы *.stl и *.gcode на сайте www.thingiverse.com.
-
-