отзыв duxe.ru отзывы duxe.ru Шаговые двигатели и контроллеры в моем магазине duxe.ru

самодельный станок с ЧПУ, отзывы duxe.ru

Объявление

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » самодельный станок с ЧПУ, отзывы duxe.ru » Схема контроллера, шаговые двигатели » Контроллер станка с ЧПУ на PIC с возможностью автономной работы


Контроллер станка с ЧПУ на PIC с возможностью автономной работы

Сообщений 121 страница 150 из 237

121

Трудоголик написал(а):

Да и не получится на 4-х мегагерцовом проце пихать данные в порты с интервалом 0,2 мкс.

Правильно, поэтому 20MHz, запас по быстродействию еще никому не помешал.

Отредактировано life (2008-03-19 01:21:39)

0

122

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

0

123

Pierburg написал(а):

в том то и дело, что pic придется обвешивать еще кучей ШИМ модуляторов на этих же пиках или tl494.
И в итоге на 3 двигателя будет выходить 4 контроллера если все делать по уму. Ну а если попроще, без шим, то действительно можно одним обойтись.

У меня  4-х осевой контроллер на 16F877, с ШИМом до 20 кГц. Под ШИМ задействованы по 2 входа на каждый двигатель, то есть 8 разрядный порт. На этот порт подается сигнал с 2-х счетверенных компараторов, каждая пара компараторов обслуживает свой двигатель.
ШИМ реализован просто. Появление сигнала на выходе компаратора  вызывает прерывание, которое отключает сигнал с порта управляюшего двигателем. Делается пауза, через некоторое время прерывание блокируется и на драйвер двигателя снова идет сигнал. И так до 20 тысяч раз в секунду.
На входах Vref компаратора постоянный, регулируемый уровень напряжения. Если проц позволяет, можно подать напряжение с ЦАП.
Кстати, такое построение позволяет пользователю выбрать любой мыслимый диапазон токов двигателей с ШИМ, или вовсе от ШИМ отказаться, не устанавливая компараторы, а просто, подав определенные уровни на порт, подключаемый к компараторам. Тогда двигатели будут управляться по простому, без ШИМ.
Главное, чтобы у камня хватило портов.

Отредактировано Трудоголик (2008-03-19 08:47:58)

0

124

life написал(а):

Простите но никак не могу понять, что за время шага? В смысле скорость? А зачем ее в файл закладывать? Есть холостой ход, есть обработка. Может устанавливать кнопками на самом контроллере? В зависимости от материала, инструмента и т.д. и почему 4 бита на ось и направление? Достаточно трех. Или планируется больше четырех осей?

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

Трудоголик написал(а):

Главное, чтобы у камня хватило портов.

В этом то вся и проблема...
У меги точно хватит, еще и останется для клавиатуры, индикатора и памяти.
Просто если в дальнейшем будет расширяться переферия, то это потребует еще контроллеров со своими программами. А это так любимые всеми финансовые затраты и время.
Опять же повторюсь, может на стадии разработки предусмотреть ВСЕ возможные модули, а дальше писать программу для одного контроллера. Сначала простую, а со временем дополнять ее соответствующими модулями. Дополнение железками практически не потребуется.
Для подключения шим можно сделать и без компараторов, нужно лишь с токового резистора снять напряжение, подвести его на переменный резистор и подать на ацп меги. Или даже сделать регулировку тока программно. выставить токи работы и токи удержания.
Я не вижу контроллер на пике тупиковым направлением, но на меге модернизация упрощается.

Если сказать честно, я начинал с пиков, но когда перешел на меги, забыл их как страшный сон. Сейчас уже год почти ничего не делал, времени не хватает.
Есть много программ для конфигурирования проца и генерации начального кода для мег, для тех кто с знаком с пиками не составит особого труда освоить и мегу. Это лично мое мнение.

0

125

Трудоголик написал(а):

ШАг станка.

Ну и что?
Я же уже говорил, что кол-во микрон в файле делится на шаг станка. Получается кол-во необходимых импульсов. Если остаток от деления меньше 5, то остаётся всё как есть. Если больше, то добавляется один шаг и пошли крутить движки. Если вы про то, что погрешность вылезет - так тут самому пользователю внимательнее надо быть - он же программу для станка не руками пишет, а какой-то CAD как правило использует. Вот пусть и задаёт при разработке изделия в этом CADе сетку равную шагу своего станка. Ибо если у пользователя минимальный шаг станка 0.1мм, а у него координаты в файле с точностью до 0.001мм, то тут ни PC ни PIC погрешность не скомпенсируют. Или я заблуждаюсь?

0

126

Pierburg написал(а):

все верно. для этого эти 40 см разбиваются на нужное количество пакетов
Как вариант 2 - использовать 2 байта для задания перемещения

Может быть всё-таки выделить 3 байта, чтобы потом в этих пакетах не путаться? :)
У меня сейчас выделено 3 байта, считываю из 24ххх строку в 6 символов и преобразую в число. Всё наглядно и понятно. В отладчике сразу видно координату.

Pierburg написал(а):

в том то и дело, что pic придется обвешивать еще кучей ШИМ модуляторов на этих же пиках или tl494.

Это тем, у кого есть такая необходимость. Если кого-то устраивает питание шаговиков постоянным напряжением, то зачем им навязывать ШИМ?

Pierburg написал(а):

И в итоге на 3 двигателя будет выходить 4 контроллера если все делать по уму. Ну а если попроще, без шим, то действительно можно одним обойтись.

Угу. Так и планировалось.

Pierburg написал(а):

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

Лучшее - враг хорошего :) Реализацию идеального контроллера можно обсуждать не один год. А можно начать практическую реализацию с простого варианта. Если кому-то кроме сверления, рисования/выжигания/фрезерования 2D от автономного контроллера ничего не надо, то его и простой контроллер устроит. Соберёт и будет радоваться. Ещё и простор для модернизации драйверов будет. Заодно при обкатке такого варианта вылезет большинство недочётов, с которыми на следующем этапе надо будет бороться. :)

Pierburg написал(а):

Вам не кажется такой путь более перспективным?

Кажется. Но начинать наверное лучше с малого это раз. И не всем нужен такой навороченный вариант это два.

Pierburg написал(а):

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

Не совсем так - атмелы я тоже мучал лет 5 назад. Просто не понравились вот и всё. Дело привычки наверное.

Pierburg написал(а):

Если для Вас принципиален вопрос денег для покупки того же atmega128 стоимостью 200-220р для опытов, то я готов их предоставить.

Также придётся предоставить и документацию(со всеми errata) и компиляторы и время на изучение...:)
Хотя... Предложение довольно заманчиво...;)

0

127

koolhatcker написал(а):

Также придётся предоставить и документацию(со всеми errata) и компиляторы и время на изучение...
Хотя... Предложение довольно заманчиво...

вот о чем я и говорил - похоже все упирается в финансы   :D
даташиты, аппноуты, книги по ним хоть сейчас скину, надо тока домой дойти. Даташиты даже на русском есть на 128 мегу. Программы надо глянуть, тоже гдето лежат. И генераторы начального кода, и отладчики и тд. и тп. Информации по всему этому добру куча. И я думаю найти в интернете еще - не проблема. Было бы желание.
А лет 5 назад с атмелами действительно тяжело было. Как с иномарками в ссср.

0

128

МК не работают с плавающей запятой и необходимости насиловать себя и микроконтроллер расшифровкой текста нет.
Быстродействия у нас на все хватает, об этом пока не спорим. МК любой фирмы, стоимости и т.д.

тестер для СОМ1 и МК вчера написал такой:
nnnn nnnn - byte числа шагов,
ssss - 4 бита скорости (нам бы и 2х хватило)
L/R - 2 бита направления (можно и один)
dd - 2 бита ось (00 - вкл. шпинделя)
Передача данных в обратной последовательности по DTR, флагом готовности к приему очередной порции РС считает "1" на DSR (там же и CLK). Уровни для удобства такие "0"=-12..0, "1"=3..12В

Теперь интересно увидеть схему и программу для МК :)

Отредактировано bolt (2008-03-19 11:02:29)

0

129

Pierburg написал(а):

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

Это смотря какой пик и какая мега...
PIC18F458  16384 x 16 - PROM/1536-RAM  8-ADC  35I/O  4-Timer + Watchdog  USB2.0/USART/MSPI/MI2C  5 x 10-Bits-PWM  ICSP.
На мег у меня документации нет кроме древнего CD от Atmela. А там 103 и всё. :(

0

130

bolt написал(а):

Теперь интересно увидеть программу для МК, бо обсуждаем горячо, а реальных результатов не наблюдается

Я лично COM порт и не планировал. Мне от LPT проще. Что касается автономной работы от внешней памяти - почти что уже всё готово. Осталось найти добровольца со станком c драйверами степ/дир, пиком, памятью, программатором для них и сободным временем и желанием. :)

0

131

bolt написал(а):

МК не работают с плавающей запятой и необходимости насиловать себя и ПИК расшифровкой текста нет.

МК работают с плавающей запятой. По вашему для чего нужен файл float.h в папке с компилятором? Но дело не в этом. Дело в том, что не нужны тут никакие плавающие запятые. А "насилование" себя и PIC с расшифровкой текста укладывается в одну единственную строчку.
X = atol(inpbuf);

0

132

проект, который и мне /пока/ не особенно нужен, становится все виртуальнее :)

0

133

Pierburg написал(а):

У меги точно хватит, еще и останется для клавиатуры, индикатора и памяти.

ТОже с каждым днем все большесклоняюсь в сторону Меги.

Pierburg написал(а):

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

ЕСли есть 6 каналов АЦП, то почему бы и нет?

koolhatcker написал(а):

Если вы про то, что погрешность вылезет - так тут самому пользователю внимательнее надо быть - он же программу для станка не руками пишет, а какой-то CAD как правило использует. Вот пусть и задаёт при разработке изделия в этом CADе сетку равную шагу своего станка.

В этом вся и проблема, будет существовать такая неприятность как "непереносимость программ".
Если у меня, например, шаг сетки 13 шагов на мм, а у соседа 17 шагов, то мою программу сверления плат ему просверлить, мне кажется, будет затруднительно, если я не учту особенность его станка.

0

134

koolhatcker написал(а):

Осталось найти добровольца со станком c драйверами степ/дир, пиком, памятью, программатором для них и сободным временем и желанием.

Вообще то можно и на симуляторе погонять.
А в реальности - смотря под какой пик прога делалась.

0

135

koolhatcker написал(а):

На мег у меня документации нет кроме древнего CD от Atmela.

Кратко.
ATmega128, ATmega128L
8-разрядный AVR-микроконтроллер с внутрисистемно программируемой флэш-памятью емкостью 128 кбайт
Отличительные особенности:

Высокопроизводительный, маломощный 8-разрядный AVR-микроконтроллер
Развитая RISC-архитектура
    – 133 мощных инструкций, большинство из которых выполняются за один машинный цикл
    – 32 8-разр. регистров общего назначения + регистры управления встроенной периферией
    – Полностью статическая работа
    – Производительность до 16 млн. операций в секунду при тактовой частоте 16 МГц
    – Встроенное умножающее устройство выполняет умножение за 2 машинных цикла
Энергонезависимая память программ и данных
    – Износостойкость 128-ми кбайт внутрисистемно перепрограммируемой флэш-памяти: 1000 циклов запись/стирание
    – Опциональный загрузочный сектор с отдельной программируемой защитой

Внутрисистемное программирование встроенной загрузочной программой
Гарантированная двухоперационность: возможность чтения во время записи
    – Износостойкость 4 кбайт ЭСППЗУ: 100000 циклов запись/стирание
    – Встроенное статическое ОЗУ емкостью 4 кбайт
    – Опциональная возможность адресации внешней памяти размером до 64 кбайт
    – Программируемая защита кода программы
    – Интерфейс SPI для внутрисистемного программирования
Интерфейс JTAG (совместимость со стандартом IEEE 1149.1)
    – Граничное сканирование в соответствии со стандартом JTAG
    – Обширная поддержка функций встроенной отладки
    – Программирование флэш-памяти, ЭСППЗУ, бит конфигурации и защиты через интерфейс JTAG
Отличительные особенности периферийных устройств
    – Два 8-разр. таймера-счетчика с раздельными предделителями и режимами сравнения
    – Два расширенных 16-разр. таймера-счетчика с отдельными предделителями, режимами сравнения и режимами захвата
    – Счетчик реального времени с отдельным генератором
    – Два 8-разр. каналов ШИМ
    – 6 каналов ШИМ с программируемым разрешением от 2 до 16 разрядов
    – Модулятор выходов сравнения
    – 8 мультиплексированных каналов 10-разрядного аналогово-цифрового преобразования
8 несимметричных каналов
7 дифференциальных каналов
2 дифференциальных канала с выборочным усилением из 1x, 10x и 200x
    – Двухпроводной последовательный интерфейс, ориентированный не передачу данных в байтном формате
    – Два канала программируемых последовательных УСАПП
    – Последовательный интерфейс SPI с поддержкой режимов ведущий/подчиненный
    – Программируемый сторожевой таймер со встроенным генератором
    – Встроенный аналоговый компаратор
Специальные возможности микроконтроллера
    – Сброс при подаче питания и программируемая схема сброса при снижении напряжения питания
    – Встроенный калиброванный RC-генератор
    – Внешние и внутренние источники прерываний
    – Шесть режимов снижения энергопотребления: холостой ход (Idle), уменьшение шумов АЦП, экономичный (Power-save), выключение (Power-down), дежурный (Standby) и расширенный дежурный (Extended Standby)
    – Программный выбор тактовой частоты
    – Конфигурационный бит для перевода в режим совместимости с ATmega103
    – Общее выключение подтягивающих резисторов на всех линиях портов ввода-вывода
Ввод-вывод и корпуса
    – 53 –программируемые линии ввода-вывода
    – 64-выв. корпус TQFP
Рабочие напряжения
    – 2.7 - 5.5В для ATmega128L
    – 4.5 - 5.5В для ATmega128
Градации по быстродействию
    – 0 - 8 МГц для ATmega128L
    – 0 - 16 МГц для ATmega128

0

136

А это отладочная плата для МЕГИ128, размер 3х4 см.

0

137

Некоторые ссылки по АВР

Ввводный курс, перевод на русский.
http://publ.lib.ru/ARCHIVES/M/MORTON_Dj … dnyy_kurs.(2006).[djv+ocr].zip

Курс програмирования:
http://avr123.nm.ru

Документация
http://lord-n.narod.ru/walla.html
http://ihtik.lib.ru/dreamhost_complit_22janv2007.html
http://lord-n.narod.ru/download/books/w … .part2.rar

Самоучитель
http://forum.radiospec.ru/index.php?showtopic=5612

Релиз многоязычной программы для работы с МЕГА (к самоучителю)
http://sourceforge.net/forum/forum.php?forum_id=767068

Отредактировано Трудоголик (2008-03-19 13:15:25)

0

138

Трудоголик написал(а):

64-выв. корпус TQFP

Ага, народная конструкция, простая в изготовлении... :)))

0

139

Трудоголик написал(а):

В этом вся и проблема, будет существовать такая неприятность как "непереносимость программ".
Если у меня, например, шаг сетки 13 шагов на мм, а у соседа 17 шагов, то мою программу сверления плат ему просверлить, мне кажется, будет затруднительно, если я не учту особенность его станка.

Естественно. И никуда от этого не деться. У соседа будет возникать погрешность. Только не окажется ли она существенно меньше люфтов соседского станка?
Вы же не отдаёте на завод платы с требованием 1мкм между дорожек? Существуют требования производителя, основанные на возможностях оборудования, и производитель всегда говорит чего он может, а чего не может. Можно даже провести эксперимент - сверлить или рисовать один и тот же файл с PC и автономно. Затем сравнить и сделать выводы. Всё сразу ясно станет.

0

140

koolhatcker написал(а):

Ага, народная конструкция, простая в изготовлении...

Не нравится - делай  в корпусе DIP,  у Атмела выбор огромен.
Могу прислать файло печатной платы для утюга.

0

141

Трудоголик написал(а):

Вообще то можно и на симуляторе погонять.
А в реальности - смотря под какой пик прога делалась.

На симуляторе всё ОК.
А в реальности - скомпилировать могу под ЛЮБОЙ с кол-вом ног от 14 и выше.
Если памяти хватит :)

Отредактировано koolhatcker (2008-03-19 14:44:59)

0

142

Трудоголик написал(а):

Могу прислать файло печатной платы для утюга.

Отладочной то? Не, спасибо, не надо.
Сначала надо доделать то, что уже начал.
Думаю до выходных управлюсь, а там видно будет.

0

143

koolhatcker написал(а):

Естественно. И никуда от этого не деться. У соседа будет возникать погрешность. Только не окажется ли она существенно меньше люфтов соседского станка?

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

0

144

koolhatcker написал(а):

ЛЮБОЙ с кол-вом ног от 14 и выше.

А чего ног так мало? Или это только один канал?

0

145

Трудоголик написал(а):

А чего ног так мало? Или это только один канал?

Я же ссылку на схему размещал.
http://koolhatcker.pochta.ru/Index.html
К двум ногам порта B подключена память, 6 ног порта А выдают импульсы на двигатели.
Для отладки чтения из внешней памяти больше ничего и не требуется.
Вся схема - 3 резистора, МК и память 24ххх.

0

146

Трудоголик написал(а):

НЕ знаю, не знаю, если ваш постпроцессор учел набегающую погрешность для подачи 13 ш/мм, то просчитайте, какая будет погрешность при подаче 17ш/мм

Да не о том я речь веду.
А о том, что если у вашего станка минимальный шаг перемещения в 2-3 раза превышает тот шаг с которым нарисована картинка, то наивно требовать от станка абсолютно точной копии картинки.
Вот о чём я.
И никакие предварительные расчёты на супер-пупер ЭВМ тут не помогут.
Обычный вопрос разумной достаточности. :)
Устраивает - пользуемся. Не устраивает - меняем двигатель или винт с гайкой. :)

0

147

koolhatcker написал(а):

Да не о том я речь веду.
А о том, что если у вашего станка минимальный шаг перемещения в 2-3 раза превышает тот шаг с которым нарисована картинка, то наивно требовать от станка абсолютно точной копии картинки.

Мне даже и в кошмарном сне не могло приснится сверлить отверстия в плате, размеченные через 2,54 мм через трафарет с шагом 6 мм :-)
Значит по вашему можно сверлить  те же отверстия через трафарет с шагом 1 мм, минимальный шаг сверления
ведь в 2,54 раза меньше, чем шаг отверстий?

0

148

Трудоголик написал(а):

Значит по вашему можно сверлить  те же отверстия через трафарет с шагом 1 мм

Такого я не говорил. Я сказал только то, что сказал и ничего более.
Сверлить конечно можно - никто ж не запрещает. Только вот устроит ли результат?

0

149

koolhatcker написал(а):

Сверлить конечно можно - никто ж не запрещает. Только вот устроит ли результат?

Правильно, не устроит. Вот тоже самое произойдет если вы в своем ОРКАДе просчитаете траекторию, сделаете
коррекцию погрешностей под свой станок, а выходной файл попробуете на другом станке, с другим шагом, отличным от вашего.
Коррекцию  под конкретный шаг станка должна делать управляющая программа назовем ее "ОРКАМ", а не программа подготовки файлов, типа ОРКАДа.

0

150

Трудоголик написал(а):

Правильно, не устроит. Вот тоже самое произойдет если вы в своем ОРКАДе просчитаете траекторию, сделаете
коррекцию погрешностей под свой станок,

Я так понимаю, что вы OrCAD в глаза никогда не видели...
Траектория практически формируется ещё на этапе разводки, когда задают сетку и расставляют компоненты. Вне этой сетки траектории не будет. Надеюсь, понятно почему?
Что касается погрешностей под конкретный станок - там такой возможности нет, я этого никогда не делал и делать не собираюсь. Ибо нелепо. Единственное, что я делаю в оркадовском гербер тулзе - оптимизирую траекторию сверления.

Трудоголик написал(а):

Коррекцию  под конкретный шаг станка должна делать управляющая программа назовем ее "ОРКАМ", а не программа подготовки файлов, типа ОРКАДа.

Можете сказать название такой программы? И какая фирма её выпускает?
Если вы про CAM процессор, то он в оркаде тоже имеется. OrCAD - это не просто разводчик. Это ПАКЕТ программ. У меня установлено 5 компонент из этого пакета. И это не полный пакет.
И чего вы так к бедному оркаду прицепились? :) Если я не говорил, что иногда (если в этом есть необходимость) после оркада загоняю файл в CAM350, то это не значит что я этого не делаю.

0


Вы здесь » самодельный станок с ЧПУ, отзывы duxe.ru » Схема контроллера, шаговые двигатели » Контроллер станка с ЧПУ на PIC с возможностью автономной работы