Вообще если использовать ардуино, то думаю что стоит отказаться от Mach, и других контроллеров. Хотя возможно и сопряжение. но зачем.
Суть в следующем. Я бы посоветовал на начальном уровне хотя бы зарисовать схему вашего серво привода с енкодером и всем обвесом который на нем есть. А я уже попробую разобраться с драйвером для него.
Работает с любой программой, которая выдаёт Step/ Dir Если кто- то захочет повторить, есть только одна проблема, прошивку нигде не найти. Только покупать прошитый чип с кварцем у самого Ули. Благо он продаёт их недорого, последний раз я покупал по 7€ за одну микросхему с кварцем. Для россиян он продавал по 6 €. В любом случае, сначала напишите ему письмо и он Вам скажет цену. Я наверное выложу для ознакомления схему, спецификацию и расположение деталей на плате http://rghost.ru/39056006 Изменил линк.
Если что- то не понятно, спрашивайте, отвечу на все вопросы. Нужно перевести ? Постараюсь помочь.
Теперь по поводу отказаться от Mach. Я пока ничего не смыслю в Arduino но, мне кажется что, он просто не сможет работать с достаточно сложной деталью... Как ему "объяснить" что нужно сделать ? Например, подачу или вид и шаг резьбы, можно записать в чип, т.е. именно это у меня пока в плане. Хотя и не буду спорить что правильный план, вполне допускаю что глупость задумал.
Теперь по поводу, зарисовать схему сервопривода с обвесом. Там собственно и рисовать нечего, обычный, коллекторный двигатель, с постоянным магнитом. Хотя можно и с обмоткой возбуждения. На вал двигателя одевается энкодер и закрепляется неподвижно на корпусе мотора. Внутри энкодера есть диск, который закреплён на валу мотора и вращается с ним. Количество импульсов на оборот, можно выбирать, пока я остановился на 500-512 имп/об. Могу и 1000 имп/об использовать только, мне кажется, что это через чур много. Энкодеры использую типа HEDS-5505 A14 наподобие тех, что стоят в современных принтерах.
Вроде ничего не забыл ? Если что ещё нужно сообщить, скажите.
C UHU (кстати, уберите в конце ссылки пробел, с ним не открывается) все ясно - это контроллер коллекторного двигателя, позволяющий управлять им как шаговым, то есть степ-дир. О шаговиках плохо думаете зря - нужно просто уметь их готовить :) В микрошаговом режиме его не слышно, шаги пропускает, если пытаться сразу его крутить на высокой скорости, без разгона, или пытаться взять с него момент больше, чем он может дать.
На ардуино легко собирается управление нужным количеством UHU, тут все зависит от желания. Можно реализовать интерпретатор G-кода, тогда выбрасываем Mach и скармливаем G-код по USB контроллеру (я так и делаю), или можно собрать специализированный контроллер, который будет только резьбы резать, тогда можно поставить дисплейчик с клавиатуркой или тачскрином и "выбросить" компьютер.
По поводу режимов "ручной/автомат". Если с шаговика снять напругу, то он легко вращается. Я думаю, серва должна себя вести анологично (если нет редуктора), тогда просто соединяем механику на постоянку. Если серва с редуктором, то придется делать "сцепление" типа электромагнитной муфты, которая используется в атомобилях для подключения вентилятора с приводом от вала двигателя.
Пробел убрал. Про шаговые, я умоляю вас, даже не заикайтесь. На счёт готовить. Я тоже, не первый день с этим связан, кое- что знаю.
А без USB можно это сделать ? Зачем мне включать каждый раз, скажем для не сложных работ, компьютер ? Вместо дисплейчика с клавиатурой я предполагал использовать штатные ( станка ) рукоятки выбора подач. Правда, немного переделав их, на многопозиционный переключатель, который бы и давал Arduino инфу о нужной подаче, или шаге резьбы, или конусе.
Ну не знаю я, что такое Arduino и с чем его едят. Если не трудно, можно по конкретнее ? А то, на нём даже ракету можно запустить, как- то не особо помогает пониманию процесса. Может быть есть место, где это хорошо описано ? Я бы мог и почитать, чтобы вас не отвлекать своими пустяками.
Я так понимаю сервопривод имеется заводской? И на нем 5 выводов, из них 2 - питание, 3 - энкодер? И еще - Контроллер UHU обрабатывает сигналы энкодера?
Может быть, я не совсем внятно описал свою проблему ? Попробую по другому. Для нарезания резьбы или точения конуса, нужна строгая синхронизация положения шпинделя и ходового винта. На шпиндель, энкодер не поставить, слишком большой диаметр. Делать передачу, тоже не очень хочется. Есть мысль, поставить на шпиндель диск с прорезями, такой же как и в энкодере. Только, понятное дело, с количеством прорезей поменее, чем в энкодерах. Не особо понимаю сути процесса, предпологаю сделать 16 прорезей. Можете сказать, достаточно будет 16 ? Неплохо бы, если это возможно, с математической точностью обосновать это. Возможно что, окажется число 16 не "круглым" и лучше будет с другим числом импульсов ? Пойдём далее. С этого диска ( шпинделя ), импульсы подадим на Arduino. И туде же подадим импульсы, с энкодера, установленного на валу двигателя ходового винта. Ещё предполагаю, подать на Arduino импульсы с энкодера двигателя поперечной подачи.
Сможет ли Arduino обеспечить синхронизацию вращения шпинделя и винтов подач, с требуемой точностью. Точнее, с какой точностью, он сможет управлять этими параметрами ? И что для этого ещё будет нужно ?
Ну вот, пока на эти вопросы, могли бы ответить, уважаемые ?
Я так понимаю сервопривод имеется заводской? И на нем 5 выводов, из них 2 - питание, 3 - энкодер? И еще - Контроллер UHU обрабатывает сигналы энкодера?
Нет, сервопривод не заводской. Он реализован точнее, предполагается реализовать на двигателе фирмы ElectroCraft, ориентировочной мощностью 120 ватт и энкодере типа HEDS. Двигатель имеет два вывода. Энкодер 5 выводов.
Контроллер UHU обрабатывает сигналы энкодера. Я же дал Вам схему.
Про шаговые - без проблем :) Я понимаю, что грамотная серва намного лучше.
Про Ардуинину. Можно и без компа и без дисплея. Дисплей с клавой я планировал для установки, скажем, шага. Ардуинина имеет штатно 13 дискретных входа/выхода и 6 аналоговых, которые можно использовать как дискретные. Если этого мало, есть способы расширения входов-выходов. Можно задать любую логику, размер памяти вполне себе большой. В идеале получается 2х3 управление сарвами, 2х2 концевые датчики, 1 датчик нулевого угла шпинделя, т.е. всего 11 остается 8 для сигналов управления.
И вот еще интересно, шпиндель у Вас вращает серва? Если нет, то нужно будет ставить энкодер на шпиндель. Это 2 входа ардуины с прерываниями и 1 выход управления шпинделем (вкл/выкл или ШИМ)
Первое, для меня пока не очень внятна терминология: дискретный вход/выход, аналоговый. Если я правильно понимаю, дискретный это логические нуль и единица, а аналоговый это, плавное изменение чего то, в каких- то пределах. Эти пределы заранее заданы ? Или могут быть любыми ? Ещё читал, выхода могут использоваться как ШИМ. Тоже не могу переварить...
Если не трудно, объясните пожалуйста. И вот это, 2х3 управление сервами. три, это как я понимаю движки. А 2 что такое ? 2х2 концевые датчики. Тоже пока не понимаю. 1 датчик нулевого угла. Это, как я понимаю, начало отсчёта по положению шпинделя ?
Шпиндель у меня вращается коллекторным двигателем. Про энкодер на шпиндель я написал чуть выше, предполагаю поставить диск с 16 прорезями. Количество, конечно я взял с потолка, если Вы знаете как рассчитать ёто, пожалуйста, расскажите. Буду весьма признателен Вам за науку.
Вот ещё. Про прерывания, если не трудно, хотя бы вкратце, расскажите пожалуйста.
Может быть, я не совсем внятно описал свою проблему ? Попробую по другому. Для нарезания резьбы или точения конуса, нужна строгая синхронизация положения шпинделя и ходового винта. На шпиндель, энкодер не поставить, слишком большой диаметр. Делать передачу, тоже не очень хочется. Есть мысль, поставить на шпиндель диск с прорезями, такой же как и в энкодере. Только, понятное дело, с количеством прорезей поменее, чем в энкодерах. Не особо понимаю сути процесса, предпологаю сделать 16 прорезей. Можете сказать, достаточно будет 16 ? Неплохо бы, если это возможно, с математической точностью обосновать это. Возможно что, окажется число 16 не "круглым" и лучше будет с другим числом импульсов ? Пойдём далее. С этого диска ( шпинделя ), импульсы подадим на Arduino. И туде же подадим импульсы, с энкодера, установленного на валу двигателя ходового винта. Ещё предполагаю, подать на Arduino импульсы с энкодера двигателя поперечной подачи.
Сможет ли Arduino обеспечить синхронизацию вращения шпинделя и винтов подач, с требуемой точностью. Точнее, с какой точностью, он сможет управлять этими параметрами ? И что для этого ещё будет нужно ?
Ну вот, пока на эти вопросы, могли бы ответить, уважаемые ?
Попробую попорядку изложить свои соображения
На шпиндель, в принципе, достаточно одной прорези в диске - измерить скорость, точнее, обороты шпинделя. По ходу операции - контролировать ошибку на каждом обороте.
Подавать данные энкодеров на ардуину и управлять двигателями подач будет сложно. В приведенном Вами контроллере двигателей реализован ПИД-алгоритм, без него двигатели будут осциллировать вокруг рабочей точки. Придется реализовывать алгоритм в ардуине - это дополнительный расход вычислительной мощности. Лучше, чтобы сервы для ардуинины выглядели как шаговики, то есть Step-Dir
Ардуина может обеспечить точность примерно +-1 шаг в 500 мкс в 1мс - точно. Это без ПИД-алгоритмов.
Все разобрался я со схемками. Думаю так - управление сервоприводом лучше конечно оставить UHU контроллеру, который в свою оцередь управляется ардуиной, а к самой ардуине конектить концевики. Впринципе если задачи однотипные, то одной Ардуино мега вполне будет достаточно, и даже можно организовать управление чисто кнопочками, или рычажками там ... как угодно. Единственное сложно будет с самим алгоритмом.
По точности могу сказать что все зависит от точности винтов подач. А вот про шпиндель честно говоря я чет упустил нафига там энкодер.
Первое, для меня пока не очень внятна терминология: дискретный вход/выход, аналоговый. Если я правильно понимаю, дискретный это логические нуль и единица, а аналоговый это, плавное изменение чего то, в каких- то пределах. Эти пределы заранее заданы ? Или могут быть любыми ? Ещё читал, выхода могут использоваться как ШИМ. Тоже не могу переварить...
Если не трудно, объясните пожалуйста. И вот это, 2х3 управление сервами. три, это как я понимаю движки. А 2 что такое ? 2х2 концевые датчики. Тоже пока не понимаю. 1 датчик нулевого угла. Это, как я понимаю, начало отсчёта по положению шпинделя ?
Шпиндель у меня вращается коллекторным двигателем. Про энкодер на шпиндель я написал чуть выше, предполагаю поставить диск с 16 прорезями. Количество, конечно я взял с потолка, если Вы знаете как рассчитать ёто, пожалуйста, расскажите. Буду весьма признателен Вам за науку.
Вот ещё. Про прерывания, если не трудно, хотя бы вкратце, расскажите пожалуйста.
По порядку. С дискретными Вы понимаете правильно. Аналоговые - сигнал от 0 до 5 вольт 1024 шага, большее напряжение приводится к 5 вольтам делителем ШИМ - это "как бы" аналоговый выход - это импульсы с коэффициентом заполнения, пропорциональным аналоговому уровню 0-5 вольт, 256 шагов. Если к такому выходу подключить интегрирующую цепочку (резистор с конденсатором), то получится аналоговый сигнал.
2х3 управление, это 3 сервы по 2 сигнала (степ=дир), 2х2 концевики - это 2 оси по 2 концевика - датчика крайних положений. без них можно что-нибудь сломать.
Про прорези на диске шпинделя. Если плясать от скорости шпинделя и маркера "0", то достаточно одной прорези. Можно плясать от положения шпинделя, тогда думайте, сколько раз нужно менять положение резца за 1 оборот шпинделя - столько нужно прорезей. Количество желательно брать степень двойки (32-64-128-512-1024). Отдельный датчик "0" все равно нужен.
Про прерывания. На них вешается энкодер, чтобы не пропустить ни одного импульса. Иначе говоря, что бы ни делал проц, если пришел сигнал с энкодера, проц прервется, обработает сигнал с энкодера, потом продолжить делать то, что делал. Поэтому и зовется "прерыванием"
По точности могу сказать что все зависит от точности винтов подач. А вот про шпиндель честно говоря я чет упустил нафига там энкодер.
А как Вы резьбу будете резать, если не знаете, как вращается шпиндель, особенно, если не в один проход? Данные о подожении шпинделя нужны для синхронизации с подачами. Я считаю, что датчика нулевого угла достаточно, если обороты относительно стабильны.
так данные о положении шпинделя то будем брать от его оси подачи, Зачем брать с самого вала шпинделя, или тут и скорость вращения шпинделя тоже важна. Или я все же чего то не понимаю?
Блин, как неудобно здесь сделано Цитировать. Столько текста набил и всё насмарку...
Я думал что, один импульс на оборот будет мало. Режимы работы могут быть и ударными, скажем: квадрат, шестигранник, зубчатые колёса...
Как я понял, контроллеры UHU должны остаться, значит и сигналы с энкодеров будут заводиться на контроллер, а Arduino будет свободен от обработки этих сигналов. Правда, пока не пойму, как быть с сигналом со шпинделя ? Куда его подавать, на контроллер UHU ? И этот контроллер будет управлять... Чем ? По моим планам, двигатель шпинделя, коллекторный и управляется штатным регулятором, с выведеным на переднюю панель регулятором частоты вращения. Если, к примеру, во время работы, я поверну этот регулятор, изменив частоту вращения, Arduino должен будет по сигналам с диска шпинделя, изменить частоту вращения двигателей подач. "
Лучше, чтобы сервы для ардуинины выглядели как шаговики, то есть Step-Dir" Ну так, контроллер и управляет по Step/Dir
"Ардуина может обеспечить точность примерно +-1 шаг в 500 мкс в 1мс - точно." Здесь всё правильно написано ? Что - то я не пойму, что к чему относится ?
так данные о положении шпинделя то будем брать от его оси подачи, Зачем брать с самого вала шпинделя, или тут и скорость вращения шпинделя тоже важна.
Что такое ось подач ? Я считал что, импулься нужно брать непосредственно со шпинделя, чтобы иметь точное представление о пространственном положении шпинделя. Если брать с вала двигателя шпинделя то, возможна ошибка, ремень ведь может проскальзывать.
"А как Вы резьбу будете резать, если не знаете, как вращается шпиндель, особенно, если не в один проход? Данные о подожении шпинделя нужны для синхронизации с подачами. Я считаю, что датчика нулевого угла достаточно, если обороты относительно стабильны."
Почему не знаем, как вращается шпиндель ? Я думал что, диск на шпинделе как раз и будет давать инфу о его положении. А почему 16 импульсов ? Так, я ведь не только обычную резьбу планирую, а и многозаходную и конуса тоже точить... Поэтому, мне кажется, одного импульса на оборот будет недостаточно. Опять же, я думал что, во время работы, иногда, буду менять частоту вращения шпинделя. С одним нулевым, согласен. Пусть будет. Тем более что реализовать его не проблема.
"Ардуина может обеспечить точность примерно +-1 шаг в 500 мкс в 1мс - точно." Здесь всё правильно написано ? Что - то я не пойму, что к чему относится ?
Ну... это прикидка из личного опыта. А в каких единицах Вам нужна точность? Ситуация стандартна - чем медленнее, тем точнее.
Что такое ось подач ? Я считал что, импулься нужно брать непосредственно со шпинделя, чтобы иметь точное представление о пространственном положении шпинделя. Если брать с вала двигателя шпинделя то, возможна ошибка, ремень ведь может проскальзывать.
"А как Вы резьбу будете резать, если не знаете, как вращается шпиндель, особенно, если не в один проход? Данные о подожении шпинделя нужны для синхронизации с подачами. Я считаю, что датчика нулевого угла достаточно, если обороты относительно стабильны."
Почему не знаем, как вращается шпиндель ? Я думал что, диск на шпинделе как раз и будет давать инфу о его положении. А почему 16 импульсов ? Так, я ведь не только обычную резьбу планирую, а и многозаходную и конуса тоже точить... Поэтому, мне кажется, одного импульса на оборот будет недостаточно. Опять же, я думал что, во время работы, иногда, буду менять частоту вращения шпинделя. С одним нулевым, согласен. Пусть будет. Тем более что реализовать его не проблема.
Ось подач - специальный выход из коробки передач станка для автоматической продольной подачи резца (если станок на столько прост, что не имеет коробки передач, то такой оси, соответственно, нет)
Объясню, почему мне было бы достаточно 1 прорези. Первый оборот - считаем скорость (угловую), далее, через полученную скорость расчитываем положение шпинделя, по окончании оборота пересчитываем скорость. Если скорость меняется не быстро, то точность расчетов достаточная (при измении 1% на оборот будет ошибка 1%)
Скажем, имеем 1000 об/мин, увеличиваем до 2000 за 10 секунд Это 1000/6=167 оборотов, то есть 16 оборотов за секунду. Это примерно 0.1 оборота на оборот получается 10%. многовато... Можно считать кроме скорости еще и ускорение (это просто), тогда ошибку можно снизить по крайней мере в 10 раз. Линейное изменение скорости может быть полностью учтено.
"А в каких единицах Вам нужна точность? Ситуация стандартна - чем медленнее, тем точнее."
Да мне не столь важно, как будет называться единица, важно чтобы станок мог сделать какую- то операцию, как можно точнее. Скажем, нарезая резьбу, на какой- то скорости, не превышая допустимые стандартом отклонения по тому же шагу. Или, протачивая конус, обеспечить угол и... Хм, сам задумался, шероховатость. А как это будет выглядеть? На конусе то . Там же, с каждым оборотом, должен меняться диаметр... А диаметр, это у окружности, а у нас получится кривая... Кажется, я уже перегрелся...
"Ось подач - специальный выход из коробки передач станка для автоматической продольной подачи резца (если станок на столько прост, что не имеет коробки передач, то такой оси, соответственно, нет)
Объясню, почему мне было бы достаточно 1 прорези. Первый оборот - считаем скорость (угловую), далее, через полученную скорость расчитываем положение шпинделя, по окончании оборота пересчитываем скорость. Если скорость меняется не быстро, то точность расчетов достаточная (при измении 1% на оборот будет ошибка 1%)
Скажем, имеем 1000 об/мин, увеличиваем до 2000 за 10 секунд Это 1000/6=167 оборотов, то есть 16 оборотов за секунду. Это примерно 0.1 оборота на оборот получается 10%. многовато... Можно считать кроме скорости еще и ускорение (это просто), тогда ошибку можно снизить по крайней мере в 10 раз. Линейное изменение скорости может быть полностью учтено."
Ось имеется. Да, согласен с Вами, что 1 импульса достаточно но, только при нарезании резьбы на цилинре. А если не цилиндр ? Скорость будет меняться скачкообразно и с количеством, скажем, зубьев на детали. Или при точении конуса, материал иногда может иметь разную твёрдость и пр. помехи. Наверное, есть смысл, увеличить количество проверок на оборот.
Ну смотрите - если говорить о нарезании резьбы на вращающейся болванке с какой бы там нибыло скоростью, начинающуюся и кончающуюся на одной "смежной" оси, прерывающуюся в опред точке и начинающуюся в опред точке, то вам нужен энкодер причем количество прорезей должно зависеть от радиуса болванки, больше радиус больше прорезей. Если же дело стоит только в нарезании резьбы с опред точностью ее канавок (расстояние между ними) и точении конуса или конусной резьбы, то достаточно будет 2х прорезей. Измеряя тем самым половинную угловую скорость можно контроллировать конечную нужную в достаточной степени точности даже уходя в конус. Но еще есть вариант вообще не варьировать скоростью шпинделя, а варьировать скоростью подачи резца (но это только в случае простых задачь - нарезание резьбы, нарезка конуса.)
Я в программировании ничего не смыслю, вполне могу и чушь ляпнуть. Но, пока никак не уловлю суть Вашей " оси ". О чём речь идёт, о какой оси ? И почему количество импульсов должно зависеть от диаметра заготовки ? В конце концов, у меня не такой уж и большой разброс диаметров будет, станок ведь хоббийный. Думаю что, в диапазоне от 12 мм до 60 мм уложится. Или, я не правильно думаю ?
вот представьте что у вас есть болванка 30см в диаметре и 100см в диаметре, они обе пристыкованы друг к другу, и вам нужно например на обоих болванках сделать поперечный надрез в 1 см, так вот 1 см на 30см болванке будет отличаться от того что выйдет на 100см болванке, тут работает функция равнобедренной трапеции.
Ух, такие болванки ко мне в квартиру не влезут... А попречный, это как ? Что- то не понял... Ну, хорошо. А что нужно, чтобы сделать такой контроллер ? Купить Arduino Mega и к ней ещё что- то ? Вот, я поискал на ebay и нашёл такие наборы:
Изменяемые обороты шпинделя - это, в принципе, правильно, потому что скорость резания на кромке резца должна быть постоянной, но тогда этой скоростью нужно управлять. Если у Вас уже есть стабилизатор-регулятор оборотов шпинделя, то им как-то нужно управлять, если нет, тогда нужно управлять с Ардуины, но тогда нужно больше отверстий на датчике (16-достаточно) - это будет обратная связь для регулятора оборотов шпинделя.
Поперечный паз - это вдоль окружности вращения, продолбный - вдоль оси вращения. А на 100см не обращайте внимания, если см поменять на мм, то суть не изменится.
И Вы спрашиваете, стоит ли, например, купить шилду на 2 ампера, это же при максимальном напряжении 36 вольт всего 72 вата, у Вас 150 ват, а вольт то сколько? Эта шилда для чего? Шпинделем все равно управлять не хватит.
Нужно больше информации об имеющемся оборудовании, тогда можно будет советовать.
Ну, а как это будет выглядеть, хотя бы в первом приближении, Arduino, плюс 3 UHU-контроллера, плюс 3 движка, плюс концевые. Я имею ввиду соединения. С двумя двигателями на подачах вроде понятно, а вот двигатель шпинделя, пока не ясно. Он крутится от своего регулятора. Какой сигнал и как, подать с Arduino на этот регулятор ? И куда подавать сигнал с диска на шпинделе ? Если на Arduino то, получается что, нужно толька два UHU-контроллера с двигателями и энкодерами, на подачи. Сам регулятор оборотов шпинделя мне не кажется очень стабильным, может быть его выбросить, и сделать на Arduino ? Потянет Arduino ? Разумеется, с каким- нибудь драйвером, способным управлять двигателем на 190 вольт и порядка 1,1 киловатта мощностью.
регулятор оборотов выбрасывать не надо, надо понять, как можно управлять этим регулятором. Если у него нет входа управления, то можно тупо прикрутить к ручке регулятора стандартную маленькую серву :) Нужно больше информации.
Примерно так я и представлял себе, соединения. Только с третьим контроллером мне пока не ясно. Дело в том что, на шпиндель работает двигатель, кототрый управляется регулятором оборотов и соединяется со шпинделем через клиновой ремень. Другими словами, между энкодером ( диском с прорезями, на шпинделе ) и валом двигателя, жёсткой связи нет и контроллер здесь не установлен. Вот дальше, начинаются непонятки. Как управлять оборотами, через регулятор ? Хотя, при необходимости, я бы смог установить энкодер непосредственно на вал двигателя. Технически, это реализовать можно, засверлив якорь и ввернув в него на клей болт, а болт уже проточить под размер энкодера.
Схемы на него тоже нет ( станок китайский ) но, можно срисовать с монтажа. Займусь- ка я этим. Сам регулятор, вроде не имеет никаких входов, для подключения внешнего сигнала управления. Управление идёт потенциометром, на передней панели.
Ладно, пока у меня с продавцом завязалась переписка, ( по поводу непонятных трещин в станине, может быть поменяют ? ) и станок разобранный, я наверное попробую срисовать схему регулятора и потом посмотрим, что можно сделать ? Только мне кажется что, штатный регулятор скорости не очень удачно спроектирован. Когда его настраивал, сильно не понравилась мне его работа. Да и от двигателя, установки сильно зависят. В смысле, один и тот же регулятор по разному работает с другим, однотипным движком.
AlexFisher, а какую именно информацию нужно ? Постараюсь выдать.
Я подозреваю, что у Вfc не регулятор оборотов, а регулятор мощности. Это хуже. тогда нужно однозначно ставить датчик (энкодер или диск с прорезями) на вал станка (не на двигатель). Нужно измерить напряжение на регуляторе и его номинал, потенциалы относительно земли. Еще желательно проверить, постоянное напряжение на резисторе или импульсное. Если постоянное, то можно организовать управление непосредственно с ардуины, если импульсное, то, видимо, только сервой (поворачивать вал резистора). Схема дала бы больше информации, но, ввиду того, что мы имеем "черный ящик", то нужно произвести целую серию измерений для того, чтобы представлять, как это происходит. Если есть данные на движок, то можно подумать о мощном ключе для управления от ардуины.
Что такое Bfc ? Про движок заявлены только, потребляемая мощность 1,1 квт и напряжения 180 В. Резистор, имеется в виду потенциометр регулятора ? Предполагаю что, постоянное напряжение на нём, там на операционных усилителях схема и два тиристора на движок. Точно скажу попозже, когда схему разберу. У меня ещё была мысль, чтобы шпиндель можно было поворачивать на определённый угол и удерживать в определённом положении но, мне кажется что это будет несколько проблематично. Обычно поворот измеряется в градусах и практически все фигуры, полукруг, квадрат, шестиугольник, восьмиугольник и др. кратны 360° , а вот энкодер, который смог бы обеспечить такую кратность, мне не известен. Из всех известных только некоторые формы можно получить кратными, остальные придётся смириться с некоторой ошибкой, пусть и незначительной. В общем, тут ещё подумать надо.
Если там операционники и тиристоры, то значит на резисторе может быть постоянка, а может быть и пила, но это менее вероятно. Если тиристоры без оптронов, то ардуину напрямую нельзя подключать. Судя по всему, реверс не предусмотрен или реализуется тумблером, который меняет фазировку движка. В этом случае про установку и удерживание угла можно забыть. Для установки и удерживания угла нужен электронный реверс и энкодер с разрешением, превышающем необходимую точность установки угла более чем в 2 раза. Иначе говоря - та же серва, только с движком помощнее.
Если движок на 180 вольт, то питание от трансформатора?
В том то и дело, что связи гвальванической быть не должно! Если управление тиристорами развязано оптронами, то туда можно подключать ардуино напрямую, иначе - нет, можно спалить, да и для оператора небезапасно.
Что- то не получается у меня пристегнуть .pdf Выложил на сторонний ресурс http://rghost.ru/39147421 Обозначение, начала и конца обмоток, на схеме указаны условно и поэтому не могут быть приняты за истинное.
В устройстве нет изоляции от сети - не рекомендую подключаться напрямую. Лучше механически управлять. Или делать опртронную развязку, но сходу схему накидать я не смогу. Считать надо...
Если можно то поподробнее о UHU контроллере...
Вообще если использовать ардуино, то думаю что стоит отказаться от Mach, и других контроллеров. Хотя возможно и сопряжение. но зачем.
Суть в следующем. Я бы посоветовал на начальном уровне хотя бы зарисовать схему вашего серво привода с енкодером и всем обвесом который на нем есть. А я уже попробую разобраться с драйвером для него.
Попробую вкратце описать. Контроллер UHU разработан Uli Huber домашняя страничка http://www.uhu-servo.de/
Работает с любой программой, которая выдаёт Step/ Dir Если кто- то захочет повторить, есть только одна проблема, прошивку нигде не найти. Только покупать прошитый чип с кварцем у самого Ули. Благо он продаёт их недорого, последний раз я покупал по 7€ за одну микросхему с кварцем. Для россиян он продавал по 6 €. В любом случае, сначала напишите ему письмо и он Вам скажет цену. Я наверное выложу для ознакомления схему, спецификацию и расположение деталей на плате http://rghost.ru/39056006 Изменил линк.
Если что- то не понятно, спрашивайте, отвечу на все вопросы. Нужно перевести ? Постараюсь помочь.
Теперь по поводу отказаться от Mach. Я пока ничего не смыслю в Arduino но, мне кажется что, он просто не сможет работать с достаточно сложной деталью... Как ему "объяснить" что нужно сделать ? Например, подачу или вид и шаг резьбы, можно записать в чип, т.е. именно это у меня пока в плане. Хотя и не буду спорить что правильный план, вполне допускаю что глупость задумал.
Теперь по поводу, зарисовать схему сервопривода с обвесом. Там собственно и рисовать нечего, обычный, коллекторный двигатель, с постоянным магнитом. Хотя можно и с обмоткой возбуждения. На вал двигателя одевается энкодер и закрепляется неподвижно на корпусе мотора. Внутри энкодера есть диск, который закреплён на валу мотора и вращается с ним. Количество импульсов на оборот, можно выбирать, пока я остановился на 500-512 имп/об. Могу и 1000 имп/об использовать только, мне кажется, что это через чур много. Энкодеры использую типа HEDS-5505 A14 наподобие тех, что стоят в современных принтерах.
Вроде ничего не забыл ? Если что ещё нужно сообщить, скажите.
Ну что там ? Слышно что- нибудь ?
C UHU (кстати, уберите в конце ссылки пробел, с ним не открывается) все ясно - это контроллер коллекторного двигателя, позволяющий управлять им как шаговым, то есть степ-дир. О шаговиках плохо думаете зря - нужно просто уметь их готовить :) В микрошаговом режиме его не слышно, шаги пропускает, если пытаться сразу его крутить на высокой скорости, без разгона, или пытаться взять с него момент больше, чем он может дать.
На ардуино легко собирается управление нужным количеством UHU, тут все зависит от желания. Можно реализовать интерпретатор G-кода, тогда выбрасываем Mach и скармливаем G-код по USB контроллеру (я так и делаю), или можно собрать специализированный контроллер, который будет только резьбы резать, тогда можно поставить дисплейчик с клавиатуркой или тачскрином и "выбросить" компьютер.
По поводу режимов "ручной/автомат". Если с шаговика снять напругу, то он легко вращается. Я думаю, серва должна себя вести анологично (если нет редуктора), тогда просто соединяем механику на постоянку. Если серва с редуктором, то придется делать "сцепление" типа электромагнитной муфты, которая используется в атомобилях для подключения вентилятора с приводом от вала двигателя.
Пробел убрал. Про шаговые, я умоляю вас, даже не заикайтесь. На счёт готовить. Я тоже, не первый день с этим связан, кое- что знаю.
А без USB можно это сделать ? Зачем мне включать каждый раз, скажем для не сложных работ, компьютер ? Вместо дисплейчика с клавиатурой я предполагал использовать штатные ( станка ) рукоятки выбора подач. Правда, немного переделав их, на многопозиционный переключатель, который бы и давал Arduino инфу о нужной подаче, или шаге резьбы, или конусе.
Ну не знаю я, что такое Arduino и с чем его едят. Если не трудно, можно по конкретнее ? А то, на нём даже ракету можно запустить, как- то не особо помогает пониманию процесса. Может быть есть место, где это хорошо описано ? Я бы мог и почитать, чтобы вас не отвлекать своими пустяками.
Не сердитесь пожалуйста.
Я так понимаю сервопривод имеется заводской? И на нем 5 выводов, из них 2 - питание, 3 - энкодер? И еще - Контроллер UHU обрабатывает сигналы энкодера?
Может быть, я не совсем внятно описал свою проблему ? Попробую по другому. Для нарезания резьбы или точения конуса, нужна строгая синхронизация положения шпинделя и ходового винта. На шпиндель, энкодер не поставить, слишком большой диаметр. Делать передачу, тоже не очень хочется. Есть мысль, поставить на шпиндель диск с прорезями, такой же как и в энкодере. Только, понятное дело, с количеством прорезей поменее, чем в энкодерах. Не особо понимаю сути процесса, предпологаю сделать 16 прорезей. Можете сказать, достаточно будет 16 ? Неплохо бы, если это возможно, с математической точностью обосновать это. Возможно что, окажется число 16 не "круглым" и лучше будет с другим числом импульсов ? Пойдём далее. С этого диска ( шпинделя ), импульсы подадим на Arduino. И туде же подадим импульсы, с энкодера, установленного на валу двигателя ходового винта. Ещё предполагаю, подать на Arduino импульсы с энкодера двигателя поперечной подачи.
Сможет ли Arduino обеспечить синхронизацию вращения шпинделя и винтов подач, с требуемой точностью. Точнее, с какой точностью, он сможет управлять этими параметрами ? И что для этого ещё будет нужно ?
Ну вот, пока на эти вопросы, могли бы ответить, уважаемые ?
Я так понимаю сервопривод имеется заводской? И на нем 5 выводов, из них 2 - питание, 3 - энкодер? И еще - Контроллер UHU обрабатывает сигналы энкодера?
Нет, сервопривод не заводской. Он реализован точнее, предполагается реализовать на двигателе фирмы ElectroCraft, ориентировочной мощностью 120 ватт и энкодере типа HEDS. Двигатель имеет два вывода. Энкодер 5 выводов.
Контроллер UHU обрабатывает сигналы энкодера. Я же дал Вам схему.
Про шаговые - без проблем :) Я понимаю, что грамотная серва намного лучше.
Про Ардуинину. Можно и без компа и без дисплея. Дисплей с клавой я планировал для установки, скажем, шага. Ардуинина имеет штатно 13 дискретных входа/выхода и 6 аналоговых, которые можно использовать как дискретные. Если этого мало, есть способы расширения входов-выходов. Можно задать любую логику, размер памяти вполне себе большой. В идеале получается 2х3 управление сарвами, 2х2 концевые датчики, 1 датчик нулевого угла шпинделя, т.е. всего 11 остается 8 для сигналов управления.
И вот еще интересно, шпиндель у Вас вращает серва? Если нет, то нужно будет ставить энкодер на шпиндель. Это 2 входа ардуины с прерываниями и 1 выход управления шпинделем (вкл/выкл или ШИМ)
Первое, для меня пока не очень внятна терминология: дискретный вход/выход, аналоговый. Если я правильно понимаю, дискретный это логические нуль и единица, а аналоговый это, плавное изменение чего то, в каких- то пределах. Эти пределы заранее заданы ? Или могут быть любыми ? Ещё читал, выхода могут использоваться как ШИМ. Тоже не могу переварить...
Если не трудно, объясните пожалуйста. И вот это, 2х3 управление сервами. три, это как я понимаю движки. А 2 что такое ? 2х2 концевые датчики. Тоже пока не понимаю. 1 датчик нулевого угла. Это, как я понимаю, начало отсчёта по положению шпинделя ?
Шпиндель у меня вращается коллекторным двигателем. Про энкодер на шпиндель я написал чуть выше, предполагаю поставить диск с 16 прорезями. Количество, конечно я взял с потолка, если Вы знаете как рассчитать ёто, пожалуйста, расскажите. Буду весьма признателен Вам за науку.
Вот ещё. Про прерывания, если не трудно, хотя бы вкратце, расскажите пожалуйста.
Может быть, я не совсем внятно описал свою проблему ? Попробую по другому. Для нарезания резьбы или точения конуса, нужна строгая синхронизация положения шпинделя и ходового винта. На шпиндель, энкодер не поставить, слишком большой диаметр. Делать передачу, тоже не очень хочется. Есть мысль, поставить на шпиндель диск с прорезями, такой же как и в энкодере. Только, понятное дело, с количеством прорезей поменее, чем в энкодерах. Не особо понимаю сути процесса, предпологаю сделать 16 прорезей. Можете сказать, достаточно будет 16 ? Неплохо бы, если это возможно, с математической точностью обосновать это. Возможно что, окажется число 16 не "круглым" и лучше будет с другим числом импульсов ? Пойдём далее. С этого диска ( шпинделя ), импульсы подадим на Arduino. И туде же подадим импульсы, с энкодера, установленного на валу двигателя ходового винта. Ещё предполагаю, подать на Arduino импульсы с энкодера двигателя поперечной подачи.
Сможет ли Arduino обеспечить синхронизацию вращения шпинделя и винтов подач, с требуемой точностью. Точнее, с какой точностью, он сможет управлять этими параметрами ? И что для этого ещё будет нужно ?
Ну вот, пока на эти вопросы, могли бы ответить, уважаемые ?
Попробую попорядку изложить свои соображения
На шпиндель, в принципе, достаточно одной прорези в диске - измерить скорость, точнее, обороты шпинделя. По ходу операции - контролировать ошибку на каждом обороте.
Подавать данные энкодеров на ардуину и управлять двигателями подач будет сложно. В приведенном Вами контроллере двигателей реализован ПИД-алгоритм, без него двигатели будут осциллировать вокруг рабочей точки. Придется реализовывать алгоритм в ардуине - это дополнительный расход вычислительной мощности. Лучше, чтобы сервы для ардуинины выглядели как шаговики, то есть Step-Dir
Ардуина может обеспечить точность примерно +-1 шаг в 500 мкс в 1мс - точно. Это без ПИД-алгоритмов.
Все разобрался я со схемками. Думаю так - управление сервоприводом лучше конечно оставить UHU контроллеру, который в свою оцередь управляется ардуиной, а к самой ардуине конектить концевики. Впринципе если задачи однотипные, то одной Ардуино мега вполне будет достаточно, и даже можно организовать управление чисто кнопочками, или рычажками там ... как угодно. Единственное сложно будет с самим алгоритмом.
По точности могу сказать что все зависит от точности винтов подач. А вот про шпиндель честно говоря я чет упустил нафига там энкодер.
Первое, для меня пока не очень внятна терминология: дискретный вход/выход, аналоговый. Если я правильно понимаю, дискретный это логические нуль и единица, а аналоговый это, плавное изменение чего то, в каких- то пределах. Эти пределы заранее заданы ? Или могут быть любыми ? Ещё читал, выхода могут использоваться как ШИМ. Тоже не могу переварить...
Если не трудно, объясните пожалуйста. И вот это, 2х3 управление сервами. три, это как я понимаю движки. А 2 что такое ? 2х2 концевые датчики. Тоже пока не понимаю. 1 датчик нулевого угла. Это, как я понимаю, начало отсчёта по положению шпинделя ?
Шпиндель у меня вращается коллекторным двигателем. Про энкодер на шпиндель я написал чуть выше, предполагаю поставить диск с 16 прорезями. Количество, конечно я взял с потолка, если Вы знаете как рассчитать ёто, пожалуйста, расскажите. Буду весьма признателен Вам за науку.
Вот ещё. Про прерывания, если не трудно, хотя бы вкратце, расскажите пожалуйста.
По порядку. С дискретными Вы понимаете правильно. Аналоговые - сигнал от 0 до 5 вольт 1024 шага, большее напряжение приводится к 5 вольтам делителем ШИМ - это "как бы" аналоговый выход - это импульсы с коэффициентом заполнения, пропорциональным аналоговому уровню 0-5 вольт, 256 шагов. Если к такому выходу подключить интегрирующую цепочку (резистор с конденсатором), то получится аналоговый сигнал.
2х3 управление, это 3 сервы по 2 сигнала (степ=дир), 2х2 концевики - это 2 оси по 2 концевика - датчика крайних положений. без них можно что-нибудь сломать.
Про прорези на диске шпинделя. Если плясать от скорости шпинделя и маркера "0", то достаточно одной прорези. Можно плясать от положения шпинделя, тогда думайте, сколько раз нужно менять положение резца за 1 оборот шпинделя - столько нужно прорезей. Количество желательно брать степень двойки (32-64-128-512-1024). Отдельный датчик "0" все равно нужен.
Про прерывания. На них вешается энкодер, чтобы не пропустить ни одного импульса. Иначе говоря, что бы ни делал проц, если пришел сигнал с энкодера, проц прервется, обработает сигнал с энкодера, потом продолжить делать то, что делал. Поэтому и зовется "прерыванием"
Млин у мну инет кажись тупит, не успеваю за вами
По точности могу сказать что все зависит от точности винтов подач. А вот про шпиндель честно говоря я чет упустил нафига там энкодер.
А как Вы резьбу будете резать, если не знаете, как вращается шпиндель, особенно, если не в один проход? Данные о подожении шпинделя нужны для синхронизации с подачами. Я считаю, что датчика нулевого угла достаточно, если обороты относительно стабильны.
Млин у мну инет кажись тупит, не успеваю за вами
:))) Это не инет, это мы пишем одновременно. Я тоже не успеваю :)
так данные о положении шпинделя то будем брать от его оси подачи, Зачем брать с самого вала шпинделя, или тут и скорость вращения шпинделя тоже важна. Или я все же чего то не понимаю?
Блин, как неудобно здесь сделано Цитировать. Столько текста набил и всё насмарку...
Я думал что, один импульс на оборот будет мало. Режимы работы могут быть и ударными, скажем: квадрат, шестигранник, зубчатые колёса...
Как я понял, контроллеры UHU должны остаться, значит и сигналы с энкодеров будут заводиться на контроллер, а Arduino будет свободен от обработки этих сигналов. Правда, пока не пойму, как быть с сигналом со шпинделя ? Куда его подавать, на контроллер UHU ? И этот контроллер будет управлять... Чем ? По моим планам, двигатель шпинделя, коллекторный и управляется штатным регулятором, с выведеным на переднюю панель регулятором частоты вращения. Если, к примеру, во время работы, я поверну этот регулятор, изменив частоту вращения, Arduino должен будет по сигналам с диска шпинделя, изменить частоту вращения двигателей подач. "
Лучше, чтобы сервы для ардуинины выглядели как шаговики, то есть Step-Dir" Ну так, контроллер и управляет по Step/Dir
"Ардуина может обеспечить точность примерно +-1 шаг в 500 мкс в 1мс - точно." Здесь всё правильно написано ? Что - то я не пойму, что к чему относится ?
Блин я запутался, ))) Шпиндель в вашей системе это что, это ось на которую вешается обрабатываемая болванка? или это шпиндель резец.
так данные о положении шпинделя то будем брать от его оси подачи, Зачем брать с самого вала шпинделя, или тут и скорость вращения шпинделя тоже важна.
Что такое ось подач ? Я считал что, импулься нужно брать непосредственно со шпинделя, чтобы иметь точное представление о пространственном положении шпинделя. Если брать с вала двигателя шпинделя то, возможна ошибка, ремень ведь может проскальзывать.
"А как Вы резьбу будете резать, если не знаете, как вращается шпиндель, особенно, если не в один проход? Данные о подожении шпинделя нужны для синхронизации с подачами. Я считаю, что датчика нулевого угла достаточно, если обороты относительно стабильны."
Почему не знаем, как вращается шпиндель ? Я думал что, диск на шпинделе как раз и будет давать инфу о его положении. А почему 16 импульсов ? Так, я ведь не только обычную резьбу планирую, а и многозаходную и конуса тоже точить... Поэтому, мне кажется, одного импульса на оборот будет недостаточно. Опять же, я думал что, во время работы, иногда, буду менять частоту вращения шпинделя. С одним нулевым, согласен. Пусть будет. Тем более что реализовать его не проблема.
"Ардуина может обеспечить точность примерно +-1 шаг в 500 мкс в 1мс - точно." Здесь всё правильно написано ? Что - то я не пойму, что к чему относится ?
Ну... это прикидка из личного опыта. А в каких единицах Вам нужна точность? Ситуация стандартна - чем медленнее, тем точнее.
Шпиндель это вал, с внутренним конусом, в передней бабке, на который ставится патрон. Или патроны, если их несколько разных.
to mat - все понял, а резец - вращается или нет.
Я думал что там, знаки препинания забыли поставить... плюс/минус 1 шаг в 500 мкс в 1мс...
Нет, резец стоит в резцедержалке, на суппорте, который в свою очередь, может двигаться вдоль и поперёк станины. Т. е. обычный токарный станок.
Что такое ось подач ? Я считал что, импулься нужно брать непосредственно со шпинделя, чтобы иметь точное представление о пространственном положении шпинделя. Если брать с вала двигателя шпинделя то, возможна ошибка, ремень ведь может проскальзывать.
"А как Вы резьбу будете резать, если не знаете, как вращается шпиндель, особенно, если не в один проход? Данные о подожении шпинделя нужны для синхронизации с подачами. Я считаю, что датчика нулевого угла достаточно, если обороты относительно стабильны."
Почему не знаем, как вращается шпиндель ? Я думал что, диск на шпинделе как раз и будет давать инфу о его положении. А почему 16 импульсов ? Так, я ведь не только обычную резьбу планирую, а и многозаходную и конуса тоже точить... Поэтому, мне кажется, одного импульса на оборот будет недостаточно. Опять же, я думал что, во время работы, иногда, буду менять частоту вращения шпинделя. С одним нулевым, согласен. Пусть будет. Тем более что реализовать его не проблема.
Ось подач - специальный выход из коробки передач станка для автоматической продольной подачи резца (если станок на столько прост, что не имеет коробки передач, то такой оси, соответственно, нет)
Объясню, почему мне было бы достаточно 1 прорези. Первый оборот - считаем скорость (угловую), далее, через полученную скорость расчитываем положение шпинделя, по окончании оборота пересчитываем скорость. Если скорость меняется не быстро, то точность расчетов достаточная (при измении 1% на оборот будет ошибка 1%)
Скажем, имеем 1000 об/мин, увеличиваем до 2000 за 10 секунд Это 1000/6=167 оборотов, то есть 16 оборотов за секунду. Это примерно 0.1 оборота на оборот получается 10%. многовато... Можно считать кроме скорости еще и ускорение (это просто), тогда ошибку можно снизить по крайней мере в 10 раз. Линейное изменение скорости может быть полностью учтено.
"А в каких единицах Вам нужна точность? Ситуация стандартна - чем медленнее, тем точнее."
Да мне не столь важно, как будет называться единица, важно чтобы станок мог сделать какую- то операцию, как можно точнее. Скажем, нарезая резьбу, на какой- то скорости, не превышая допустимые стандартом отклонения по тому же шагу. Или, протачивая конус, обеспечить угол и... Хм, сам задумался, шероховатость. А как это будет выглядеть? На конусе то . Там же, с каждым оборотом, должен меняться диаметр... А диаметр, это у окружности, а у нас получится кривая... Кажется, я уже перегрелся...
"Ось подач - специальный выход из коробки передач станка для автоматической продольной подачи резца (если станок на столько прост, что не имеет коробки передач, то такой оси, соответственно, нет)
Объясню, почему мне было бы достаточно 1 прорези. Первый оборот - считаем скорость (угловую), далее, через полученную скорость расчитываем положение шпинделя, по окончании оборота пересчитываем скорость. Если скорость меняется не быстро, то точность расчетов достаточная (при измении 1% на оборот будет ошибка 1%)
Скажем, имеем 1000 об/мин, увеличиваем до 2000 за 10 секунд Это 1000/6=167 оборотов, то есть 16 оборотов за секунду. Это примерно 0.1 оборота на оборот получается 10%. многовато... Можно считать кроме скорости еще и ускорение (это просто), тогда ошибку можно снизить по крайней мере в 10 раз. Линейное изменение скорости может быть полностью учтено."
Ось имеется. Да, согласен с Вами, что 1 импульса достаточно но, только при нарезании резьбы на цилинре. А если не цилиндр ? Скорость будет меняться скачкообразно и с количеством, скажем, зубьев на детали. Или при точении конуса, материал иногда может иметь разную твёрдость и пр. помехи. Наверное, есть смысл, увеличить количество проверок на оборот.
Ну смотрите - если говорить о нарезании резьбы на вращающейся болванке с какой бы там нибыло скоростью, начинающуюся и кончающуюся на одной "смежной" оси, прерывающуюся в опред точке и начинающуюся в опред точке, то вам нужен энкодер причем количество прорезей должно зависеть от радиуса болванки, больше радиус больше прорезей. Если же дело стоит только в нарезании резьбы с опред точностью ее канавок (расстояние между ними) и точении конуса или конусной резьбы, то достаточно будет 2х прорезей. Измеряя тем самым половинную угловую скорость можно контроллировать конечную нужную в достаточной степени точности даже уходя в конус. Но еще есть вариант вообще не варьировать скоростью шпинделя, а варьировать скоростью подачи резца (но это только в случае простых задачь - нарезание резьбы, нарезка конуса.)
Я в программировании ничего не смыслю, вполне могу и чушь ляпнуть. Но, пока никак не уловлю суть Вашей " оси ". О чём речь идёт, о какой оси ? И почему количество импульсов должно зависеть от диаметра заготовки ? В конце концов, у меня не такой уж и большой разброс диаметров будет, станок ведь хоббийный. Думаю что, в диапазоне от 12 мм до 60 мм уложится. Или, я не правильно думаю ?
вот представьте что у вас есть болванка 30см в диаметре и 100см в диаметре, они обе пристыкованы друг к другу, и вам нужно например на обоих болванках сделать поперечный надрез в 1 см, так вот 1 см на 30см болванке будет отличаться от того что выйдет на 100см болванке, тут работает функция равнобедренной трапеции.
Ух, такие болванки ко мне в квартиру не влезут... А попречный, это как ? Что- то не понял... Ну, хорошо. А что нужно, чтобы сделать такой контроллер ? Купить Arduino Mega и к ней ещё что- то ? Вот, я поискал на ebay и нашёл такие наборы:
http://www.ebay.de/itm/300679303235?ssPageName=STRK:MEWAX:IT&_trksid=p39... , http://www.ebay.de/itm/280912101715?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_827wt_1130 , http://www.ebay.de/itm/320886598540?ssPageName=STRK:MEWAX:IT&_trksid=p39... , http://www.ebay.de/itm/180864068197?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_1439wt_1154%C2%A0 http://www.ebay.de/itm/320889891363?ssPageName=STRK:MEWAX:IT&_trksid=p39... http://www.ebay.de/itm/221030204841?ssPageName=STRK:MEWAX:IT&_trksid=p39... , http://www.ebay.de/itm/180864068197?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_1439wt_1154%C2%A0 http://www.ebay.de/itm/320889891363?ssPageName=STRK:MEWAX:IT&_trksid=p39... http://www.ebay.de/itm/221030204841?ssPageName=STRK:MEWAX:IT&_trksid=p39... , http://www.ebay.de/itm/320895024118? Что из этого мне стОит приобрести ?
Изменяемые обороты шпинделя - это, в принципе, правильно, потому что скорость резания на кромке резца должна быть постоянной, но тогда этой скоростью нужно управлять. Если у Вас уже есть стабилизатор-регулятор оборотов шпинделя, то им как-то нужно управлять, если нет, тогда нужно управлять с Ардуины, но тогда нужно больше отверстий на датчике (16-достаточно) - это будет обратная связь для регулятора оборотов шпинделя.
Поперечный паз - это вдоль окружности вращения, продолбный - вдоль оси вращения. А на 100см не обращайте внимания, если см поменять на мм, то суть не изменится.
И Вы спрашиваете, стоит ли, например, купить шилду на 2 ампера, это же при максимальном напряжении 36 вольт всего 72 вата, у Вас 150 ват, а вольт то сколько? Эта шилда для чего? Шпинделем все равно управлять не хватит.
Нужно больше информации об имеющемся оборудовании, тогда можно будет советовать.
Ясно, спасибо за разъяснение.
Ну, а как это будет выглядеть, хотя бы в первом приближении, Arduino, плюс 3 UHU-контроллера, плюс 3 движка, плюс концевые. Я имею ввиду соединения. С двумя двигателями на подачах вроде понятно, а вот двигатель шпинделя, пока не ясно. Он крутится от своего регулятора. Какой сигнал и как, подать с Arduino на этот регулятор ? И куда подавать сигнал с диска на шпинделе ? Если на Arduino то, получается что, нужно толька два UHU-контроллера с двигателями и энкодерами, на подачи. Сам регулятор оборотов шпинделя мне не кажется очень стабильным, может быть его выбросить, и сделать на Arduino ? Потянет Arduino ? Разумеется, с каким- нибудь драйвером, способным управлять двигателем на 190 вольт и порядка 1,1 киловатта мощностью.
В вашем случае чисто схематически должно выглядеть примерно так:
регулятор оборотов выбрасывать не надо, надо понять, как можно управлять этим регулятором. Если у него нет входа управления, то можно тупо прикрутить к ручке регулятора стандартную маленькую серву :) Нужно больше информации.
Примерно так я и представлял себе, соединения. Только с третьим контроллером мне пока не ясно. Дело в том что, на шпиндель работает двигатель, кототрый управляется регулятором оборотов и соединяется со шпинделем через клиновой ремень. Другими словами, между энкодером ( диском с прорезями, на шпинделе ) и валом двигателя, жёсткой связи нет и контроллер здесь не установлен. Вот дальше, начинаются непонятки. Как управлять оборотами, через регулятор ? Хотя, при необходимости, я бы смог установить энкодер непосредственно на вал двигателя. Технически, это реализовать можно, засверлив якорь и ввернув в него на клей болт, а болт уже проточить под размер энкодера.
Схемы на него тоже нет ( станок китайский ) но, можно срисовать с монтажа. Займусь- ка я этим. Сам регулятор, вроде не имеет никаких входов, для подключения внешнего сигнала управления. Управление идёт потенциометром, на передней панели.
Ладно, пока у меня с продавцом завязалась переписка, ( по поводу непонятных трещин в станине, может быть поменяют ? ) и станок разобранный, я наверное попробую срисовать схему регулятора и потом посмотрим, что можно сделать ? Только мне кажется что, штатный регулятор скорости не очень удачно спроектирован. Когда его настраивал, сильно не понравилась мне его работа. Да и от двигателя, установки сильно зависят. В смысле, один и тот же регулятор по разному работает с другим, однотипным движком.
AlexFisher, а какую именно информацию нужно ? Постараюсь выдать.
Я подозреваю, что у Вfc не регулятор оборотов, а регулятор мощности. Это хуже. тогда нужно однозначно ставить датчик (энкодер или диск с прорезями) на вал станка (не на двигатель). Нужно измерить напряжение на регуляторе и его номинал, потенциалы относительно земли. Еще желательно проверить, постоянное напряжение на резисторе или импульсное. Если постоянное, то можно организовать управление непосредственно с ардуины, если импульсное, то, видимо, только сервой (поворачивать вал резистора). Схема дала бы больше информации, но, ввиду того, что мы имеем "черный ящик", то нужно произвести целую серию измерений для того, чтобы представлять, как это происходит. Если есть данные на движок, то можно подумать о мощном ключе для управления от ардуины.
Что такое Bfc ? Про движок заявлены только, потребляемая мощность 1,1 квт и напряжения 180 В. Резистор, имеется в виду потенциометр регулятора ? Предполагаю что, постоянное напряжение на нём, там на операционных усилителях схема и два тиристора на движок. Точно скажу попозже, когда схему разберу. У меня ещё была мысль, чтобы шпиндель можно было поворачивать на определённый угол и удерживать в определённом положении но, мне кажется что это будет несколько проблематично. Обычно поворот измеряется в градусах и практически все фигуры, полукруг, квадрат, шестиугольник, восьмиугольник и др. кратны 360° , а вот энкодер, который смог бы обеспечить такую кратность, мне не известен. Из всех известных только некоторые формы можно получить кратными, остальные придётся смириться с некоторой ошибкой, пусть и незначительной. В общем, тут ещё подумать надо.
Вfс - Вас (опечатка)
Если там операционники и тиристоры, то значит на резисторе может быть постоянка, а может быть и пила, но это менее вероятно. Если тиристоры без оптронов, то ардуину напрямую нельзя подключать. Судя по всему, реверс не предусмотрен или реализуется тумблером, который меняет фазировку движка. В этом случае про установку и удерживание угла можно забыть. Для установки и удерживания угла нужен электронный реверс и энкодер с разрешением, превышающем необходимую точность установки угла более чем в 2 раза. Иначе говоря - та же серва, только с движком помощнее.
Если движок на 180 вольт, то питание от трансформатора?
Нет, питание на прямую, от сети. Импульсное. А какая связь между тиристорами и Arduino ?
В том то и дело, что связи гвальванической быть не должно! Если управление тиристорами развязано оптронами, то туда можно подключать ардуино напрямую, иначе - нет, можно спалить, да и для оператора небезапасно.
Управление тиристорами через импульсный трансформатор, а ардуина, как я понял, подключается через дополнительный модуль.
Сейчас схему снимаю. Вот только не знаю, как здесь её буду показывать ?
Ну тогда можно мутить управление оборотами. А схему - в сканер или фОТИКОМ.
А схему - в сканер или фОТИКОМ. В Proteus'e она...
Ну дык експорт ее в растр... в крайнем случае - принтскрин :)
Что- то не получается у меня пристегнуть .pdf Выложил на сторонний ресурс http://rghost.ru/39147421 Обозначение, начала и конца обмоток, на схеме указаны условно и поэтому не могут быть приняты за истинное.
В устройстве нет изоляции от сети - не рекомендую подключаться напрямую. Лучше механически управлять. Или делать опртронную развязку, но сходу схему накидать я не смогу. Считать надо...
Вы про управление чем, говорите ? Реверсом ? Или оборотами ?
Момент обозначается в кг/см. Если вал тяжелый, то особое внимание разгону и торможению.