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

3dmaniack
Идет загрузка
Загрузка
20.11.2018
39090
278
Техничка

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

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

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

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

Решил я тут попробовать перейти с 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-карты, собственно сама плата, линейки коннекторов, транзисторы, конденсаторы, резисторы. Всё по схеме проекта.
В итоге я получил ремонтно-пригодную 32-битную плату управления, с дисплеем, энкодером и картридером, примерно за 10$ за весь комплект, с учетом всех радиодеталей (без учета драйверов).

Единственно, с компиляцией и программной частью было не все так гладко, но, спасибо за помощь уважаемому jmz, во многом помог разобраться.
1. Подготовка синей таблетки.
Подключаем таблетку к компьютеру кабелем USB, в компе тишина, 'ты-дын' не слышно, не определилась?! Ок идем дальше

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

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

Пакет 32-bits ARM Cortex-M3 в менеджере плат:
Выбираем в ардуино нашу плату Generic STM32F103C series и выставляем следующие опции:
Открываем пример скетча Blink,
Выставим там мигание встроенного светодиода на пине PC13, чтобы при загрузке визуально определить прошилось или нет.
Загружаем скетч в таблетку.

Загрузилось и замигало! Ок

Теперь таблетка будет определятся и в STM32 ST-LINK Utility. И мы сможем ее прошить прошивкой для принтера.
В логе пишет, что типа у таблетки всего 64кб, но это не так, там 128кб.

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

Скачаем и распакуем Arduino_STM32_master. В каталоге: 'Arduino_STM32driverswin' будет bat-файл 'install_drivers.bat' который следует запустить с правами администратора, установятся драйвера.

Подключим таблетку кабелем Micro-USB к компьютеру и проверим, появилось ли устройство Maple Serial в диспетчере устройств.
Таблетка готова.
2. Изготовление платы
Печатаем на лазерном принтере на специальной подложке изображение обеих сторон платы.

Далее ЛУТ утюгом на нижнюю сторону.
Подкрашиваем дефекты специальным маркером.

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

Промывка платы в воде, промывка тонера ватным тампоном смоченным в ацетоне.

Далее ЛУТ зеркального изображения верхней стороны платы. Покрытие лаком верхней стороны для защиты тонера.

У себя я этот пункт пропустил.
Далее долгое и муторное сверление отверстий разными сверлами, 0,8мм и 1,0мм (клемная колодка, мосфет).

Плата маленькая, но отверстий много..
3. Пайка платы
Проверяем прозваниваем все соединения, промываем плату спиртом.

Устанавливаем компоненты.
Резисторы для термисторов по схеме проекта один на 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
Распаковываем архив прошивки.

Добавляем в Marlinsrcpins

файл 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
В configuration.h прописываем плату 1806, это плата MORPHEUS:
Включаем SD-карту:
Включаем поддержку энкодера:
Включаем дисплей SSD1306:
Конфигурируем тип кинематики, концевиков и пр. в зависимости от конфигурации принтера.

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

а) У STM32F103C8T6 два I2C контроллера

По умолчанию используется первый, пины PB6/PB7, а в проекте используется второй - PB10/PB11,

Какой именно будет использоваться, прописано в последней строке в файле Wire.cpp

C:Users\.platformiopackagesframework-arduinoststm32STM32F1librariesWire

там прописано 'TwoWire Wire(1);'

Для использования пинов PB10/PB11 как в проекте, нужно поменять на 'TwoWire Wire(2);'

б) Еще проблема с ШИМ на вентилятор, он не работал, а просто включался на 100%. Чтобы заработал ШИМ на вентилятор:

В файле Marlin-bugfix-2.0.xMarlinsrc/HALHAL_STM32F1HAL_timers_Stm32f1.h

нужно заменить заменить

#define TEMP_TIMER_NUM 2

на

#define TEMP_TIMER_NUM 3

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

Для этого:

в файле board.cpp

C:UsersGame.platformiopackagesframework-arduinoststm32STM32F1variantsgeneric_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:UsersGame.platformiopackagesframework-arduinoststm32STM32F1systemlibmaplestm32f1includeseries

заменить строку:

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

Ну и вот наконец:

Компиляция

Нажимаем на иконку и ждем успешной компиляции
В итоге должно получиться следующее:
6. Прошивка
Прошивка .bin в таблетку stm32 через STM32 ST-Link Utility

Файл firmware.bin после компиляции сохраняется в папку Marlin-bugfix-2.0.x.pioenvsluepill.

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

Выбираем бинарный файл с нашей прошивкой firmware.bin:
Сначала жмем коннект:
Потом делаем очистку памяти:
И нажимаем прошить:
По окончании прошивки отключаем программатор:
Отсоединяем 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
Чтобы их программно задействовать, нужно:

в 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-картой. И количество выходов-пинов, их тоже получилось впритык, ни одного не осталось в запасе.
На этом все.

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

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

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

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

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

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

Комментарии

20.11.2018 в 08:41
24

Офигенно. Именно такого я и ждал, и даже пытался из палок городить. Надо кооперироваться и заказывать пачку печаток у китайцев

12.12.2018 в 02:08
1

Здесь делают платы отличного качества и в срок [url]https://jlcpcb.com/  Шелкография отменная.
Главное при заказе обязательно файл с отверстиями прикладывать (даже если на плате и не придусмотрено конструктивно отверстий)
 и второе это указать Отчество (по Российскому законодательству), что - бы не зарубили на таможне. Если по каким либо причинам нет каковой графы в форме (как впрочем и на других ресурсах) забиваем в графе компания. Надеюсь информация кому и пригодится.

26.02.2019 в 19:36
0

Немного некропост, но уточню, что отчество для международных отправлений как не требовалось, так и не требуется, в соответствии с международными почтовыми правилами. Только для внутренних, и то, если оно вообще есть. В РФ наличие отчества не является строго обязательным, от него вполне можно отказаться. В большинстве стране иметь отчество не обязательно, в некоторых - оно вообще отсутствует как понятие. Законодательство тут вообще ни при чём.

20.11.2018 в 08:48
4

Я такую на макете  собрал где то полгода назад. Сейчас рисую плату под распайку драйвера на spi и 3+ голов. В принципе мне stm32 больше нравится чем остальные 32битки.

20.11.2018 в 08:55
7

Достойно для РепРапа

20.11.2018 в 08:58
9

Небольшое пожелание. Сделайте возможность не только установки выводных резисторов, но и площадки под 1206 или 0805.

20.11.2018 в 18:55
4

1206 - перебор. 0805 - самое то для пайки ручками не расслабоне. Хотя у меня, последнее время, всё больше 0402 идёт в ход.

20.11.2018 в 20:25
4

Так ручки и глазки у всех разные. Но да, 0805 оптимальны.

20.11.2018 в 09:09
6

Спасибо, за подробное описание.
Пока для меня много непонятного, но думаю в будущем очень пригодится.

20.11.2018 в 09:21
9

Интересный проект. Если будете заказывать платы, я бы тоже взял.
Жду продолжение стать с подключением и печатью.

20.11.2018 в 09:44
6

Все классно, очень интересный проект, купил бы платку. От себя хотелось бы, как писалось выше возможность установки smd элементов и больше выходов для разных датчиков (датчик филамента, bltouch и тд), ну и версию на 2 головы, не знаю, хватит ли gpio, но вышло бы классно
И предохранитель по питанию не помешал бы

20.11.2018 в 09:54
2

Немного офтоп: а можно 3,3V модули (как у вас) программировать через ArduinoUno или переходник такой обязательно ещё покупать?

20.11.2018 в 10:37
5

У STM32 есть штатный функционал прошивки через COM порт.
ST-Link удобнее (не нужно переставлять перемычки), но без него вполне можно обойтись.

20.11.2018 в 10:47
3

Проще купить ST-link, он кстати на той же самой STM32, и по цене такой же как Blue Pill.

24.11.2018 в 19:16
1

можно зашить прошивку с бутлодером и шить что угодно и как ардуину

20.11.2018 в 10:06
9

Прям гикпорно. Можно на хабр выкладывать, думаю там найдутся ценители...

20.11.2018 в 10:08
3

круто! а что лучше этот стм или есп32 (есп32 можно сюда?)?

20.11.2018 в 11:29
2

Даже 8266 быстрее STM32, но нет столько GPIO.  ESP32 этим тоже не блещет.

20.11.2018 в 15:42
3

Был такой проект для esp32 

ESPRamps
и топик на MarlinFw
Marlin for ESP32

20.11.2018 в 15:46
2

а я вот наблюдаю как этот развивается -
https://github.com/bdring/Grbl_Esp32

20.11.2018 в 10:29
3

Очень хорошо!!! А схему можно посмотреть? И еще размеры новой платы какие?

20.11.2018 в 10:49
2

Да, конечно.
Размеры чуть больше, 100х80мм

Схема еще не закончена, вот текущий вариант:

20.11.2018 в 11:07
2

Спасибо большое! Плату надо делать не больше 100х100 мм. А почему схема не закончена? Какие еще вопросы осталось закрыть?

20.11.2018 в 11:25
2

Новая плата пока на этапе испытаний, и в процессе этих испытаний возможно что то придется изменить в схеме.
Но об этом будет в новой статье. Скоро.

21.11.2018 в 09:49
2

Неужели скоро мы увидим Фрибот макс на STM32?

20.11.2018 в 12:33
4

Не обязательно. Могу у китайцев заказать платы любого размера (в пределах разумного), выйдет в пределах 10$ за 10шт.

20.11.2018 в 13:10
2

Да, да, именно у китайцев!

