ИЩУ РЕШЕНИЕ Логика работы автономного контроллера?

MAB72

МЕСТНЫЙ
ПРОВЕРЕННЫЙ
Регистрация
13.01.2025
Сообщения
30
Реакции
13
Баллы
8
Город
Khabarovsk
Имя
Anton
Подскажите пожалуста, где почитать про отправку команд из контроллера на драйверы. Задумал соорудить свой контроллер (на stm32g4 or stm32h7 пока не решил). В cad/cam нарисовал чаво хочу и получил g-code. Теперь возник вопрос, как перевести этот g-cod в движение по осям. Для начала самое простое типа прямолинейное движение без ускорений и разгонов. Заранее спасибо.
 
А карта PCMCIA-LPT не решила бы проблему с ноутом? Хотя,насколько я понял, Mach-контроллер на CNC3020 у вас с управлением по USB.
В далеком 1917 году был у меня комп с ЛТП ЛПТ, работало это все с Mach3. Неплохо я вам доложу работало. Да были канечно же сбои, но это исключение из правил. В сегодняшних реалиях иметь отдельно комп с монитором, мне не хочется. У меня два нубука живые в рабочем состоянии, один ну почти современный (например DCS Word с TreckIR 5 тянет на чуть выше средних - если кто в курсе) на win11_64 и древний макбук на i5 процессоре, вот и наметил два путя: win11-mach3-usb (постоянные сбои в работе) и IOS/Linux-какоетоПО-USB-stm32. Вот и пробую разные варианты. Не так-то вы правы, отрыть свой старый комп с ЛПТ (весь комп вместился в небольшую колонку 20х30х40) оторвать один монитор с рабочего стола и пили себе не горюй. Но сегодня 21й век, неужели нет приличного решения через современный USB. По поводу USB-LPT еще в 1917 напробовался, ни один не заработал. Может щас что-то есть рабочее, ну а смысл есть у меня два переходника (RNR_Motion и BL_Interface...чего-то там) и оба толком не работают.
 
В далеком 1917 году был у меня комп с ЛТП ЛПТ, работало это все с Mach3. Неплохо я вам доложу работало. Да были канечно же сбои, но это исключение из правил. В сегодняшних реалиях иметь отдельно комп с монитором, мне не хочется. У меня два нубука живые в рабочем состоянии, один ну почти современный (например DCS Word с TreckIR 5 тянет на чуть выше средних - если кто в курсе) на win11_64 и древний макбук на i5 процессоре, вот и наметил два путя: win11-mach3-usb (постоянные сбои в работе) и IOS/Linux-какоетоПО-USB-stm32. Вот и пробую разные варианты. Не так-то вы правы, отрыть свой старый комп с ЛПТ (весь комп вместился в небольшую колонку 20х30х40) оторвать один монитор с рабочего стола и пили себе не горюй. Но сегодня 21й век, неужели нет приличного решения через современный USB. По поводу USB-LPT еще в 1917 напробовался, ни один не заработал. Может щас что-то есть рабочее, ну а смысл есть у меня два переходника (RNR_Motion и BL_Interface...чего-то там) и оба толком не работают.

А Вы Ленина видели? :cry:

оффтоп
 
Последнее редактирование:
По поводу USB-LPT еще в 1917 напробовался, ни один не заработал.
Нужен переходник не USB-LPT, а PCMCIA-LPT. Но не все они работают с Мач, я с тремя разными пробовал, только третий заработал.
 
Последнее редактирование:
В далеком 1917 году был у меня комп с ЛТП ЛПТ.... ....По поводу USB-LPT еще в 1917 напробовался, ни один не заработал.....
Может НКВД? :rolleyes:
/я просто валяюсь, какие мы древние/

Угу, ну не на броневике, а в мавзолее, не понимаю как это может мне помочь? :)

оффтоп
Мавзолей открыли 101 год назад, а в 1917 гуду про мавзолей и не думали... :cautious:
/интересно, сколько Вам лет?/
 

Всё по логике..... :vin:

оффтоп
 
не понимаю как это может мне помочь?

всему свое время...ещё лет через 120 придет озарение.

оффтоп
 
Немного наводящих вопросов для изобретающих велосипед.
1. Сколько ядер и таймеров нужно для одной оси? Как atmega328 рулит сразу тремя осями на одном 16МГц ядре, а esp32 и stm32 (f103) умеет двигать сразу 6?
2. Почему мач3 работает на параллельном порту и только под winxp, а сигналы step/dir в атмеге под grbl должны быть строго на пинах в пределах одного порта (a,b,c)?

Замысел и идея у ТС, конечно, хороши и похвальны. Огорчает только, не столько отсутствие достаточного опыта в программировании, но и минимально структурированного понимания принципов взаимодействия всего того, на что замахнулся. В теме уже были здравые высказывания про изучение работы grbl и про то, что у fluidnc уже имеется весь необходимый функционал.


Немного ликбеза. Все, что делают все эти и огромное множество подобных программ, это отправляют текст команды по uart (usb-uart/telnet/websocket). На этом компетенции и возможности всего этого зоопарка чудо-софта, заканчиваются. Совершенно тот же результат можно получить с помощью командной строки:
echo X10Y10 > COM4
(естессно, с предварительным конфигурированием порта)
Поэтому, абсолютно не важно, от какой программы, или по какому каналу связи, прилела команда. Каждый раз она будет исполняться абсолютно одинаково.
Мач3 работает совершенно иначе. Структура взаимодействия там совсем иная, но импульсы step на выходе будут так же, абсолютно синхронны.

Если это кому-то было интересно, милости просим, вопросы можно задавать. Кроме всего, если кого-нибудь интересует мой порт Fluidnc 3.8.3 для контроллеров esp32-s3 (в основном, это платы mks ls-esp32-pro), можно стучаться в личку.
Всегда здравствуйте.
Вот все, все Вы правильно расписали. Кроме сути. Я не прошу нарисовать все за меня(тем более, как Вы выше заметили, этих готовых прошивок хоть в мегу, хоть в есп, хоть стм). Я для себя хочу понять, как это все реализовано. Так-как опыта 0/0, то для меня все это сложно и интересно. Я уже говорил, что где-то мне четко сформулировали первоначальные шаги для достижения оной хотелки(подчеркну, это личная хотелка не более-того). Я определился с МК (stm32f0 или stm32f4 или stm32G4 ну уж очень они мне нравятся и с ними я могу управляться на уровне CMSIS пусть не в полном обьеме но...), подключить USB_флешку к МК и считать g-kod получается (правда пока только с HAL), задача преобразовать g-kod в траекторию движения(сколько кудой крутить) еще не разбирал, рано еще если крутить неполучается. И вот теперь к сути. Три таймера запустить абсолютно синхронно не проблема, один таймер назначаю старшим мастером и три слэвами, запускаю три слэйва и пока мастер не стартанет - эти троя сидят и ожидают зеленого свистка. Но, частоты этих таймеров должны меняться на ходу без остановки и без привлечения внимания со стороны ЦП, а это значит нада ПДП. И вот тута и засада, нет понимания как запустить одновременно при использовании DMA? Без DMA все стартует одновременно и красиво, а с DMA которая запихивает по необходимости нужный ARR - все разваливается (маловато знаний и с английским туговато). Проводя "опыты" - методы научного тыка - результатов не дают, то запускается все красиво и работает какое-то время(я даже думал, что вот оно счастье), но в какой-то момент все разваливается и разьезжается. Мало того, в процессе был выявлен главный недостаток такого подхода: при делителе на драйвере ШД около максимальных значений - этаж какого размера буфер рассчитанных значений придется хранить в памяти (ну тут я не уверен проблема это или нет, так как скорости "крутилки" 100-150кГц, возможно процессор и будет успевать рассчитывать на ходу... но это патом не сейчас). Так в сухом останке: выбор технологии выдачи трех независимых степ-сигналов? Таймеры, memory-DMA-GPIO, SPI/USART? Или...? После решения этого вопроса, я смогу двигать дальше.
Вот и подскажите в этом направлении, ну или предложите свое мнение по такой маленькой и конкретной задачке. Спасибо.

ps: Прерывания запрещены в любом виде(кроме E_stop и лимитов), процессору и так будет чем заниматься.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

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

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать