32-bit своими руками, шилд RABPS
Предлагаю простой вариант сборки 32-битной платы управления, на базе Blue Pill (STM32F103C8T6)
- Ядро ARM Cortex-M3
- Частота ядра 72МГц
- Flash-память 128 кБайт
- RAM-память 20 кБайт
Это продолжение предыдущей статьи.
Проект на базе проекта Morpheus-STM32. Я его немного улучшил.
Учтены почти все недочеты, добавлены разъемы EXP1, EXP2 для подключения штатных дисплеев для 3D-принтера.
Добавлен разъем USB-B, для подключения к компьютеру.
Добавлены емкости 0,1 и 100mf в цепи питания 3,3в, 5в, так как в исходном варианте идут помехи, просадки по питанию, и сбой во время работы принтера.
Размер платы 100х80мм.
Исходный файл .PCB можно скачать здесь Назовем этот вариант: RABPS v1.0 (Reprap Arm Blue Pill Shield)Итак:
Перечень железа.
Blue Pill STM32F103C8T6, программатор ST Link V2 для прошивки, собственно сама плата, линейки коннекторов, транзисторы, конденсаторы, резисторы. Всё по схеме проекта.
Схема платы RABPS
1. Подготовка синей таблетки и конфигурация прошивки.Подготовка и разблокировка Blue Pill
для прошивки описана в предыдущей статье.
Прошивка Marlin 2.0 на GitHubПосле скачивания и распаковки прошивки, в ней нужно подменить пару файлов,
Конфигурационный файл platformio.ini скачать от сюда и подменить в папке Marlin-bugfix-2.0.x.
Файл с распиновкой pins_MORPHEUS.h скачать здесь и подменить в папке Marlin-bugfix-2.0.xMarlinsrcpins
Включение платы в Configuration.h:
#define MOTHERBOARD 1806
Это плата Morpheus, в дальнейшем в Marlin возможно будет добавлена и RABPS со своим кодом.
Чтобы ШИМ на вентилятор работал и работал выход на нагреватели:
В файле Marlin-bugfix-2.0.xMarlinsrc/HALHAL_STM32F1HAL_timers_Stm32f1.h
нужно заменить заменить
#define TEMP_TIMER_NUM 2 // index of timer to use for temperature
на
#define TEMP_TIMER_NUM 1
Пины PB3, PB4, PA15 управляют драйверами, но по умолчанию заняты JTAGом, поэтому JTAG нужно отключить, чтобы задействовать эти пины для управления драйвером ШД.
Для этого в файле
C:Users\.platformiopackagesframework-arduinoststm32STM32F1variantsgeneric_stm32f103coard.cpp
исправить #ifndef на #ifdef
в строке:
#ifndef CONFIG_MAPLE_MINI_NO_DISABLE_DEBUG
а в файле
C:Users\.platformiopackagesframework-arduinoststm32STM32F1systemlibmaplestm32f1includeseriesgpio.h
заменить строку:
AFIO_DEBUG_NONE = AFIO_MAPR_SWJ_CFG_NO_JTAG_NO_SW
на:
AFIO_DEBUG_NONE = AFIO_MAPR_SWJ_CFG_NO_JTAG_SW
Памяти 128кб для всех опций может не хватить, поэтому
в Configuration_adv.h отключим поддержку G2/G3 Arc Support
закомментировав строку:
#define ARC_SUPPORT
2. Конфигурация дисплеяДля использования дисплея раскомментировать соответствующие строки в Configuration.h и в pins_MORPHEUS.h
Дисплей MKS MINI 12864 подключается шлейфами в разъемы EXP1, EXP2.
Configuration.h:
#define SDSUPPORT
#define MKS_MINI_12864
pins_MORPHEUS.h:
#define DOGLCD_CS PA3
#define DOGLCD_A0 PB10
Дисплей RepRapDiscount Smart Controller подключается шлейфами в разъемы EXP1, EXP2.
Configuration.h:
#define SDSUPPORT
#define REPRAP_DISCOUNT_SMART_CONTROLLER
pins_MORPHEUS.h:
#define LCD_PINS_RS PB12
#define LCD_PINS_ENABLE PB13
#define LCD_PINS_D4 PB14
#define LCD_PINS_D5 PA3
#define LCD_PINS_D6 PB10
#define LCD_PINS_D7 PB11
Дисплей OLED SSD1306 подключается к SCL2/SDA2/GND/+5V разъема EXP1, см. схему.
Для активации SCL2/SDA2, в последней строке в файле Wire.cpp
C:Users\.platformiopackagesframework-arduinoststm32STM32F1librariesWire
заменить 'TwoWire Wire(1);'
на 'TwoWire Wire(2);'
Configuration.h:
#define SDSUPPORT
#define ULTIPANEL
#define U8GLIB_SSD1306
Дисплей MKS TFT подключается к RX3/TX3/GND/+5V разъема EXP1. При этом в Configuration.h активировать выход USART3:
#define SERIAL_PORT_2 3
#define NUM_SERIAL 2
Для MKS TFT желательно отдельное питание 5в.
После этого откомпилировать в Platformio и прошить с помощью STM32 ST-LINK Utility.
3. Компиляция и прошивкаКомпилировать прошивку в Platformio. Прошивать с помощью STM32 ST-LINK Utility.
Файл firmware.bin для прошивки, после компиляции лежит в Marlin-bugfix-2.0.x.pioenvsluepill
выбираем файл firmware.bin
коннектим к таблеткестереть памятьпрошитьСиняя таблетка с прошивкой готова.
4. Изготовление платы
Фоторезистивный метод нанесения рисунка дорожек печатной платы. Можно и ЛУТ методом.
Файлы для изготовления платы можно скачать по ссылкеТравление платы в хлорном железе.Удаляем фоторезист ацетоном.Далее наносим синюю или зеленую паяльную маску, на нижнюю и верхнюю стороны.
Я использовал однокомпонентную маску.
Текст наносил белой двухкомпонентной маской.
Далее сверлим много отверстий разными сверлами, 0,8мм и 1,0мм.
И обрезаем лишний технологический текстолит.
3. Пайка платыПрипаиваем резисторы, перемычки, коннекторы:Припаиваем остальные компоненты: Проверяем прозваниваем все соединения, промываем плату спиртом.
Я использовал водосмываемый флюс, поэтому сначала промыл плату в теплой воде для удаления флюса, а затем в спирте для удаления остатков воды.
Устанавливаем на шилд плату Blue Pill и драйверы.
Плата готова!
Можно устанавливать в принтер и подключать. На этом все.
Надеюсь ничего не забыл.
Еще больше интересных статей
Установка BigTreeTech SKR Mini E3 V3.0 в Creality Ender-3 S1 Plus вместо сгоревшей штатной платы.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Flying Bear 5. Плагин для Prusa в Shui и Input Shapers.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...
Комментарии и вопросы
А что за полосы? Диаметр прутк...
Спасибо Моя почта anerezenko@y...
Здравствуйте, Сайт V. Besmens....
Надо настроить отправку файла...
Опыта в печати довольно мало,...
Спросил у сотрудника техподдер...
День добрый однако, возн...