Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!

Подписаться на 3Dtoday
3dmaniack
Идет загрузка
Загрузка
20.11.18
28187
275
Техничка
212
Статья относится к принтерам:
FRIBOT Z-Belt-W
Добрый день.

Решил я тут попробовать перейти с 8 бит на 32.
Готовые решения конечно есть, но я решил пойти сложным путем, и собрать свою плату управления.
Нашел в сети проект Morpheus-STM32. Проект этот на базе синей таблетки Blue Pill.
То есть на чипе STM32F103C8T6. То есть на чипе так написано, но на самом деле это STM32F103CBT6 которая например в ЧИП-ДИПе по 380руб. На Али в обвязке на плате стоит 125 руб (1,9$)!

Характеристики у него следующие:
Ядро ARM Cortex-M3
Частота ядра 72МГц
Flash-память 128 кБайт
RAM-память 20 кБайт

Количество входов/выходов 37

Также в наличии USART 3шт, I2C 2шт, SPI и пр.

Размер платы Morpheus-STM32 100х70мм.

Итак:

Перечень железа.
Blue Pill stm32f103c8t6, программатор ST Link V2, дисплей SSD1306, энкодер KY-040, модуль SD-карты, собственно сама плата, линейки коннекторов, транзисторы, конденсаторы, резисторы. Всё по схеме проекта.
73ca7e7b0ef64a0a33709e02675f9c50.PNG
34ba556ca6ce63c27fd90f7f275ac6c4.PNG
fb20e6a3ddccf77efa1cc764b813c717.PNG
3c7ba8b0f008d12c9a873f6eceffee00.PNG
6b8062df67ba4f2bf8a3926dde91b758.PNG
В итоге я получил ремонтно-пригодную 32-битную плату управления, с дисплеем, энкодером и картридером, примерно за 10$ за весь комплект, с учетом всех радиодеталей (без учета драйверов).
Единственно, с компиляцией и программной частью было не все так гладко, но, спасибо за помощь уважаемому jmz,во многом помог разобраться.

1.  Подготовка синей таблетки.

Подключаем таблетку к компьютеру кабелем USB, в компе тишина, "ты-дын" не слышно, не определилась?! Ок идем дальше
Подключаем таблетку к программатору ST-Link V2 (см. распиновку!) там у таблетки четыре пина сбоку GND, SWDIO, SWCLK, +3.3V,
8f93f285d836986e813990f7696b5e04.jpg
ST-Link V2 подключаем к компьютеру, запускаем прошивальщик STM32 STlink, нажимаем коннект, не конектится?
a4caf92d9cb37cf17b7cfd9bdd9acd9e.png
016d9c1930d6581aad9d5cd7c4b9bb80.PNG
Тогда нажимаем и удерживаем reset на таблетке, нажимаем коннект, отпускаем reset, снова ошибка?! Ок, значит в таблетке прошит бут для ардуино, либо защита, либо еще какая то засада.

Запускаем Arduino IDE, с установленной поддержкой плат 32-bits ARM Cortex-M3, при этом наша таблетка подключена через программатор ST-Link V2 к компьютеру.

Пакет 32-bits ARM Cortex-M3 в менеджере плат:
b0e7ec11578f109bc40350f1db0c1a2f.PNG
Выбираем в ардуино нашу плату Generic STM32F103C series и выставляем следующие опции:
d22b190186a39c864b3168a90fe6fc25.png
Открываем пример скетча Blink,
cf242d6002e8371c15ad090990444c5e.png
Выставим там мигание встроенного светодиода на пине PC13, чтобы при загрузке визуально определить прошилось или нет.
0473a7501e28b0b6b306cab22ecd32c2.PNG
Загружаем скетч в таблетку.
Загрузилось и замигало! Ок
Теперь таблетка будет определятся и в STM32 ST-LINK Utility. И мы сможем ее прошить прошивкой для принтера.
4cf91e335b363276a2b236cae41686af.PNG
В логе пишет, что типа у таблетки всего 64кб, но это не так, там 128кб.

Осталось установить драйвер.

Скачаем и распакуем Arduino_STM32_master. В каталоге: "Arduino_STM32\drivers\win" будет bat-файл "install_drivers.bat" который следует запустить с правами администратора, установятся драйвера.
Подключим таблетку кабелем Micro-USB к компьютеру и проверим, появилось ли устройство Maple Serial в диспетчере устройств.
c9a10e4770e11cb3dc35910b7a2e4be5.PNG
Таблетка готова.

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

Печатаем на лазерном принтере на специальной подложке изображение обеих сторон платы.
Далее ЛУТ утюгом на нижнюю сторону.
6a0f05a1e751338c4823bca140c0e378.JPG
0ef816d5774a5204b9b6cfa6a689e652.JPG
Подкрашиваем дефекты специальным маркером.

Травление в хлорном железе 2...3 часа, периодически помешивая.
Промывка платы в воде, промывка тонера ватным тампоном смоченным в ацетоне.

Далее ЛУТ зеркального изображения верхней стороны платы. Покрытие лаком верхней стороны для защиты тонера.
У себя я этот пункт пропустил.
cdd628bd8022414a521cc71a89ca149a.jpg
Далее долгое и муторное сверление отверстий разными сверлами, 0,8мм и 1,0мм (клемная колодка, мосфет).
Плата маленькая, но отверстий много..

3. Пайка платы

2c308daf99933a3b6a7e63bc9a5b29e8.JPG
Проверяем прозваниваем все соединения, промываем плату спиртом.

Устанавливаем компоненты.
PREVIEW
Резисторы для термисторов по схеме проекта один на 1к второй на 4,7к, подтянуты к 3,3в. Не совсем правильные.
Для стандартных термисторов не подошли, температуру показывало не корректную, подобрал оба резистора на 5.1ком.
Полевые транзисторы у меня все три IRLB3034.

Дисплей подключается к SDA, SCL, 3,3V, GND.
SD-карта подключается к MOSI, MISO, SCK, SS, 3,3V, GND.
Плата в проекте под энкодер не разведена, поэтому подпаял коннектор 3пин сверху контроллера к пинам PC13, PC14, PC15.
Энкодер подключается к EN1(PC13), EN2(PC14), ENC(PC15). И GND.

4. Установка Visual Studio Code и Platformio

Скачиваем и устанавливаем VSC и поверх Platformio.

Инструкция

Далее конфигурировать и компилировать будем в ней.

5. Конфигурация и компиляция прошивки

Скачиваем последнюю версию прошивки Marlin 2.0
bugfix-2.0.x
743c08443462bf5d4c2dfd0ae5a03a33.PNG
Распаковываем архив прошивки.
Добавляем в Marlin\src\pins
файл pins_MORPHEUS.h из проекта, если его там нет.
Добавляем в этот файл текст:

#define BTN_EN1 PC13
#define BTN_EN2 PC14
#define BTN_ENC PC15
#define SD_DETECT_PIN -1
#define KILL_PIN -1

