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

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

Объявление

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

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


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


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

Сообщений 1 страница 30 из 237

1

Создаю новую тему. Предлагаю обсуждать её тут. А то она получилась по всему форуму "размазанной".
Для начала предлагаю обсудить предъявляемые требования к такому контроллеру и формат файла для последующей работы в автономном режиме.

0

2

давайте всеже не так резко, я предлагаю для начала сделать кантроллер на ПИК работающий от VRI, а затем постепенно будем наращивать, так и до автонома дойдем. Сделаем рабочую вещь и каждый сможет проверять свои усовершенствования на рабочих образцах. Давайте определимся с камнем, из мощных имею 16F877.

0

3

прочитайте правила форума. требую их соблюдения. т.е. разрабатываемый вами контроллер должен поддерживатся программой VRI-cnc. если нет то сообщения буду удалять. а пользователей банить!

0

4

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

Подготовку файла для ЕЕПРОМ и настройки я бы оставил программе. Она считает точнее и ошибка не накапливается.

Что именно считает? Всё перемещения, необходимые для изготовления изделия, уже присутствуют в файле, который получается на выходе из программы, в которой это изделие проектируется. Поправьте если заблуждаюсь.

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

Сброс в память и чтение по 3*2 байта. В первом ssrr rldd - скорость+резерв+право/лево+ось. Второй nnnn nnnn - число шагов. Получается в 24с65 влезет 256/(3*2)=чуть ли не 42к строк текста входного файла.

А чем не устраивают уже имеющиеся форматы? Достаточно сконвертировать ASCII символы в hex и можно скармливать напрямую в PIC.

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

Проги для ПИКов лучше сразу писать под int RC 4MHz. Asm с чтением из ЕЕПРОМ могу сбросить, но реальный от своего дверного звонка. Могу просто конспект по чтению 24хх.

По-поводу рабочей частоты пика - давайте определимся чего от него хотим для начала. У меня сейчас PIC16F628 читает из внешней памяти и данные и по ним крутит 3 движка через степ дир практически синхронно при int RC 1MHz.
А уже исходя из требований и станет ясно какая частота будет являться примлемой.
С чтением 24хх в протеусе я разобрался - всё читается.

0

5

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

давайте всеже не так резко, я предлагаю для начала сделать кантроллер на ПИК работающий от VRI, а затем постепенно будем наращивать, так и до автонома дойдем.

Естественно работающий от VRI.
Что касается автономной работы - я имел в виду просто предусмотреть такую возможность в железе.

0

6

Master-VRI написал(а):

прочитайте правила форума. требую их соблюдения. т.е. разрабатываемый вами контроллер должен поддерживатся программой VRI-cnc. если нет то сообщения буду удалять. а пользователей банить!

А кто говорит что он не будет поддерживаться? Здесь вроде сказано о контроллере с возможностью автономной работы, а каму как не Вам в будущем устроить переносимый формат данных? Другой вопрос если Вас не устраивает возможность автономной работы, так и скажите. Плюс ко всему Вы сделали поддержку степ/дир, по сути теперь вобще любой контроллер поддерживается Вашей программой, а Вы сразу банить :dontknow:

0

7

Давайте всеже решим с камнем, а то у меня уже воскресенье наступает а оно одно, охота с толком провести. Учитывая подключение к ЛПТ , 3 драйвера ШД, клавиатура, выход ШИМ, а в будущум память, LCD и т.д. мне все-же видится 877 с кварцем 20MHz. У него точно портов хватит и модули шим имеются и еще много чего.

0

8

Master-VRI написал(а):

прочитайте правила форума. требую их соблюдения. т.е. разрабатываемый вами контроллер должен поддерживатся программой VRI-cnc. если нет то сообщения буду удалять. а пользователей банить!

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

0

9

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

Учитывая подключение к ЛПТ , 3 драйвера ШД, клавиатура, выход ШИМ, а в будущум память, LCD и т.д. мне все-же видится 877 с кварцем 20MHz.

А может быть всё-таки сделать модульную конструкцию? Степ дир с LPT (или уже имеющуюся схему на ТМ7)сразу на драйверы (их каждый сможет сделать по своему усмотрению - кто просто ключи, кто к ним ШИМ добавит, кто на PICе сделает...) и к этим же степ дир (или схеме на ТМ7)прицепить PIC с возможностью подключения внешней памяти и ком порта? Это позволить сделать конструкцию более гибкой в изготовлении и снять ограничение на частоту ШИМа.
Примерный вариант я уже приводил http://koolhatcker.pochta.ru/flashcard/memory.pdf

Отредактировано koolhatcker (2008-03-15 20:57:46)

0

10

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

на LPT не файл а пошаговые команды, много

А чем не устраивают уже имеющиеся форматы?

Не очень удобны для последовательного чтения и записи. Загнать текст в ПИК не проблема, но его еще серьезно обработать надо.

давайте всеже не так резко, я предлагаю для начала сделать кантроллер на ПИК работающий от VRI,

Согласен, но тогда VRI должна уметь работать с СОМ. Тот объем, что выдается по ЛПТ и память не осилит, и пику он не нужен. Если Романа такое направление развития напрягает, то имеет смысл перенести обсуждение в другое место.

мне видится 877 с кварцем 20MHz.

Это порядка 250р, дешевле только 73 ~100p возможности примерно одинаковы.

0

11

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

на LPT не файл а пошаговые команLы, много

В файле - они же. Практически там импульсы с LPT порта оформленные в цифры :)

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

Не очень удобны для последовательного чтения и записи. Загнать текст в ПИК не проблема, но его еще серьезно обработать надо.

Там как раз последовательно всё идёт. Обработать можно на компе.

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

Согласен, но тогда VRI должна уметь работать с СОМ. Тот объем, что выдается по ЛПТ и память не осилит, и пику он не нужен. Если Романа такое направление развития напрягает, то имеет смысл перенести обсуждение в другое место.

Работать с COM для этого совсем не обязательно. См. моё предыдущее сообщение - там схема.

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

Это порядка 250р, дешевле только 73 ~100p возможности примерно одинаковы.

Очень уж примерно одинаковы. И ног в 2 раза больше.

0

12

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

А может быть всё-таки сделать модульную конструкцию? Степ дир с LPT (или уже имеющуюся схему на ТМ7)сразу на драйверы (их каждый сможет сделать по своему усмотрению - кто просто ключи, кто к ним ШИМ добавит, кто на PICе сделает...) и к этим же степ дир (или схеме на ТМ7)прицепить PIC с возможностью подключения внешней памяти и ком порта?

насчет модульной схемы согласен, но... Я смотрел Вашу схему. Под словом Драйвер у вас покоится полноценный контроллер ШД понимающий степ/дир, извените но это не просто ключи, и многие из них уже содержат шим, микрошаг и т.д. Чтобы повесить к пику просто ключи, необходимо в пик загнать степ/дир (либо формат Романа) а на выходе получить то что мы получаем с ТМ7(последовательность для ШД)
Вот это я и называю контроллер на PIC. А уже затем добовлять к нему навороты, поэтому и 877 чтобы место для тюнинга было.

0

13

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

Это порядка 250р, дешевле только 73 ~100p возможности примерно одинаковы.

Простите, Вы хотите автономный станок за 73рубля? А когда здесь речь пойдет о подключении LCD, Вы скажете давайте на сетодиодах за 5р?

0

14

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

Да, тот самый встроенный во все современные ПИКи, в крайнем случае можно навесить внешний. Тика в 1мкс вполне хватит для решения всех наших задач. А они исключительно просты. Нужно выдать заданное кол-во импульсов с заданной частотой и шириной шага (ШИМ). Что-то измерять и отрабатывать здесь не нужно.

Если Вы покажете программу которая при тике в 1мкс генерирует ШИМ частотой хотябы 5~7 KHz с переменной скважностью 50-80% которая меняется при подаче сигнала на вход, я к Вам с Камчатки с пивом прилечу! Но я так думаю не бывать этому.

0

15

Практически там импульсы с LPT порта оформленные в цифры

И появляются они там со скоростью ~1kb/s, прикинь объем памяти на 10мин работы. Много цифирь, которые при наличии МК не нужны. И вообще МК без поддержки программой больше похож на 5 колесо.

Вы хотите автономный станок за 73рубля

Хочу, но взять негде :) Не столь важно какие "крутые" детали будут задействованы для эксперимента. Практика показывает, что удачной оказывается лишь третья конструкция. А это http://www.ivica-novakovic.from.hr/Nokia Lcd Termometar.htm пример того, что к ПИКу за 30р, с 6 ножками можно прикрутить

Если Вы покажете программу которая при тике в 1мкс генерирует ШИМ частотой хотябы 5~7 KHz с переменной скважностью 50-80%

bsf    PORTB,0
nop
                nop
                nop
bcf    PORTB,0 ;step 1
Вот Вам шаг с возможностью изменять ширину от 1 до 4мкс (т.е 4 режима уже имеем), ну и частота ~250кГц.

Отредактировано bolt (2008-03-16 03:45:39)

0

16

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

Вот Вам шаг с возможностью изменять ширину от 1 до 4мкс (т.е 4 режима уже имеем), ну и частота ~250кГц.

Я надеюсь, это шутка? Ширину чего вы собираетесь менять?? Вместе с частотой? Извените, но мне кажется что вы не совсем понимаете что такое ШИМ. Есть понятие - скважность, отношение ширины импульса к периоду. Регулирование ШИМ - это изменение длительности импульса по отношению к периоду, период (ЧАСТОТА) остается НЕИЗМЕННОЙ!!! И регулироваться она должна как минимум от 20, до 80%. Вы что туда 60 nop хотите вставить?? Пожалуйста, изучите предмет. Трудоголик здесь кучу замечательного материала изложил.

0

17

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

насчет модульной схемы согласен, но... Я смотрел Вашу схему. Под словом Драйвер у вас покоится полноценный контроллер ШД понимающий степ/дир, извените но это не просто ключи, и многие из них уже содержат шим, микрошаг и т.д.

Я тоже поддерживаю идею модульной конструкции.
LIFE, именно так и надо понимать драйвер в контроллере модульной конструкции, как модуль воспринимающий сигналы степ/дир и желательно, даже более сложные по структуре - для микрошагового режима.  Кулхацкер правильно заметил, каждый может поставить что то свое, в меру доступности. Дайте ему эту возможность.
Ведь не зря пользуются бОльшим спросом в основном компьютеры открытой архитектуры, то есть те, которые можно расширять, изменять, дополнять.

По входным данным. думайте, мне пока ничего в голову не лезет.
Писать СТЕП дир или шаговое управление геморойно, нужно записать каждый шаг и напрячь МК, чтобы он посчитал и записал длительность пауз между каждым шагом. Но при размере пробега  200 мм, и обычном шаге подачи 200 шагов на мм потребуется 80 000 записей
всего на  20 сантиметров пробега, а станок наматывает сотни метро, а то и километры пробега.
Можно  просто записать шаги, а в процессоре предусмотреть установку скоростей, количество записанной информации сократится вдвое, но это все равно много.

0

18

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

Ширину чего вы собираетесь менять?? Вместе с частотой?

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

Отредактировано Трудоголик (2008-03-16 08:56:17)

0

19

Видать пиво не привезуть :(
Нам не ШИМ нужен, а 3 разных тока обмотки. Менять этот ток мы можем управлением напряжением питания или шириной импульса, иначе PWM называется. А частота определяет скорость вращения ШД. Их нужно всего две - для подвода и для работы. Полностью шаг выглядит так:
bsf  portA,0 // это pin, которым управляем
call  delay // это длительность импульса
bcf  portA,0
call  pause // это пауза между импульсами
При тактовой 4МГц можем выдавать от скока_надо_в_граммах до 500кГц меандра.
Необходимости в измерениях, точной стабилизации и сложных режимах пока не наблюдаю. Для наших ШД это не актуально, imho

ps У меня дверной звонок читает *.wav из EEPROM. Bitrate 8kHz. Т.е. при тактовой в 4МГц, простой pic16f84 вполне успевает считать по последовательной шине и выдать 8 bit в свой порт. Весьма похоже на тот модуль, что здесь изобретается.

Отредактировано bolt (2008-03-16 11:40:50)

0

20

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

У меня дверной звонок читает *.wav из EEPROM. Bitrate 8kHz. Т.е. при тактовой в 4МГц, простой pic16f84 вполне успевает считать по последовательной шине и выдать 8 bit в свой порт. Весьма похоже на тот модуль, что здесь изобретается.

Мой звонок в 1988 году читал WАV из ПЗУ всего одним 16-разрядным счетчиком, выдавал сигнал через 10 резисторов на УНЧ с тем же битрейтом.  Звучание, гарантирую, было не хуже чем у вашего, на 16F84. НУ и что из этого?
Речь идет о контроллере, а не игрушке.
Если бы нужна была игрушка, я бы просто выдал в LPT весь цикл работы, записал в большую флешку все такты управления двигателями, а когда надо, считал из флешки теми же счетчиками, меняя  скорость тактового генератора каждый раз, как на выходе флешки появится сигнал записи в соответствующую ось.
Получился бы тот же самый ваш контроллер. И мне бы хватило быстродействия 10  килогерц.

Отредактировано Трудоголик (2008-03-16 12:37:53)

0

21

я бы просто выдал в LPT весь цикл работы, записал в большую флешку все такты управления двигателями,

именно это здесь пока и предлагают. VRI-CNC удачное решение времен Win98. Для решения проблем с подключением, загрузкой CPU и автономной работой дешевле (время тоже деньги) и проще купить старый РС.

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

0

22

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

Я смотрел Вашу схему.

Похоже, невнимательно смотрели...

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

Под словом Драйвер у вас покоится полноценный контроллер ШД понимающий степ/дир

Так и есть.

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

извените но это не просто ключи, и многие из них уже содержат шим, микрошаг и т.д.

Да. Это позволит каждому выбрать наиболее удобный ему драйвер ЩД и разгрузить основной контроллер от работы с ШИМом.

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

Чтобы повесить к пику просто ключи, необходимо в пик загнать степ/дир (либо формат Романа) а на выходе получить то что мы получаем с ТМ7(последовательность для ШД)

А зчем загонять в пик степ/дир? :) Не нужно это. Ещё раз внимательно посмотрите на схему.

0

23

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

Писать СТЕП дир или шаговое управление геморойно, нужно записать каждый шаг и напрячь МК, чтобы он посчитал и записал длительность пауз между каждым шагом.

Может быть я вас не совсем правильно понял, но зачем писать какие-то длительности пауз?
Алгоритм примерно такой - считываем координаты, перемещаем и так по кругу...
Мои мысли с картинками - тут http://koolhatcker.pochta.ru/Index.html

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

Но при размере пробега  200 мм, и обычном шаге подачи 200 шагов на мм потребуется 80 000 записей
всего на  20 сантиметров пробега

Вот поэтому я и предлагаю для сверления использовать стандартный файл экселона(либо модифицировать его и указать координаты в шестнадцатиричной системе счисления) с относительными координатами. Размер будет копеечный...

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

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

Для сверления - выше крыши...

0

24

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

именно это здесь пока и предлагают.

Просто никто четко не сформулировал, чего же он желает от такого контроллера. Если надо просто управлять движками, то хватит ТМ, если надо управлять движками и контролировать ток обмотки, то вариантов более чем достаточно и изобретать что либо бессмысленно.
Если надо помнить информацию,чтобы потом управлять движками, то могу предложить более простую для любителя схему на логике.
ЕСли хотите принять от компа команды в G-кодах, но чтобы МК все обработал и выдал нужное количество шагов на каждый движок, то это еще один вариант.
Если хотите, чтобы МК сннял инфу, хранил ее,
а при необходимости просчитал и выдал на движки это еще один вариант.
Или такой вариант, МК считывает с компа инфу в G-кодах или в PLT, HPGL, DRL,DXF,GBR, сохраняет это во флешке,(или работает напрямую с двигателями)  рассчитывает движение, управляет движками в полношаговом, полушаговом или микрошаговом режиме, при необходимости производя все это в автономном режиме.   

Кому что надо? Никто так толком и не объяснил!

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

Определитесь сначала на начальном этапе.

0

25

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

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

Но ведь этим может заниматься драйвер. Или я вас не так понял. Суть моей идеи - просто железяка, выдающая кол-во степ в зависимости от расстояния. А там дальше - уже дело драйвера... Микрошаг или полушаг - кому как удобнее

0

26

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

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

3 разных тока - я так понимаю это перемещение, работа и удержание?
Не лучше ли сделать так - при перемещении - макс. ток и частота импульсов, при работе - макс ток и частота импульсов меняется в зав-ти от нужной подачи. Если драйвер делать на мелком пике, то можно в нём предусмотреть режим ожидания - например если в течение 2-х секунд импульсов степ не было, то оставляем ток только через одну катушку, а с остальных убираем. Удержит же?

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

ps У меня дверной звонок читает *.wav из EEPROM. Bitrate 8kHz. Т.е. при тактовой в 4МГц, простой pic16f84 вполне успевает считать по последовательной шине и выдать 8 bit в свой порт. Весьма похоже на тот модуль, что здесь изобретается.

Похоже. НО! Есть один ньюанс(с) анек про евреев.

0

27

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

Просто никто четко не сформулировал, чего же он желает от такого контроллера.

Вот именно. Кто в лес - кто по дрова :)
Давайте, озвучивайте свои мысли...

0

28

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

Может быть я вас не совсем правильно понял, но зачем писать какие-то длительности пауз?

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

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

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

С одной стороны согласен, но тогда  контроллер должен будет уметь считать все форматы:  PLT, HPGL, DRL,DXF,GBR, мало ли, может кто то захочет не только сверлить и выжигать.

Мое предложение другое, контроллер должен уметь считать данные только  в формате G-кода(возможен  другой вариант), выдаваемые по СОМ-порту программой Романа(в будущем) и сам производить все необходимые вычисления,  управление и контроль.  Преобразование данных из  DRL, DXF, GBR в G-код вполне может взять на себя программа Романа, поскольку она и планируется для работы с G-кодом и уже работает с форматами DRL, DXF, GBR  .

0

29

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

Но ведь этим может заниматься драйвер. Или я вас не так понял.

А как драйвер определит необходимую длительность каждого микрошага?

По идее контроллер должен рассчитать длительность каждого шага, поделить это время  на нужное количество микрошагов и для каждого микрошага дать команду драйверу на установку необходимого соотношения токов в обмотках.
Дополню, возможен и вариант, когда драйвер сам меняет соотношение токов в обмотках, но тогда все равно, МК расчитывает
длительность шага, делит это на микрошаг и выдает драйверу тактовые сигналы(отдельным проводом) на совершение каждого микрошага.

Отредактировано Трудоголик (2008-03-16 15:07:23)

0

30

если в течение 2-х секунд импульсов степ не было, то ...

В удержание можно переходить сразу, поскольку момент окончания движения у нас ПИК и так отслеживает. Одного МК не менее чем с 16 рабочими ногами и АЦП вполне хватит.

почта не ходит, пока сюда брошу
> А вот тут не понял. Что за уклон?
Нюансы перевода координат в шаги. Если прямая под 45гр. то оба привода
синхронно делают шаг, а если 5..10гр., то надо между нескольких шагов по Х
втыкать шаг по У. РС позволяет это просчитать довольно точно со всеми
поправками на люфты и передачи, а ПИК не сможет.

0


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