20.11.2018 в 13:17
5

Если плата размером меньше чем 100х100 и двухслойка, то 10 плат на easyeda.com получаются за 2$  (0.2$ за плату при отличном качестве).

20.11.2018 в 13:20
4

Если плата размером меньше чем 100х100 и двухслойка, то 10 плат на easyeda.com получаются за 2$ (0.2$ за плату при отличном качестве).
Я в курсе так то. Только не вижу смысла ужиматься в 100х100, если платы 150х100 двухслойки можно сделать 10шт за 10$
Не велика разница в цене для конечного потребителя (учитывая почтовые расходы и пр), а удобство размещения модулей на плате может пострадать.

20.11.2018 в 19:25
3

+ доставка долларов 15.

20.11.2018 в 19:27
4

СПАСИБО. Очень здорово. Недавно смотрел аналогичный проект четырёх летней давности. Но там не было так по шагово расписано ,как у вас. Давно хочу на СТМ32 заделать плату управления под марлин. Сейчас MARLIN 2.0 bugfix у меня на двух принтерах стоит на одном MEGA2560, на другом  DUE+RAMPS 1.4. С удовольствием мегу поменяю на СТМ. А прошивка одна - но настройки под каждый принтер разные. Использую MARLIN 2.0 bugfix  - чтобы с не мучатся с разными МАРЛИНАМИ.

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

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

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

Про энкодер - можно не дописывать при SSD1306, а использовать настройку экрана
[SIZE=3]'TinyBoy2 128x64 OLED'. [/SIZE]

[SIZE=3]Энкодер на RAMPS соединяется с небольшой поправкой: [/SIZE]

[SIZE=3]D31 - SW
[/SIZE][SIZE=3] D35 - CLK
D37 - DT[/SIZE]

20.11.2018 в 20:03
3

Там по ссылке у автора есть исходник, но он в .pcb.
Открывается и редактируется в PCB

20.11.2018 в 20:17
2

Да, спасибо. У них там в .pdf картинка платы есть. Можно печатать и переносить на плату утюгом.
Вот ссылка на платы
[url]https://github.com/pscrespo/Morpheus-STM32/releases

20.11.2018 в 10:38
3

Спасибо За замечательную статью. В избранное.
пару вопросов:
1. с кинематикой coreXY будет работать? или как для ардуинки - настраивается в прошивке.
2. с октопринт дружит?

20.11.2018 в 10:50
2

Да, как раз на CoreXY и проверял, работает.
Октопринт еще не прикручивал.

20.11.2018 в 10:52
2

спасибо

20.11.2018 в 10:47
2

По платам, могу легко изготовить, вот пример работы

пишите в личку

20.11.2018 в 12:20
2

С металлизацией?

20.11.2018 в 19:05
2

нет :) фрейзеровка

06.01.2019 в 15:50
1

чесгря трындец качество. Я на ЛУТе лучше делаю

19.04.2019 в 21:30
0

фоторезистом качество значительно лучше выйдет )))

20.11.2018 в 11:27
2

А что в реальности даст переход на эту платформу? Насчет плат - блин да при желание все это можно легко распаять на макетке проводами, чай не промышленное производство..... но вот я думаю чисто практически - что дает данное решение? 

А в свете того, что если RAMPS используется под KLIPPER - дает ли оно тоже чего, кроме гемора?

20.11.2018 в 11:51
3

На синюю таблетку тоже можно поставить клиппер, а вот это уже что-то даст, по сравнению клиппер+рампс! Частота стэпов в 3 раза выше.

20.11.2018 в 12:13
2

Если Вы имели ввиду драйвер клиппера - то он у меня прекрасно живет на mega 2560 и вроде тьфу тьфу частоты степов хватает......

20.11.2018 в 12:24
2

А у меня на нано с атмега328, но запросы у всех разные. Некоторым микростепинг на 256 подавай без интерполяции.

20.11.2018 в 19:08
3

Пока в прошивках не перепишут ВСЁ (в первую очередь - геометрию) на 32 бита с учётом возможного наличия или отсутствия FPU - ничего не даст. Толку от 32бит, если на них выполняется код, оптимизированный для восьмибитного камня, который не умеет даже умножать? Тактов тратится столько же, точность не улучшается. Разве что, на дельту можно свистелок-перделок наприкручивать, и она даже не будет заедать при обновлении экрана.

20.11.2018 в 23:08
3

Умножать он умеет (правда, целые числа). Он не умеет делить. Вроде как на уровне исходника умножение одинаково что для арма, что для аврки. Компилятор должен сам все это разруливать. В любом случае насчет ничего не даст я бы так громко не заявлял, все таки разрядность выше и частота, даже если они и делают все программно оба, прирост будет ощутимый.

XOR
21.11.2018 в 08:16
3

Да, косякнул, не за тот камень подумал :) Но! Компилятор ассемблерный код с кучей умножения и деления на сдвигах не разруливает. Повторюсь - разрядность не даст НИЧЕГО, пока исходники не будут переписаны полностью. Там же в 90% случаев 24 из 32 бит просто не используются. Код в куче мест ограничен восьмибитными переменными для экономии тактов. Пока что, выигрыш получается исключительно за счёт частоты. Ну, я про открытые проекты, само собой. Проприетарщина уже много лет как на 32 битах с FPU сидит.

21.11.2018 в 10:47
3

Поэтому я и ушел на KLIPPER - 'плавная математика' перемещений + автономность + не требователен к железу принтера + PRESSURE ADVANCE, который сводит к нулю танцы с бубнами в слайсере по поводу текучести пластика для разных параметров печати....

21.11.2018 в 21:47
2

В марлине pressure advance есть уже очень давно :) И расчёт ускорения в виде кривой Безье для прохода углов. И оно прекрасно работает на 256 меге вместе с экраном :) Правда, не дельта, а картезиан.

22.11.2018 в 11:57
2

Увы опыт использования марлина на 2560, показал, что результат далек до клиппера по качеству печати и по скорости. При одних и тех же настройках.

24.11.2018 в 07:37
1

Естественно, но только на акриловом дрыгостоле :) Ему клиппер - что мёртвому припарки :)

26.11.2018 в 12:00
0

Вы не поняли - печатал на H-BOT, установил клиппер - и удивился насколько стало лучше и быстрее!

20.11.2018 в 12:20
3

я свай проект на STM32F103RET6 делаю памяти больше 512к и выходов больше под все хотелки хватит

20.11.2018 в 15:46
2

Проект полностью свой или на базе Marlin и т.п.?

20.11.2018 в 17:03
3

затачу его под Klipper , так как у меги уже ресурсов нехватает

22.11.2018 в 21:51
2

Надо будет таки про свое написать, на lpc1768 с эзернетами.

20.11.2018 в 13:00
2

Кладезь полезной информации, большое спасибо!

20.11.2018 в 13:11
2

Интересно, а с дельтой будет работать, памяти хватит?

20.11.2018 в 13:33
2

Отличная статья.
Учитывая небольшое количество ног у Blue Pill, есть идея: отдельно плата для моторов, отдельно для нагревателей и вентиляторов. Управлять всем через Клипер.

20.11.2018 в 13:53
2

Я тоже подумываю дельту на 32-бита перетащить.
Вот изучаю варианты и этот вариант мне очень интересен.
Синяя таблетка в наличии, хотя это мелочь, как и всё остальное
Так кто крайний за платкой? )))

20.11.2018 в 17:22
3

С дельтой не все так радужно.
Математика дельты сильно больше места требует.
Насколько я помню, в 128КБ уложиться получается, но на экран и SD курту места уже на остается.
Поэтому или печать с компьютера или MKS TFT.

jmz
20.11.2018 в 19:40
2

Жаль...

20.11.2018 в 20:01
2

Есть плата на STM32F103RET6 за 7$. В нее и математика влезет и ног больше.

jmz
20.11.2018 в 21:42
2

По сравнению с Blue Pill, цена в 3 раза...
Не критично, конечно. Но учитывая что нужно ещё новую борду ваять и прошивку пилить....

20.11.2018 в 19:11
2

Для дельты лучше брать камни с FPU, а это линейка F4. Но, опять же, ждём прошивок, где всё это будет нормально использоваться.

20.11.2018 в 21:20
2

Сорри за невежество. А что есть FPU?

20.11.2018 в 21:41
2

блок для вычислений с плавающей точкой в процессоре.
В более простых камнях все вычисления по сути целочисленные.

20.11.2018 в 21:44
2

Понял. Спасибо.

20.11.2018 в 19:45
3

Сейчас попробовал скомпилировать дельту, с отключенным дисплеем и SD-картой, не хватает 2,5кб..
Вроде отключил всё не нужное, что можно было отключить, но возможно что то еще можно.

20.11.2018 в 20:52
4

У меня не самая свежая версия Marlin и другая распиновка (общая линия En для всех шаговых двигателей)
Конфигурационные файлы из configexamplesdeltageneric

Отключены в 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)

jmz
20.11.2018 в 22:01
2

То есть дельта все же умещается в Blue Pill. Правда без плюшек.

20.11.2018 в 21:17
2

Да уж. без дисплея и карты как-то грустно. Если только с какой-тоPi  печатать.

20.11.2018 в 14:10
2

Ага купишь плату а у тебя она окажется не на 128 клобайт а 64 еще купишь опять на 64 и так ты выйдешь за бюджет штатной 32 битной атмеги где уже ни что самому пилить не надо и прошивку ковырять тож не нужно.

20.11.2018 в 18:31
3

Да не, у китайцев они все на 128кб, проверял разные от трех разных продавцов.