В папке \Marlin-bugfix-2.0.x\ заменяем
platformio.ini
ссылка на исправленный файлс поддержкой Blue Pill.

Открываем VSC
Добавляем проект, указав путь к содержимому папки Marlin-bugfix-2.0.x
fb682cf267933622cce438ae0b62dd80.png
85977cf4f9bedaaad430d6ce53baface.PNG
В configuration.h прописываем плату 1806, это плата MORPHEUS:
d067832055cbd2342b12ed71508467b0.PNG
Включаем SD-карту:
2b888a20294f94c514f0e5e3ece3d587.PNG
Включаем поддержку энкодера:
4c0c12feb8587685b42e88dcc98b5042.PNG
Включаем дисплей SSD1306:
a8cb68d719e2c450daf3745882110646.PNG
Конфигурируем тип кинематики, концевиков и пр. в зависимости от конфигурации принтера.

Конфиг готов, но для STM32F103C8T6 для правильной компиляции необходимо выполнить еще кое что:

а) У STM32F103C8T6 два I2C контроллера
По умолчанию используется первый, пины PB6/PB7, а в проекте используется второй - PB10/PB11,
Какой именно будет использоваться, прописано в последней строке в файле Wire.cpp
C:\Users\\.platformio\packages\framework-arduinoststm32\STM32F1\libraries\Wire
там прописано "TwoWire Wire(1);"
Для использования пинов PB10/PB11 как в проекте, нужно поменять на "TwoWire Wire(2);"

б) Еще проблема с ШИМ на вентилятор, он не работал, а просто включался на 100%. Чтобы заработал ШИМ на вентилятор:
В файле Marlin-bugfix-2.0.x\Marlin\src/HAL\HAL_STM32F1\HAL_timers_Stm32f1.h
нужно заменить заменить
#define TEMP_TIMER_NUM 2
на
#define TEMP_TIMER_NUM 3

в) Также не работали пины PB3, PB4, PA15, они в проекте в качестве выхода и управляют драйвером ШД. А не работают они потому, что пины PB3, PB4, PA15 по умолчанию заняты каналом JTAG, и поэтому JTAG необходимо отключить, чтобы можно было задействовать эти пины для управления драйвером ШД.
Для этого:

в файле board.cpp
C:\Users\Game\.platformio\packages\framework-arduinoststm32\STM32F1\variants\generic_stm32f103c
исправить #ifndef на #ifdef
в строке:
#ifndef CONFIG_MAPLE_MINI_NO_DISABLE_DEBUG

это будет вызывать функцию AFIO_DEBUG_NONE в файле gpio.h и отключит и JTAG (PB3, PB4, PA15) и SWDIO, SWCLK (боковые пины для прошивальщика). Можно оставить и так, но в дальнейшем, при коннекте с STM32 ST-Link Utility будет ошибка, в принципе законнектить можно, удерживая Reset на таблетке, но это не удобно.

Поэтому, чтобы оставить SW, исправим
в файле gpio.h
C:\Users\Game\.platformio\packages\framework-arduinoststm32\STM32F1\system\libmaple\stm32f1\include\series
заменить строку:
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

если и этого будет мало, можно еще там же отключить и
#define FASTER_GCODE_PARSER

Ну и вот наконец:
Компиляция
Нажимаем на иконку и ждем успешной компиляции
7dcfb6d5fcd9336a1c9016e7278b4831.PNG
В итоге должно получиться следующее:
6e68a12d5ff8c3c4018e73f42a6b7813.PNG

6.   Прошивка

Прошивка .bin в таблетку stm32 через STM32 ST-Link Utility
Файл firmware.bin после компиляции сохраняется в папку Marlin-bugfix-2.0.x\.pioenvs\bluepill.

Подключаем ST Link V2, запускаем STM32 ST-Link Utility.

Выбираем бинарный файл с нашей прошивкой firmware.bin:
0c802619e9cab0ef13a56e244215e1d5.png
Сначала жмем коннект:
a87a3005e73a0b1d42156c9481a158f3.png
Потом делаем очистку памяти:
0b97f767b3ef1fb93acd346c141e81cc.png
И нажимаем прошить:
63cd2957fbd812985ef9ad87a8353434.png
По окончании прошивки отключаем программатор:
93e571115b3f3d897817c99e58654007.png
Отсоединяем ST Link V2.

Плата с прошивкой готова.

Можно устанавливать в принтер и подключать.

7. Подключение MKS TFT или WiFi модуля NodeMCU по каналу RX/TX.

Вместо отдельных, дисплея, энкодера и модуля SD, можно подключить один MKS_TFT, где все в одном. Он управляется по линии RX/TX. Таким образом освободятся много пинов контроллера Blue Pill. И, при отключении вывода на локальный дисплей в прошивке, освободится почти половина памяти контроллера.

Также, по RX/TX можно подключить популярный в народе WIFI-модуль ESP8266 (NodeMCU v3), для подключения принтера удаленно. Оставив при этом локальные дисплей, энкодер и модуль SD-карты.

Для подключения RX/TX можно освободить пару пинов для второго канала USART1,
так как в проекте используются отдельные линии Enable для Z, E, вот мы эти пины и освободим,
Z-Enable, E-Enable подключим на общую линию Enable PB8.
Z-DIR подключим к PB3.

И соответственно в pins_MORPHEUS.h перепишем так:

#define X_STEP_PIN PB7
#define X_DIR_PIN PB6
#define X_ENABLE_PIN PB8

#define Y_STEP_PIN PB5
#define Y_DIR_PIN PB4
#define Y_ENABLE_PIN PB8

#define Z_STEP_PIN PA15
#define Z_DIR_PIN PB3
#define Z_ENABLE_PIN PB8

#define E0_STEP_PIN PA8
#define E0_DIR_PIN PB15
#define E0_ENABLE_PIN PB8

Освободились пины PA9, PA10 это как раз UART1
301159430366860f8b4a32c24d0fefc0.PNG
Чтобы их программно задействовать, нужно:

в Configuration.h:

для одного порта
изменить
#define SERIAL_PORT 0
на
#define SERIAL_PORT 1
но при этом, microUSB на таблетке работать уже не будет.

Для двух портов UART, к строке #define SERIAL_PORT 0
добавить еще строки
#define SERIAL_PORT_2 1
#define NUM_SERIAL 2

Но в случае использования всех опций, дисплей SSD1306, энкодер, SD-карта и два USART, памяти может не хватить.
Поэтому либо вариант MKS-TFT, и два USART.
Либо дисплей SSD1306, энкодер, SD-карта и один USART, который можно подключить к WiFi-модулю NodeMCU V3.

У модуля NodeMCU логика также на 3,3в, подключается напрямую, GND, +3.3V, RX к TX, TX к RX.
Прошивка ESP3D в модуль NodeMCU V3 ESP8266 описана например здесь.

Дисплей MKS TFT подключать к RX/TX через делитель напряжения, но возможно будет работать и напрямую. В варианте подключения к MKS TFT, в прошивке дисплей SSD1306, SD карту и энкодер отключить, тогда освободится почти половина памяти.

Испытания прошли успешно. Новая 32-битная плата показала в работе хороший результат.
Дисплей не тупит, как на 8-битной плате. Отзывается на энкодер шустро.
Качество печати вроде бы немного улучшилось, на большой скорости.

Единственный минус в контроллере Bluе Pill это то, что память 128кб это маловато, у меня прошивка заняла 99% памяти в варианте с дисплеем SSD1306, энкодером и SD-картой. И количество выходов-пинов, их тоже получилось впритык, ни одного не осталось в запасе.
c37fe9ffbb152ecc51f69cded4d1887b.JPG
На этом все.

В дальнейшем хочу переделать плату под штатные разъемы EXP1, EXP2, для подключения разных дисплеев, а также разъем USB-B.

Плату и схему под новый проект я уже нарисовал, но это уже будет в следующей статье.
9eb027dd278b073035e86fade3712b8a.png
Подписаться на 3Dtoday
212
Комментарии к статье

Комментарии

20.11.18 в 08:41
24
Офигенно. Именно такого я и ждал, и даже пытался из палок городить. Надо кооперироваться и заказывать пачку печаток у китайцев
12.12.18 в 02:08
1
Здесь делают платы отличного качества и в срок https://jlcpcb.com/ Шелкография отменная.
Главное при заказе обязательно файл с отверстиями прикладывать (даже если на плате и не придусмотрено конструктивно отверстий)
и второе это указать Отчество (по Российскому законодательству), что - бы не зарубили на таможне. Если по каким либо причинам нет каковой графы в форме (как впрочем и на других ресурсах) забиваем в графе компания. Надеюсь информация кому и пригодится.
c8daf01daec83babccee6a7b5e3faecc.jpg
26.02.19 в 19:36
0
Немного некропост, но уточню, что отчество для международных отправлений как не требовалось, так и не требуется, в соответствии с международными почтовыми правилами. Только для внутренних, и то, если оно вообще есть. В РФ наличие отчества не является строго обязательным, от него вполне можно отказаться. В большинстве стране иметь отчество не обязательно, в некоторых - оно вообще отсутствует как понятие. Законодательство тут вообще ни при чём.
20.11.18 в 08:48
4
Я такую на макете собрал где то полгода назад. Сейчас рисую плату под распайку драйвера на spi и 3+ голов. В принципе мне stm32 больше нравится чем остальные 32битки.
20.11.18 в 08:55
7
Достойно для РепРапа
20.11.18 в 08:58
9
Небольшое пожелание. Сделайте возможность не только установки выводных резисторов, но и площадки под 1206 или 0805.
20.11.18 в 18:55
4
1206 - перебор. 0805 - самое то для пайки ручками не расслабоне. Хотя у меня, последнее время, всё больше 0402 идёт в ход.
20.11.18 в 20:25
4
Так ручки и глазки у всех разные. Но да, 0805 оптимальны.
20.11.18 в 09:09
6
Спасибо, за подробное описание.
Пока для меня много непонятного, но думаю в будущем очень пригодится.
20.11.18 в 09:21
9
Интересный проект. Если будете заказывать платы, я бы тоже взял.
Жду продолжение стать с подключением и печатью.
20.11.18 в 09:44
6
Все классно, очень интересный проект, купил бы платку. От себя хотелось бы, как писалось выше возможность установки smd элементов и больше выходов для разных датчиков (датчик филамента, bltouch и тд), ну и версию на 2 головы, не знаю, хватит ли gpio, но вышло бы классно
И предохранитель по питанию не помешал бы
20.11.18 в 09:54
2
Немного офтоп: а можно 3,3V модули (как у вас) программировать через ArduinoUno или переходник такой обязательно ещё покупать?
20.11.18 в 10:37
5
У STM32 есть штатный функционал прошивки через COM порт.
ST-Link удобнее (не нужно переставлять перемычки), но без него вполне можно обойтись.
20.11.18 в 10:47
3
Проще купить ST-link, он кстати на той же самой STM32, и по цене такой же как Blue Pill.
24.11.18 в 19:16
1
можно зашить прошивку с бутлодером и шить что угодно и как ардуину
20.11.18 в 10:06
9
Прям гикпорно. Можно на хабр выкладывать, думаю там найдутся ценители...
20.11.18 в 10:08
3
круто! а что лучше этот стм или есп32 (есп32 можно сюда?)?
20.11.18 в 11:29
2
Даже 8266 быстрее STM32, но нет столько GPIO. ESP32 этим тоже не блещет.
20.11.18 в 15:42
3
Был такой проект для esp32

ESPRamps
и топик на MarlinFw
Marlin for ESP32
20.11.18 в 15:46
2
а я вот наблюдаю как этот развивается -
https://github.com/bdring/Grbl_Esp32
20.11.18 в 10:29
3
Очень хорошо!!! А схему можно посмотреть? И еще размеры новой платы какие?
20.11.18 в 10:49
2
Да, конечно.
Размеры чуть больше, 100х80мм

Схема еще не закончена, вот текущий вариант:
cb07e860099d7656c495a36770d47ded.png
20.11.18 в 11:07
2
Спасибо большое! Плату надо делать не больше 100х100 мм. А почему схема не закончена? Какие еще вопросы осталось закрыть?
20.11.18 в 11:25
2
Новая плата пока на этапе испытаний, и в процессе этих испытаний возможно что то придется изменить в схеме.
Но об этом будет в новой статье. Скоро.
21.11.18 в 09:49
2
Неужели скоро мы увидим Фрибот макс на STM32?
20.11.18 в 12:33
4
Не обязательно. Могу у китайцев заказать платы любого размера (в пределах разумного), выйдет в пределах 10$ за 10шт.
20.11.18 в 13:10
2
Да, да, именно у китайцев!
20.11.18 в 13:17
5
Если плата размером меньше чем 100х100 и двухслойка, то 10 плат на easyeda.com получаются за 2$ (0.2$ за плату при отличном качестве).
20.11.18 в 13:20
4
Если плата размером меньше чем 100х100 и двухслойка, то 10 плат на easyeda.com получаются за 2$ (0.2$ за плату при отличном качестве).
Я в курсе так то. Только не вижу смысла ужиматься в 100х100, если платы 150х100 двухслойки можно сделать 10шт за 10$
Не велика разница в цене для конечного потребителя (учитывая почтовые расходы и пр), а удобство размещения модулей на плате может пострадать.
20.11.18 в 19:25
3
+ доставка долларов 15.
20.11.18 в 19:27
4
СПАСИБО. Очень здорово. Недавно смотрел аналогичный проект четырёх летней давности. Но там не было так по шагово расписано ,как у вас. Давно хочу на СТМ32 заделать плату управления под марлин. Сейчас MARLIN 2.0 bugfix у меня на двух принтерах стоит на одном MEGA2560, на другом DUE+RAMPS 1.4. С удовольствием мегу поменяю на СТМ. А прошивка одна - но настройки под каждый принтер разные. Использую MARLIN 2.0 bugfix - чтобы с не мучатся с разными МАРЛИНАМИ.

Не могли бы выложить свою разведённую плату в .LAY. Или хотя бы нормальной картинкой, чтобы можно было самому сделать печатную плату 1:1.

Готов купить пару плат первого варианта.

Пожелание - оставляйте между драйверами хотя бы по 1 мм и разными колодками под распайку. Иначе был случай когда драйвер не в те ноги ставили и спалили драйвер.

Про энкодер - можно не дописывать при SSD1306, а использовать настройку экрана
"TinyBoy2 128x64 OLED".

Энкодер на RAMPS соединяется с небольшой поправкой:

D31 - SW
D35 - CLK
D37 - DT
20.11.18 в 20:03
3
Там по ссылке у автора есть исходник, но он в .pcb.
Открывается и редактируется в PCB
20.11.18 в 20:17
2
Да, спасибо. У них там в .pdf картинка платы есть. Можно печатать и переносить на плату утюгом.
Вот ссылка на платы
https://github.com/pscrespo/Morpheus-STM32/releases
20.11.18 в 10:38
3
Спасибо За замечательную статью. В избранное.
пару вопросов:
1. с кинематикой coreXY будет работать? или как для ардуинки - настраивается в прошивке.
2. с октопринт дружит?
20.11.18 в 10:50
2
Да, как раз на CoreXY и проверял, работает.
Октопринт еще не прикручивал.
20.11.18 в 10:52
2
спасибо
20.11.18 в 10:47
2
По платам, могу легко изготовить, вот пример работы
9f2187dc4865304c6ddbf073dae26438.jpg

пишите в личку
20.11.18 в 12:20
2
С металлизацией?
20.11.18 в 19:05
2
нет :) фрейзеровка
06.01.19 в 15:50
0
чесгря трындец качество. Я на ЛУТе лучше делаю
19.04.19 в 21:30
0
фоторезистом качество значительно лучше выйдет )))
20.11.18 в 11:27
2
А что в реальности даст переход на эту платформу? Насчет плат - блин да при желание все это можно легко распаять на макетке проводами, чай не промышленное производство..... но вот я думаю чисто практически - что дает данное решение?

А в свете того, что если RAMPS используется под KLIPPER - дает ли оно тоже чего, кроме гемора?
20.11.18 в 11:51
3
На синюю таблетку тоже можно поставить клиппер, а вот это уже что-то даст, по сравнению клиппер+рампс! Частота стэпов в 3 раза выше.
20.11.18 в 12:13
2
Если Вы имели ввиду драйвер клиппера - то он у меня прекрасно живет на mega 2560 и вроде тьфу тьфу частоты степов хватает......
20.11.18 в 12:24
2
А у меня на нано с атмега328, но запросы у всех разные. Некоторым микростепинг на 256 подавай без интерполяции.
20.11.18 в 19:08
3
Пока в прошивках не перепишут ВСЁ (в первую очередь - геометрию) на 32 бита с учётом возможного наличия или отсутствия FPU - ничего не даст. Толку от 32бит, если на них выполняется код, оптимизированный для восьмибитного камня, который не умеет даже умножать? Тактов тратится столько же, точность не улучшается. Разве что, на дельту можно свистелок-перделок наприкручивать, и она даже не будет заедать при обновлении экрана.
20.11.18 в 23:08
3
Умножать он умеет (правда, целые числа). Он не умеет делить. Вроде как на уровне исходника умножение одинаково что для арма, что для аврки. Компилятор должен сам все это разруливать. В любом случае насчет ничего не даст я бы так громко не заявлял, все таки разрядность выше и частота, даже если они и делают все программно оба, прирост будет ощутимый.
21.11.18 в 08:16
3
Да, косякнул, не за тот камень подумал :) Но! Компилятор ассемблерный код с кучей умножения и деления на сдвигах не разруливает. Повторюсь - разрядность не даст НИЧЕГО, пока исходники не будут переписаны полностью. Там же в 90% случаев 24 из 32 бит просто не используются. Код в куче мест ограничен восьмибитными переменными для экономии тактов. Пока что, выигрыш получается исключительно за счёт частоты. Ну, я про открытые проекты, само собой. Проприетарщина уже много лет как на 32 битах с FPU сидит.
21.11.18 в 10:47
3
Поэтому я и ушел на KLIPPER - "плавная математика" перемещений + автономность + не требователен к железу принтера + PRESSURE ADVANCE, который сводит к нулю танцы с бубнами в слайсере по поводу текучести пластика для разных параметров печати....
21.11.18 в 21:47
2
В марлине pressure advance есть уже очень давно :) И расчёт ускорения в виде кривой Безье для прохода углов. И оно прекрасно работает на 256 меге вместе с экраном :) Правда, не дельта, а картезиан.
22.11.18 в 11:57
2
Увы опыт использования марлина на 2560, показал, что результат далек до клиппера по качеству печати и по скорости. При одних и тех же настройках.
24.11.18 в 07:37
1
Естественно, но только на акриловом дрыгостоле :) Ему клиппер - что мёртвому припарки :)
26.11.18 в 12:00
0
Вы не поняли - печатал на H-BOT, установил клиппер - и удивился насколько стало лучше и быстрее!
20.11.18 в 12:20
3
я свай проект на STM32F103RET6 делаю памяти больше 512к и выходов больше под все хотелки хватит
20.11.18 в 15:46
2
Проект полностью свой или на базе Marlin и т.п.?
20.11.18 в 17:03
3
затачу его под Klipper , так как у меги уже ресурсов нехватает
22.11.18 в 21:51
2
Надо будет таки про свое написать, на lpc1768 с эзернетами.
20.11.18 в 13:00
2
Кладезь полезной информации, большое спасибо!
20.11.18 в 13:11
2
Интересно, а с дельтой будет работать, памяти хватит?
20.11.18 в 13:33
2
Отличная статья.
Учитывая небольшое количество ног у Blue Pill, есть идея: отдельно плата для моторов, отдельно для нагревателей и вентиляторов. Управлять всем через Клипер.
20.11.18 в 13:53
2
Я тоже подумываю дельту на 32-бита перетащить.
Вот изучаю варианты и этот вариант мне очень интересен.
Синяя таблетка в наличии, хотя это мелочь, как и всё остальное
Так кто крайний за платкой? )))
20.11.18 в 17:22
3
С дельтой не все так радужно.
Математика дельты сильно больше места требует.
Насколько я помню, в 128КБ уложиться получается, но на экран и SD курту места уже на остается.
Поэтому или печать с компьютера или MKS TFT.
20.11.18 в 19:40
2
Жаль...
20.11.18 в 20:01
2
Есть плата на STM32F103RET6 за 7$. В нее и математика влезет и ног больше.
20.11.18 в 21:42
2
По сравнению с Blue Pill, цена в 3 раза...
Не критично, конечно. Но учитывая что нужно ещё новую борду ваять и прошивку пилить....
20.11.18 в 19:11
2
Для дельты лучше брать камни с FPU, а это линейка F4. Но, опять же, ждём прошивок, где всё это будет нормально использоваться.
20.11.18 в 21:20
2
Сорри за невежество. А что есть FPU?
20.11.18 в 21:41
2
блок для вычислений с плавающей точкой в процессоре.
В более простых камнях все вычисления по сути целочисленные.
20.11.18 в 21:44
2
Понял. Спасибо.
20.11.18 в 19:45
3
Сейчас попробовал скомпилировать дельту, с отключенным дисплеем и SD-картой, не хватает 2,5кб..
Вроде отключил всё не нужное, что можно было отключить, но возможно что то еще можно.
20.11.18 в 20:52
4
У меня не самая свежая версия Marlin и другая распиновка (общая линия En для всех шаговых двигателей)
Конфигурационные файлы из config\examples\delta\generic

Отключены в Configuration.h
#define STRING_CONFIG_H_AUTHOR
#define POWER_SUPPLY 0
#define PIDTEMPBED
#define PREVENT_COLD_EXTRUSION
#define PREVENT_LENGTHY_EXTRUDE

в Configuration_adv.h
#define AUTOTEMP
#define FASTER_GCODE_PARSER

С USB в качестве COM порта
PROGRAM: [==========] 99.4% (used 130348 bytes from 131072 bytes)

С UART в качестве COM порта
PROGRAM: [==========] 99.7% (used 130700 bytes from 131072 bytes)
20.11.18 в 22:01
2
То есть дельта все же умещается в Blue Pill. Правда без плюшек.
20.11.18 в 21:17
2
Да уж. без дисплея и карты как-то грустно. Если только с какой-тоPi печатать.
20.11.18 в 14:10
2
Ага купишь плату а у тебя она окажется не на 128 клобайт а 64 еще купишь опять на 64 и так ты выйдешь за бюджет штатной 32 битной атмеги где уже ни что самому пилить не надо и прошивку ковырять тож не нужно.
20.11.18 в 18:31
3
Да не, у китайцев они все на 128кб, проверял разные от трех разных продавцов.
22.11.18 в 11:51
2
А вот выйдет новая версия прошивки и опять с бубном плясать? Подсчитывал разницу между arduino due -сама плата стоит 13 баксов сам шил 2 и того 15 баксов экономия в 5 баксов с риском что может прейти не то и танцами с бубном. Если я ошибаюсь готов выслушать критику в свой адрес.
22.11.18 в 13:13
2
С новой версией прошивки багов меньше, танцев с бубном думаю не будет. Да и, возможно, кое что в статье уже будет не актуальным.
По поводу рисков лотереи попасться на оригинальный STM32F103C8T6, у китайцев есть и STM32F103CBT6 в продаже,правда в два раза дороже, чем STM32F103C8T6.
22.11.18 в 14:17
2
Ну вот я и говорю можно сразу взять ARUINO UNO то на то и выйдет и RAMPS 1.4 переколхозить под прошивку и с выходом новых версий не нужно так конкретно ковырять прошивку.
22.11.18 в 16:39
2
взять ARUINO UNO то на то и выйдет и RAMPS 1.4
Ну, если вам так удобнее, это ваше право. Я же ничего не навязываю, я просто поделился опытом, по сборке шилда Morpheus-STM32.
25.12.18 в 10:40
0
Прочитал статью, перешёл по ссылке на ali, заказал платку. Вчера получил, подключил - ST-LINK Utility пишет, что "Flash size - 64KBytes". Печалька... Больше месяца ожидания - "коту под хвост"...
(Может там на самом деле и 128К, но "перемаркировали" при непрохождении всей памяти теста на "нестабильность")
25.12.18 в 11:32
0
Все так и есть, ST-LINK Utility определяет что 64кб, но на самом деле там 128кб.
Прошивка в 128кб шьется без проблем.

Я об этом написал в статье.
25.12.18 в 11:57
0
Фразу "В логе пишет, что типа у таблетки всего 64кб, но это не так, там 128кб." я видел, но воспринял её как просто ошибку вывода лога. Но когда ST-LINK Utility читает это из чипа - начинаешь сомневаться в стабильной работе всего устройства с негарантированно-рабочей (физически, а не логически) прошивкой. (IMHO)
20.11.18 в 16:55
4
Действительно работает! Спасибо за статью! Я счастлив!

fa46e0926b964fce2ac323353ce1b4f9.jpg
4f2c377fbf1d45d02e9442665f7b8fbf.jpg
20.11.18 в 17:21
5
Реквестирую освобождение памяти заменой телевизора 12864 на экран 2004 i2c.
У китайцев вроде видел мелкие и олед.
20.11.18 в 17:52
4
Там проще ненужные либы отключить
20.11.18 в 19:54
3
Ссылкой на мелкие 2004 i2c не поделитесь? Мне мелкие OLED только 12832 попадались.
А классические LCD 2004 и 1602 с i2c переходником на STM32 работают.
20.11.18 в 20:06
2
мелкие OLED только 12832 попадались
Вы правы. Мелкие ОЛЕД либо 12864, либо 12832 разных диагоналей. Видать с ними попутал. Мелкие 2004 только вот или вот, но ценник не гуманный.

классические LCD 2004 и 1602 с i2c переходником на STM32 работают
Ну значит классический 2004 и поставим.
20.11.18 в 18:06
3
Всем привет, такой вопрос, есть ли интерес к плате 32бит, со следующими характеристиками:
Силовая часть - рампс1.4 с заменой транзисторов на открытие от 3.3в, контроллер подключается как обычная мега, снизу.
4 шаговика, 3 концевика, 2 термистора (или термистор + термопара по spi), 3 шим (хотэнд, стол, обдув), СД-карта. Дисплея нет (можно подключить esp8266 или msk tft по uart), софт - марлин (много памяти, любая конфигурация), управление через хост или автостарт печати с флешки.
Цена чипа около 300р, цена обвеса для подключения к рампс - рублей на 200-300, включая замену транзисторов на рампсе.
Если интерес есть, закончу проект и распишу статейку.
20.11.18 в 20:12
3
Статейку в любом случае напишите.
21.11.18 в 09:36
2
Силовая часть - рампс1.4 с заменой транзисторов на открытие от 3.3в
А нельзя там сразу добавить выход на 5В, чтобы на рампс ничего не перепаивать? По сути доработки копеечные
21.11.18 в 11:22
2
Если делать драйверы для транзисторов, то уж сразу 9-12В, чтобы даже стоковые транзисторы рампса открывались полностью и не грелись как утюги. В принципе, вариант.
23.11.18 в 22:34
2
В принципе, вариант.
Проще замутить промежуточный "этаж", согласующий уровни и напряжения между STM32 и RAMPS.

Даёшь Трёхэтажный 32-х-разрядный РАМПСбургер!

А?
20.11.18 в 18:09
4
Присоединяюсь к восторгам Коллег - классная по простоте компоновки - плата!
(кстати, чуть напомнила NanoHeart Руслана).

Мой комментарий:

...
Также, по RX/TX можно подключить популярный в народе WIFI-модуль ESP8266 (NodeMCU v3), для подключения принтера удаленно. Оставив при этом локальные дисплей, энкодер и модуль SD-карты.

Для подключения RX/TX можно освободить пару пинов для второго канала USART1, ...
...
Можете перепроврить в статьях уважаемого eta4ever-а, на MKS-TFT28 и 32 имеется встроенный разъём для WiFi.
Так что если всё "срастётся", то можно и одним UART обойтись.
23.11.18 в 20:34
1
а зачем всем за комментарии лайки ставить?
PS: я просто им завидую = З
23.11.18 в 21:02
2
а зачем всем за комментарии лайки ставить?
Охотно поясню как я пользуюсь своими полномочиями гуру-модератора.

Когда я ставлю ПЛЮСы всем подряд в какой-то статье или в посте, тем самым я стараюсь поднять рэйтинг этой статьи и привлечь к ней внимание, не говоря уже о том, что я согласен с мнениями высказавшихся Коллег.

Иногда получается ;-)

Завидовать мне не надо, бесполезное это дело.

Лучше посочувствуйте.
25.11.18 в 01:08
1
Лучше посочувствуйте.

после 70% лайков у меня уже начала голова крутиться, только на говорите что лайк человека с рейтингом 2 относительно вашего ничего не значит ахахха
20.11.18 в 19:37
1
Всё классно.
НО можно было сделать наверное просто переходник с СТМ32 под рампс по типу меги. Переделка РАМПС под ДУЭ у многих отлажена.

Я Вот сижу и думаю спаять плату переходник под рампс на монтажной панели. Использую вашу прошивку. То есть на все ресурсов не хватит - но подключить -то на что есть управление. Получится дешево и сердито.
20.11.18 в 21:10
2
есть одно небольшое замечание
с платформИО надо буть аккуратнее если подключено больше одного девайса к компу
https://docs.platformio.org/en/latest/projectconf/section_env_upload.html "If upload_port isn’t specified, then PlatformIO will try to detect it automatically."
т.е. допустим подключено 2 принтера - можно вшить прошивку не в тот что нужно. т.е. надо или явно указывать порт. или не забывать отключать все лишнее
20.11.18 в 21:52
2
А можно готовый бинарник ? хочется пощупать в живую.
20.11.18 в 22:26
3
ссылка
Проверять лучше с подключенным дисплеем SSD1306, так как без него таблетка повиснет при инициализации.
21.11.18 в 04:04
3
Спасибо за статью! Идеальное решение для клиппера. Только задумался над таким и вот оно. Пинов можно подкинуть еще одной копеешной платой PCA9685 через I2C.
21.11.18 в 10:51
2
а как быть со скоростью? через i2C будут задержки......... сдается мне все преимущества сойдут на нет
21.11.18 в 14:56
2
Пропеллеры, нагреватели, сервы, светодиодные ленты спокойно вешаются туда, на задержку на них можно не обращать внимание.
21.11.18 в 15:07
2
Пропеллеры только один и тот требует ШИМ.....
21.11.18 в 15:06
2
Сервы точно нет, нагреветали под вопросом...... остальное согласен.
23.11.18 в 14:16
2
PCA9685 это 12-битный PWM/Servo driver
21.11.18 в 14:36
3
Сделал всё по статье и моя текущая прошивка на МАРЛИНЕ 2.0 на ХУ-коре прогрузилась и даже быстрее, чем на АРДУИНО ДУЭ.
d5bd61d52da654a958b12f08a88a00dc.JPG
21.11.18 в 15:14
3
Судя по картинке, у вас дисплей на другом контроллере.
В Configuration.h замените #define U8GLIB_SSD1306 на #define U8GLIB_SH1106
21.11.18 в 15:29
2
Экран 1,3 дюйма. Раньше пробовал U8GLIB_SH1106 - на нём не запустился. Хотя завтра попробую на этой прошивке. Раньше пробовал на Марлин Кимбре и не на чём другом он не запускался, кроме SSD1306. Хотя да у китайцев указан U8GLIB_SH1106 и написано, что и SSD1306 работает с ним.

https://ru.aliexpress.com/item/1PCS-1-3-OLED-module-white-color-128X64-1-3-inch-OLED-LCD-LED-Display-Module/32777866923.html?spm=a2g0s.9042311.0.0.359833edY8i8lF
21.11.18 в 16:27
5
У контроллера SSD1306 видеобуфер 128x64 точки.
У SH1106 - 132x64, но сам дисплей при этом 128x64. С драйвером от SSD1306 дисплей работает, но картинка получается сдвинута на 2 точки.
21.11.18 в 18:26
3
Спасибо за совет. Перепрошил на SH1106 - всё скомпилировалось и экран заработал корректно.
21.11.18 в 15:41
1
Жаль под один экструдер.
Плата ЛУТом разводится на раз, паяется на два..
26.11.18 в 16:31
0
Марлин может управлять несколькими платами. Один из вариантов: ось Z на другой плате сделать. Будет 2 платы, но при цене 2 доллара это, пожалуй, приемлемо.
21.11.18 в 21:15
2
кстати просмотрел щас Марлина 2 там уже прописана плата STM32F103RET6 так что жду плату буду ваять сначала на нем потом в клипере пробовать буду, даже пример конфигурации есть в марлине
22.11.18 в 21:01
2
Извините, не в курсе разницы всех STM, но пока читал статью и комментарии, в голове крутился вопрос: - "Почему не STM32F4"?
22.11.18 в 21:30
2
цена
22.11.18 в 21:54
2
STM32F103 вполне достаточна для работы принтера, и это самый дешевый вариант, в случае выхода из строя контроллера, замена обойдется всего в 2$.
23.11.18 в 13:07
1
это самый дешевый вариант, в случае выхода из строя контроллера, замена обойдется всего в 2$.
Американцы/англосаксы говорят в таких случаях:
"thrashable".

Мой вольный перевод:

"одноразовый", типа "Ардуино мега", "который-не-жалко".
22.11.18 в 22:12
1
Маленькое замечание насчет цен.

Я вот не понимаю копеечной экономии. Одна катушка пластика сколько стоит? И какой хрен разница, что плата как 100 грамм пластика, а напотрахаться с ней - как десять катушек.

