Стационарная интеграция Klipperа с 'железом' в принтер.

xolodny
Идет загрузка
Загрузка
12.06.2019
2071
47
RepRap

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

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

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

6
Пост + вопрос. С целью пополнения копилки опыта и публикации последующего отчета.

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

Задачи:

- размещение 'малинки' на принтере стационарно, с доступом к USB и Ethernet портам;

- вывод от платы управления (MCU, у меня MKS 1.4) внешнего разъема USB наружу;

- установка независимого блока питания (БП) для 'малинки' с целью дальнейшей аппаратной интеграции (реализовать включение-выключение принтера от 'малинки', а также аппаратные кнопки предпрогрева и аварийного останова печати);

- подключение MCU к 'малинке' по Rx/Tx.

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

Ранее я задавал вопрос по согласованию интерфейсов ЗДЕСЬПлата согласования уровней была приобретена и распаяна.

Подключение реализовал вот так:
Для ленивых:

- распиновка R Pi3
- распиновка MKS 1.4
Распиновка согласователя - как на 'рукописной' схеме.

При замене в файле конфигурации Printer.cfg в разделе MCU типа подключения с ttyUSB0 на ttyACM0, сохранении и перезапуске Klipper'а принтер 'не взлетел'. Подключение в интерфейсе Octoprint'а проходит, но температуры - 'ноль', команды принтер не воспринимает.

Сборка на 'малинке' - OctoPi от разработчика.

Где я недосмотрел-недоделал-перепутал?

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

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

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

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

Комментарии

12.06.2019 в 16:39
1

А UART то проинициализирован?

12.06.2019 в 16:41
1

Имя, сестра! Имя!!! (С)

Як это сделать?

12.06.2019 в 16:45
1

[url]https://www.raspberrypi.org/documentation/configuration/uart.md

12.06.2019 в 17:22
0

в CONFIG.TXT параметр enable_uart=1
при вводе sudo raspi-config
в 5 разделе и выборе P6 Serial сообщает, что serial interfaces enabled
в sudo nano /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,`115200 console=tty1
как раз Octoprint показывал соединение при убирании USB-шнурка на 115200, а не 250000 (как в конфигурации для USB), но не считывал датчики (хотэнд - 0 С, хотбед - прочерк) и не исполнял команды.

Попробовать переключить на другие пины? Проверить исправность преобразователя? Колеса попинать? Капот открыть-закрыть? В бубен постучать?

12.06.2019 в 17:27
0

Ну замкнуть и эхо посмотреть для начала. И вообще, что за преобразователь? rx-tx правильно подключены? d1-d2 на мкс  - это которые пины контроллера? как они в прошивке инициализируются?

12.06.2019 в 17:42
0

как они в прошивке инициализируются?
платка была прошита через ЮСБ при установке клиппера.
rx-tx правильно подключены?
пин 8 'малинки', который Тх - к пину D2 MKS1.4, пин 10 'малинки' (который вроде как Rx) - к пину D1 платы.

Эти пины в конфиге клиппера надо как-то специально инициализировать тоже?

12.06.2019 в 17:31
0

Ну замкнуть и эхо посмотреть для начала
кхм, чукча не сисьадмин. Чукча последний раз люнух ковырял в 99-ом.
И вообще, что за преобразователь?
вот ЭТОТ , что мне в ответе на мой вопрос предлагали 

Подключено как на 'бумажной' картинке в посте. Вроде правильно.

D1 и D2 - это пины на разъеме AUX1 платы MKS1.4 (а она вроде как по распиновке совпадает с RAMPS1.4)[IMG]https://3dtoday.ru/upload/main/f1e/f1ea6b12f8d07e6fb188e25fce199190.jpg[/IMG]

12.06.2019 в 17:40
1

Странно, неужели проблема 3.3V / 5VDC такая сложная?

Вроде даже в том же Чип-и-Дипе это давно уже есть...

ski
12.06.2019 в 17:43
1

вот этот преобразователь использован [url]https://3dtoday.ru/questions/podklyuchenie-mks-1-4-k-orangepi-cherez-uart/#507080

12.06.2019 в 17:48
1

К сожалению, мне Ваша ссылка - недоступна.

Вот - типовой китайский, стоимостью около 30 рублей:

Называется обычно:
Конвертер логических уровней 3.3 - 5 В двунаправленный (IIC, I2C)

+Update: да, увидел ссылку через ссылку, имел в виду то же самое.

ski
12.06.2019 в 17:49
1

Он самый и установлен. Схема подключения нарисована на 'бумажке' в теле основного поста

12.06.2019 в 17:52
1

Ok, тогда, учитывая то, что Апельсинка медленнее Малинки, попробуйте установить связь по UART - ПОМЕДЛЕННЕЕ, на одну две 'ступени'.

'Эхо'-терминал (для просмотра терминальной консолью) делается замыканием выхода на вход одного и того же устройства - это стандартный тест любого последовательного соединения ещё с эпохи RS-232C.

Вы должны увидеть на входе то же самое, что Вы посылаете 'ТУДА'.

Я имею в виду скорости медленнее чем 115200, и вероятно 8N1.

+Update#1:
Надеюсь вот эту статью Вы видели:

http://www.orangepi.org/Docs/LogintotheOrangePi.html

Раздел:
'Using TTL serial port'

Там описано как коннектиться К Апельсинке.
Но разумеется именно его и надо переконфигурить, чтобы коннектиться ОТ Апельсинки, как Вы хотите.

Обратите внимание на комментарий про НЕзапитывание ноги 5VDC.

+Update#2:
На нашем сайте вот такая заметка была:
https://3dtoday.ru/questions/mks-gen-aux1-usb/

+Update#3:
Вот эта статья тоже может быть полезна:
https://micro-pi.ru/ssh-uart-подключение-к-raspberry-pi-bpi/

В общем, получается, что (USB.OR.UART).AND.LAN ,
учитывая ньюансы уровней сигналов.

ski
12.06.2019 в 18:31
1

Апельсинка медленнее Малинки
уже малинка, апельсинка отправлена в закрома.
'Эхо'-терминал (для просмотра терминальной консолью) делается замыканием выхода на вход одного и того же устройства - это стандартный тест любого последовательного соединения ещё с эпохи RS-232C.

Вы должны увидеть на входе то же самое, что Вы посылаете 'ТУДА'.

Я имею в виду скорости медленнее чем 115200, и вероятно 8N1.
для меня это - абракадабра. Ну не хочется заниматься изучением топологии сетей, протоколов связи и т.п.

Где можно поискать живой гайд / мануал по настройке и подключению MEGA2560+RAMPS 1.4 к Raspberry PI3 через Rx/Tx?

12.06.2019 в 18:32
1

Как насчёт вот этого?

https://3dtoday.ru/blogs/eta4ever/orange-octopus-razor-usbstick-directly/

Ну а так - классика:

Re: How to connect ramps1.4+arduino mega with Raspberry pi September 18, 2015 08:02AM
You connect raspberry to arduino using an USB cable. Nothing Else.
You need a 5v power input for raspberry through it's mini USB port.

https://reprap.org/forum/read.php?219,559861

ski
12.06.2019 в 18:39
1

Как насчёт вот этого?

https://3dtoday.ru/blogs/eta4ever/orange-octopus-razor-usbstick-directly/
О, спасибо! Попробую
Ну а так - классика:
Вот по классике через USB и подключено, но не хочется внешних проводов.

ski
12.06.2019 в 18:37
1

+Update#2:
На нашем сайте вот такая заметка была:
https://3dtoday.ru/questions/mks-gen-aux1-usb/
вот я как раз те 2-4-6-8, также являющиеся +5В, GND, D2, D1 и подключил в соответствии со схемой. Подозреваю, что проблема где-то программная. Возможно - из-за усеченности 'паршивки' OctoPi
+Update#3:
Вот эта статья тоже может быть полезна:
https://micro-pi.ru/ssh-uart-подключение-к-raspberry-pi-bpi/
Вот как отсюда почти и подключил, только вместо VCC я пин от преобразователя уровней LV подключил к пину 3.3В на RasPi. Правильно ли поступил?

12.06.2019 в 18:41
1

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

Я бы пробовал взять +5VCC от внешнего зарядника мобильника (обычно стабилизированные +5VDC@500mA).

Не уверен, что на Вашем преобразователе уровней LV есть достаточная мощность питальника 3.3V.

Конвертер уровней 5>3.3 не есть блок питания 3.3V.

ski
12.06.2019 в 18:43
1

Я бы пробовал взять +5VCC от внешнего зарядника мобильника.
так и сделано. Он на схеме показан отдельным блоком и запитывает контакты 4 и 6. Использовал 'потроха' зарядки от древнего планшета.

12.06.2019 в 18:51
1

так и сделано
Теперь уже я запутался в Ваших Апельсинках, Малинках и в преобразователях уровней ;-( .

Лучше выбрать что-то одно из Ваших возможностей, а потом уже решать вопрос минимизации количества проводов.

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

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

Хоть от батарейки Крона(Ардуино), хоть от PowerBank/USB.

У меня простой удлинитель на 10 розеток, где я вместо лабораторного блока питания подсоединил весь ряд напряжений на отдельных стабилизированных и промаркированных  бп/адаптерах.

Чтобы не делать ошибок.

ski
12.06.2019 в 19:35
1

Лучше выбрать что-то одно из Ваших возможностей,
Посмотрите на рисунок ниже - так сейчас расключены плата управления, согласователь, 'малинка' и ее блок питания.
Из уточнений - по факту Rx платы подключен через преобразователь к Tx 'малинки' и наоборот (на картинке немного неправильно).[IMG]https://3dtoday.ru/upload/resize_cache/main/aff/940_1080_1/aff63eecfcefd676a25fe7ea2ae63172.jpg[/IMG]

12.06.2019 в 19:23
2

Данный преобразователь не будет работать с UART. Для UART нужен цифровой преобразователь уровней, у вас же стоит аналоговый. Хотя я вам так скажу - можно подключать землю и RX и TX без всяких преобразователей, и все будет ок

12.06.2019 в 19:58
1

можно подключать землю и RX и TX без всяких преобразователей
у Вас есть такой опыт? 'малинка' - не самая дешевая вещь, рисковать не хочется.

Есть подозрения, что проблема скорее программная, т.к. на ttyS0 'висит' диагностическая консоль, но проделать, как у камрада eta4ever
Как насчёт вот этого?

https://3dtoday.ru/blogs/eta4ever/orange-octopus-razor-usbstick-directly/
у меня не получается.

команды
bin2fex /boot/script.bin script.fex
nano script.fex

не работают

на

ls /dev/ttyS*

терминал говорит, что такой папки не знает.

Возможно - это из-за установленной OctoPi.

12.06.2019 в 19:59
1

терминал говорит, что такой папки не знает
Напишите вопрос eta4ever в ЛК.

12.06.2019 в 20:05
2

С этим бин и фекс — это специфические настройки для апельсины, если память не изменяет. К малине их не надо применять.

12.06.2019 в 20:27
0

бин и фекс
Может - bin2hex ?

Про bin2fex - вот тут

https://pcminipro.ru/stati/redaktirovanie-script-bin-fajla-v-linux-i-v-windows/

А вот тут - что-то по Raspberry pi, вроде похожее

https://www.raspberrypi.org/forums/viewtopic.php?t=80009

12.06.2019 в 19:58
1

цифровой преобразователь уровней
Это более дорогое решение.

Вот - описание типового, и даташит: https://1wire.com.ua/txs0108e-konverter-logicheskih-urovnej-dvunapravlennij.html

12.06.2019 в 20:04
2

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

12.06.2019 в 20:08
3

Оу, как много наотвечали :) Таки да, такие фокусы с транзисторами работают только тогда, когда с обеих сторон открытый коллектор. Это I2C, 1-Wire, но не UART. Тут можно попробовать в одну сторону понизить диодом или резисторами, в другую - отдать так. Если будет работать нестабильно - ставить что-то типа TXB0104, SN74LV1T04.

12.06.2019 в 20:10
1

бррррр.... коллеги, а, может, все-таки ткнете падавана в гайд, где можно спокойно подключить RAMPS1.4 / MKS1.4 через Rx/Tx интерфейсы к 'малинке' и с клиппером? Я уже нихрена не понимаю....

12.06.2019 в 20:18
2

Я сильно подозреваю, что такого пока не написано. Придётся разбираться поэтапно, начиная с эха на закороченных пинах малины... Забудьте пока про клиппер и рампс. Задача - запустить и согласовать UART. Что с чем по нему будет общаться - дело десятое. Посему, гуглить надо - 'raspberry pi 5v uart'. А на эту тему инфы просто море.

12.06.2019 в 20:41
1

Я уже нихрена не понимаю....
Аналогично.

https://youtu.be/_83eOw8DVQ8

12.06.2019 в 21:12
0

Хватит писать бред. С конвертрером на транзисторах работать не должно или через жопу. Если подключить на прямую, ничего не будет так как с обоих сторон сигнал толерантен 3.3В! Если хотите сипользовать переходник уровней,то только такой[IMG]https://voltiq.ru/wp-content/uploads/max3232-rs232-ttl-converter-00.jpg[/IMG]

12.06.2019 в 21:20
1

Пруф на толерантность малины к 5В, пожалуйста.

12.06.2019 в 21:22
0

Я почему-то не заметил,что бы я писал толерантность к 5-ти вольтам. Трижды перечитал свой пост и не увидел. Ткните носом

12.06.2019 в 21:27
1

Вы написали, что ничего не будет при прямом подключении малины и меги. Это = толерантность к 5В.

12.06.2019 в 21:28
-1

Со стороны меги сигнал 3.3В со стороны малины сигнал 3.3В. Вывод? Зачем там нужен конвертер - ума не приложу

12.06.2019 в 21:29
1

Мега пятивольтовая.

12.06.2019 в 21:52
1

Согласен. Перепутал с DUE. НО! Конвертер ваш не рабочий! Нужно использовать тот что я указал.

12.06.2019 в 22:23
1

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

13.06.2019 в 10:50
1

Тот конвертер что вы указали это uart-rs232. Со стороны 232 там будет +-12в. Этот переходник используется для подключения к последовательность порту компании по rs232. Между малиной и мегой его применимость для меня сомнительна.

13.06.2019 в 10:55
0

Вы путаете MAX3232 и MAX232.
Нет, вы правы.

13.06.2019 в 10:58
1

Со стороны 232 там будет +-12в
Не совсем.
В эпоху IBM-PC совместимых при 9-пиновой распиновке разъёма - разброс напряжений был от 6 до 15 вольт (типовые - 9VDC).

До этого - 25-пиновая распиновка и конкртено стандарт RS-232C подразумевал верхний порог напряжений в 25вольт постоянки.

Так что пожечь компорт простым передёргиванием его - было и есть ой как просто.

Справочно (в плане расширения понимания термина 'толерантность', предложенного Ув.eta4ever-ом):
Даже для компортов существовали согласователи уровней с грозозащитой, при длинных коммуникациях (25 метров).

12.06.2019 в 21:31
1

Со стороны меги сигнал 3.3В
Неправда Ваша.

Цитирую:
Входы и Выходы Каждый из 54 цифровых выводов Mega, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 5 В
Учите матчасть.
http://arduino.ru/Hardware/ArduinoBoardMega2560

12.06.2019 в 21:30
1

толерантность малины к 5В
Апельсины или Малины?
Я видимо пребываю в заблуждении, что и Малинка и Апельсинка - 3.3VDC решение.

Вот подробности согласования по Малинке:

https://www.rlocman.ru/shem/schematics.html?di=336041

13.06.2019 в 17:51
0

console=serial0,115200  в cmdline.txt 'убил'

в файле конфигурации Klipper'а тип подключения MCU сделал ttyS0

теперь при попытке подключения к ttyS0 в консоли Octoprint'а вижу такое:

Changing monitoring state from 'Opening serial port' to 'Connecting'Send: N0 M110 N0*125Recv: x0ex19Ex05����x00�=}K~x0ex19Ex11����x00�'�@~x0ex19Ex05����x00�= �~x0ex19Ex11����x00�(��~x0ex19Ex05����x00�=_�~x0ex19Ex11����x00�(j�~ x19=U��%��c��~x0ex19Ex05����x00�>��~x0ex19Ex11����x00�(x0c�~x0ex19Ex05����x00�=� ~x0ex19Ex11����x00�)�r~x0ex19Ex05����x00�@C�~x0ex19Ex11����x00�)/�~x0ex19Ex05����x00�<�Recv: ~x0ex19Ex11����x00�'��~x0ex19Ex05����x00�>x7f�~x0ex19Ex11����x00�'��~x0ex19Ex05����x00�A-x13~x0ex19Ex11����x00�)�U~x0ex19Ex05����x00�>�z~x0ex19Ex11����x00�)*�~x0ex19Ex05����x00�>&/~x0ex19Ex11����x00�)��~x0ex19Ex05����x00�=��~x0ex19Ex11����x00�)�x0f~x0ex19Ex05����x00�;N�~x0ex19Ex11����x00�&X�~x0ex19Ex05����x00�>#:~x0ex19Ex11����x00�*5�~x0ex19Ex05����x00�=j�~x0ex19Ex11����x00�)X�~x0ex19Ex05����x00�;�M~x0ex19Ex11����x00�)d�~x0ex19Ex05����x00�<��~x0ex19Ex11����x00�)l�~x0ex19Ex05����x00�=��~x0ex19Ex11����x00�)P�~x0ex19Ex05����x00�<�W~x0ex19Ex11����x00�&X�~x0ex19Ex05����x00�?�`~x0ex19Ex11����x00�(�N~ x19=U��t��}�l~x0ex19Ex05����x00�>nZ~x0ex19Ex11����x00�(Recv: �~x0ex19Ex05����x00�=��~x0ex19Ex11����x00�)x1f�~x0ex19Ex05����x00�?x1fY~x0ex19Ex11����x00�(�>~x0ex19Ex05����x00�@y�~x0ex19Ex11����x00�)JF~x0ex19Ex05����x00�=i�~x0ex19Ex11����x00�),�~x0ex19Ex05����x00�?x0c�~x0ex19Ex11����x00�)��~x0ex19Ex05����x00�<|�~x0ex19Ex11����x00�(x~~x0ex19Ex05����x00�;~�~x0ex19Ex11����x00�(0J~x0ex19Ex05����x00�? =~x0ex19Ex11����x00�(x1b�~x0ex19Ex05����x00�?1B~x0ex19Ex11����x00�(kg~x0ex19Ex05����x00�A,�~x0ex19Ex11����x00�(cN~x0ex19Ex05����x00�@x01m~x0ex19Ex11����x00�)�@~x0ex19Ex05����x00�>x03�~x0ex19Ex11����x00�)��~x0ex19Ex05����x00�>��~x0ex19Ex11����x00�'{�~x0ex19Ex05����x00�@��~x0ex19Ex11����x00�(x158~x0ex19Ex05����x00�=x7f�~x0ex19Ex11����x00�)�;~x0ex19Ex05����x00�?��~x0ex19Ex11����x00�)�=~ x19=U��|��x16�x10~x0ex19Ex05����x00�@�x0f~x0ex19Ex11����x00�(��~x0ex19Ex05����x00�>_�~x0ex19Ex11����x00�)9�~x0ex19Ex05����x00�=`�~x0ex19Ex11����x00�*�t~x0ex19Ex05����x00�>+6~x0ex19Ex11����x00�+g`~x0ex19Ex05����x00�>��~x0ex19Ex11����x00�*\x1e~x0ex19Ex05����x00�>Q#~x0ex19Ex11����x00�&&�~x0ex19Ex05����x00�=x05�~x0ex19Ex11����x00�+x14�~x0ex19Ex05����x00�?��~x0ex19Ex11����x00�(��~x0ex19Ex05����x00�>sJ~x0ex19Ex11����x00�)��~x0ex19Ex05����x00�A�`~x0ex19Ex11����x00�+��~x0ex19Ex05����x00�>�M~x0ex19Ex11����x00�(��~x0ex19Ex05����x00�@oG~x0ex19Ex11����x00�(/�~x0ex19Ex05����x00�>-�~x0ex19Ex11����x00�'K�~x0ex19Ex05����x00�=��~x0ex19Ex11����x00�'|x15~x0ex19Ex05����x00�;�y~x0ex19Ex11����x00�&��~x0ex19Ex05����x00�AGThere was a timeout while trying to connect to the printerChanging monitoring state from 'Connecting' to 'Offline'Connection closed, closing down monitor

Т.е. какие то изменения есть, но я как та мартышка, которую посадили печатать 'войну и мир' - 'ничо не понимаю'

22.06.2019 в 06:48
0

Реально с преобразователями из 3.3 5 и 12 полная ******
Скинь хоть фотки - постараюсь помочь. 

22.06.2019 в 07:06
0

Проблема решена. См. ЗДЕСЬ

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

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

KRIEG BUST

Калибровка экструдера Titan на принтере Flsun QQ-S

Пожалел, что нет фотополимерника

Пятиметровый шатер на 3D-принтере

Снижение экструдии на верхних слоях сплошного заполнения

Новый 3D сканер RangeVision NEO. Обзор от 3Dtool. Оптический 3D сканер 2019 года.