Оглавление:

Робот-плоттер с ЧПУ: 11 шагов (с изображениями)
Робот-плоттер с ЧПУ: 11 шагов (с изображениями)

Видео: Робот-плоттер с ЧПУ: 11 шагов (с изображениями)

Видео: Робот-плоттер с ЧПУ: 11 шагов (с изображениями)
Видео: Самый простой ЧПУ плоттер на Arduino своими руками 2024, Июль
Anonim
Image
Image
Робот-плоттер с ЧПУ
Робот-плоттер с ЧПУ
Робот-плоттер с ЧПУ
Робот-плоттер с ЧПУ

В этом руководстве описывается робот-плоттер с ЧПУ. Робот состоит из двух шаговых двигателей с подъемником ручки, установленным посередине между колесами. Вращение колес в противоположных направлениях заставляет робота поворачиваться вокруг наконечника ручки. Вращение колес в одном направлении заставляет перо рисовать прямую линию. Он имеет следующий диапазон движений… вперед, назад, вращение влево и вращение вправо.

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

Связь с роботом осуществляется по каналу Bluetooth. Робот принимает как команды с клавиатуры, так и вывод g-кода из Inkscape.

Если вы «увлекаетесь» акварельной живописью, то это устройство сможет перенести ваш набросок на бумагу. Изменение МАСШТАБА изменяет размер изображения, что означает, что вы не ограничены фиксированными размерами бумаги.

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

Шаг 1: Монтажный кронштейн

Монтажный кронштейн
Монтажный кронштейн
Монтажный кронштейн
Монтажный кронштейн

Монтажный кронштейн был изготовлен из 60-миллиметровой полосы алюминиевого листа 18 калибра. Для кронштейна был выбран алюминий, так как он легкий и удобный. Для небольших отверстий использовалось сверло диаметром 3 мм. Каждое из больших отверстий начиналось как отверстие диаметром 9 мм, которое было увеличено с помощью напильника «крысиный хвост».

Концевые панели двигателей на фотографиях выше имеют размер 56 мм x 60 мм, расстояние между которыми в сложенном состоянии составляет 110 мм. Это дало межцентровое расстояние между колесами 141 мм. Диаметр колеса этого робота составляет 65 мм. Запишите эти размеры, поскольку их отношение (CWR) определяет, сколько шагов необходимо для поворота робота на 360 градусов.

Если вы внимательно посмотрите на фотографии, то увидите порез на каждой из «юбок» колеса. «Полоска» металла под каждым из этих пропилов была слегка изогнута вниз, так что:

  • площадка (верх кронштейна) ровная,
  • и робот едва качается.

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

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

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

[Совет: листовой алюминий можно разрезать без использования гильотины или ножниц (которые имеют привычку деформировать металл). Сильно «надрежьте» обе стороны листа по линии разреза с помощью стальной линейки и сверхпрочного ножа с отламывающимся лезвием. Теперь поместите линию над краем стола и слегка согните лист вниз. Переверните лист и повторите. После нескольких изгибов лист расколется по всей длине линии надреза, оставив ровный край.]

Шаг 2: Подъем ручки и щит

Ручка-подъемник и щит
Ручка-подъемник и щит

Я поэкспериментировал с оригинальной стяжкой для кабеля и вместо этого выбрал пластиковый диск, приклеенный к латунному центру «радио-ручки». В латунном центре просверлили отверстие под ручку. Установочный винт позволяет точно установить перо. Пластиковый диск был вырезан из конца катушки с проволокой.

Механизм подъема ручки состоит из небольшого сервопривода, который поставлялся с моим оригинальным комплектом Arduino, но любой маленький сервопривод, который реагирует на импульсы 1 мс и 2 мс, разнесенные на 20 мс, должен работать. Робот использует импульсы 1 мс для подъема пера и импульсы 2 мс для опускания пера.

Сервопривод прикреплен к флакону с лекарством с помощью небольших кабельных стяжек. Рожок сервопривода поднимает пластиковый диск и, следовательно, перо, когда получена команда подъема пера. Когда получена команда опускания пера, рог сервопривода находится далеко от диска. Вес диска и латунного фитинга гарантирует, что ручка остается в контакте с бумагой. Если вам нужны «толстые» линии, можно надеть на карандаш гирю.

Вся моя схема была построена на прототипе щита Arduino. Отключайте щит всякий раз, когда хотите загрузить эскиз на свой Arduino. После загрузки скетча отсоедините USB-кабель для программирования, затем замените экран.

Питание от батареи подается на Arduino через контакт «Vin», когда прикреплен экран. Это позволяет быстро вносить изменения в ваше программное обеспечение, не вызывая конфликтов батареи и Bluetooth.

Шаг 3: Схема

Схема
Схема

Все компоненты смонтированы на прото-щите Arduino.

Шаговые двигатели BJY48 подключаются к контактам A0.. A3 и D8.. D11 Arduino.

Серводвигатель подъемника ручки подключен к контакту D3, который запрограммирован на вывод импульсов 1 мс (миллисекунда) и 2 мс с интервалом 20 мс.

Сервопривод и шаговые двигатели питаются от собственного источника питания 5 вольт 1 ампер.

Модуль Bluetooth HC-06 питается от Arduino.

Arduino получает питание через вывод Vin.

За исключением модуля Bluetooth HC-06, в котором есть делитель напряжения, состоящий из резисторов 1K2 и 2K2 Ом, для понижения входного напряжения Bluetooth RX до 3,3 В, все резисторы имеют сопротивление 560 Ом. Резисторы на 560 Ом предназначены для защиты Arduino от короткого замыкания. Они также упрощают подключение экрана.

Шаг 4: Примечания по разработке программного обеспечения

Код.ino для этого проекта был разработан с использованием codebender на https://codebender.cc/. Codebender - это облачная IDE (интегрированная среда разработки), которую можно использовать бесплатно, с отличной отладкой и автоматическим обнаружением вашего Arduino.

Константы SCALE и CWR, используемые в коде, определяются:

  • габариты робота,
  • спецификация двигателя,
  • и ваш выбор «пошагового режима».

Технические характеристики двигателя

«Шаговые двигатели 28BYJ-48-5V», используемые в этом проекте, имеют «угол шага» 5,625 градусов / 64 и «коэффициент изменения скорости» 64/1. Это соответствует 4096 возможным шагам на один оборот выходного вала, но предполагает, что вы используете технику, называемую «полушагом».

Как работают шаговые двигатели

«Шаговые двигатели 28BYJ-48-5V» имеют четыре катушки, каждая с профилированным железным сердечником, содержащим восемь полюсов. Каждый из четырех полюсных наконечников смещен так, что имеется 32 полюса, разнесенных на 360/32 = 11,25 градусов.

Если мы активируем (пошагово) одну катушку за раз (пошаговый режим) или две катушки за раз (полный шаг), ротор сделает один полный оборот за 32 шага. Поскольку внутреннее зацепление 64/1, один оборот выходного вала требует 2048 шагов.

Полушаг

Этот робот использует полушаг.

Полушаг - это метод, при котором полушаги создаются путем попеременного включения одной катушки, а затем двух соседних катушек, таким образом удваивая количество шагов с 32 до 64 на один оборот ротора. Это эквивалентно 64 полюсам, разнесенным на 360/64 = 5,625 градусов (угол шага).

Поскольку внутреннее зацепление 64/1, один оборот выходного вала требует 4096 шагов.

Бинарные шаблоны для достижения полушага задокументированы в функциях move () {…} и rotate () {…}.

ШКАЛА

SCALE калибрует прямое и обратное движение робота.

При диаметре колеса 65 мм робот будет двигаться вперед (или назад) PI * 65/4096 = 0,04985 мм за шаг. Чтобы достичь 1 мм на шаг (Inkscape использует мм для своих координат), мы должны использовать коэффициент МАСШТАБА, равный 1 / 0,04985 = 20,0584. Это означает, что количество шагов, необходимых для перемещения между любыми двумя точками, равно «расстоянию * МАСШТАБ».

CWR

CWR (отношение диаметра круга к диаметру колеса) [1] используется для калибровки угла поворота робота. Высокое значение CWR обеспечивает наибольшее разрешение и минимальную совокупную ошибку, но обратная сторона - то, что для поворота робота потребуется больше времени.

Если предположить, что колеса робота расположены на расстоянии 130 мм друг от друга, тогда колеса должны пройти PI * 130 = 408,4 мм, чтобы робот мог повернуться на 360 градусов. Если диаметр каждого колеса составляет 65 мм, то один оборот колеса перемещает робота PI * 65 = 204,2 мм по окружности. Чтобы колеса прошли полный круг, они должны повернуться на 407,4 / 204,2 = 2,0 (дважды).

Это соответствует CWR, равному 2, и разрешающей способности 360 / (CWR * 4096) = 0,0439 градусов на шаг.

Для максимальной точности SCALE и CWR должны использовать как можно больше десятичных знаков.

[1]

Колесные колеи образуют круг, когда робот поворачивается на 360 градусов. Поскольку следы колес перекрывают друг друга, формула CWR такова:

CWR = расстояние между колесами / диаметр колеса.

Интерпретатор GCODE

Робот реагирует только на команды Inkscape, начинающиеся с G00, G01, G02 и G03.

Он игнорирует любые коды F (скорость подачи) и Z (положение по вертикали), поскольку робот может двигаться только с одной скоростью, а перо всегда вверх для кода G00 и вниз для всех остальных кодов. Коды I и J ("biarc"), используемые при построении кривых, также игнорируются.

Неиспользованный код M100 используется для «МЕНЮ» (M для меню).

Дополнительные T-коды были добавлены в тестовых целях (T для теста)

Код моего интерпретатора был вдохновлен

Шаг 5: Установка программного обеспечения робота

Выключите, затем отсоедините щиток "мотор / синий зуб". Это позволяет добиться двух вещей:

  • Он удаляет аккумулятор, пока вы программируете Arduino через USB-кабель.
  • Он удаляет устройство голубого зуба HC-06, поскольку программирование НЕ возможно, пока подключен модуль голубого зуба. Причина этого в том, что вы не можете одновременно подключать два последовательных устройства.

Скопируйте содержимое «Arduino_CNC_Plotter.ino» в новый эскиз Arduino и загрузите его на свой Arduino. После загрузки программного обеспечения отключите USB-кабель.

Подключите вышеупомянутый щит… ваш робот «готов к работе».

Шаг 6: настройка Bluetooth

Настройка Bluetooth
Настройка Bluetooth
Настройка Bluetooth
Настройка Bluetooth
Настройка Bluetooth
Настройка Bluetooth
Настройка Bluetooth
Настройка Bluetooth

Прежде чем вы сможете «разговаривать» с роботом, модуль Bluetooth HC-06 должен быть «спарен» с вашим ПК.

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

В следующей последовательности предполагается, что вы используете Microsoft Windows 10.

Щелкните левой кнопкой мыши «Пуск | Настройка | Устройства | Bluetooth». На вашем экране будет отображаться статус Bluetooth каждого устройства, которое может быть подключено. Снимок экрана в нижнем левом углу показывает, что ПК в настоящее время знает о некоторых наушниках Bluetooth.

Включите робота. Модуль Bluetooth HC-06 начнет мигать, и устройство появится в окне Bluetooth, как показано на снимке экрана внизу в центре.

Щелкните левой кнопкой мыши «Готово к сопряжению | Сопряжение» и введите пароль «1234», как показано на верхнем снимке экрана.

Щелкните левой кнопкой мыши «Далее», чтобы выполнить сопряжение устройства. Теперь ваш экран должен быть похож на снимок экрана в правом нижнем углу с надписью «HC-06 Connected».

Шаг 7: Установка программного обеспечения эмуляции терминала

Установка программного обеспечения эмуляции терминала
Установка программного обеспечения эмуляции терминала
Установка программного обеспечения эмуляции терминала
Установка программного обеспечения эмуляции терминала

Чтобы «разговаривать» с вашим роботом, вам понадобится программный пакет эмуляции терминала, целью которого является подключение вашей клавиатуры к роботу и отправка файлов g-кода роботу через соединение Bluetooth.

Я выбрал программу эмуляции терминала для этого проекта «Tera Term», поскольку она легко настраивается. Программное обеспечение можно использовать бесплатно, а последнюю версию можно получить по адресу:

osdn.jp/projects/ttssh2/downloads/64798/term-4.90.exe

Дважды щелкните «teraterm-4.90.exe» в папке «Download» и следуйте инструкциям на экране. Выберите настройки по умолчанию. Щелкните левой кнопкой мыши «Последовательный», затем «ОК» на начальном экране.

Настройка Teraterm

Прежде чем мы сможем «поговорить» с роботом, мы должны настроить «Тератерм»:

Шаг 1:

Щелкните левой кнопкой мыши «Настройка | Терминал» и установите значения экрана на:

Размер срока:

  • 160 х 48
  • Снимите два флажка непосредственно ниже

Новая линия:

  • Прием: CR + LF
  • Передача: CR + LF

Оставьте остальную часть экрана со значениями по умолчанию.

Нажмите "ОК".

Шаг 2:

Щелкните левой кнопкой мыши «Настройка | Окно» и установите значения экрана:

Нажмите «Реверс» (меняет цвет фона экрана на белый)

Оставьте остальную часть экрана со значениями по умолчанию.

Нажмите "ОК".

Шаг 3:

Щелкните левой кнопкой мыши «Настройка | Шрифт» и установите значения экрана:

  • Шрифт: Droid Sans Mono
  • Стиль шрифта:: Обычный
  • Размер: 9
  • Сценарий: западный

Нажмите "ОК".

Шаг 4:

Щелкните левой кнопкой мыши «Настройка | Последовательный» и установите значения экрана на:

  • Порт: COM20
  • Скорость передачи: 9600
  • Данные: 8 бит
  • Четность: нет
  • Стоп: 1 бит
  • Контроль потока: нет
  • Задержка передачи: 100 мс / символ, 100 мс / линия

Нажмите "ОК".

Закройте экран с предупреждением «Невозможно открыть COM20».

Примечания:

  1. Мой синий зуб использует COM20 для отправки синего зуба и COM21 для приема синего зуба. Номера портов вашего голубого зуба могут отличаться.
  2. Задержки передачи замедляют работу при использовании «Файл | Отправить…». Arduino, кажется, пропускает строки, если вы попытаетесь ускорить процесс. «Файл | Отправить…» кажется надежным с показанными значениями, но не стесняйтесь экспериментировать.

Шаг 5:

Щелкните левой кнопкой мыши «Настройка | Сохранить настройку…» и щелкните левой кнопкой мыши «Сохранить».

Закрыть Teraterm

Шаг 6:

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

Откройте Teraterm и дождитесь появления сообщения «COM20 - Tera Term VT» в верхнем левом углу экрана Teraterm. Светодиод с синим зубом должен гореть постоянно.

Введите «M100» без кавычек… должно появиться меню. Цифры 19: и 17:, которые появляются на экране, являются кодами подтверждения связи Xon и Xoff от Arduino.

Поздравляем … теперь ваш робот настроен.

Шаг 8: Тестовые таблицы

Таблицы испытаний
Таблицы испытаний
Таблицы испытаний
Таблицы испытаний

«Меню» содержит две тестовые таблицы.

T103 строит простой квадрат. Все углы должны встретиться. Отрегулируйте константу CWR и перекомпилируйте код, если они этого не делают.

Теоретический CWR для моей конструкции был CWR = 141/65 = 2,169. К сожалению, углы не совсем пересекались. Чтобы сократить время калибровки, я построил два квадрата… один с CWR = 2, а другой с CWR = 2.3. Если вы изучите фотографию выше, вы увидите, что концы одного квадрата «открыты», а концы другого «перекрываются». Измерьте расстояние от конца до конца для каждого квадрата и возьмите лист миллиметровой бумаги. Нарисуйте горизонтальную линию с (в данном случае) 30 делениями, обозначенными от 2,0 до 2,3. Используя как можно больший масштаб, нанесите расстояние «перекрытия» над горизонтальной линией и расстояние «раскрытия» под линией. Соедините эти две точки прямой линией и считайте значение CWR в точке, где диагональная линия пересекает ось CWR. Для моего робота этот показатель CWR составил 2,173… разница в 0,004 !!

T104 строит более сложную тестовую таблицу.

G-коды Inkscape для этой тестовой таблицы содержатся в файле "test_chart.gnc". Параметры «biarc» «I», «J», показанные в коде, были проигнорированы, что составляет сегментированный круг.

Шаг 9: Создание контура

Создание контура
Создание контура
Создание контура
Создание контура

В следующей процедуре используется «Inkscape» и предполагается, что мы хотим нарисовать цветок из изображения с названием «flower.jpg».

Inkscape версии 0.91 поставляется с расширениями gcode и может быть загружен с https://www.inkscape.org. Нажмите «Загрузки» и выберите правильную версию для своего компьютера.

Шаг 1. Откройте изображение

Откройте Inkscape и выберите «Файл | Открыть | flower.jpg».

На всплывающем экране выберите следующие параметры:

Тип импорта изображения: ………… Встроить

  • Разрешение изображения: ……………………. Из файла
  • Режим рендеринга изображения:… Нет
  • Ok

Шаг 2. Центрируйте изображение

Нажмите F1 (или левый верхний инструмент на боковой панели)

Щелкните изображение… появятся стрелки

Одновременно нажмите и удерживайте клавиши «ctrl» и «shift», затем перетащите угловую стрелку внутрь, пока не появится контур страницы. Ваше изображение теперь центрировано.

Шаг 3. Отсканируйте изображение

Выберите «Путь | Растровое изображение трассировки», затем выберите следующие параметры во всплывающем окне:

  • цвета
  • снимите флажок "сканирование стека"
  • повторить: обновить… отсканировать номер… обновить
  • нажмите ОК, когда вас устраивает количество сканирований

Закройте всплывающее окно, щелкнув X в правом верхнем углу.

ПРЕДУПРЕЖДЕНИЕ: Сведите количество сканирований к абсолютному минимуму, чтобы сократить время черчения роботом. Лучше всего простые очертания.

Шаг 4. Создайте контур

Выберите «Объект | Заливка и обводка |». Появится всплывающее окно с тремя вкладками меню.

  • Выберите «Обводка краской» и щелкните поле рядом с крестиком.
  • Выберите «Заливка» и нажмите X

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

Отмените выбор изображения, щелкнув за пределами страницы.

Теперь щелкните внутри изображения. Внизу экрана появится сообщение «Изображение: 512 x 768: встроено в корень» или подобное.

Нажимаем «удалить». Остается только очертание.

Шаг 5: Тайм-аут

Время для небольшого исследования.

Нажмите F2 (или второй сверху инструмент на боковой панели) и наведите курсор на контур. Обратите внимание, как контур мигает красным, когда курсор проходит по разным путям.

Теперь щелкните контур. Обратите внимание, как появляется ряд «узлов». Эти «узлы» необходимо преобразовать в координаты g-кода, но прежде чем мы сможем это сделать, нам нужно назначить ссылочные координаты нашей странице.

Шаг 6. Назначьте координаты страницы

Нажмите F1, затем щелкните контур.

Выберите «Слой | Добавить слой» и нажмите «Добавить» во всплывающем окне. Расширения g-кода, которые мы собираемся использовать, требуют как минимум одного слоя … даже если он пустой!

Выберите «Расширения | Gcodetools | Точки ориентации». Во всплывающем окне выберите «2-точечный режим» и нажмите «Применить».

Отключите все предупреждающие сообщения.

Нажмите «Закрыть», чтобы закрыть всплывающее окно.

Левому нижнему углу страницы присвоены координаты "0, 0; 0, 0; 0, 0".

Шаг 7. Выберите инструмент

Выберите «Расширения | Gcodetools | Библиотека инструментов» и нажмите:

  • конус
  • Подать заявление
  • OK …. (чтобы убрать предупреждение)
  • Закрывать

Нажмите F1 и перетащите зеленый экран за пределы контура страницы.

Шаг 8: Отрегулируйте настройки инструмента и подачи

Этот шаг не является обязательным, но включен для полноты картины, поскольку он показывает, как изменить настройки «диаметра» и «подачи» инструмента, если у вас есть фрезерный станок.

Щелкните символ «A» на боковой панели, затем измените настройки, показанные на зеленом экране:

  • диаметр: от 10 до диаметра 3
  • подача: от 400 до 200

Шаг 9: сгенерируйте g-код

Нажмите F1

Выберите изображение

Выберите «Расширения | Gcodetools | Путь к Gcode | Настройки» и измените:

  • Файл: flower.ncg ……………………………………… (имя файла числового кода g-кода)
  • Каталог: C: / Users / yourname / Desktop… (место хранения для flower.ncg)
  • Безопасная высота Z: 10

Не выходя из всплывающего окна, выберите вкладку меню «Путь к Gcode» и нажмите:

  • Подать заявку… (это может занять много времени… подождите !!)
  • OK ……. (отклоните все предупреждения)
  • Закрыть… (после создания кода)

Если вы посмотрите на контур, он теперь состоит из синих наконечников стрелок (нижнее изображение).

Закройте Inkscape.

Шаг 10: Подтвердите свой код

Подтвердите свой код
Подтвердите свой код
Подтвердите свой код
Подтвердите свой код

nraynaud.github.io/webgcode/ - это онлайн-программа для визуализации изображения, которое создаст ваш g-код. Просто поместите свой g-код на левую панель симулятора, и соответствующая визуализация появится в правой части экрана. Красные линии показывают траекторию движения инструмента и подъемники ручки робота.

Настройки «Путь | Растровое изображение трассировки» для верхнего изображения были:

  • "Цвета"
  • «Сканы: 8»

Параметры «Путь | Растровое изображение трассировки» для нижнего изображения были:

  • «Обнаружение края»
  • «Порог: 0,1»

Если вам не нужны детали, всегда создавайте простой образ.

Шаг 11: отправка файла Inkscape роботу

Отправка файла Inkscape роботу
Отправка файла Inkscape роботу
Отправка файла Inkscape роботу
Отправка файла Inkscape роботу
Отправка файла Inkscape роботу
Отправка файла Inkscape роботу

Предположим, мы хотим отправить роботу файл Hello_World_0001.ngc.

Шаг 1

Включите робота.

Поместите робота в нижний левый угол страницы чертежа и наведите его на 3 часа. Это начальная позиция по умолчанию.

Откройте Teraterm и дождитесь, пока индикатор bluetooth перестанет мигать. Это означает, что у вас есть ссылка.

Шаг 2

Убедитесь, что максимальное значение X и максимальное значение Y в файле, который вы собираетесь отправить, поместятся на странице. Например, прикрепленный "Hello_World_0001.ngc" показывает максимальное значение X:

G00 X67.802776 Y18.530370

и максимальное значение Y должно быть:

G01 X21.403899 Y45.125018 Z-1.000000

Если вы хотите, чтобы ваше изображение было больше, чем указанное выше 67,802776 на 45,125018 мм, измените размер графика, используя следующие параметры меню:

M100

T102 S3.5

Эта последовательность команд отображает меню, чтобы вы могли видеть T-коды, затем увеличивает размер изображения в 3,5 раза (350%).

Шаг 2

Щелкните левой кнопкой мыши «Файл | Отправить файл…»

Найдите файл Hello_World_0001.ngc.

Щелкните левой кнопкой мыши «Открыть». Теперь файл будет отправлен роботу построчно.

Это так просто … счастливого заговора:)

Примечания:

  • Все команды МЕНЮ ДОЛЖНЫ быть в верхнем регистре.
  • 19: и 17:, показанные на фотографии выше, являются кодами подтверждения связи Arduino (десятичными) для «Xoff» и «Xon». Двоеточия были добавлены для улучшения внешнего вида. Команда Inkscape следует за каждым «Xon».
  • Вы никогда не должны видеть две координаты X, Y в одной строке. Если это произойдет, увеличьте время задержки последовательной передачи с текущего значения 100 мс на символ. Более короткие задержки могут работать…
  • "Привет, мир!" график показывает признаки кумулятивной ошибки. Тонкая настройка CWR должна исправить это.

Щелкните здесь, чтобы просмотреть другие мои инструкции.

Рекомендуемые: