Каково влияние низшего бодрата?

Я использую скорость передачи данных 115200 байт, так как не могу подключиться к своему принтеру с рекомендуемой скоростью 250000 байт. Есть ли какие-то недостатки или ограничения, которых я достигаю раньше, заданные более низким бодрейтом?

, 👍7

Обсуждение

Испытываете ли вы какие-либо проблемы, которые, как вы подозреваете, могут быть связаны со скоростью передачи данных в бодах, или вы просто спрашиваете в целом? :), @Tormod Haugene

Скорость передачи данных в бодах для 3d-принтеров имеет уменьшающуюся отдачу от скорости. Ваш принтер может работать только так быстро. Компьютер, отправляющий данные, долго ждет, пока ваш принтер догонит. На 115200 это так быстро идет выше, что не будет иметь большого значения, если ваш принтер не очень быстрый., @cybernard


3 ответа


Лучший ответ:

4

Скорость передачи информации в бодах-это скорость передачи информации в канале связи, заданная как число бит в секунду (bps). Таким образом, скорость передачи данных в бодах 250000 способна передавать максимум 250000 бит в секунду (31250 байт/с). При работе с последовательными портами оба конца линии связи должны будут "разговаривать" с одинаковой скоростью - с одинаковой скоростью передачи данных - чтобы понимать друг друга.

Таким образом, при использовании скорости передачи данных 11520 вы теоретически будете ограничены передачей данных примерно с половиной скорости 25000. Если вы передаете большие объемы данных, это может быть ограничивающим фактором для вашего приложения, но если вы не расширяете пределы своего последовательного порта, это, вероятно, вообще не будет иметь значения.


,

похоже, я писал ответ слишком долго :), @darth pixel

@darthpixel, я думаю, что вы затронули несколько хороших моментов о влиянии низкой скорости передачи данных! :), @Tormod Haugene

Кто бы это ни сделал, пожалуйста, прокомментируйте, почему..., @Tormod Haugene

Так что это зависит в основном от инструкций/времени. существует ли общее эмпирическое правило, скажем, "если у вашего мордела много изменений направления, вы можете двигаться только со скоростью xx мм/с", или единичные случаи, которые были задокументированы? (Меня также интересовали бы причины понижения, - это отличный ответ), @kamuro

Я не думаю, что вы, вероятно, снизите скорость передачи данных до такой степени, что она будет медленнее, чем у реальной машины. Более низкая скорость передачи данных в бодах может быть хорошей вещью, если в сигнале много шума, например, это может произойти с дешевыми кабелями. Это все равно что говорить медленнее, чтобы помочь кому-то понять вас. Я предпочитаю просто использовать SD-карту на своем принтере и исключить свой компьютер из уравнения., @John Sensebe

@kamuro, на некоторых принтерах delta вы заметите значительную задержку, если попытаетесь перемещаться по меню, пока принтер выполняет интенсивные вычисления, в моем случае из-за ограниченного процессора. :) Джон, увеличенное соотношение S/N очень интересно! Спасибо, что поделились. Я также прекратил печать с USB, так как на данный момент вам не нужны дополнительные переменные с 3D-принтерами.. :), @Tormod Haugene

Спасибо за понимание. Дельта-принтеры и слабый отклик ЖК-дисплея-известная проблема с не 32-битными процессорами Arduino. Квинтэссенцией я считаю, что мне не нужно беспокоиться о более низкой скорости, если я останусь ниже 200 мм/с и, я думаю, сверхсложных моделях ;), @kamuro

эй, ребята - дельта-вычисления и задержка ЖК-дисплея не имеют никакого отношения к низкой скорости, я полагаю, не так ли? Это результат управления всем с помощью небольшого процессора. Или, точнее, это результат медленного процессора и неправильной (или отсутствия) обработки прерываний, я бы сказал., @darth pixel

@darthpixel, это правда, хотя некоторые могут заподозрить, что это связано, если не знать, какова скорость передачи данных! ;-), @Tormod Haugene

@kamuro, я сомневаюсь, что вам когда-либо придется беспокоиться о скорости передачи данных, если это просто связано с потоковой передачей gcode по USB: вычисления для перемещения печатающей головки выполняются оборудованием принтеров, а не вашим компьютером (gcode интерпретируется по-разному каждым отдельным принтером/прошивкой)!, @Tormod Haugene

...и именно поэтому мы должны выбрать прошивку, для которой будет сгенерирован gcode, @darth pixel

@ТормодХаугене: Я знаю, это только для передачи g-кода. Но если нам никогда не нужно беспокоиться об этом, то почему для начала была выбрана нестандартная скорость, а не стандартная 115200?, @kamuro

@kamuro, это хороший вопрос. По-видимому, вы можете выдавить [2000000 бод с 16 МГц Arduinos](http://forum.arduino.cc/index.php?topic=21497.0) (обратите внимание на взлом в последнем посте), хотя ссылка [указывает максимум 115200](https://www.arduino.cc/en/Reference/SoftwareSerialBegin). С другой стороны, 250000 бод, по-видимому, используется в DMX, в котором даже есть [внешняя библиотека Arduino](https://github.com/mathertel/DmxSerial) для., @Tormod Haugene


2

Если у вашего принтера нет SD-карты, то вся связь между компьютером и arduino выполняется "в реальном времени". Существует своего рода буфер данных, который может проглотить arduino. Затем он должен обработать его (а затем может отправить некоторые отчеты в ваше приложение), и тогда arduino готов получить новый "набор" инструкций для работы.

Сейчас же. Если скорость будет низкой, то может возникнуть ситуация, когда arduino завершит свою работу и ему придется ждать новых данных. В такой ситуации вы можете видеть, как принтер приостанавливает печать, ожидая сигналов от arduino, а также данных с компьютера. Это более или менее обратная сторона низкой ставки.

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

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

Возобновление - низкая бодратность-это зло ;)

,

Так что это зависит в основном от инструкций/времени. существует ли общее эмпирическое правило, скажем, "если у вашего мордела много изменений направления, вы можете двигаться только со скоростью xx мм/с", или единичные случаи, которые были задокументированы?, @kamuro

Конечно, если ваш слайсер разрежет кривую на слишком много частей, тогда это может появиться, но... если вы не настроите (или, скорее, не нарушите) слайсер/прошивку/слишком сильно, я думаю, что это не произойдет. Я не могу найти статью, которую я прочитал :(, @darth pixel


2

Если строка GCODE содержит около 30 символов (что примерно соответствует норме), вы можете отправлять не более 420 из них в секунду со скоростью 115200 бит / с.

Если каждый GCODE печатает 0,15 мм (например, в дугах), то вы будете ограничены 63 мм/с в дугах/кругах (прямые линии не являются проблемой).

Если это ограничение для вас, то вы должны найти способ установить 250 кбит / с.

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

,

Я надеялся увидеть количественный ответ на это. Отлично! Имейте в виду, что срез может генерировать строки gcode короче 0,25 мм, чтобы избежать превышения максимального отклонения. Диапазон от 0,1 до 0,5 мм является типичным в зависимости от сочетания параметров разрешения модели и среза, поэтому это действительно может быть ограничивающим фактором при значительно более низких скоростях, чем 64 мм/с., @R.. GitHub STOP HELPING ICE

50 байт-это тоже довольно длинная строка: G01 X247.951560 Y11.817060 Z-1.000000 F400.000000, @FarO

Z является чрезмерным (на практике не будет никакого заметного движения Z, кроме как в режиме вазы), но вы забыли компонент E. По моему опыту, печать (вытягивание и перемещение) строк составляет около 30 символов каждая, поэтому я бы сказал, что примените коэффициент 3/5. Они имеют форму G1 Xxxx.xxx Гггг.ууу, еее.эээээ`., @R.. GitHub STOP HELPING ICE