ШИМ против линейного регулятора тока в микрошаговом драйвере для униполярного двигателя.
продолжаю искать пути снижения рассеиваемой мощности
синусоиду создавайте ШИМ-ом.
синусоиду создавайте ШИМ-ом.
- Антон, Вы опять невнимательно читаете:
"На двух ШИМ генераторах PIC16F873 сделана генерация SIN/COS (16 микрошагов)… " - То, что SIN/COS формируются ШИМ а не линейным ЦАП, никак не поможет снизить рассеиваемую мощность генератора тока, работающего в линейном режиме. Фактически ШИМ это просто однобитная разновидность ЦАП.
Ключевой режим не предлагать! Я не хочу (по крайней мере сейчас) связываться с ключевыми режимами регулирования тока.
…ну и что самое что мог разогнать до 400 мм мин, а дальше уходит в резонанс.
Что значит 400 мм мин?
Если 400 полных оборотов в минуту, да еще при 200 шагов на оборот, то выходит совсем неплохо:
(400/60)*200=1333 шагов в секунду!
Для ДШИ200-2, 200-3 максимальная частота приемистости 1000 Гц (шагов в секунду).
А если, все же, мм - то пересчитайте их в обороты, исходя из параметров своей механики.
Может, все же, все совсем не так плохо как кажется?
Кстати, неплохое средство для повышения скорости шагания - увеличение напряжения питания двигателя. У вас оно какое?
Кстати, неплохое средство для повышения скорости шагания - увеличение напряжения питания двигателя. У вас оно какое?
Полный шаг или полушаг, или что еще выдает контроллер не знаю. Продовец не ответил, я сам не удосужился посчитать. Напряжение подавал 12в от компьютерного блок питания, гонял через ТурбоСНС, выставляя максимальную частоту и длину импульса, на котором стабильно шагал движок, без пропуска и резонанса, ТС пересчитывает и показывает скорость. Не помню какую частоту задавал, но скорость макимальная без сбоя получилась 400 мм/мин при шаге винта 2мм. Движок униполярный 3в, 3А, на 1ом между центральным и крайними проводами.
Полный шаг или полушаг, или что еще выдает контроллер не знаю. Продовец не ответил, я сам не удосужился посчитать. Напряжение подавал 12в от компьютерного блок питания, гонял через ТурбоСНС, выставляя максимальную частоту и длину импульса, на котором стабильно шагал движок, без пропуска и резонанса, ТС пересчитывает и показывает скорость. Не помню какую частоту задавал, но скорость макимальная без сбоя получилась 400 мм/мин при шаге винта 2мм. Движок униполярный 3в, 3А, на 1ом между центральным и крайними проводами.
Получается 400/2=200 (об/мин)
Если двигатель делает полный оборот за 200 шагов, то выходит:
(200/60)*200= 667 (шагов/сек) - совсем наплохо для 12 В питания.
А какое напряжение двигателя? Если на нем не написано, можно посчитать:
- померить сопротивление обмотки фазы
- умножить сопротивление на ток (3 А)
По моей практике с маломощными ДШИ200, 4SHG выходило, что напряжение нужно выше 20 В, чтобы он шагал 1000 и больше в секунду.
Попробуйте поднять напряжение питания двигателей, должно помочь.
А какое напряжение двигателя? Если на нем не написано, можно посчитать:
- померить сопротивление обмотки фазы
- умножить сопротивление на ток (3 А)
Выше писал напряжение 3В, ток 3А, сопротивление одной ветки обмотки 1ом, униполярный.
Выше писал напряжение 3В, ток 3А, сопротивление одной ветки обмотки 1ом, униполярный.
Старость, маразм, слепота… 😉
Сложно это, заочно что-то советовать.
По параметрам, на первый взгляд, должно быть достаточно 12 В.
А он вообще с какой скоростью может шагать? Что-нибудь известно?
Может там ротор пару килограмм весит, да еще нагрузка - обязательно нужно плавно разгонять.
Предусмотрен в программе плавный разгон (я то с CNC софтом не знаком, мне предстоит самому его писать, поэтому и вопрос такой)?
Предусмотрен в программе плавный разгон (я то с CNC софтом не знаком, мне предстоит самому его писать, поэтому и вопрос такой)?
Да, есть опция где шаг разгона можно выставлять. И зачем писать, есть отличный TurboCNC, бесплатный поддерживает 8 координат. Простой до чертиков. 😃
Да, есть опция где шаг разгона можно выставлять. И зачем писать, есть отличный TurboCNC, бесплатный поддерживает 8 координат. Простой до чертиков. 😃
Может попробовать поманипулировать разгоном?
Моя задачка отличается от CNC в том смысле, что не фрезер/гравер/сверлилка/струна и т.п.
Нужно просто перемещать головку от заданной координаты к другой с максимально возможной скоростью и плавностью. Управление должно быть обязательно под Windows. По моему, проще написать специальную программу, которая бы просто слала очередные координаты контроллеру, а он уж сам крутил движок, чем приспосабливать TurboCNC. Хотя не буду утверждать категорически.
GOOD DAY
ATLab, при всем уважении
По моему разумению двигатель шаговый
и естно должен шагать или полушагать.
Дальнейшее дробление шага никакой практической
пользы для шаговика не имеет. (потеря мощности, нестабильность при нагрузках и т.п.)
Пусть кто нить напишет что он режет на 1/16 шага или 1/4 шага?
Например при шаге винта 2мм (в режиме полного шага)
получим точность 2/200= 0,01мм, в полушаге 2/400=0,005мм
думаю достаточно для станка хобийного класса.
для плавности муфты (судя по постам) вполне достаточно.
Это не высказывание против Вашей идеи
но было бы неплохо сделать разгон на 1/16 шага
и плавно переходить на 1/8 - 1/4 - 1/2 - полный шаг.
для контроллера работающего в линейном режиме
это возможно?
такой режим думаю был бы не плох.
GOOD LUCK
Это не высказывание против Вашей идеи
но было бы неплохо сделать разгон на 1/16 шага
и плавно переходить на 1/8 - 1/4 - 1/2 - полный шаг.
для контроллера работающего в линейном режиме
это возможно?
такой режим думаю был бы не плох.GOOD LUCK
Я против нечеого не имею ,но думаю что это невозможно ! т.к Вы в софт-е ставите кол-во шагов на оборот а следовательно если Ваш контроллер будет менять это значение то и будет получаться на выходе некорректное изделие. Есть конечно вариант сделать умный контроллер жрущий Ж-код и конролирующий изменение дробления шага.
По моему разумению двигатель шаговый
и естно должен шагать или полушагать.
Дальнейшее дробление шага никакой практической
пользы для шаговика не имеет. (потеря мощности, нестабильность при нагрузках и т.п.)
Пусть кто нить напишет что он режет на 1/16 шага или 1/4 шага?
А я и не собираюсь резать, у меня совсем другая задача. Я так и написал об этом в предыдущем посте.
Насчет потери мощности и нестабильности не совсем согласен: наоборот, момент всегда имеет постоянное значение (в идеале), тогда как в полушаговом режиме без компенсации момента (обычное дело в простых контроллерах на L297) имеет место постоянное колебание величины момента - из-за того, что под током находится 2 или 1 катушка.
Например при шаге винта 2мм (в режиме полного шага)
получим точность 2/200= 0,01мм, в полушаге 2/400=0,005мм
думаю достаточно для станка хобийного класса.
для плавности муфты (судя по постам) вполне достаточно.
Это у Вас винт с шагом 2 (4) мм, и скорость перемещения, скажем, 10 (20) мм/сек.
А мне нужно хотя бы 300 мм/сек.
Это не высказывание против Вашей идеи
но было бы неплохо сделать разгон на 1/16 шага
и плавно переходить на 1/8 - 1/4 - 1/2 - полный шаг.
для контроллера работающего в линейном режиме
это возможно?
такой режим думаю был бы не плох.
Переключение размера шага при достижении определенной скорости можно сделать и в контроллере,
репу почесать и сделать. Проблема в другом - как это будет стыковаться с управляющей программой?
По-моему, никак. Все доступные мне схемы задают параметр шага перемычками/переключателями, в управляющих сигналах видел только DIR/STEP, изредка переход на пониженную мощность при простое. Я, правда, не знаток CNC софта, пусть меня поправят, если не то ляпнул 😃
Режим регулирования тока - ШИМ или линейный - никак не влияет на функционал контроллера.