"Мозги" cnc-контроллеров, драйверы, совместимость
Mach3 кушал 8 000 000 и выполнял под Виндами двое суток без ошибок.
А вот очень мне любопытно, как Вы проверяли отсутствие ошибок?
То, что спустя 2 суток, инструмент пришел в 0, совершенно не означает, что нет ошибок (отклонений) траектории: грубо говоря, вместо круга у Вас вышло яйцо, но при этом в 0 Вы придете точно, поскольку это характеризует скорее люфты в механике, чем работу софта.
Коллеги, признайтесь.
Вы обсуждаете станки для изготовления плутониевых сборок для ядерной бомбы? 😉 Есть работающее решение, компромисное как и любое другое.
Не устраивает степень реалтаймовости винды и MACH3? Попробуйте LinuxCNC, там все намного честнее. Не устраивает и это? Тогда, по-моему, вы форумом ошиблись.
На одном сайте были исходники для PIC18F452.
Програмка под винды в формате PLT.
Все работает через СОМ порт, от винды только данные идут.
Движки работают чисто без запинаний.
Часть коментов из исходников:
// C program FOR PIC18F452 MICROCHIP MCC18-MPLAB
// PStep
// Pic18f452 serial 3 axis stepper
// 24 bit 3 axis linear interpolation
// 40Mhz quartz connected to OSC1
// BAUDRATE 115200
// portb 7, 5, 3 are connected to steppuls wires for x, y, z axis
// portb 6, 4, 2 are connected to direction wires for x, y, z axis
Я бы выложил, но автор просил в сеть не выставлять.
Устройство типа MaxSteper от KCam.
На одном сайте были исходники для PIC18F452.
<>
Я бы выложил, но автор просил в сеть не выставлять.
Устройство типа MaxSteper от KCam.
Ну так выложи адрес сайта где они были.
Ну так выложи адрес сайта где они были.
Один из вариантов под Win & COM есть здесь klev.borda.ru
Все построено на том, что контроллер CNC запрашивает информацию от РС, когда она нужна. Это позволяет не напрягать ОС. Собственно мультизадачные ОС на прерываниях и работают
Один из вариантов под Win & COM есть здесь klev.borda.ru
Все построено на том, что контроллер CNC запрашивает информацию от РС, когда она нужна. Это позволяет не напрягать ОС. Собственно мультизадачные ОС на прерываниях и работают
Все замечательно, а протокол какой?
I2C PC-master. Комп передает байт параметров (ось, скорость, направление) и байт кол-ва шагов. После этого Win свободна, пока CNC не выставит флаг, что команда выполнена.
Поскольку ОС не нужно управлять каждым шагом всех ШД, то и загрузка «камня» не более 1%
Один из вариантов под Win & COM есть здесь klev.borda.ru …
Любопытно-странный форум: не в обиду bolt сказано, его содержание напоминает шизофрению - сам спросил, сам ответил 😉
I2C PC-master. Комп передает байт параметров (ось, скорость, направление) и байт кол-ва шагов. После этого Win свободна, пока CNC не выставит флаг, что команда выполнена.
Первый раз слышу, чтобы I2C использовалась для таких целей - не предназначена она для связи на сколько-нибудь дальние расстояния, 2 м - максимум, да еще нужно умудриться при этом уложиться в 400 пФ емкости линии.
Может лучше RS232/485? И пары байт маловато будет для надежной работы: нужно предусмотреть контрольную сумму для обнаружения ошибок.
I2C PC-master. Комп передает байт параметров (ось, скорость, направление) и байт кол-ва шагов. После этого Win свободна, пока CNC не выставит флаг, что команда выполнена.
Поскольку ОС не нужно управлять каждым шагом всех ШД, то и загрузка «камня» не более 1%
Под Win программа у Вас своя?
2 ATLab
LPT тоже далеко нежелательно, но Народ пользуется.
RS232 было бы удобней.
Кому интересно посмотреть
www.luberth.com/cstep/download/
логин guest
пароль end2004
Протокол как в I2C, так мне не нужно тайминги выдерживать, комп сам сихроимпульсы выдает. Аналогичным образом все программаторы работают. Ограничений по емкости и длине линии здесь нет, поскольку параметры зависят не от протокола, а возможностей СОМ порта.
Прогу транслятора пришлось писать свою, на cnc8am денег жалко 😉
Протокол как в I2C, так мне не нужно тайминги выдерживать, комп сам сихроимпульсы выдает.
(дальше следует невнятное удивленно-изумленно мычание)
ЫЫЫЫыыыЫЫыыЫ? В I2C не надо тайминги выдерживать??? Комп выдает сам синхроимпульсы? Коллега, честно, вы много I2C-компонентов без выдерживания таймингов использовали? А то на моей памяти банальный 4-канальный АЦП работал в диапазоне ±10% от даташытных таймингов…
“Коллега, честно, вы много I2C-компонентов без выдерживания таймингов использовали?”
Достаточно много. Как известно, в I2C имеются шины SDA (данные) и CLK (синхронизация), что позволяет работать с произвольной скоростью, задаваемой Мастером.
… Как известно, в I2C имеются шины SDA (данные) и CLK (синхронизация), что позволяет работать с произвольной скоростью, задаваемой Мастером.
Imho, не имеет смысла дальше обсуждать это без схем и картинок.
Imho, имеет место терминологическая путаница.
P.S. Есть такой режим работы последовательного порта - синхронный, там тоже данные стробируются клоками.
Есть SPI, тоже данные синхронизируются клоками, и т.д. Наличие клоков еще не означает принадлежности к I2C.
I2C имеет вполне определенную аппаратную конфиграцию с достаточно жесткими требованиями к параметрам линии. При этом линия данных двунаправленная (данные передаются по одному проводу).
Плюс определенный протокол доступа устройств к шине.
Как-то это не очень вписывается в параметры COM порта компьютера.
Есть такой режим работы последовательного порта - синхронный, там тоже данные стробируются клоками.
Вот про pin с которого СОМ выдает клоки, если можно, подробнее 😉
В начале ветки есть post #8 от Художника, который еще 3 года назад, доступно изложил проблему и варианты ее решения.
К сожалению, стандартные контроллеры обратной связи на ОС не имеют, что и привело к необходимости изобретать свое управление.
Чтение/запись I2C EEPROM любым СОМ программатором и общение моего контроллера с РС происходит одинаково. Можно назвать этот протокол Вам будет угодно.
Вот про pin с которого СОМ выдает клоки, если можно, подробнее 😉
Процитирую себя же: “…Есть режим работы последовательного порта - синхронный, там тоже данные стробируются клоками”
Разве я что-то написал про COM порт PC?
Я же говорю: следовало бы разобраться с терминологией, чтобы говорить на одном языке и об одном и том же.
Извините, думал что речь идет о моем CNC контроллере и РС, а не последовательном порте другого устройства.
Мне нужна была простая прога для управления домашним станком, лишенная недостатков присущих управлению по LPT под Win. Я эту задачу и решал. Разносить РС и станок на 5…10м мне не надо, хотя токи СОМ порта и используемый протокол проделать такое вполне позволяют.