32-bit своими руками, шилд RABPS

3dmaniack
Идет загрузка
Загрузка
23.12.2018
51336
366
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

142
Добрый день.

Предлагаю простой вариант сборки 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)
32-bit своими руками, шилд RABPS
Итак:

Перечень железа.

Blue Pill STM32F103C8T6, программатор ST Link V2 для прошивки, собственно сама плата, линейки коннекторов, транзисторы, конденсаторы, резисторы. Всё по схеме проекта.

Схема платы RABPS
1. Подготовка синей таблетки и конфигурация прошивки.
Подготовка и разблокировка Blue Pill

для прошивки описана в предыдущей статье.

Прошивка Marlin 2.0 на GitHub
32-bit своими руками, шилд RABPS
После скачивания и распаковки прошивки, в ней нужно подменить пару файлов,

Конфигурационный файл 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.
32-bit своими руками, шилд RABPS
32-bit своими руками, шилд RABPS
Прошивать с помощью STM32 ST-LINK Utility.

Файл firmware.bin для прошивки, после компиляции лежит в Marlin-bugfix-2.0.x.pioenvsluepill

выбираем файл firmware.bin

32-bit своими руками, шилд RABPS
коннектим к таблетке
32-bit своими руками, шилд RABPS
стереть память
32-bit своими руками, шилд RABPS
прошить
32-bit своими руками, шилд RABPS
Синяя таблетка с прошивкой готова.

4. Изготовление платы


Фоторезистивный метод нанесения рисунка дорожек печатной платы. Можно и ЛУТ методом.

Файлы для изготовления платы можно скачать по ссылке
32-bit своими руками, шилд RABPS
Травление платы в хлорном железе.
32-bit своими руками, шилд RABPS
Удаляем фоторезист ацетоном.
32-bit своими руками, шилд RABPS
Далее наносим синюю или зеленую паяльную маску, на нижнюю и верхнюю стороны.

Я использовал однокомпонентную маску.



Текст наносил белой двухкомпонентной маской.

32-bit своими руками, шилд RABPS
Далее сверлим много отверстий разными сверлами, 0,8мм и 1,0мм.

И обрезаем лишний технологический текстолит.
32-bit своими руками, шилд RABPS
3. Пайка платы
32-bit своими руками, шилд RABPS
Припаиваем резисторы, перемычки, коннекторы:
32-bit своими руками, шилд RABPS
Припаиваем остальные компоненты:
32-bit своими руками, шилд RABPS
Проверяем прозваниваем все соединения, промываем плату спиртом.

Я использовал водосмываемый флюс, поэтому сначала промыл плату в теплой воде для удаления флюса, а затем в спирте для удаления остатков воды.



Устанавливаем на шилд плату Blue Pill и драйверы.

32-bit своими руками, шилд RABPS
32-bit своими руками, шилд RABPS
32-bit своими руками, шилд RABPS
Плата готова!

Можно устанавливать в принтер и подключать.
32-bit своими руками, шилд RABPS
32-bit своими руками, шилд RABPS
На этом все.

Надеюсь ничего не забыл.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

142
Комментарии к статье