Автор: snake
Полное описание конструктива
Система. Версия 8
Плюс в названии версии означает, что некоторые компоненты отдельно модернизированы с сохранением совместимости и имеют более новую версию
Два плюса в названии версии означает, что компонент по прежнему совместим и с версией всей системы
Хорошо подойдет для самодельных ЧПУ, авторы которых хотят сэкономить на контроллере ЧПУ и проверить хотя бы работоспособность своего творения, а также для тех, кто хочет разрабатывать собственный контроллер ЧПУ или прошивку.
Следите за номером версии системы. У вас не должно быть отдельных компонентов (прошивка, приложение, схема и т.п.) с версией ниже, чем текущая версия системы. Иначе будет что-то не работать или работать неправильно. Эта страница периодически наполняется. Наблюдайте за изменениями.
Система работы с ЧПУ разработана мной и представляет собой 3 взаимосвязанные вещи: электронная схема, прошивка, приложение под Android. Если вы хотите разработать один из этих трех компонентов самостоятельно, то вам нужно будет адаптировать свой функционал под текущий стандарт.
Конфигурация станка
Система рассчитана на определенную конфигурацию станка:
Оси X, Y, Z – линейные, A, B, C – поворотные.
Система координат должна быть такой:
Концевые выключатели должны быть установлены для осей X, Y – вначале оси, для оси Z – в конце. Это влияет на поведение команды G28 (“Домой”). Т.е. по оси Z парковочное положение – наверху, там и должен быть концевой выключатель.
ВНИМАНИЕ! Теперь (с новой прошивкой) нельзя включать станок без концевых выключателей, поскольку сразу после подключения приложения по Bluetooth происходит выполнение команды G29 (домой+возврат в исходную точку), команда G29 использует для поиска стартовой позиции данные концевых выключателей. Без них каретки будут перемещаться за пределы рабочей области станка, что приведет к поломке станка.
Если не учесть правильное расположение осей, то это может привезти к неправильному направлению движения.
Микрошаг на драйверах осей – 3200.
Частотный преобразователь для шпинделя используется YL-620.
Шпиндель используется любой, который воспринимает входящую частоту 50 – 400 Гц и обороты до 24000. Однако, максимальные рабочие обороты установлены в 10000 на уровне прошивки.
Если вам нужна прошивка для станка другой конфигурации – пишите в комментариях на Дзене.
Схема. Версия 6++
Новое в версии 6++:
- Изменена распиновка контактов A4, A5, A6, A7. Теперь они подключаются по стандартной схеме к модулю чтения SD-карт: A4 – CS, A5 – CLK, A6 – DO, A7 – DI
Может быть выполнена на базе одной из следующих плат:
- stm32F103CC
- stm32F401CC
- stm32F411CE
Bluetooth модуль настроен на режим Slave (обычно он всегда по-умолчанию).
Внимание! Не используйте индуктивные концевые датчики для шпиндельного ЧПУ! При включенном шпинделе они могут глючить (проверял несколько раз, это так)
https://dzen.ru/embed/vMNzkUPaP1w8?from_block=partner&from=zen&backoffice=1&mute=1&autoplay=1&tv=0 https://dzen.ru/embed/vWmpbMPOaLjc?from_block=partner&from=zen&backoffice=1&mute=1&autoplay=1&tv=0
Прошивка плат (бета). Версия 10
Новое в версии 10 (03.01.2023, подробно – документация):
- Появились дополнительные коды аварийных ошибок при нарушении границ рабочего поля станка (см.подробно формат обмена)
- Появились команды W72, W73 для управления контролем границ рабочего поля станка
- Контроль по концевым выключателям теперь осуществляется только при выполнении G28, после чего станок автоматически переводится на контроль рабочего поля. Не пытайтесь переместить позиционеры вручную после выполения G28, это приведет к расхождению физических координат станка с программными, либо выполните после такого перемещения команду G28 заново!
На отладочные платы необходимо поместить прошивку контроллера. Для плат серии stm32f4** сделать это получится только через интерфейс ST-LINK (правильнее сказать переходник ST-LINK – USB).’
В текущей версии прошивки концевые выключатели работают только в функции G28. В будущих версиях я заменю у себя глючные индуктивные датчики на механические и обновлю прошивку. После этого датчики будут реагировать всегда.
- stm32F103CC
- stm32F401CC
- stm32F411CE
Для загрузки прошивки вам понадобится программа stm32CubeProgrammer. Документацию по ней можно найти там же (у официального разработчика). Но вообще, сложного там ничего нет:
- Выбираете интерфейс подключения ST-LINK (как подключать провода здесь)
- Жмете “Connect”
- Переходите в закладку программирования
- Выбираете файл .bin
- Жмете “Start Programm…”
- Переходите в закладку CPU
- Жмете “Hard reset”
- Жмете “Run”
…или воспользуйтесь видео здесь Bluetooth модуль MLT-BT05 настроен на скорость 115200 бод. Делается это при помощи AT-команды AT+BAUD8 обязательно через UART (через терминал Bluetooth не получится). Для этого лучше подключить сначала модуль к ПК при помощи модуля UART-USB и запрограммировать прямо из консоли порта Arduino studio, либо другого UART-терминала. Модули HC-06 я не использую, т.к. у поставщиков очень много брака. В любом случае, модуль должен работать в режиме Bluetooth LE, т.к. именно на этот стандарт настроено приложение под Android.
Приложение для Android (бета). Версия 11
Новое в версии 11:
- Добавлено автоматическое выполнение команд инициализации. Теперь при подключении к станку выполняется набор команд инициализации (меню “настройки”).
Новое в версии 10:
- Добавлено отображение аварийных ситуаций при нарушении границ рабочего поля
Новое в версии 9:
- Добавлен индикатор текущего типа перемещения (по абсолюной системе координат или относительной)
- Исправлена ошибка позиционирования после выполнения кода G90…G91
- Исправлена ошибка отключения модальности (некоторые команды не отключали модальные). Теперь команды G90, G91, M06 отключают модальность предыдущих команд.
Новое в версии 8:
- Добавлены функции W70, W71
- Макро. Добавлена команда устанавливающая координаты Z=0
- Добавлена кнопка тестирования состояния смены инструмента
- Добавлена кнопка очистки стека команд
Новое в версии 7:
- Добавлен калькулятор режимов резания (Можно рассчитать скорость вращения и подачу и по нажатию кнопки перенести эти данные в настройки)
- Макро. Теперь фрезеровать прямоугольник можно на глубину с постоянным шагом
- Оптимизирована передача всех управляющих функций
Новое в версии 6:
- Теперь выбор файла с G-кодом происходит не на мобильном устройстве, а на SD-карте контроллера. В связи с этим также обновлена прошивка контроллера и схема.
Новое в версии 5:
- Добавлена возможность отключать проверку MD5 при передаче данных. Это немного увеличит скорость передачи, однако, вероятность ошибки становится выше
- Оптимизация объема при передаче данных
Скачиваете мое приложение здесь. В самом приложение всё должно быть понятно. Страницы:
УПРАВЛ
Прямое управление элементами станка – перемещения по осям, установка шага перемещения, вкл/выкл шпинделя.
МАКРО
Набор макро-команд. Несколько часто используемых простых функций, например, сверление отверстия по месту или фрезерование цилиндрического/линейного паза.
ПРОГ
Выполнение программы G-кода или только одной команды. Также ниже отображается лог запросов.
НАСТР
Базовые настройки
Приложение поддерживает работу исключительно с модулями Bluetooth LE, полностью тестировалось и совместимо с MLT-BT05.
Приложение постоянно дорабатывается. В ближайшее время будет доработка и некоторые изменения.
Стандарт обмена данными (бета). Версия 11
Описание стандарта обмена данными
Исходные файлы для Ардуино (бета). Версия 6++
Расчет хэш суммы MD5 (стандарт) Источник: https://github.com/tzikis/ArduinoMD5
Расчет CRC суммы (нестандарт, упрощенный алгоритм)
Общий архив
Пролог
Ни для кого не секрет, что теория снов изучена очень мало; а как известно – если что-то нельзя объяснить научно, то это тут же объясняется различной фантазией. Я помню ещё в глубоком детстве, если едешь в поезде, то какой-нибудь мужик пройдёт по вагону и предложит купить чёрно-белую фотографию сонника или с гаданием на картах, по рублю за штуку. Расшифровка изумляла: если снится лошадь – это ложь, волосы – сплетни, гроб – к долгой жизни. Пытливый детский ум просил у родителей объяснения – а что должно присниться к короткой жизни; или а какая жизнь будет, если сегодня приснился сон к короткой жизни, а завтра – к длинной? Также мне было не понятно, почему так важно именно что снится, но нигде нет перевода того, если что-то с этим происходит; ну например, если лошадь упала, если лошадь побежала, если лошадь сдохла…И главное, если это теория – почему о ней нет предмета в школе? Никто мне не мог ответить, по этому я решил, что никто не знает на самом деле что это и нет ничего, что объясняло правильность этой трактовки. При этом, примерно лет с 16-17 мне начинали снится сны, которые не вписывались ни в одни объяснения, но всегда находились люди желающие мне помочь и “перевести” сон. Вот только проблема (для них) была в том, что у меня уже сложилось собственное предположение что такое сны и в примерно каком ракурсе их нужно понимать. Сны шли часто с обширным сюжетом и я решил, что нельзя их просто игнорировать, и стал некоторые записывать. Примерно лет 10 назад мне перестали сниться сюжетные сны, они стали сильно фрагментированными и несвязанными, и в большинстве своём были не интересны, хотя я и ошибался.
Тему эту я решил начать со сна, который мне приснился примерно в 90е года. Он настолько меня впечатлил, что я написал по этому поводу стихотворение рассказывающее его сюжет:
Вокруг лишь свет и я смекнул,- Так это ж сон! Как вдруг внезапно был я пробужден, Но понял вскоре, что я сплю. О, Боже, как во сне я мог уснуть?! Но тут не понял ничего... Сомненья хлынули волной. Я снова вдруг открыл глаза И та реальность не моя. Не понимаю, что со мной - Из мира в мир лечу стрелой, Впадаю в прах и вновь живу... И снова понял, что я сплю. Закрыть глаза не в силах я; Наверно я сошел с ума. И слышу голос вдруг чужой,- Пора вставать, иди домой! Открыв глаза я понял суть - Не в силах больше мне уснуть! А все вокруг знакомо вдруг Сомнений нет - я наяву. И одеваясь ухожу... Но нет, постой. А кто сказал мне это все? И словно бешеный бегу Найти кого-нибудь хочу, Но мощной силой поражен С разбегу падаю на пол. Ни боли, ни каких-то ран Лишь чувствую, что я устал... Очнулся я в глухом лесу Но шум деревьев не пойму Как будто он пронзает тишь, и вдруг лечу, Увидеть что-нибудь хочу, Но я во тьме. О, как могу я знать Куда лететь мне, что искать? И рук своих не узнаю И крикнул я от страха в тьму. Но не прошло мгновенья Быстрее молнии, наверно, Как грохот по моим ушам Вернулся крик мой. Кто же я? И как лишь понял я о том Мой страх сковал меня всего, И тут я снова закричал.. Как было мило, что я спал! И рядом верная жена; Да, ведь, бывает, иногда! Но вспомнил, вдруг, что не женат И задержал дыханье я... Сижу лишь в кресле. Предо мной лежит Готовый для стихов бумаги лист И строки эти я пишу В сомненье, может тоже сплю
Примерно осенью 2022 мне вновь стали сниться сюжетные сны, и пока это происходит, я решил снова обратить на них внимание, а заодно и понаблюдать как различные гуру снов будут давать комментарии и выстраивать переводы по древним письменам; а может и кто-то уже видел что-то подобное и эта тема вызовет интересное обсуждение.
Сегодня я подключил старый жесткий диск со всякой давней моей личной инфой, а там у меня записи почти о трёхстах снах. Я начал их читать и понял, что либо их писал какой-то другой человек, либо я не помню уже ничего о них. Нет, конечно же писал их я, и даже некоторые из них настолько были яркими, что я до сих пор визуально вспоминаю некоторые отдельные фрагменты, как будто это был какой-то другой мир; но ведь так оно и есть – это другой,- наш внутренний мир.
26-27.11.2008 “Глобальная катастрофа”
Под впечатлением этого сна я написал стихотворение, которое наиболее полно отражает его картину. Этот сон был от третьего лица, в котором я выступал наблюдателем. Где “по сюжету” это происходило, я не знаю.
Я вижу, что вокруг разруха, Люди все бегут, И дети хрипло плачут, Потеряв последний свой приют. И дует сильный ветер, Вздымая клубни пыли вверх; Своим он шумом заглушает стоны, А пеленой случайный где-то свет. Из окон слышны крики И град предсмертных слёз; По улице какой-то Бежит хромая обгоревший пёс. Никто не знает Как случилось всё это вокруг, Бегут куда-то в спешке; Но похоже, что у всех единый путь. И замечаю женщина лежит. Я подхожу и мне ужасный предаётся вид - На груде кирпичей и ржавых труб, Лежит частями в перемешку с грязью труп. Теперь лишь понимаю фразу "У смерти нет лица"; И молча ухожу Лишь заглянув в её глаза. И я иду за ветром Тихо в след; Его порывом принесло Обрывки из сегодняшних газет. Взглянул на дату, Но смысла было мало, я не бредил, - Апрель семнадцать И в конце у года цифра девять. И захожу я в дом случайный, Присев на табурет. Здесь часом раньше, Видимо, готовили обед. Но дом пустой, Здесь жизни больше нет; Вот пёс хромой пришёл ко мне,- Что, друг, не слабо же досталось и тебе? Но в голове звенит, В глаза проник густой туман И чувство тошноты пришло С мигренью пополам. И медленно я голову склонил, А пёс прилёг и тихо заскулил. И мысли прошлые всплывают как сейчас Я знал одно - я видел это много раз.
Если на пенопласт упадет спичка
Для эксперимента было взято два образца.
Экструдированный пенополистирол (Пеноплекс). Заявленный класс пожароопасности Г4:
Пенопласт Кнауф 50 Therm, заявленный класс пожароопасности Г3:
Инструкция на русском
Можете читать прямо тут или скачать себе на устройство.
Правильная русификация
Осциллограф Hantek DSO2D15. Как нормально русифицировать.
Всем привет!
У кого есть эта модель осциллографа, наверно знает какая там русификация. Давайте сделаем её лучше!
Внимание! Все дальнейшие действия делаем на свой страх и риск, у меня с определенной прошивкой и моделью аппарата это получилось, как будет с вашими версиями – не знаю.
Для начала качаем с официального сайта файл прошивки с расширением .upk. Действия такие: Этот файл распаковываем, изменяем пару файлов, запаковываем обратно, далее – всё как обычно,- на флешку и в аппарат как обновление.
Теперь подробнее. Чтобы распаковать и запаковать обратно понадобятся две сторонние утилиты, написанные неким мастером (не мной). Их можно скачать по ссылке https://elvinto.ru/hantek/utils.zip (читать файл readme – ОБЯЗАТЕЛЬНО!). Там один батник для распаковки из архива прошивки .upk, второй – для запаковки обратно в .upk.
Находим путь типа: 20220210\package\root\dso\app\res\values\
Там лежат XML-ки. Одна для русского языка, называется strings_rus.xml.
Там перевод интерфейса на русский язык. Обратите внимание, что это “чистый” XML, по этому если вы не знакомы с его форматом, лучше кроме букв русского алфавита, знаков точка, запятая, тире ничего не пишите, иначе xml будет неверно истолкован. Иными словами НЕ(!) надо писать что-то типа “Условие, когда это > этого”. Знак “больше” в XML служебный и так делать нельзя, к слову, знак меньше тоже служебный, не испытывайте судьбу.
Теперь НЕ торопитесь всё запаковать обратно и закинуть обратно в прошивку. Этого не достаточно, результата не будет!
Переходите на мою страницу с конвертером xml -> bin: https://elvinto.ru/hantek/index.php
Всё опять внимательно читаем…Этот конвертор писал я на свой страх и риск, уже опробовал на своём осцилле (видео на моем канале есть), вроде проблем нет.
Подкидывайте туда свой файл XML с русским переводом, нажимайте кнопку “Отправить”. Взамен вам выкинет файл с расширением .bin.
Это файл-бинарник перевода, именно он и воспринимается прошивкой.
Кидаем этот файл в распакованный ранее архив .upk по пути типа: 20220210\package\root\dso\app\, т.е. 2 уровня выше, чем исходный файл strings_rus.xml, заменяя текущий файл res_str_rus.bin.
Теперь всё запаковываем утилитой и кидаем в осцилл обычным способом.
ВНИМАНИЕ! Если у вас есть какие-то сомнения по поводу перевода или правильности формата XML, лучше пишите коммент сюда до того, как что-то куда-то залили, я гляну еще сам, может быть проблему удастся случайно увидеть и решить.
Сделаем вместе нормальный перевод!
Да, еще, вы должны понимать, что каждое следующее обновление прошивки потребует этих действий, пока фирма Hantek не перестанет делать перевод “на ******сь” “на отцепись”, извините…
————-
Прошивка, которую проверил один из подписчиков на своем осциллографе этой же самой модели (он, как и я, делал это на свой страх и риск), находится тут. Таким образом, уже у минимум у двух она работает. Однако, если вы заметили какие-то неточности перевода или где-то я пропустил, то просто можете отразить здесь в комментах и я подправлю. Ну, это на случай, если сами не хотите заморачиваться русификацией и подготовкой файла.
————-
Распаковка файла прошивки, изменение перевода, результат:
Охладитель для аквариума
Что делать в летнюю жару с аквариумом? Для меня это теперь не вопрос после того как купил б/ушный пивной охладитель (охладитель пиво для мини-баров). Это вроде и шутка, но на самом деле вовсе и не шутка.
Как я кокнул мобилу, а потом починил
История эта случилась совсем недавно, три недели назад. Я спокойным шагом направлялся на работу и скользил по тротуару. Предновогодний город был хотя и не вычурно праздничным, но всё равно прекрасен. Многие, как и я, спешили на работу чтобы завершить свои дела и со спокойной совестью вступить в Новый 2023 год. Этот путь для меня был как никогда привычен. Я вновь увидел идущую мне навстречу молодую полноватую симпатичную девушку, которая мне встречается примерно один раз в неделю, снова перешёл улицу и заглянул мимоходом за витрину магазина с фарфором, и пошпарил дальше по этой центральной питерской улочке. Но сегодня я хотя и спешил, то по прежнему очень внимательно вглядывался в окружающие дома, людей и происходящие вокруг события. Я проходил мимо этого дома уже много раз, но только сейчас обратил внимание на выступающую пилястру. Я шёл и поднимал свой взгляд всё выше и выше, всё выше и ещё выше, как вдруг перед моим взором в новом кадре моего видео восприятия вместо пилястры была лужа с вкраплёнными льдинками. Лужа была в перевернутом на девяносто градусов по часовой стрелке изображении. Проанализировав этот контент я понял, что лежу в луже на левом боку в положении лыжника-слаломиста на крутом повороте. Левая рука была согнута и опиралась на ребро ладони в которой крепко был зажат мой мобильный телефон. Осознав происходящее я очень обрадовался, что именно он и принял на себя весь удар от моего пируэта. Вонзившись углом в ледяную скалу мой телефон спас мне руку. Электронный друг поступил как настоящий друг, с ним было приятно не только проводить умно время, но и можно было положиться в прямом смысле этого слова. По этому я был вынужден помочь и ему тоже. Доверить это я никому не мог, это было моё личное дело и именно я должен был его осуществить. Я заказал на Али экран, экран пришёл со всем необходимым для замены инструментом, и я друга починил. Далее собственно видео, как я это сделал:
П.С.: …на радостях я накупил колбасы, пепси, поправился на несколько кило и во время бега повредил коленную связку…Чувствую, как в одной моей истории, опять меня ждёт череда каких-то непонятных для меня событий…))
П.С.2: …в качестве клея я использовал “Момент” для обуви…уж извините, другого всё равно не было…
Тест китайского сверла из твердосплава
Сегодня пришло китайское сверло из твердосплава. Сразу же захотелось протестировать его работу. В общем, я доволен качеством, единственный минус – очень большой свист стоит.