Давно хотел обзавестись 3D принтером, но все никак не мог решиться купить или собрать.
Недавно наткнулся на старый CD ROM и тут родилась идея: собрать мини принтер из него.
Поискав немного в сети нашел похожий проект
В связи с этим, решил оси XY сделать на столе.
Как и описано в статье по ссылке я использовал 2 CDROM и FLOPPY - дисковод.
Вот что получилось:
Электронику собирал из первого что под руку попалось и было в наличии.
В качестве контроллера решил использовать stm32f0-discovery (первое что под руку попалось, потом под f103 переделаю).
Для управления движками использовал 2 DRV8833 + LM293 (да, да, именно ее, т.к. DRV больше не нашел в закромах, а драйверы шаговиков только едут из китая).
В качестве экструдера решил использовать 3д ручку
В ней установлен свой контроллер, который управляет подачей пластика. Подпаяв два провода параллельно кнопке подачи (один земля, второй - пин контроллера), вывел их наружу и подключил к своему контроллеру.
Пришел черед прошивки.
Начал с программного ШИМ и управления шаговымы движками. В итоге получил неплохие результаты: 8-ми битный ШИМ с частотой чуть менее 1кГц на 12 каналов.
(Знаю, что можно было сделать аппаратный, но я захотел так, + так можно выход настраивать на любой пин)
Немного почитав описание G-CODE, понял, что можно закопаться надолго, а хотелось побыстрее это все запустить.
Нашел в сети реализацию ЧПУ станка на STM32, и оттуда взял реализацию разбора G-кода.
Текущий свой код залил на bitbucket.
Ну а вот и результаты всего этого: