Самопал ЧПУ для stm32f407
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Самопал ЧПУ для stm32f407
Как уже говорил, переписал на праздники свою систему под более популярный контроллер и за одно поправил пачку багов.
Начало можно почитать здесь http://www.cnc-club.ru/forum/viewtopic.php?f=16&t=7628
Сам пользуюсь, в принципе хватает. Если у кого-то есть желание попробовать, в архиве лежит exe, к нему надо подкинуть dll из другого архива. Не закидывал в общий архив, потому что эти dll будут дублироваться для следующих версий (если конечно они будут ) ).
Прошивка в архиве f407_bin, её можно залить через flash loader demonstrator.
Плату брал здесь https://ru.aliexpress.com/item/STM32F40 ... 32138.html
Разводка платы есть здесь http://wiki.stm32duino.com/index.php?ti ... _sch-1.pdf
Разводка ножек есть в исходниках в .ioc файле.
Ну и здесь напишу: (step dir) (PD12 PD10) (PD13 PD11) (PD14 PG2) (PD15 PG3) (PG4 PG6)
В конфиге можно задать, какой оси какая группа соответствует.
Кто захочет собрать из исходников, для компиляции exe нужна библиотека glm.
Немного подробносте насчет микроконтроллера. Список изменений:
Немного доделано ручное передвижение. Если зажать шифт, станок двигается на максимальной скорости.
Переписан протокол связи с устройством, теперь пакеты шлются окном для ускорения посылки, упрощена разметка пакетов, отложенная обработка очереди usart.
Немного правок по чтению окружностей.
Правка циклов сверления.
Поддержка выходных файлов "как для mach3".
Правки прерывания обработки.
Правка расчета ускорения в разных случаях.
Проект переведен на coocox.
Проект переведен на stm32f407.
Улучшена диагностика ошибок.
Исполняемый файл. Библиотеки к нему. Прошивка контроллера. Исходники.
Начало можно почитать здесь http://www.cnc-club.ru/forum/viewtopic.php?f=16&t=7628
Сам пользуюсь, в принципе хватает. Если у кого-то есть желание попробовать, в архиве лежит exe, к нему надо подкинуть dll из другого архива. Не закидывал в общий архив, потому что эти dll будут дублироваться для следующих версий (если конечно они будут ) ).
Прошивка в архиве f407_bin, её можно залить через flash loader demonstrator.
Плату брал здесь https://ru.aliexpress.com/item/STM32F40 ... 32138.html
Разводка платы есть здесь http://wiki.stm32duino.com/index.php?ti ... _sch-1.pdf
Разводка ножек есть в исходниках в .ioc файле.
Ну и здесь напишу: (step dir) (PD12 PD10) (PD13 PD11) (PD14 PG2) (PD15 PG3) (PG4 PG6)
В конфиге можно задать, какой оси какая группа соответствует.
Кто захочет собрать из исходников, для компиляции exe нужна библиотека glm.
Немного подробносте насчет микроконтроллера. Список изменений:
Немного доделано ручное передвижение. Если зажать шифт, станок двигается на максимальной скорости.
Переписан протокол связи с устройством, теперь пакеты шлются окном для ускорения посылки, упрощена разметка пакетов, отложенная обработка очереди usart.
Немного правок по чтению окружностей.
Правка циклов сверления.
Поддержка выходных файлов "как для mach3".
Правки прерывания обработки.
Правка расчета ускорения в разных случаях.
Проект переведен на coocox.
Проект переведен на stm32f407.
Улучшена диагностика ошибок.
Исполняемый файл. Библиотеки к нему. Прошивка контроллера. Исходники.
Последний раз редактировалось Крафтер 08 май 2019, 22:27, всего редактировалось 3 раза.
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Пример работы интерпретатора. В 23 часа ночи пилил шестерню, никто не жаловался ).
https://www.youtube.com/watch?v=zaDvRMYGTKI
Дисковые фрезы рулят, ими обработка идет тише.
https://www.youtube.com/watch?v=BD0VGrR9daU
Здесь осмелел, попробовал быструю выборку паза сделать.
https://www.youtube.com/watch?v=KT3JajpdTeg
Это пример, насколько точно можно обработать деталь, хотя есть и элемент везения ) .
https://www.youtube.com/watch?v=1Fab14cTPrk
Посмотрите, какая красивая стружечка.
https://www.youtube.com/watch?v=dWZPO_6CsOo
Это в 20 часов пилил шайбу из стали.
https://www.youtube.com/watch?v=vj2VBh55pZs
И можно на видосах заметить, как зажимы были сначала деревянными, потом алюминиевыми, потом стальными.
https://www.youtube.com/watch?v=zaDvRMYGTKI
Дисковые фрезы рулят, ими обработка идет тише.
https://www.youtube.com/watch?v=BD0VGrR9daU
Здесь осмелел, попробовал быструю выборку паза сделать.
https://www.youtube.com/watch?v=KT3JajpdTeg
Это пример, насколько точно можно обработать деталь, хотя есть и элемент везения ) .
https://www.youtube.com/watch?v=1Fab14cTPrk
Посмотрите, какая красивая стружечка.
https://www.youtube.com/watch?v=dWZPO_6CsOo
Это в 20 часов пилил шайбу из стали.
https://www.youtube.com/watch?v=vj2VBh55pZs
И можно на видосах заметить, как зажимы были сначала деревянными, потом алюминиевыми, потом стальными.
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Мелкую фрезу отгибает, поэтому сложно попасть в размер. Но если пилить вертикально (плунжерное фрезерование), тогда сразу хорошо снимает, и поверхность приличная выходит. Если предварительно дырки насверлить, то потом можно фрезой потолще по окружности отрезать. Шестерня была нужна для ремня HTD-5М, там по расчетам на 60 зубов длина окружности должна быть 300 мм, а по факту от силы 295.
https://www.youtube.com/watch?v=VoSUR46fmlo
https://www.youtube.com/watch?v=i064hUvKp-4
Когда допилил и начал разбирать старый станок, там половина гаек была откручена и направляющие просто болтались туда-сюда. Короче вибрации зло, надо их забарывать ) .
Пробовал вырезать кабель-канал из тонкой фанеры, потом склеил канцелярским клеем. Вроде работоспособно, но места занимает много и трение большое. Проще купить и не тратить время.
https://www.youtube.com/watch?v=3WZqsjN-8CM
Еще была проблема с тем, что моторы питались от компьютерного блока питания 12 вольт. Когда станок гонял на максималке, освещение станка тухло, и конечно же моторы пропускали шаги. Странно, что мне не было это очевидно, думал, проблема в контроллере. Так вот, потом станок начал постоянно проглючивать на одной программе, нашел там конкретную команду, и оказалось, что это G0 с движением одновременно по всем осям, причем пропускало не при всяком угле наклона. Купил светодиодный БП на 24 вольта, поставил, и все, никаких глюков. Плюс скорость выросла в 2 раза, до 3000 мм/мин.
А это немного темного прошлого станка . Сначала станок был деревянный и даже при обработке дерева сильно гудел. Поэтому сразу начал пилить на нем алюминиевый.
https://www.youtube.com/watch?v=VoSUR46fmlo
https://www.youtube.com/watch?v=i064hUvKp-4
Когда допилил и начал разбирать старый станок, там половина гаек была откручена и направляющие просто болтались туда-сюда. Короче вибрации зло, надо их забарывать ) .
Пробовал вырезать кабель-канал из тонкой фанеры, потом склеил канцелярским клеем. Вроде работоспособно, но места занимает много и трение большое. Проще купить и не тратить время.
https://www.youtube.com/watch?v=3WZqsjN-8CM
Еще была проблема с тем, что моторы питались от компьютерного блока питания 12 вольт. Когда станок гонял на максималке, освещение станка тухло, и конечно же моторы пропускали шаги. Странно, что мне не было это очевидно, думал, проблема в контроллере. Так вот, потом станок начал постоянно проглючивать на одной программе, нашел там конкретную команду, и оказалось, что это G0 с движением одновременно по всем осям, причем пропускало не при всяком угле наклона. Купил светодиодный БП на 24 вольта, поставил, и все, никаких глюков. Плюс скорость выросла в 2 раза, до 3000 мм/мин.
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Пробовал фрезеровать платы... не пошло. Если плата неровная, то фреза в одном месте прорезает на половину толщины, в другом не достаёт. Если взять конус с маленьким углом, тогда может хотя бы ширина дорожек будет меньше плавать. А вот сверлит красиво.
С ЛУТом масштаб не совпадает, видимо бумага от нагрева немного сжимается. Хорошо бы сделать корректировку положений дырок по камере.
-
- Мастер
- Сообщения: 1407
- Зарегистрирован: 31 июл 2013, 20:05
- Репутация: 256
- Настоящее имя: Николай
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Китайцы выпускают на stm32f407 автономный контролер 6 осей частота 2МГЦ экран 3.5 дюйма.Крафтер писал(а):Проект переведен на stm32f407.
Страдания ведут человека к совершенству.
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Где посмотреть сие чудо техники?NikolayUa24 писал(а):Китайцы выпускают на stm32f407 автономный контролер 6 осей частота 2МГЦ экран 3.5 дюйма.
-
- Мастер
- Сообщения: 1407
- Зарегистрирован: 31 июл 2013, 20:05
- Репутация: 256
- Настоящее имя: Николай
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Посмотреть фото плат ?MX_Master писал(а):Где посмотреть сие чудо техники?NikolayUa24 писал(а):Китайцы выпускают на stm32f407 автономный контролер 6 осей частота 2МГЦ экран 3.5 дюйма.
Страдания ведут человека к совершенству.
- xenon-alien
- Почётный участник
- Сообщения: 4510
- Зарегистрирован: 01 янв 2013, 13:13
- Репутация: 920
- Настоящее имя: Daniel
- Откуда: Закарпатская обл. Украина
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Ссылку на продукт можно...?NikolayUa24 писал(а):Посмотреть фото плат ?MX_Master писал(а):Где посмотреть сие чудо техники?NikolayUa24 писал(а):Китайцы выпускают на stm32f407 автономный контролер 6 осей частота 2МГЦ экран 3.5 дюйма.
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Про автономные контроллеры я знаю, здесь можно и без китайцев обойтись. Где-то на просторах нашего интернета выкладывали исходный код. Мне надо было именно с ноутбука сидеть, и не хотелось ловить глюки с пропуском шагов.
-
- Новичок
- Сообщения: 7
- Зарегистрирован: 21 янв 2019, 13:48
- Репутация: 3
- Настоящее имя: Борис
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Круто. А не было мысли взять парсер GCod-а из LinuxCNC или GRBL ? И почему мультипоточность на WinAPI сделали, а не средствами QT - было бы мультиплатформенно сразу?
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Взять открытый парсер лицензия не позволяет, а свой может отполирую и барыжить буду . Потоки хорошо бы на std::thread и std::recursive_mutex переделать, но не принципиально.bberkhin писал(а):Круто. А не было мысли взять парсер GCod-а из LinuxCNC или GRBL ? И почему мультипоточность на WinAPI сделали, а не средствами QT - было бы мультиплатформенно сразу?
PS. Ой, только доперло, что я не на работе и кто-то всё же посмотрел мой код . Как оцениваешь архитектуру?
-
- Новичок
- Сообщения: 7
- Зарегистрирован: 21 янв 2019, 13:48
- Репутация: 3
- Настоящее имя: Борис
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Понятно, да это правильно и дальновидноВзять открытый парсер лицензия не позволяет, а свой может отполирую и барыжить буду
Ну как сказать,я неделю проковырялся с кодом KMotion - там прямо кровь из глаз, не помню чтобы видел что-то хуже, удивительно, что он вообще работает. После этого твой ( на ты норм?) показался образцом. Там есть архитектура, хороший с++. комментарии в конце концов...PS. Ой, только доперло, что я не на работе и кто-то всё же посмотрел мой код . Как оцениваешь архитектуру?
Главное что не понравилось: ты попытался запихать в интерпретатор все логику работу системы, класс перегружен и плохо расширяем ( все ИМХО конечно)
Я бы в интерпретаторе оставил только собственно парсинг g codа, а выполнение вынес в отдельный интерфейс. И если нужно выполнять на устройстве подсовывал бы реализацию работы с портом ( через планировщик траекторий), а если симуляцию (отрисовку) то соответсвующую реализацию симулятора, если одновременно то суперпозицию этих двух.
Ну и еще по мелочи - сам парсер плохо расширяем. Если делать, например, поддержку вызова подпрограмм и переменных то будут трудности.
Вот примерно что у меня получилось на базе твоего кода. Открыл его и как-то незаметно стал править
- Вложения
-
- Gcode.zip
- (9.65 КБ) 532 скачивания
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Здесь все на ты, так что пожалуйста .
KMotion - это оно https://github.com/parhansson/KMotionX/ ... 274ngc.cpp ? Одна только read_x чего стоит. Её вообще не должно было быть.
GCodeInterpreter уже предназначен для предварительного выполнения команд (перевод в команды движения). А для парсинга есть Parser. Хотя надо подумать, может действительно конвейер переставить. Чтобы не GCodeInterpreter вызывал парсинг, а наоборот, парсер вызывал интерпретатор. Если вытащить execute_file и execute_line в Parser, возможно получится то что нужно. Выполнение вынесено в отдельный интерфейс IRemoteDevice, и то думаю его выпилить. То есть изначально была идея, что если хочешь катать принтер, подключаешь одну реализацию, хочешь токарный - другую. Посылка на удаленное устройство засунута внутрь конкретной реализации CRemoteDevice.
И твой код надо глянуть )
KMotion - это оно https://github.com/parhansson/KMotionX/ ... 274ngc.cpp ? Одна только read_x чего стоит. Её вообще не должно было быть.
GCodeInterpreter уже предназначен для предварительного выполнения команд (перевод в команды движения). А для парсинга есть Parser. Хотя надо подумать, может действительно конвейер переставить. Чтобы не GCodeInterpreter вызывал парсинг, а наоборот, парсер вызывал интерпретатор. Если вытащить execute_file и execute_line в Parser, возможно получится то что нужно. Выполнение вынесено в отдельный интерфейс IRemoteDevice, и то думаю его выпилить. То есть изначально была идея, что если хочешь катать принтер, подключаешь одну реализацию, хочешь токарный - другую. Посылка на удаленное устройство засунута внутрь конкретной реализации CRemoteDevice.
И твой код надо глянуть )
-
- Новичок
- Сообщения: 5
- Зарегистрирован: 11 фев 2019, 10:22
- Репутация: 2
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Не захотел Craft Tool запуститься, захотел Qt plugin "windows".
Пошел инсталировать Qt ...захотел 40 ГБ, и отказался.
Пошел инсталировать Qt ...захотел 40 ГБ, и отказался.
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Добавил еще библиотеку в QT_dll.zip, должно починиться.
-
- Мастер
- Сообщения: 278
- Зарегистрирован: 07 авг 2014, 16:44
- Репутация: 37
- Откуда: Россия, Красноярский край
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Не увидел нигде, опторазвязку или какую либо защиту входов, выходов не использовали?
Можно фото вашего электронного контролера со всей его обвязкой как есть (на станке)?
Можно фото вашего электронного контролера со всей его обвязкой как есть (на станке)?
- daemon78
- Мастер
- Сообщения: 1693
- Зарегистрирован: 02 окт 2018, 15:02
- Репутация: 103
- Настоящее имя: Владимир
- Откуда: Москва
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
А что за режим на втором видео? Визуально кажется, что подача где то в районе 250мм/мин?Крафтер писал(а):А это немного темного прошлого станка . Сначала станок был деревянный и даже при обработке дерева сильно гудел. Поэтому сразу начал пилить на нем алюминиевый.
Мой первый станок Первый станок Кусака 1 и куча вопросов #1
Мой второй станок Кусака 2.0 и вопросы к форумчанам #1
Мой второй станок Кусака 2.0 и вопросы к форумчанам #1
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
В первом сообщении ссылка на плату, там есть фото. Нет там никакой защиты, голые выводы микроконтроллера. Хотел плату опторазвязки спаять, но она слишком длинная получилась, переходные отверстия разъехались и в общем пришлось обойтись без нее . И так работает, поэтому забил. Полный комплект - это usb-uart переходник, контроллер, БП и драйверы шаговиков. Драйверы тоже самоделка, там входы к микроконтроллеру идут.vladumur писал(а):Не увидел нигде, опторазвязку или какую либо защиту входов, выходов не использовали?
Можно фото вашего электронного контролера со всей его обвязкой как есть (на станке)?
Если речь про фанерный станок, возможно, там еще руками рулил, боялся программы запускать. Так что подачу не посчитать )daemon78 писал(а):А что за режим на втором видео? Визуально кажется, что подача где то в районе 250мм/мин?
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 29 окт 2017, 11:21
- Репутация: 2
- Настоящее имя: Александр
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Здравствуйте, очень заинтересовал Ваш проект, немогу найти где прописываются параметры станка (кол-во шагов , рабочие размеры стола и тд) нашол пока только пины , не могли бы Вы подсказать где искать эти настройки. до этого тока с ардуино сталкивался, собрал 3д принтер, еше заинтересовал Ваш проект для шд , он с энкодерами? заранее спасибо за ответ
- Крафтер
- Мастер
- Сообщения: 211
- Зарегистрирован: 27 мар 2015, 22:25
- Репутация: 61
- Настоящее имя: Андрей
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Самопал ЧПУ для stm32f407
Всё что может быть отрегулировано, прописано в config.cfg с комментариями. Если там чего-то нет, значит поменять можно, только пересобрав проект. Вот насобирается у меня месяц отпуска и тогда... . Сейчас дочерчиваю 4 ось, так что придётся впиливать её поддержку в свою прогу.
Проект для шд без энкодеров. Там стоит заменить контроллер на stm32f030f4p6. Предыдущих купил пачку по сотне и думал что хитрый пятачок, а эти в чипидип вообще по полтинничку .
Проект для шд без энкодеров. Там стоит заменить контроллер на stm32f030f4p6. Предыдущих купил пачку по сотне и думал что хитрый пятачок, а эти в чипидип вообще по полтинничку .