22.11.2018 в 11:51
2

А вот выйдет новая версия прошивки и опять с бубном плясать? Подсчитывал разницу между arduino due -сама плата стоит 13 баксов сам шил 2 и того 15 баксов экономия в 5 баксов с риском что может прейти не то и танцами с бубном. Если я ошибаюсь готов выслушать критику в свой адрес.

22.11.2018 в 13:13
2

С новой версией прошивки багов меньше, танцев с бубном думаю не будет. Да и, возможно, кое что в статье уже будет не актуальным.
По поводу рисков лотереи попасться на оригинальный STM32F103C8T6, у китайцев есть и STM32F103CBT6  в продаже, правда в два раза дороже, чем STM32F103C8T6.

22.11.2018 в 14:17
2

Ну вот я и говорю можно сразу взять ARUINO UNO то на то и выйдет и RAMPS 1.4 переколхозить под прошивку и с выходом новых версий не нужно так конкретно ковырять прошивку.

22.11.2018 в 16:39
2

взять ARUINO UNO то на то и выйдет и RAMPS 1.4
Ну, если вам так удобнее, это ваше право. Я же ничего не навязываю, я просто поделился опытом, по сборке шилда Morpheus-STM32.

25.12.2018 в 10:40
0

Прочитал статью, перешёл по ссылке на ali, заказал платку. Вчера получил, подключил - ST-LINK Utility пишет, что 'Flash size - 64KBytes'. Печалька... Больше месяца ожидания - 'коту под хвост'...
(Может там на самом деле и 128К, но 'перемаркировали' при непрохождении всей памяти  теста на 'нестабильность')

25.12.2018 в 11:32
0

Все так и есть, ST-LINK Utility определяет что 64кб, но на самом деле там 128кб.
Прошивка в 128кб шьется без проблем.

Я об этом написал в статье.

25.12.2018 в 11:57
0

Фразу 'В логе пишет, что типа у таблетки всего 64кб, но это не так, там 128кб.' я видел, но воспринял её как просто ошибку вывода  лога. Но когда  ST-LINK Utility читает это из чипа - начинаешь сомневаться в стабильной работе всего устройства с негарантированно-рабочей (физически, а не логически) прошивкой. (IMHO)

20.11.2018 в 16:55
4

Действительно работает! Спасибо за статью! Я счастлив!

20.11.2018 в 17:21
5

Реквестирую освобождение памяти заменой телевизора 12864 на экран 2004 i2c.
У китайцев вроде видел мелкие и олед.

20.11.2018 в 17:52
4

Там проще ненужные либы отключить

20.11.2018 в 19:54
3

Ссылкой на мелкие 2004 i2c не поделитесь? Мне мелкие OLED только 12832 попадались.
А классические LCD 2004 и 1602 с i2c переходником на STM32 работают.

jmz
20.11.2018 в 20:06
2

мелкие OLED только 12832 попадались
Вы правы. Мелкие ОЛЕД либо 12864, либо 12832 разных диагоналей. Видать с ними попутал. Мелкие 2004 только вот или вот, но ценник не гуманный.
классические LCD 2004 и 1602 с i2c переходником на STM32 работают
Ну значит классический 2004 и поставим.

20.11.2018 в 18:06
3

Всем привет, такой вопрос, есть ли интерес к плате 32бит, со следующими характеристиками:
Силовая часть - рампс1.4 с заменой транзисторов на открытие от 3.3в, контроллер подключается как обычная мега, снизу.
4 шаговика, 3 концевика, 2 термистора (или термистор + термопара по spi), 3 шим (хотэнд, стол, обдув), СД-карта. Дисплея нет (можно подключить esp8266 или msk tft по uart), софт - марлин (много памяти, любая конфигурация), управление через хост или автостарт печати с флешки.
Цена чипа около 300р, цена обвеса для подключения к рампс - рублей на 200-300, включая замену транзисторов на рампсе.
Если интерес есть, закончу проект и распишу статейку.

20.11.2018 в 20:12
3

Статейку в любом случае напишите.

21.11.2018 в 09:36
2

Силовая часть - рампс1.4 с заменой транзисторов на открытие от 3.3в
А нельзя там сразу добавить выход на 5В, чтобы на рампс ничего не перепаивать? По сути доработки копеечные

21.11.2018 в 11:22
2

Если делать драйверы для транзисторов, то уж сразу 9-12В, чтобы даже стоковые транзисторы рампса открывались полностью и не грелись как утюги. В принципе, вариант.

23.11.2018 в 22:34
2

В принципе, вариант.
Проще замутить промежуточный 'этаж', согласующий уровни и напряжения между STM32 и RAMPS.

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

А?

20.11.2018 в 18:09
4

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

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

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

Для подключения RX/TX можно освободить пару пинов для второго канала USART1, ...
...
Можете перепроврить в статьях уважаемого eta4ever-а, на MKS-TFT28 и 32 имеется встроенный разъём для WiFi.
Так что если всё 'срастётся', то можно и одним UART обойтись.

ski
23.11.2018 в 20:34
1

а зачем всем за комментарии лайки ставить?
PS: я просто им завидую = З

23.11.2018 в 21:02
2

а зачем всем за комментарии лайки ставить?
Охотно поясню как я пользуюсь своими полномочиями гуру-модератора.

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

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

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

Лучше посочувствуйте.

ski
25.11.2018 в 01:08
1

Лучше посочувствуйте.
после 70% лайков у меня уже начала голова крутиться, только на говорите что лайк человека с рейтингом 2 относительно вашего ничего не значит ахахха

20.11.2018 в 19:37
1

Всё классно.
НО можно было сделать наверное просто переходник с СТМ32 под рампс по типу меги. Переделка РАМПС под ДУЭ у многих отлажена.

Я Вот сижу и думаю спаять плату переходник под рампс на монтажной панели. Использую вашу прошивку. То есть на все ресурсов не хватит - но подключить -то на что есть управление.  Получится дешево и сердито.  

20.11.2018 в 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.2018 в 21:52
2

А можно готовый бинарник ? хочется пощупать в живую.

20.11.2018 в 22:26
3

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

21.11.2018 в 04:04
3

Спасибо за статью! Идеальное решение для клиппера. Только задумался над таким и вот оно. Пинов можно подкинуть еще одной копеешной платой PCA9685 через I2C.

21.11.2018 в 10:51
2

а как быть со скоростью? через i2C будут задержки......... сдается мне все преимущества сойдут на нет

21.11.2018 в 14:56
2

Пропеллеры, нагреватели, сервы, светодиодные ленты спокойно вешаются туда, на задержку на них можно не обращать внимание.

21.11.2018 в 15:07
2

Пропеллеры только один и тот требует ШИМ.....

21.11.2018 в 15:06
2

Сервы точно нет, нагреветали под вопросом...... остальное согласен.

23.11.2018 в 14:16
2

PCA9685 это 12-битный PWM/Servo driver

21.11.2018 в 14:36
3

Сделал всё по статье и моя текущая прошивка на МАРЛИНЕ 2.0 на ХУ-коре прогрузилась и даже быстрее, чем на АРДУИНО ДУЭ.

21.11.2018 в 15:14
3

Судя по картинке, у вас дисплей на другом контроллере.
В Configuration.h замените #define U8GLIB_SSD1306 на  #define U8GLIB_SH1106

jmz
21.11.2018 в 15:29
2

Экран 1,3 дюйма. Раньше пробовал U8GLIB_SH1106   - на нём не запустился. Хотя завтра попробую на этой прошивке. Раньше пробовал на Марлин Кимбре и не на чём другом он не запускался, кроме SSD1306. Хотя да у китайцев указан U8GLIB_SH1106 и написано, что и SSD1306 работает с ним.

[url]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.2018 в 16:27
5

У контроллера SSD1306 видеобуфер 128x64 точки.
У SH1106 - 132x64, но сам дисплей при этом 128x64. С драйвером от SSD1306 дисплей работает, но картинка получается сдвинута на 2 точки.

jmz
21.11.2018 в 18:26
3

Спасибо за совет. Перепрошил на SH1106 - всё скомпилировалось и экран заработал корректно.

21.11.2018 в 15:41
1

Жаль под один экструдер.
Плата  ЛУТом разводится на раз, паяется на два..

26.11.2018 в 16:31
0

Марлин может управлять несколькими платами. Один из вариантов: ось Z на другой плате сделать. Будет 2 платы, но при цене 2 доллара это, пожалуй, приемлемо.

21.11.2018 в 21:15
2

кстати просмотрел щас Марлина 2 там уже прописана плата STM32F103RET6 так что жду плату буду ваять сначала на  нем потом в клипере пробовать буду, даже пример конфигурации есть в марлине

22.11.2018 в 21:01
2

Извините, не в курсе разницы всех STM, но пока читал статью и комментарии, в голове крутился вопрос: - 'Почему не STM32F4'?

22.11.2018 в 21:30
2

цена

22.11.2018 в 21:54
2

STM32F103 вполне достаточна для работы принтера, и это самый дешевый вариант, в случае выхода из строя контроллера, замена обойдется всего в 2$.

23.11.2018 в 13:07
1

это самый дешевый вариант, в случае выхода из строя контроллера, замена обойдется всего в 2$.
Американцы/англосаксы говорят в таких случаях:
'thrashable'.

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

'одноразовый', типа 'Ардуино мега', 'который-не-жалко'.

22.11.2018 в 22:12
1

Маленькое замечание насчет цен.

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

'Спортивный интерес' - понимаю, 'не догнать, так согреться' - понимаю

29.11.2018 в 00:39
0

Это творчество.

23.11.2018 в 01:33
3

Дружище, чтобы больше не мучиться с травлением хлорным железом три часа, прочти эту статью -https://radiokot.ru/lab/hardwork/62/ и трави за 3-5 минут.

23.11.2018 в 07:27
2

Вы про перекись водорода с лимонкой?
Попробую.

23.11.2018 в 08:50
4

Да, слегка подогреть раствор ещё можно, тогда точно, быстро и качественно.

23.11.2018 в 03:26
2

на разъемах под винт есть пазы, они друг с другом соединяются до монтажа, чтобы было ровненько

23.11.2018 в 12:22
1

Да, спасибо, я думал там прямой паз. Теперь намного лучше :)

23.11.2018 в 14:19
2

Просто спасибо тебе человек за такую полезную статью и проделанную работу!

23.11.2018 в 16:08
2

Поделитесь пожалуйста готовым бинарником под MKS TFT и 3D Touch.Пробую компилировать,выбивает одни ошибки.Под COREXY

23.11.2018 в 16:49
2

А можно ссылку на ваши файлы Configuration.h и Configuration_adv.h?, посмотрю компиляцию у себя.

23.11.2018 в 17:16
2

https://drive.google.com/open?id=13UADmVtI-yLr8ZVOm8xcpkP1zZB1e35L по ссылке мой марлин что в версии 1.1 рабочий, в другой папку  что пробую скомпилировать.

23.11.2018 в 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.2018 в 20:02
2

Эта ошибка про не хватку памяти?,Или у меня где то в настройках есть ошибка?

23.11.2018 в 20:27
2

Пишет, что не хватает 724 байт.
Я пробовал отключить еще #define THERMAL_PROTECTION_HOTENDS,
но даже в этом случае не хватает каких то жалких 60 байт..

23.11.2018 в 20:47
2

А где отключить шим на вентилятор обдува?Я всё равно его не ставил, может поможет ?

23.11.2018 в 21:01
3

Если не ошибаюсь в pins_MORPHEUS.h прописать так:
#define FAN_PIN  -1

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

23.11.2018 в 21:20
4

Большое Спасибо,с компилировалось. Сажусь паять плату,о том что вышло отпишусь.

24.11.2018 в 11:38
2

Спасибо автору за статью и за ссылки на плату!

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

24.11.2018 в 11:43
1

Пытался Китайцам заказать изготовление платы - они написали мне, что PCB файл из архива ГИТХАБА не открывается.

24.11.2018 в 12:04
1

Спросите у китайцев, с каким расширением требуется файл, все сделаем.

24.11.2018 в 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.2018 в 13:18
2

Pls kindly re-check it and send me the gerber file with format RS274X
Открываем файл в программе PCB.
Делаем Export в Gerber: получаем новые файлы:

24.11.2018 в 12:37
1

Но я уже спаял и мне пока , как бы этого хватит поиграться. Я хотел чтоб китайцы готовый шилд начали сами паять и продавать. Надо нормальный файл  Каким-нибудь специализирующимся на продажах шилдов китайцам заслать - пускай налаживают продажи и продают по одной штуке.

24.11.2018 в 16:25
2

Добрый день, уважаемые коллеги!

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

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

Что я делаю не так?
Может есть какие-то ньюансы в конфигурировании SD карты?

24.11.2018 в 17:11
3

Есть нюанс и он именно при компиляции с дисплеем  i2c. Не работает автоматическое считывание карты.
Надо в ручном режиме сперва нажать 'Инициировать карту'. После этого через секунду две появится в меню 'печать с карты'. Это не связано с СТМ32. У меня МАРЛИН 2,0 с таким экраном стоит и на Меге - столкнулся с этой проблемой. Потом плюнул и решил , что лучше нажимать ручную инициацию карты, чем жить с медленным интерфесом. Автомат определения карты начинает работать, если поставить замедление интерфейса в 4-8 раз. 

24.11.2018 в 17:43
2

К большому сожалению, все равно не работает.
Нажимаю 'Инициировать карту', жду, опять нажимаю, ноль эффекта.
Я думаю, что проблема может быть в реализации SPI шины.

24.11.2018 в 18:07
2

Сейчас проверил:
1. Стандартный пример из ардуино спокойно на этой плате читает эту карту.
2. Пробовал в настройках Марлин поставить половинную, четвертную и т.д. скорость SD карты, все равно нет эффекта.

24.11.2018 в 19:57
3

Видимо в марлине разработчики чего то накрутили, будем разбираться.

24.11.2018 в 21:00
1

все равно нет эффекта.
Приведите фото картонки упаковки карты SD.
Class-10 ещё мало о чём говорит, равно как и FAT-32.

24.11.2018 в 23:44
1

в файле pins_MORPHEUS.h заменить строку
#define SDSS PA3
на
#define SDSS PA4

24.11.2018 в 18:49
2

В диспее  MKS TFT кроме тх и rx на шлейфе выходят провода маркированные А1 и А3. Какое их предназначение?Обязательно подключать?

24.11.2018 в 19:58
2

Нет, подключать только RX, TX, GND

24.11.2018 в 23:08
1

Прошу прощения, чтобы SD-карта работала, нужно в файле pins_MORPHEUS.h заменить строку
#define SDSS    PA3
на
#define SDSS    PA4

25.11.2018 в 03:38
0

SDSS-Куда подключаем?

25.11.2018 в 10:56
0

Ни куда, на свободный пин PA3, который на плате подписан как SDSS можно подключить SD_DETECT если конечно такой контакт имеется на модуле SD-карты. Ну и естественно в pins_MORPHEUS.h прописать его как #define SD_DETECT_PIN    PA3.

20.12.2018 в 22:59
0

Поделитесь Плиз архивом вашего варианта прошивки Марлин, ни в какую не удается инициализировать карту так же как и коллеги olegr.
Карточка нормально читается в прошивке Марлин 1.1.8 на рампс 1,4, также видятся файлы на этой флешке STM32 стандартным примером из Ардуино с тем же подключением что и в Марлин 2,0.

25.11.2018 в 08:14
0

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

25.11.2018 в 09:21
0

Нагрев стола включается с задержкой, да, не понятно почему. Какая то программная задержка.
Все остальные выходы срабатывают сразу, при включении.
Кстати, на нагрев стола подключается отдельное питание мосфета. Клемник VIN_BED.

25.11.2018 в 09:35
1

Поделитесь, пожалуйста, что Вы сделали, чтобы у Вас заработала SD карта?
заменил #define SDSS PA3 на #define SDSS PA4,
вручную инициализирую через меню, карту не видит.
А стандартный пример из Ардуино, насмехаясь, прекрасно читает файлы.
И да, эта же карта читается на принтере, в марлине 1.1 на avr

25.11.2018 в 11:11
1

Попробуйте провода МОСИ МИСО местами поменять и проверьте правильность подпайки. У меня заработало сразу. Я ничего дополнительно кроме замены #define SDSS PA3 на #define SDSS PA4 не делал. Но у меня прошивка на МЕГЕ отлаженная. Т. есть  - я тут рабочую прошивку со своего принтера гоняю.

25.11.2018 в 15:38
1

При том же самом подключении, зашитые из Ардуино примеры работы с SD картой прекрасно работают

25.11.2018 в 17:55
1

Отформатируйте карту FAT32 размер кластера 64кб

20.12.2018 в 22:49
0

Вам удалось запустить SD карточку?
У меня та же история, примеры скомпилированные из Ардуино работают при том же подключении. А в Марлине не получается инициализировать карту.

в файле MarlinsrcHALHAL_STM32F1spi_pins.h
жестко прописан (это не мое изменение, так было изначально)
#define SS_PIN    PA4, так что манипуляции с #define SDSS PA3,  #define SDSS PA4 в файле pins_MORPHEUS.h не могут влиять.

25.11.2018 в 12:34
3

Испытываю новый вариант платы, с дополнительными разъемами EXP1, EXP2, USB-B.
Подключение дисплея REPRAP_DISCOUNT_SMART_CONTROLLER к параллельной шине прошло успешно.
Далее, проверка подключение к MKS_MINI12864.

25.11.2018 в 15:36
0

Интересно. То есть ног на все хватило? На экран, энкодер , карту памяти?
И как карта памяти работает? Нормально - без подтормаживаний?

Если можно - то на какие пины посадили контакты?

25.11.2018 в 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.2018 в 20:03
0

А можно на ваши файлы Configuration.h и Configuration_adv.h для REPRAP_DISCOUNT_SMART_CONTROLLER посмотреть ?

26.11.2018 в 20:44
0

Там ничего особенного, просто в Configuration.h включил REPRAP_DISCOUNT_SMART_CONTROLLER.
И в pins_MORPHEUS.h прописал пины, которые выше.

26.11.2018 в 20:51
0

Я его тоже включил, но у меня по экрану 'крякозяблы' лезут. Пины под себя настроил, может еще что забыл

26.11.2018 в 21:02
0

Ну видимо пины не верно подключены.

25.11.2018 в 16:28
0

Я тут посмотрел, стандартную плату можно на LCD12864 вообще без проблем перецепить. Там нужно - Три сигнальных контакта - это можно использовать два от ОЛЕД дисплея и один контакт от Z пробы, или А11 - вроде свободный. Но надо 5 вольт. Я так понимаю что на STM32 5 вольт только , когда есть питание от USB а если питание от 12 вольт, то есть только питание 3,3 вольта после кренки. То есть надо кренку менять на 5 вольт, менять подводку с клеммы 3,3 вольта на 5 вольт - подключится внутренняя кренка 3,3 вольта на СТМ32, а питание на экран и на карту памяти подать 5 вольт. И если делать подтяжку на энкодере, то там подать 3,3 вольта - можно делителем 5 вольт порезать.........
Но вот стоит ли ОВЧИНКА ВЫДЕЛКИ............
Будет ли карта памяти нормально работать???? после всех этих переделок. Хотя реально всех переделок -кренку перепаять и три проводка подпаять..... Ну и прошивку поправить.

25.11.2018 в 16:59
0

Будет ли карта памяти нормально работать???
А что у вас, за проблема с картой?

25.11.2018 в 17:17
1

Он работает, но Медленно очень работает. Тормозит , с задержками по 5-6 секунд после нажатия.
А у вас как карта отформатирована?

Кстати есть экраны ЛСД12864 на 3,3 вольта - тогда и кренку перепаивать не надо. И колодка почти без изменений- там есть два штырька на землю. Можно один штырек на землю оставить , а второй под сигнальный провод экрана использовать.

25.11.2018 в 17:23
1

Отформатирована в FAT. Карта на 1Гб.

25.11.2018 в 18:50
0

Прошивка Marlin 2.0 последней версии?
Проблем с картой не должно быть.

26.11.2018 в 07:11
1

STM32 Marlin не поддерживает LCD12864, точнее, его не поддерживает U8glib-HAL библиотека.
Выбор графических экранов ограничен I2C моделями на контроллерах SH1106 и SSD1306.

jmz
26.11.2018 в 10:01
0

Ну да сходу не решается.
Но есть
[url]https://github.com/refugeer/stm32_st7920_u8g2

Только у меня сейчас нет на Руках LCD12864.

Вчера купил на АЛИЭКСПРЕСС - LCD12864 на 3,3 вольта. А также заказал МЕДЛЕННУЮ SD-карту на 1 ГБ. Когда приедет всё - потестирую. Если ещё интерес будет, то дальше продолжу с ЭТИМ шилдом возиться. Но сейчас у меня есть несколько альтернативных 32 битных шилдов в запасе. И они работают по стабильней. Это MKS sbase  и DUE+RAMPS1.5.
Плюс лежит экран MKS TFT24' - эго можно будет подцепить, хотя пробовал его, но снял - мне не понравилось с ним принтер эксплуатировать. Но как вариант для СТМ32 вполне. 

26.11.2018 в 10:42
1

Но есть
https://github.com/refugeer/stm32_st7920_u8g2
Этот код написан для STM32 CubeMX окружения, для stm32duino он не годится.
Только у меня сейчас нет на руках LCD12864.
У меня тоже нет. Графических экранов у меня всего два - 0.96' SSH1306 и 1.3' SH1106, оба с I2C шиной, поэтому
Выбор графических экранов ограничен I2C моделями на контроллерах SH1106 и SSD1306.

25.11.2018 в 17:52
1

Нашел в закромах процессор 32F105RBT, STM заявляют о совместимость ядра в линейке  32F1хх. Есть разница в типе корпуса 103cbt[COLOR=#444444] - lqfp48, а у меня 105rbt -lqfp64, больше лап, но память такая-же, 128.[/COLOR]
[COLOR=#444444]Через Arduino выставил процессор 32f103rbt и получилось поморгать светиком.[/COLOR]
[COLOR=#444444]Как настроить Marlin в platformio для RBT процессора  ? [/COLOR]

26.11.2018 в 06:54
1

Непосредственно STM32F105RB stm32duino не поддерживается.
Для сборки под STM32F103RB в файле platformio.ini в разделе
[env:bluepill]
замените
board = genericSTM32F103CB
на
board = genericSTM32F103RB

jmz
26.11.2018 в 19:56
0

Спасибо, все получилось.

25.11.2018 в 21:18
1

Кстати вышла новая Версия МАРЛИНА 2.0 от 24 11 2018.При компиляции на 1кб меньше при тех же настройках.

26.11.2018 в 11:11
7

Поигрался в выходные с отладочной платой на STM32F103RE (типа такой https://ru.aliexpress.com/item/STM32F103RET6-ARM-STM32-Minimum-System-Development-Board-Module-For-arduino-Minimum-System-Board-STM32F103C8T6-upgrade-version/32783212996.html ). Марлин занимает чуть больше 35% . Все хотелки лезут со свистом. Кстати дисплеи без проблем запустились 2004 и Олед, а вот SMART контроллер на ST7920 в SPI моде работать не захотел. Проблема похоже в софтварной реализации SPI (пока не нашел до конца что там не так). В общем была мысля сделать вариант морфеуса (под ЛУТ и с девелоперской бордой) на STM32F103RET. Даже рисовать начал, но чет во время рисования получилась обычная материнка. Если кому интересно  https://easyeda.com/mmaygli/stm32f103-3d-printer-board . Плата немного недоразведена (т.к. еще есть вопросы по расположению разъемов и внезапно освободилось 2 пина). Но там всех делов примеро на один вечер. Из плюсов 2 экструдера, все мин/махы, UART (чтобы цеплять ESP8266), разъем под BlTouch (шаренный правда с ZMin, Zmax- на отдельный пинов не хватает), разъем под датчик окончания филамента. По деньгам сам процессор STM32F103RET (не отладочная плата) стоит примерно 120 руб (то же что и блю пилл). На плате блюе пилл есть немного компонентов, которые для платы на RET надо будет покупать (кварц, USB разъем, кнопка сброса и т.д.). Это точно не больше 50 руб. Плату конечно ЛУТом не сделаешь, но на тойже езиде платы получаются по 2-2.5 бакса c учетом доставки (если вписать в 100х100, то 1.5 - но я этого делать не буду :) ). Все остальное то же самое. Паяется все отлично руками. Желательно феном, но можно и обычным паяльником. Еще раз спасибо огромное 3dmaniack за статью.

26.11.2018 в 13:47
1

Ждал как раз чего-то такого. Блю пил после пары дней вау эффекта заметно потерял в обаянии (хоть дома и лежит в запасе). Все таки ему не хватает ног и памяти. Тык-впритык подходит далеко не для всех проектов. Должна быть универсальность. А STM32F103RE - это тема!

26.11.2018 в 18:13
2

Несколько замечаний по плате
- PB2 (BOOT1) подтянуть в земле, иначе при подаче VCC на BOOT0 возможна загрузка из RAM, вместо встроенного загрузчика.
- PB3 (SWO) имеет смысл оставить для отладки и вывести в диагностический разъем. И NRST туда же.
- Низкочастотный резонатор принтеру не нужен, он только зря занимает две ноги.
- Нет выхода под второй вентилятор (охлаждение термобарьера).
- В SWD разъеме нестандартный порядок выводов.

jmz
26.11.2018 в 18:27
1

Cпасибо.
- на BOOT1 резистор поставлю. Пропал во время какого-то изменнеия cхемы.
- SWO не могу вывести - лишних ножек нет. NRST выведу.
- Низкочастотного кварца и нет. Вместо него управление вторым экструдером.
- Есть разъем под второй вентилятор. Туда всегда подается питание. Опять же свободных ног нет поэтому так.
- SWD поищу стандартное расположение и переделаю. Цепляю всегда на отдельных пинах. Поэтому не заморачивался.   

27.11.2018 в 00:00
1

С низкочастотным резонатором я  ошибся,  принял за него горсть конденсаторов на VCC.
Разъем под второй вентилятор я имел ввиду управляемый, тут вопрос, что нужнее  - по два концевика на ось или управление вентилятором.

В 4-х контактном SWD разъеме порядок линий 3v3, SWDIO, SWCLK, GND.
Общие настройки микрошага могут создать проблемы при использовании разных драйверов XY, Z и E1/E2.

А с ногами да, засада. Я когда все свои хотелки записал, минимально подходящим чипом получился F407ZE.

27.11.2018 в 00:05
1

Еще имеет смысл продублировать на обратной стороне полигоны под полевыми транзисторами и U7, а  сами полигоны сделать с большим поличеством мелких переходных отверстий. Это улучшит теплоотвод.

jmz
27.11.2018 в 10:30
2

Сделал. В езиде нарисовал корпуса TO-262-2-COLD и TO-262-5-COLD с полигоном на нижнем слое и кучей отверстий. SWD сделал 3.3v SWDIO SWCLK GND NRST . 
Фактически там не по 2 концевика на ось получается. ZMAX, YMAX шаряться с BlTouch . На XMAX у себя на принтере предполагал повесить реле отключения.  
Про 407 тоже думал. Но там непонятно как с прошивкой быть. Марлина на Ардуино туда лить не хочется. Порт Марлина на HAL есть на сайте СТМ. Но насколько он рабочий х.з. И насколько Стм его поддерживает ап ту дайт (или небольшими усилиями получится поддерживать ап ту дайт) тоже х.з. Порт Смуфи на СТМ попадался на гитхабе. Но там последний коммит 2015 года. Еще как вариант безумной идеи налить Микропитон на 407 и попробовать запустить Клипер. Но там почти 100% будут проблемы с быстродействием. 

27.11.2018 в 21:08
1

Что-то не то случилось с дорожками в зажимным клеммам, слишком тонкие стали. И половина дорожек от полевых транзисторов уехала да другой слой.

А в остальном очень симпатичная плата.
Сегодня наткнулся на китайский вариант контроллера на STM32F103RCT6, ваш - лучше.
https://www.aliexpress.com/item/3D-Motherboard-Mini-84-76mm-STM32F103-2-4-2-8LCD-12V-24V-10-15A-100K-NTC/32894729520.html

jmz
27.11.2018 в 21:50
1

Плата пока не закончена. Это результат работы автотрассировщика - он перед началом разводки сносит все  дорожки либо косячит если ему запретить трогать то что разведено. Руками лень разводить ножки процессора. Всю силовую часть переделаю как было.

jmz
27.11.2018 в 23:45
2

Посмотрел на китайскую плату и понял что забыл SD-карту на плату поставить. У меня она на шлейфе вынесена. Поэтому EXT2  воткнул, а карту забыл. Попробую раздвинуть детальки и воткнуть.

jmz
28.11.2018 в 11:10
2

Карту добавил. Разводку практически сделал (осталось несколько надписей на разъемы на обратной стороне). Через пару недель буду заказывать свои платы заодно закажу и эти. Штук 5 на пробу.

28.11.2018 в 11:29
1

USB-B бы немного за пределы края платы вывести.

28.11.2018 в 20:17
1

Сделал версию с вынесенным юсб (3D printer motherboard USB moved). Но себе скорее всего буду делать оригинальную версию. Так что пусть пока обе живут.

26.11.2018 в 19:00
0

Мучил я MKS-TFT подружить с платой ,Не хочет она подружится по Rx и Tx.Может нужен делитель напр.? 

26.11.2018 в 20:58
0

Скорее всего делитель нужен, у MKS TFT 5v логика. Подключается RX-TX, TX-RX, GND.

26.11.2018 в 21:21
1

Делитель не нужен. Входы у СТМ толерантны к 5V. Обратно х.з. Но скорее всего тоже ниче делать не надо. Может скорость порта не правильно установлена ?

26.11.2018 в 21:29
0

Уважаемые коллеги, будьте внимательны!
Пины не все толеранты к 5 вольтам.
Вот ссылка на datasheet^ Pinouts and pin description STM32F103x8, STM32F103xB
Где в колонке 'I/O Level' стоит 'FT' - это пины, толерантные к 5 вольтам.

26.11.2018 в 21:54
0

Вот по этой
схеме более понятно, которые выходы толерантны к 5в.

26.11.2018 в 21:56
0

Да Вы правы. Если используется порт UASRT2 без ремапинга (выводы PA2, PA3), то нужен делитель на RX. Если USART1 или USART3 или ремапинг для USART2, то не нужен.

26.11.2018 в 21:09
0

Делитель надо строго подбирать на 3.3в ? Или нужно сопряжение на полевиках?

26.11.2018 в 21:15
1

Достаточно по паре резисторов. Но делить надо тот который в сторону 5v -> 3,3v, если не ошибаюсь.

27.11.2018 в 00:12
0

подключено к USART3,скорость выставлена одинакова и в дисплее и в скетче. Попробовать делитель припаять,не знаю как правильно.

27.11.2018 в 07:30
0

К сожалению у меня нет в наличии TFT и проверить не смогу, надо еще иметь в виду, что в дисплее тоже стоит почти такой же контроллер STM32, с 3,3-вольтовой логикой, и у него на входе RX/TX стоит преобразователь логических уровней, который преобразует 3,3->5в и наоборот, возможно он мешает. Может попробовать подключать напрямую.

27.11.2018 в 08:31
0

del

27.11.2018 в 18:50
0

Если подключено к USART3, то SPI наверно нужно переключить на первый.
Подключать TFT можно напрямую.

27.11.2018 в 20:31
0

Посмотрите,пожалуйста, ещё раз на файлы .Я подключал как Вы написали (RX/TX для MKS TFT вывел на пины канала USART3: PB10(TX) PB11(RX)

Z_MIN_PROBE_PIN на пине PB9
Добавил пин SERVO0_PIN на выход PC13). Может где не правильно? 
https://drive.google.com/open?id=1EufJXB-xlozTzU82aq4vpgcdfIVBvJF_

27.11.2018 в 21:33
0

Имел в виду I2C на первый переключить, чтобы освободить пины PB10, PB11 для RX/TX.
Перед компиляцией, в последней строке в файле Wire.cpp
C:Users\.platformiopackagesframework-arduinoststm32STM32F1librariesWire
пропишите TwoWire Wire(1)
Откомпилируйте и заново прошейте.
TwoWire Wire(2) это для подключения I2C дисплея SSD1306, вам же этого не нужно.

27.11.2018 в 22:17
0

У меня там так и стоит,ради интереса по новой пере компилировал и пере прошил.Не видит.

27.11.2018 в 22:31
0

Давайте фото вашего подключения дисплея TFT. :)

27.11.2018 в 20:03
1

Подключил дисплей MKS MINI12864. Карта работает, энкодер работает, дисплей показывает.

Большое спасибо пользователю JMZ
За разработку библиотеки под этот дисплей для контроллера Blue Pill!

28.11.2018 в 06:25
0

А подробности? Хотя я и не имею такой дисплей, но наверное , Для многих было бы  очень полезно - ссылка на библиотеку и как прописали подключения в прошивке. Куда добавили библиотеку? А поддержка русского языка  - есть?

Спасибо. Очень интересно.

28.11.2018 в 07:11
0

Подробности по новой плате будут в новой статье.
Библиотека уже на гитхабе, русский поддерживает. Библиотека подхватится автоматически при включении #define MKS_MINI_12864 в Configuration.h. Распиновка стандартная для MKS_MINI_12864, подключал штатными шлейфами в разъемы EXP1, EXP2.

27.11.2018 в 22:13
0

Вылезла новая проблема, загружал программу через переходник USB-COM. Дело дошло до USB и вот засада, система на видит COM порт с Marlinа. Пробовал ставить перемычки Boot0 и Boot1 по разному, при Boot0=1 и Boot1=0 в Диспетчере Устройств появляется STM Device in DFU mode.
При других положениях процессор запускается, но в Диспетчере Устройств  ничего не появляется. 
З.Ы. Порт PA9 (OTG_FS_VBUS pin) подтянут к +3.3v

28.11.2018 в 07:31
0

А по какой инструкции шили через переходник USB-COM?

28.11.2018 в 08:19
0

Шил вот по этой инструкции. Драйвера установил.

28.11.2018 в 09:40
0

Там вроде все правильно написано, если у вас пошло что то не так, значит что то сделали не так. Хотя там же в конце статьи автор пишет, что, то прошивается, то нет.
Пользуйтесь для прошивки программатором ST-Link, с ним проще и прошивается без проблем, без перетыкивания перемычек.

28.11.2018 в 13:07
0

ST-Link к сожалению нет, шить через проводки и перемычки не тяжело. Проблема в отсутствие СОМ порта в системе.

28.11.2018 в 21:19
0

ST-Link можно за пару минут сделать из такой же таблетки Blue Pill.
инструкция
Если конечно у вас есть еще одна лишняя таблетка.

30.11.2018 в 07:40
0

К сожалению нет, f105 случайно был найден в закромах ) Придется наверное заказывать ST-Link. Пока так буду экспериментировать .

28.11.2018 в 10:42
0

Я прошиваюсь именно по этой инструкции - у меня нет проблем. Кроме одной - неудобно было доставить плату STM32 из разъёмов в шилде. Напаял сверху четыре провода и доставать для пере прошивки теперь не надо.

08.12.2018 в 22:20
0

В общем, не стал заказывать ST-Link. У знакомых нашел F103C8T 48 лап, 64к памяти и F103VET 100 лап и 512к памяти. Через USB-COM залил Boot loader, оба контроллера сразу заработали, в системе появился Maple COM порт. 

Из C8T сделал по инструкции ST-Link V2, запустился сразу. Думаю, рисовать плату под 103VET, 512к.
С 32F105RBT смысл заниматься пропал в виду ограниченного объема памяти.

04.01.2019 в 13:54
0

А как прописали в конфиге? #define SERIAL_PORT -1 ?

28.11.2018 в 10:59
1

По работе карты памяти
Прочитав статью '32 бита для самых маленьких' , автор jmz.
[url]http://3dtoday.ru/blogs/jmz/32-bits-for-the-little-ones-part-one-the-hardware/

Нашел ссылку на
'Модифицированную библиотеку U8glib-HAL можно скачать с
[url]https://github.com/jmz52/U8glib-HAL/archive/stm32duino.zip'

Добавил в каталог  Marlin-bugfix-2.0.x - .piolibdeps

И Платформио начало компилировать прошивку с этой библиотекой. Компиляция прошла с меньшим количеством желтых надписей и гораздо быстрее. И прошивка меньше по размеру - 97,6% памяти заняла.

Также в этой стать про карты памяти было написано:
'

  • Смазанные фронты на SPI шине. SD карта не проходит инициализацию, если на линиях SCK и MISO не висит по дополнительному проводу.'
     Напаял в параллель к проводам SCK и MISO  ещё два провода потолще и карта 'класс 10 -8гб ' стала читаться. Хотя до этого не инициализировалась вообще никак.  И дисплей при чтении карты заработал хорошо и без задержек. То есть уже можно ставить как стандартный вариант.
     А с картой '16гб класс 4' - как были задержки и подвисания при чтении карты, так и остались.

  • 28.11.2018 в 11:16
    2

    Нашел ссылку на Модифицированную библиотеку U8glib-HAL
    Ссылка на модифицированную библиотеку U8glib-HAL и так уже добавлена в Platformio.ini (ссылка на Platformio.ini в статье выше). Эта библиотека кстати постоянно обновляется, поэтому перед компиляцией папку .piolibdeps лучше удалять. И тогда у вас всегда будет обновленная библиотека.
    Добавил в каталог Marlin-bugfix-2.0.x - .piolibdeps
    И Платформио начало компилировать прошивку с этой библиотекой.
    Это вы проделали вручную то же самое, что делает Platformio при  первой компиляции.

    28.11.2018 в 11:33
    1

    Не-е. Там другая сборка U8glib-HAL_ID1932 - использовалась. Специально при компиляции логи посмотрел. И разница в несколько сотен байт в размере готовой прошивки присутствовала. Но с изначальной прошивкой было больше сообщений - 'Переменная определена, но в программе не используется' .

    28.11.2018 в 20:22
    2

    Это та же самая библиотека. Pазница лишь в том, что на github она вчера обновилась (появилась поддержка MKS MINI 12864), а platformio обновления не проверяет. Для принудительного обновления надо удалить старую версию из .piolibdeps.

    jmz
    29.11.2018 в 10:03
    1

    Вот не поленился . Удалил всё из  .piolibdeps.  и скомпилировал прошивку. В компиляцию подтянулась библиотека U8glib-HAL_ID1932 . И карта памяти 8 ГБ класс 10 - не инициализируется .  Тут же удалил U8glib-HAL_ID1932  и скопировал U8glib-HAL-stm32duino
    и скомпилировал . Карта памяти стала инициализироваться и читаться.

    Может это работает потому, что:
    цитата из:
    [url]http://3dtoday.ru/blogs/jmz/32-bits-for-the-little-ones-part-one-the-hardware/

    'Аналогичная коммуникационная функция у меня уже была в тестовом проекте, и все, что оставалось сделать, это заменить прямое обращение в аппаратной I2C периферии на вызовы библиотеки Wire.
    Объем кода в этой функции пустяковый, так что уже через 15 минут экран озарился черным прямоугольником заботливо прикопанных граблей.
    Верный логический анализатор показал, что управляющие команды в шину передаются, а данные - нет. Причиной тому стало переполнение буфера библиотеки Wire. U8glib передает блок в ~130 байт, а под буфер в библиотеке Wire выделено всего 32 байта. Вариантов решения было всего два - увеличить размер буфера в stm32duino до 144 байт или добавить в коммуникационную функцию проверку на переполнение буфера и отправку блока в несколько приемов. Для личного использования больше подходит первый вариант, но ручная правка библиотеки в stm32duino не самое переносимое решение.
    В итоге в коде появилась константа, определяемая через #define. Если она определена - используется кусочная отправка, если нет - отправляем все и сразу, экономя на этом несколько байт лишних проверок.

    Для обратного портирования кода в библиотеку U8glib-HAL все конфликтующие модули были отключены через #ifdef.'

    29.11.2018 в 10:37
    1

    Еще раз повторюсь, у меня в статье (выше) дана ссылка на правильный platformio.ini, с правильной ссылкой U8glib-HAL,  и уже настроенной конфигурацией под Blue Pill!!
    Этот platformio.ini нужно просто подкинуть в вашу прошивку и компилировать с ним.
    И всё у вас будет работать и компилироваться правильно.

    28.11.2018 в 11:25
    0

    .

    29.11.2018 в 06:14
    2

    Спасибо за статью.
    Дополнительно (параллельно 1306) EEPROM прикрутил на i2c, работает, сохраняет.
    24c32 микросхемка.

    29.11.2018 в 10:04
    1

    Карту памяти проверяли? - Работает?

    29.11.2018 в 10:17
    1

    Тут нет, ее не подключал пока. На ramps4due проблем не было.

    29.11.2018 в 10:45
    1

    EEPROM это хорошо!, так как у Blue Pill нету своего.
    А можно ссылку на точно такую же платку как у вас?!

    29.11.2018 в 11:57
    1

    Например вот... Их полно таких на али

    30.11.2018 в 07:37
    0

    Не у кого случайно нет схемы и чертежей печатных плат на MKS MINI 12864 ?

    30.11.2018 в 21:39
    1

    Уважаемые ГУРУ 3д-сегодня.
    С нетерпением жду, когда вы скажите, что «готово».
    Из многочисленных комментариев понял, что чип не совсем подходит для «МАССЫ» по пинам и соответственно «хотелкам».
    Погуглил и создал табличку сравнений

    [TABLE][TR][TD]Микроконтроллер [/TD][TD]LQFP[/TD][TD]Ядро: [/TD][TD] FLASH: [/TD][TD]RAM: [/TD][TD] АЦП каналов:[/TD][TD]АЦПразр: [/TD][TD]АЦПскорость:[/TD][TD]Цена:[/TD][/TR][TR] [/TR][TR][TD]STM32F103C8T6[/TD][TD]48[/TD][TD]32-бит[/TD][TD]64  КБайт[/TD][TD]20 КБайт[/TD][TD]2[/TD][TD]12[/TD][TD]1 МГц[/TD][TD]110р.[/TD][/TR][TR][TD]STM32F103ZET6[/TD][TD]144[/TD][TD]32-бит[/TD][TD]512 КБайт[/TD][TD]64 КБайт[/TD][TD]21[/TD][TD]12[/TD][TD]1 МГц[/TD][TD]710р.[/TD][/TR][TR][TD]STM32F103ZET6[/TD][TD]144[/TD][TD]32-бит[/TD][TD]512 КБайт[/TD][TD]64 КБайт[/TD][TD]21[/TD][TD]12[/TD][TD]1 МГц[/TD][TD]750р.[/TD][/TR][/TABLE]
    Получается, что конечно дороже, но есть оснастки с бОльшей памятью. Может смотреть в сторону создания шилда «А-Ля РАМПС_3.2»
    Я в рисовании шилдов совсем ничего не понимаю, зато есть опыт общения с братьями нашими из «поднебесной». На множим шилдов для нашего сообщества :)

    30.11.2018 в 22:12
    1

    Сейчас дорисовываю шилд на базе текущего проекта на Blue Pill (STM32F103CBT6), добавлены разъемы EXP1, EXP2, USB-B.
    Добавил также емкости по цепям 3,3в и 5в на 0,1mf и 220mf, так как в текущем варианте возникают просадки, помехи и сбой во время работы принтера. Добавил предохранители.
    Испытания прошли успешно.
    Работают дисплеи OLED SSD1306(на шине I2C), REPRAP_DISCOUNT_SMART_CONTROLLER(на паралельной шине), MKS MINI12864(на шине SPI).
    Так как MKS MINI12864 до недавнего времени не поддерживалась в STM32F1ххх, мы с уважаемым jmz
    совместными усилиями, за пару дней разработали и протестировали библиотеку для этого дисплея.
    Шилд в принципе готов. Статью напишу.

    Следующий этап, шилд под STM32F103RET6

    30.11.2018 в 22:37
    1

    STM32F103RET6 это и есть STM32F103C8T6 посмотрите по вашей же ссылке
    Почему STM32F103RET6 а не STM32F103ZET6?
    STM32F103ZET6 и STM32F407VET6  принципиально я так полагаю сильно друг от друга отличаются? (прошивка)

    30.11.2018 в 22:43
    1

    STM32F103RET6 это STM32F103RET6, на 512кб памяти.
    Почему не на STM32F103ZET6 и не на STM32F407VET6? Потому что они в продаже только у одного продавца, а вдруг они будут сняты с продажи? И что тогда? Возможно будут конечно другие, но они уже не подойдут по размерам установочным.

    30.11.2018 в 22:53
    1

    STM32F103RET6 это STM32F103RET6, на 512кб памяти.
    Согласен каюсь (мимо посмотрел).
    в продаже только у одного продавца
    не согласен с ходу нашел десяток (продавцов) с ценой в пределах 50р. на обе платы.

    имея рабочую версию ПО на STM32F1 это ПО можно перенести на STM32F4?

    30.11.2018 в 23:05
    1

    Нет, на STM32F4 другое ПО.

    30.11.2018 в 23:13
    1

    Следующий этап, шилд под STM32F103RET6
    С нетерпением жду результатов 'битвы', но я уверен нас таких 'ждунов' много :)
    Мечтаю перейти на 32бит. готовое ничего не нравится, ну разве что ruramps4d

    30.11.2018 в 22:23
    1

    del

    02.12.2018 в 19:54
    1

    Не получается прошить!
    Вводная:
    - система Вин7 х64; 
    - лежала у меня эта плата, решил прошить и проверить заведется ли. Оба джампера на плате в 0;
    - шил через отладочную плату STM32f3Discovery, на ней есть свой ST-Link (ST-Link джамперы на Discovery убрал);
    - подключиться и считать память с Пилюли смог: ST-Link Utility (версия 2.5.1, может важно); 
    - прошивку любезно предоставил Lenivo (мне важно просто запустить плату);
    - Utility зачистила чип на плате, но при попытке загрузить прошивку выдает эррор: 'File size is bigger then the flash size';

      Вопрос: как вышьете во флэш 64кб прошивку до 128 кб, если утилита не дает этого сделать?
     

    02.12.2018 в 20:19
    2

    Прошивал через ST-Link Utility версии 4.3.0.
    Она также видит что плата типа на 64кб, но тем не менее шьет .bin на 128кб без лишних вопросов.

    02.12.2018 в 20:55
    2

    Обновил утилиту и все получилось! (причем даже мапл драйвера для ком порта поставились, до этого не хотели!) Спасибо! было лень обновляться, но пришлось))
    Соединяется с пронтером без всяких проблем, 'чекает эндстопы', выдает 'температуру'!) В общем, я счастлив))

    П.С.: Лайфхак как запустить голую таблетку с прошивкой i2c без дисплея совсем: подтяните PB10 и PB11 к 3.3В !

    02.12.2018 в 20:02
    1

    И в догонку вопрос второй:
    - система Вин7 х64; 
    - Arduino IDE 1.8.7
    - установлен пакет:

    Ну нет там плат этих! (((  Хотел попробовать прошить через IDE, и тут засада! Пакет переустанавливал, не помогло. 

    02.12.2018 в 20:25
    3

    Попробуйте подкинуть Arduino_STM32-master в папку C:Users\DocumentsArduinohardware

    02.12.2018 в 21:18
    2

    разпаковал архив с гитхаба в [папка ардуино]hardwareArduino_STM32-master
    и ... помогло! Еще раз спасибо!

    15.12.2018 в 11:31
    0

    я заказал платы,кому надо - поделюсь

    16.12.2018 в 14:45
    0

    Сколько денег?

    16.12.2018 в 17:30
    0

    Когда придут, посмотрим во что обошлись, столько и будет

    17.12.2018 в 17:03
    1

    доработал RAMPS под 3.3в подтяжку на термисторы пришлось у RAMPS раскидать некоторые лапки проводами. ибо у моей отладки только один краевой разъем. естественно с исправлениями в марлине. на моей отладке stm32f103VC, несколько потолще чем на синей пилюле =)

    21.12.2018 в 14:26
    0

    Допиливаю принтер под эту плату и решил на пару миллиметров рабочую зону печати. И сперва решил скомпилировать старый вариант, который компилировался нормально и он вдруг стал выдавать ошибку.

    NU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00392-gbe9ef0b0 (2018-01-12-15:03)
    Licensed under GNU GPL v2
    For bug reports, read
    [url]http://openocd.org/doc/doxygen/bugs.html
    hla_swd
    Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
    adapter speed: 1000 kHz
    adapter_nsrst_delay: 100
    none separate
    Info : Unable to match requested speed 1000 kHz, using 950 kHz
    Info : Unable to match requested speed 1000 kHz, using 950 kHz
    Info : clock speed 950 kHz
    Error: open failed
    in procedure 'program'
    in procedure 'init' called at file 'embedded:startup.tcl', line 495
    in procedure 'ocd_bouncer'
    ** OpenOCD init failed **
    shutdown command invoked
    *** [upload] Error 1

    Я так понимаю 1 декабря чего там поменяли в компиляторе и все сломалось.
    Причем у меня было скомпилировано ранее с двумя Марлинами - со  старой и с новой прошивкой - а сейчас обе прошивки в ошибки вылетают. Пробовал обновить Платформио до старой версии - он всё в красном стал вообще выдавать. 

    И как это всё грустно стало - что с ЭТИМ ПЛАТФОРМИО никакой стабильности что ли нет? Если есть рабочий вариант,  что  после каких то изменений всё валится кувырком что-ли?

    У меня почти всё железо уже почти собрано и скомпановано под эту плату........... Короче я в шоке.

    21.12.2018 в 14:53
    1

    Сейчас обновил Platformio, скомпилировалось норм. Без ошибок.

    21.12.2018 в 15:59
    0

    Спасибо.
    Снёс Платформио и установил заново.
    После всех - переустановок скомпилировалась. Нажимаю второй раз скомпилировать - выдает ошибку компиляции. Открываю код в Ардуино Иде - там запускаю компиляцию - тоже выдаёт ошибку. После этого запускаю В Платформио -компилируется. Короче чудеса в решете. Что то у меня конфликтует в программе или криво устанавливается.

    Кстати, со всеми этими пертурбациями в   расширениях на РУССКИЙ ПАК - его устанавливаешь и весь интерфейс получается русифицирован.

    29.12.2018 в 17:39
    0

    Может быть проблема из за русификатора?!

    21.12.2018 в 17:43
    0

    Русский ПАК для Платформио

    21.12.2018 в 20:38
    0

    Коллеги помогите.
    Ни в какую не могу запустить SD карточку.
    Все делал по инструкции но карточка не инициализируется. При этом тестовые примеры из ардуино работают, карточку видят.
    Может кто поделится своей версией сборки где точно работает кардридер.
    Заранее благодарен.   

    22.12.2018 в 06:46
    0

    CD карточки не все читаются - у меня из трёх карточек читается только одна. И её надо правильно отформатировать.
     

    Ещё может помочь если сигнальные провода до кардридера поставить толстые и их припаять. После пайки начинает работать где-то через час (но это как бы очень неудобно  на практике, и лучше обойтись без этого).

    Первоначально прошивку можно отладить на МЕГЕ с Рампсом, а потом внести все нужные изменения для прошивки на СТМ32 - я так и поступил в свое время.

    22.12.2018 в 07:51
    0

    Пробовал много разных карт от 2 класса до 10 и форматировал точно так же как и на скриншоте, ни одну не увидел. Ув. Lenivo, не могли бы вы выложить свою прошивку. Может я что делаю не так.

    22.12.2018 в 08:24
    0

    Вот тут лежит , сюда не знаю как вставить.
    https://yadi.sk/d/hALK0NQdKZiUEQ

    22.12.2018 в 08:31
    0

    Спасибо огромное. Буду пробовать

    04.01.2019 в 13:59
    0

    Мой порт на F103RCT6 не хочет работать по USB. Где поковырять в конфигурации? Для подключения сделал небольшую платку-адаптер (у меня STM32-Discovery). Порты PA11 и PA12, подтяжка есть.

    25.02.2019 в 21:17
    0

    И да. У меня все работает. Строю вокруг этой платы новый принтер.

    04.01.2019 в 16:09
    0

    Если кому надо платы - их есть у меня, осталось совсем чуть-чуть, очень быстро разобрали, цена - демократическая, точнее - в личку.

    06.01.2019 в 15:52
    0

    А поддержка дельты есть в прошивке?

    26.03.2019 в 21:35
    0

    Если проблема с компиляцией, используйте мою, уже настроенную прошивку marlin для stm32f103
    Проверена компиляция в последней версии Visual Studio Code + Platformio.

    Также, для использования старого framework-arduinoststm32, в файле:
    C:Users\.platformioplatformsststm32oardsgenericSTM32F103CB.json
    заменить:
    'variant': 'MAPLEMINI_F103CB'
    на
    'variant': 'stm32f1'

    25.04.2019 в 21:25
    0

    В итоге решил на Blue Pill принтер не делать.

    Хотя уже и печатку развёл.
    Остановило малое для принтера количество выводов, так как хотелось оставить смартдисплей 2004 без лишних переделок

    В итоге прикупил недорогие SKR V1.1 две штуки и перевёл принтера на них.
    А купленные Blue Pill  не пропадут, на этих платках море готовых проектов.
    Для начала перевожу на 32 бита CNC.

    22.05.2019 в 19:53
    0

    Комментарий скрыт

    30.04.2019 в 18:38
    0

    [COLOR=#444444]Нужна помощь,[/COLOR] при подключении eeprom на I2c не получается скомпилировать прошивку. При компиляции пытается прописать eeprom на SD карту и вываливает кучу ошибок.
    Экран на SH1106 работает по i2c шине.
    В Configuration.h подключил eeprom.

    22.05.2019 в 19:45
    0

    Вот рабочий код, EEPROM уже подключен, нужна микросхема минимум на 32 килобита, AT24C32, если меньше то другая адресация и нужно переписывать код. https://drive.google.com/open?id=1IyCrdi5AEOYdgBEVCXkmXuT2kI2NxGLp

    24.05.2019 в 09:37
    0

    Спасибо, EEPROM на этой сборке заработал, Не понятно только, где вы отключили управление вентилятором? 
    Simplify и pronterface ругается на неизвестную команду M106/M107, в меню тоже нет управления вентилятором.

    22.05.2019 в 19:50
    0

    Ошибки потому, что Марлин-2.0 в стоке пишет параметры на sd-карту, а она у вас отключена (SDSUPPORT). Весь код работы с картой не учавствует в компиляции, пишет же ясно - объект card не объявлен

    24.05.2019 в 09:40
    0

    Это я видел, даже провел несметное количество экспериментальных компиляций

    22.05.2019 в 19:39
    0

    Отличный проект, спасибо автору за статью. 
    Для тех кто не любит травить и паять есть готовое решение Blue Pill контроллер для 3D-принтера (32 bit 72 МГц) плата для RAMPS http://3dparts.com.ua/index.php?route=product/product&product_id=352

    29.06.2019 в 20:33
    0

    Я лошара, наверно.
    Я так и не понял, ЧЕМ посмотреть схему, чтобы увидеть номиналы резисторов и конденсаторов?
    перебрал КУЧУ софта - ни одна прога не открыла SHC из гитхаба...
    что я сделал не так?

    31.08.2019 в 19:40
    0

    Отличная статья. Супер. Сегодня начну изготовление и попробую.

    У меня только вопрос автору. А можно такое как нибудь сделать чтоб была возможность дублировать какую нибудь ось? Ну мне нужно чтоб было можно подключить драйвер еще на один двигатель (ну когда на оси два двигателя) и желательно чтоб была возможность выбора какую ось дублировать.

    Тогда например такую плату легко можно на ЧПУ пристроить.

    Для написания комментариев, пожалуйста, авторизуйтесь.

    Читайте в блогах

    Перекур в мастерской

    Схема CoreYZ+CoreXYZ ну или наверно CoreXYZ

    Продолжение работы с моделькой паровоза

    Delta дома или побюджетней на мечту

    Upgrade 3D принтеров PICASO Designer X series. Создаем 3D печатные Фермы. Удаленное управление.

    Старт тестирования 3D принтера WanHao GR 1