"Спортивный интерес" - понимаю, "не догнать, так согреться" - понимаю
29.11.18 в 00:39
0
Это творчество.
23.11.18 в 01:33
3
Дружище, чтобы больше не мучиться с травлением хлорным железом три часа, прочти эту статью -https://radiokot.ru/lab/hardwork/62/ и трави за 3-5 минут.
23.11.18 в 07:27
2
Вы про перекись водорода с лимонкой?
Попробую.
23.11.18 в 08:50
4
Да, слегка подогреть раствор ещё можно, тогда точно, быстро и качественно.
23.11.18 в 03:26
2
на разъемах под винт есть пазы, они друг с другом соединяются до монтажа, чтобы было ровненько
23.11.18 в 12:22
1
Да, спасибо, я думал там прямой паз. Теперь намного лучше :)
23.11.18 в 14:19
2
Просто спасибо тебе человек за такую полезную статью и проделанную работу!
23.11.18 в 16:08
2
b94d6fb86ff382ded9b8d601e71d0fc1.bmp
Поделитесь пожалуйста готовым бинарником под MKS TFT и 3D Touch.Пробую компилировать,выбивает одни ошибки.Под COREXY
23.11.18 в 16:49
2
А можно ссылку на ваши файлы Configuration.h и Configuration_adv.h?, посмотрю компиляцию у себя.
23.11.18 в 17:16
2
https://drive.google.com/open?id=13UADmVtI-yLr8ZVOm8xcpkP1zZB1e35L по ссылке мой марлин что в версии 1.1 рабочий, в другой папку что пробую скомпилировать.
23.11.18 в 19:16
3
RX/TX для MKS TFT вывел на пины канала USART3: PB10(TX) PB11(RX)

Z_MIN_PROBE_PIN на пине PB9
Добавил пин SERVO0_PIN на выход PC13
см. файл pins_MORPHEUS.h

Все остальное как в проекте.

При компиляции не хватает 6000 байт памяти. При включенном BLTOUCH.
Отключил все что можно
в Configuration.h:
#define POWER_SUPPLY 0
#define PIDTEMPBED
#define PREVENT_COLD_EXTRUSION
#define PREVENT_LENGTHY_EXTRUDE

в Configuration_adv.h:
#define AUTOTEMP
#define FASTER_GCODE_PARSER

Компилируется хорошо,
Но, теперь не хватает 800 байт памяти.
Надо смотреть, что еще можно отключить.
конфиг
23.11.18 в 20:02
2
7e84535c5032be25f7e1c9d26c2e90cd.bmp

Эта ошибка про не хватку памяти?,Или у меня где то в настройках есть ошибка?
23.11.18 в 20:27
2
Пишет, что не хватает 724 байт.
Я пробовал отключить еще #define THERMAL_PROTECTION_HOTENDS,
но даже в этом случае не хватает каких то жалких 60 байт..
23.11.18 в 20:47
2
А где отключить шим на вентилятор обдува?Я всё равно его не ставил, может поможет ?
23.11.18 в 21:01
3
Если не ошибаюсь в pins_MORPHEUS.h прописать так:
#define FAN_PIN -1

В этом случае скомпилировалось!
Но, с отключенным #define THERMAL_PROTECTION_HOTENDS.

a0f825c9dfb1ab5788e9b9593afb0135.PNG
23.11.18 в 21:20
4
Большое Спасибо,с компилировалось. Сажусь паять плату,о том что вышло отпишусь.
24.11.18 в 11:38
2
Спасибо автору за статью и за ссылки на плату!


03f2ffcbb47de2716ef3527937fce849.JPG
048daec4a9ee683c5fb4d1135aa214d1.JPG


5c0f93e1e921f855bee187ab120a5d42.JPG


Только я добавил разъем для энкодера. Но припаял проводками -хорошая мысля приходит опосля - можно было бы дорожки маркером дорисовать. И плюсовой провод припаял вместо разъёма на грелку - пользую обычно силиконовую на 220 вольт через электронное реле.

ed5f06413132004885c6f5ef2335ce78.JPG


4ad85bf899e8f4792b5f66d0261cd125.JPG
24.11.18 в 11:43
1
Пытался Китайцам заказать изготовление платы - они написали мне, что PCB файл из архива ГИТХАБА не открывается.
24.11.18 в 12:04
1
Спросите у китайцев, с каким расширением требуется файл, все сделаем.
24.11.18 в 12:33
1
Hi,
Thanks so much for your inquiry.
1) Sorry about that we can not open your file,
Pls kindly re-check it and send me the gerber file with format RS274X,
2) And our minimum quantity is 5pcs.
3) About the price of assembly, we need your excel BOM list.
Then I can quote for you.


Thanks so much for your patience.
Waiting for your reply.

2018-11-23
-----------------------------------




Autonatically FREE shipping cost as the order package contains PCBA order, up to $35 off.


Best regards,
Brenda

Website: www.pcbway.com/G
Skype: support@3pcb.com
Ali express store web site: http://www.aliexpress.com/store/1160007

Address: Room 1105-1108, No.2 Building, Est Mall Business Center, No.698 Changbang Road,
Xiacheng District, 310004, Hangzhou, China[IMG][/IMG]
24.11.18 в 13:18
2
Pls kindly re-check it and send me the gerber file with format RS274X
Открываем файл в программе PCB.
Делаем Export в Gerber:
3ca2cec2023297a6fa83d61a080a8599.PNG


получаем новые файлы:
4a3f58fcf14a5504f13289b2a36be589.PNG
24.11.18 в 12:37
1
Но я уже спаял и мне пока , как бы этого хватит поиграться. Я хотел чтоб китайцы готовый шилд начали сами паять и продавать. Надо нормальный файл Каким-нибудь специализирующимся на продажах шилдов китайцам заслать - пускай налаживают продажи и продают по одной штуке.
24.11.18 в 16:25
2
Добрый день, уважаемые коллеги!

По инструкции уважаемого автора сконфигурировал, откомпилировал, прошил.
Дисплей и энкодер работают.

Но не работает SD карта.
При этом карта прекрасно видится и в принтере с прошивкой Репитер и в другом принтере с прошивкой Марлин.

