|
Нелинейное перемещение шагового двигателя. |
|
|
|
Feb 17 2016, 15:52
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Здравствуйте. Есть привод от матричного принтера с шаговым двигателем. Приладил к шаговому двигателю драйвер из четырёх кт815. Ключами управляет Atmega. Алгоритм движения такой: Шаг 1 (подаём питание на обмотку А), пауза, питание на обмотке А выключается. Шаг 2 (подаём питание на обмотку В), пауза, питание на обмотке В выключается. Шаг 3 (подаём питание на обмотку С), пауза, питание на обмотке С выключается. Шаг 4 (подаём питание на обмотку Д), пауза, питание на обмотке Д выключается. и дальше опять шаг 1. Т.е. всё понятно - прямолинейное движение в одну сторону. Стало скучно и захотелось это движение (а точнее скорость движения) сделать нелинейным, а именно если требуется скажем 100 шагов сделать то у первого шага (а также у последнего) пауза самая большая, у следующего шага чуть меньше, у 50-го шага пауза самая минимальная и потом снова на увеличение. Что то типа "экспоненциального" закона изменения - или даже что-то типа "параболического" движения. Т.е. нужна функция, в которую бы мы заходили, передавали 2 параметра это полное количество шагов при перемещении, и номер шага. Не знаю правильно и понятно ли объясняюсь но хочу чтобы двигатель стартовал с минимальной скоростью (максимальная пауза), и ускорялся, посредине движения скорость была максимальная (минимальная пауза),а потом пауза вновь бы увеличивалась. Т.е. можем заведомо задать минимальную скорость (максимальную паузу шага - 4000 uS), и максимальную скорость (минимальную паузу - 2000 uS). Как такую функцию сделать и нужно учесть что количество шагов может быть как чётным так и нечётным. Есть какие-либо мысли? Сам в программировании не очень силён  Спасибо!
|
|
|
|
|
 |
Ответов
|
Feb 18 2016, 05:27
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Цитата(Iptash @ Feb 17 2016, 22:16)  Это типа разгон торможение? Пауза это какое то обесточенное состояние обмоток? Зачем частоту менять с помощью пауз. Не лучше ли менять рабочую частоту без пауз? Пауза - это время/период с поданным напряжением на катушку. Я писал: __ Шаг 1 (подаём питание на обмотку А), пауза, питание на обмотке А выключается. Шаг 2 (подаём питание на обмотку В), пауза, питание на обмотке В выключается. Шаг 3 (подаём питание на обмотку С), пауза, питание на обмотке С выключается. Шаг 4 (подаём питание на обмотку Д), пауза, питание на обмотке Д выключается. __ Цитата(ViKo @ Feb 18 2016, 08:24)  П.П.С. А ведь можно и с постоянной скоростью крутить. А можно и совместить - начать с минимальной и линейно ее увеличивать. Быстрее будет. Как раз быстрее будет если тремя участками как писал выше... так как количество шагов при перемещении может быть и 50 и 1000. Будем пробовать. Спасибо!
|
|
|
|
|
Feb 19 2016, 11:56
|

Местный
  
Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002

|
Цитата(Павел_Б @ Feb 18 2016, 06:27)  Пауза - это время/период с поданным напряжением на катушку. Я писал: __ Шаг 1 (подаём питание на обмотку А), пауза, питание на обмотке А выключается. Шаг 2 (подаём питание на обмотку В), пауза, питание на обмотке В выключается. Шаг 3 (подаём питание на обмотку С), пауза, питание на обмотке С выключается. Шаг 4 (подаём питание на обмотку Д), пауза, питание на обмотке Д выключается. __
Как раз быстрее будет если тремя участками как писал выше... так как количество шагов при перемещении может быть и 50 и 1000. Будем пробовать. Спасибо! Никому не показался странным такой порядок включения обмоток? На всех ШД, что видел до сих пор, там обязательно перекрытие по времени. То есть всегда включены ДВЕ обмотки. Или это я с полушагом попутал? Во всяком случае, полушаги "мягче" идут.
--------------------
Умею молчать на 37 языках...
|
|
|
|
Сообщений в этой теме
Павел_Б Нелинейное перемещение шагового двигателя. Feb 17 2016, 15:52 ViKo Максимальная скорость должна быть ограничена. От м... Feb 17 2016, 16:52 Огурцов Цитата(ViKo @ Feb 17 2016, 16:52) не с 0,... Feb 17 2016, 22:13  ViKo Цитата(Огурцов @ Feb 18 2016, 01:13) это ... Feb 18 2016, 05:07 Павел_Б Цитата(ViKo @ Feb 17 2016, 19:52) Максима... Feb 18 2016, 05:22  ViKo Цитата(Павел_Б @ Feb 18 2016, 08:22) Да. ... Feb 18 2016, 05:31   Tanya Цитата(ViKo @ Feb 18 2016, 08:31) Разгон ... Feb 18 2016, 07:13    Ruslan1 Цитата(Tanya @ Feb 18 2016, 09:13) Есть е... Feb 18 2016, 07:23    ViKo Цитата(Tanya @ Feb 18 2016, 10:13) Отрица... Feb 18 2016, 07:46     Maverick попробуйте такой драйвер Feb 18 2016, 07:51     Tanya Цитата(ViKo @ Feb 18 2016, 10:46) У тепло... Feb 18 2016, 08:05      Maverick в некоторых источниках пишут, что лучше строить ус... Feb 18 2016, 08:09      ViKo Цитата(Tanya @ Feb 18 2016, 11:05) От тре... Feb 18 2016, 08:11       Tanya Цитата(ViKo @ Feb 18 2016, 11:11) Нет. ... Feb 18 2016, 09:59        ViKo Цитата(Tanya @ Feb 18 2016, 12:59) Обычно... Feb 18 2016, 10:17         Tanya Цитата(ViKo @ Feb 18 2016, 13:17) И что ж... Feb 18 2016, 10:34    ViKo Цитата(Tanya @ Feb 18 2016, 10:13) Все эт... Feb 18 2016, 07:55 Corvus Цитата(Павел_Б @ Feb 17 2016, 18:52) Есть... Feb 17 2016, 18:43   Onkel Цитата(Gorby @ Feb 19 2016, 14:56) Никому... Feb 19 2016, 16:02 ViKo П.П.С. А ведь можно и с постоянной скоростью крути... Feb 18 2016, 05:24 ViKo Перетопчусь... Feb 18 2016, 11:39 Павел_Б У меня есть неприятный момент - иногда раз из 20-т... Feb 18 2016, 13:38  Herz Цитата(Павел_Б @ Feb 18 2016, 15:38) Что ... Feb 18 2016, 14:18  Tanya Цитата(Павел_Б @ Feb 18 2016, 16:38) Схем... Feb 18 2016, 15:04  dinam Цитата(Павел_Б @ Feb 18 2016, 19:38) У ме... Feb 19 2016, 06:15 ViKo Если дошли до резонанса, момент вращения упал, зад... Feb 19 2016, 06:42 Tanya Цитата(ViKo @ Feb 19 2016, 09:42) при это... Feb 19 2016, 08:03 ViKo Это и есть ре-зо-нанс. Я говорю, что вряд ли у топ... Feb 19 2016, 08:17 Tanya Цитата(ViKo @ Feb 19 2016, 11:17) Это и е... Feb 19 2016, 08:25 ViKo Не обязательно. Просто дошел до предельной скорост... Feb 19 2016, 08:28 Tanya Цитата(ViKo @ Feb 19 2016, 11:28) Не обяз... Feb 19 2016, 08:56  Огурцов Цитата(Tanya @ Feb 19 2016, 09:56) Никако... Feb 19 2016, 13:20   Tanya Цитата(Огурцов @ Feb 19 2016, 16:20) разн... Feb 19 2016, 15:16 ViKo Можно задавать разный ток в обмотках и получать др... Feb 19 2016, 16:56 ViKo Можно, вообще, плавно ток менять, так, чтобы не бы... Feb 20 2016, 09:23 Tanya Цитата(ViKo @ Feb 20 2016, 12:23) И никак... Feb 20 2016, 10:40  ViKo Цитата(Tanya @ Feb 20 2016, 13:40) Но гор... Feb 20 2016, 12:18   Tanya Цитата(ViKo @ Feb 20 2016, 15:18) Небось,... Feb 20 2016, 13:20    ViKo Цитата(Tanya @ Feb 20 2016, 16:20) В посл... Feb 20 2016, 13:46     Tanya Цитата(ViKo @ Feb 20 2016, 16:46) На что?... Feb 20 2016, 14:07      ar__systems Цитата(Tanya @ Feb 20 2016, 09:07) Намека... Feb 20 2016, 14:12      TSerg Цитата(Tanya @ Feb 20 2016, 17:07) Но как... Feb 20 2016, 14:19       Tanya Цитата(TSerg @ Feb 20 2016, 17:19) А, зач... Feb 20 2016, 14:30    TSerg Цитата(Tanya @ Feb 20 2016, 16:20) В посл... Feb 20 2016, 13:53 TSerg Оптимальная кривая разгона ШД (минимальное время) ... Feb 20 2016, 12:28 TSerg А зачем, медленно?
Давайте шагово и с позиции межд... Feb 20 2016, 14:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|