Что я делаю не так?
Может есть какие-то ньюансы в конфигурировании SD карты?
24.11.18 в 17:11
3
Есть нюанс и он именно при компиляции с дисплеем i2c. Не работает автоматическое считывание карты.
Надо в ручном режиме сперва нажать "Инициировать карту". После этого через секунду две появится в меню "печать с карты". Это не связано с СТМ32. У меня МАРЛИН 2,0 с таким экраном стоит и на Меге - столкнулся с этой проблемой. Потом плюнул и решил , что лучше нажимать ручную инициацию карты, чем жить с медленным интерфесом. Автомат определения карты начинает работать, если поставить замедление интерфейса в 4-8 раз.
24.11.18 в 17:43
2
К большому сожалению, все равно не работает.
Нажимаю "Инициировать карту", жду, опять нажимаю, ноль эффекта.
Я думаю, что проблема может быть в реализации SPI шины.
24.11.18 в 18:07
2
Сейчас проверил:
1. Стандартный пример из ардуино спокойно на этой плате читает эту карту.
2. Пробовал в настройках Марлин поставить половинную, четвертную и т.д. скорость SD карты, все равно нет эффекта.
24.11.18 в 19:57
3
Видимо в марлине разработчики чего то накрутили, будем разбираться.
24.11.18 в 21:00
1
все равно нет эффекта.
Приведите фото картонки упаковки карты SD.
Class-10 ещё мало о чём говорит, равно как и FAT-32.
24.11.18 в 23:44
1
в файле pins_MORPHEUS.h заменить строку
#define SDSS PA3
на
#define SDSS PA4
24.11.18 в 18:49
2
В диспее MKS TFT кроме тх и rx на шлейфе выходят провода маркированные А1 и А3. Какое их предназначение?Обязательно подключать?
24.11.18 в 19:58
2
Нет, подключать только RX, TX, GND
24.11.18 в 23:08
1
Прошу прощения, чтобы SD-карта работала, нужно в файле pins_MORPHEUS.h заменить строку
#define SDSS PA3
на
#define SDSS PA4
25.11.18 в 03:38
0
SDSS-Куда подключаем?
25.11.18 в 10:56
0
Ни куда, на свободный пин PA3, который на плате подписан как SDSS можно подключить SD_DETECT если конечно такой контакт имеется на модуле SD-карты. Ну и естественно в pins_MORPHEUS.h прописать его как #define SD_DETECT_PIN PA3.
20.12.18 в 22:59
0
Поделитесь Плиз архивом вашего варианта прошивки Марлин, ни в какую не удается инициализировать карту так же как и коллеги olegr.
Карточка нормально читается в прошивке Марлин 1.1.8 на рампс 1,4, также видятся файлы на этой флешке STM32 стандартным примером из Ардуино с тем же подключением что и в Марлин 2,0.
25.11.18 в 08:14
0
Карту памяти подключил, но как то всё очень медленно работает. Сильно притормаживает при чтении карты. При старте программы - вентилятор включает, прогрев стола на экране отображается включение , а светодиод включения стола не зажигается, хотя в ручном режиме -энкодером всё работает.
Надо дальше отлаживать.
36fbb82e5d0a2d0f4957bae35bd0ec7c.JPG
25.11.18 в 09:21
0
Нагрев стола включается с задержкой, да, не понятно почему. Какая то программная задержка.
Все остальные выходы срабатывают сразу, при включении.
Кстати, на нагрев стола подключается отдельное питание мосфета. Клемник VIN_BED.
25.11.18 в 09:35
1
Поделитесь, пожалуйста, что Вы сделали, чтобы у Вас заработала SD карта?
заменил #define SDSS PA3 на #define SDSS PA4,
вручную инициализирую через меню, карту не видит.
А стандартный пример из Ардуино, насмехаясь, прекрасно читает файлы.
И да, эта же карта читается на принтере, в марлине 1.1 на avr
25.11.18 в 11:11
1
Попробуйте провода МОСИ МИСО местами поменять и проверьте правильность подпайки. У меня заработало сразу. Я ничего дополнительно кроме замены #define SDSS PA3 на #define SDSS PA4 не делал. Но у меня прошивка на МЕГЕ отлаженная. Т. есть - я тут рабочую прошивку со своего принтера гоняю.
25.11.18 в 15:38
1
При том же самом подключении, зашитые из Ардуино примеры работы с SD картой прекрасно работают
25.11.18 в 17:55
1
Отформатируйте карту FAT32 размер кластера 64кб
20.12.18 в 22:49
0
Вам удалось запустить SD карточку?
У меня та же история, примеры скомпилированные из Ардуино работают при том же подключении. А в Марлине не получается инициализировать карту.

в файле Marlin\src\HAL\HAL_STM32F1\spi_pins.h
жестко прописан (это не мое изменение, так было изначально)
#define SS_PIN PA4, так что манипуляции с #define SDSS PA3, #define SDSS PA4 в файле pins_MORPHEUS.h не могут влиять.
25.11.18 в 12:34
3
Испытываю новый вариант платы, с дополнительными разъемами EXP1, EXP2, USB-B.
Подключение дисплея REPRAP_DISCOUNT_SMART_CONTROLLER к параллельной шине прошло успешно.
Далее, проверка подключение к MKS_MINI12864.


466a025543e7c8752f6ba75c073b34d0.JPG
25.11.18 в 15:36
0
Интересно. То есть ног на все хватило? На экран, энкодер , карту памяти?
И как карта памяти работает? Нормально - без подтормаживаний?

Если можно - то на какие пины посадили контакты?
25.11.18 в 15:57
0
Да, пинов как раз хватило на все, тютелька в тютельку.
Карта работает, без тормозов.

BTN_EN1 PC15
BTN_EN2 PC14
BTN_ENC PC13
SDSS PA4
LCD_PINS_RS PB12
LCD_PINS_ENABLE PB13
LCD_PINS_D4 PB14
LCD_PINS_D5 PA3
LCD_PINS_D6 PB10
LCD_PINS_D7 PB11
26.11.18 в 20:03
0
А можно на ваши файлы Configuration.h и Configuration_adv.h для REPRAP_DISCOUNT_SMART_CONTROLLER посмотреть ?
26.11.18 в 20:44
0
Там ничего особенного, просто в Configuration.h включил REPRAP_DISCOUNT_SMART_CONTROLLER.
И в pins_MORPHEUS.h прописал пины, которые выше.
26.11.18 в 20:51
0
Я его тоже включил, но у меня по экрану "крякозяблы" лезут. Пины под себя настроил, может еще что забыл
26.11.18 в 21:02
0
Ну видимо пины не верно подключены.
25.11.18 в 16:28
0
Я тут посмотрел, стандартную плату можно на LCD12864 вообще без проблем перецепить. Там нужно - Три сигнальных контакта - это можно использовать два от ОЛЕД дисплея и один контакт от Z пробы, или А11 - вроде свободный. Но надо 5 вольт. Я так понимаю что на STM32 5 вольт только , когда есть питание от USB а если питание от 12 вольт, то есть только питание 3,3 вольта после кренки. То есть надо кренку менять на 5 вольт, менять подводку с клеммы 3,3 вольта на 5 вольт - подключится внутренняя кренка 3,3 вольта на СТМ32, а питание на экран и на карту памяти подать 5 вольт. И если делать подтяжку на энкодере, то там подать 3,3 вольта - можно делителем 5 вольт порезать.........
Но вот стоит ли ОВЧИНКА ВЫДЕЛКИ............
Будет ли карта памяти нормально работать???? после всех этих переделок. Хотя реально всех переделок -кренку перепаять и три проводка подпаять..... Ну и прошивку поправить.

986f4f49bd2b8fff32758ec6f754950d.jpg
25.11.18 в 16:59
0
Будет ли карта памяти нормально работать???
А что у вас, за проблема с картой?
25.11.18 в 17:17