Перейти к содержанию
    

Управление шаговым двигателем

Уж секрет так секрет. :glare:

Не забудте в Вашей системе предусмотреть концевые датчики. Угол Вам нужен ИМХО, не относительный (от предидущей позиции) а абсолютный (от момента срабатывания) концевого датчика (как в принтере). Угол = кол-ву шагов на угол 1 шага (обычно 1.8 градуса, если повезет найти движки на 400 шагов - то 0.9). Софтина должна помнить сколько шагов для каждого из двух движков нужно сделать для настройки на конкретный спутник.

 

Удачи!

 

ЗЫ: Паять сами будете? Есть еще замечательные микрухи A3977 от Allegro - в принципе можно обойтись и без микроконтроллера.

 

Паять буду сам! Про замечательные микрухи типа А3977, L297+L298 тоже слышал, да и сам делал 3-х координатный станок на связке 297+298 и все это работает до сих пор, но я не об этом.

Моя задача сделать то же самое, но на микроконтроллере, который будет управлять мощными транзисторами. Угол ШД меня интересует мало, т.к. будет применена червячная пара с 360:1, т.е. чтобы колесо совершило один оборот необходимо 360 оборотв червяка. Градусы будут вычисляться програмно (на ПК). Концевые датчики - это само собой разумеещееся, без них ни как.

 

Это можно сделать на одном контроллере, например mega48/88/168.

На таймере0 формируете тактовую последовательность управления первым ШД,

на таймере2 - вторым.

........______

____| .........|____ фаза А

.............______ вращение в одну сторону

_______|......... |____ фаза В

 

........______

____|......... |____ фаза А

...______ вращение в другую сторону

_|......... |____ фаза В

 

Это и так известно. Я не знаю как это реализовать программно на контроллере. В этом и есть загвоздка. Здесь http://forum.electronix.ru/index.php?showt...=0&gopid=63386& создана мной такая же тема. В ней один прислал исходники на С к статье Редико, но эта схема мне не гравится, т.к. она сложная и управляет одним ШД. А как ее переделать на работу с 2-мя ШД я не пойму.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я реализовывал систему управления шаговыми двигателями на ATmega128.

 

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

Я использовал контроллер Toshiba TA8435H. На плате их было установлено три штуки сразу.

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

 

Я реализовывал алгоритм плавного разгона/торможения с переменным ускорением на этом контроллере.

Работает классно.

 

Устройство само (внешний вид) вот. Это так, для устрашения. :)

 

Будут вопросы, пишите. С удовольствием расскажу, что знаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Настраиваете Timer2 так, чтобы прерывания по переполнению или по совпадению

формировались с заданной частотой, например 500Гц.

А далее хотя бы так

#define fasa_A PORTB.0

#define fasa_B PORTB.1

 

interrupt [TIM2_COMPA] void timer2_comp_isr(void){

switch (PINB & 0x3){

case 0:fasa_A = 1;

break;

case 1:fasa_B = 1;

break;

case 2:fasa_A = 0;

break;

case 3:fasa_B = 0;

break;

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы с радостью изобрел свой девайс, да вот только больших навыков в разработке микроконтроллерных систем нет. Вот именно для этого я и создал тему на форуме.

Уважаемый, я же дал Вам ссылку именно на то что Вы ищите http://www.visual-devices.ru/

Смотрите в портфолио систему управления станком или роботехническим комплексом.

Если не хотите или не можете разработать самостоятельно, почему бы не купить всё уже готовое и отлаженное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый, я же дал Вам ссылку именно на то что Вы ищите http://www.visual-devices.ru/

Смотрите в портфолио систему управления станком или роботехническим комплексом.

Если не хотите или не можете разработать самостоятельно, почему бы не купить всё уже готовое и отлаженное?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый, я же дал Вам ссылку именно на то что Вы ищите http://www.visual-devices.ru/

Смотрите в портфолио систему управления станком или роботехническим комплексом.

Если не хотите или не можете разработать самостоятельно, почему бы не купить всё уже готовое и отлаженное?

 

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

 

Ваше право воспользоваться или нет предложением. Кстати, я не получал от Вас запроса на стоимость системы, поэтому не понимаю почему Вы не можете её себе позволить. Цена на аналогичные модули контроллеров шаговых двигателей ~ 9000р (С.П.), моего модуля - 650р. Разницу видно невооружённым глазом.

 

PS. Я пытался быть Вам полезен, так как Вы сетовали на трудность самостоятельного повторения данной конструкции.

 

Удачи!

 

С уважением, владелец сайта www.visual-devices.ru, Алексей Тарасов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы посоветовал использовать специльно заточенные под управление шаговиками комплекты микросхем. Например l297+l298. одна силовая, другая логическая. стоят рублей по 100. Надо буквально отправить команду типа "скорость, кол-во шагов, направление". Все остальное сделают они

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так он и у ST так-же построен, может кто подскажет драйвер на ток 7 - 10А на фазу для биполярного ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотря какие шаговики. :biggrin: У меня была тема приборный щиток. :biggrin:

Короче на плате atmega8 в планаре шесть шаговых двигателей по трёхточечной схеме прямо на ноги megi и шесть каналов АЦП. Применено дробление на 6. Разгон-тормажение. Цифровой фильтр второго порядка. Раздельное управление (моя гордость) на основе ошибки по положению.

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

Короче написание - дней 10. отладка с доводкой и изменением вводных 2 месяца. И что тут абсуждать?

Если бы все темы были такие-же простые...... :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый я кАнеЧно ту сории что влажу но:

Вам же выше дали ссылку

http://radiotech.by.ru/Shematic_PCB/Avtoma.../step_motor.htm

Там есть все что надо.

Есть и AVR и схема и прошивка демо версии и сама прошивка на асме тоже есть.

Самое главное что ее сваял Ридико Леонид Иванович.

Человек девайсы которого продаются наверное чуть ли не на каждом рынке нашего СНГ.

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

Вы попробуйте повторить его девас.

 

 

извините но эта ссылка на рабочая ((( можете дать активную ссылку? буду признателен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

извините но эта ссылка на рабочая ((( можете дать активную ссылку?
http://530.ru/electronics/projects.php?do=p077

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вдруг моя разработка Вам поможет.

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

Но вот вдруг он захотел сделать фрезерный станок. Под него попросил сделать STEP-DIR драйвер для управления тремя шаговиками, на одной микросхеме. Эта задача легко решается на (к примеру АТМЕГА8, которую он уже купил). Но написать попросил так, чтобы она была понятна ему. Так сказать в учебных целях. Пришлось в большей степени уделить внимание не на оптимальность функционирования, а именно на разжевывание каждого шага. Программа получилась слишком "раздутой" и чересчур медленной.

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

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

Вкратце, что она делает...

На каждый двигатель есть два входа. DIR- указывет, в какую сторону двигателю крутиться. STEP- сигнал сделать один шаг.

Управляет она двигателем с 4 фазами. Если нету сигналов управления более заданного времени, выставляется сигнал для снижения питания (режим простоя).

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

Поскольку входы STEP работают по прерываниям, а у меги8 внешних прерываний всего 2, то для третьего входа используется вход аналогового компаратора. Второй вход этого компаратора подключен ко внутренней опоре програмно. Прерывание от аналогового компататора используется в качестве третьего сигнала STEP.

 

Прошу сильно не ругать, если в "учебности" или "правильности" обнаружите недостатки. Ведь не очень просто писать так, чтобы было понятно тому, кто не пробовал МК никогда, и при этом получить эффективный и правильный код.

DD.rar

Забыл добавить. Это под ИАР.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но написать попросил так, чтобы она была понятна ему. Так сказать в учебных целях.

Была аналогичная история - "понятный" релейный контроллер. Итог - человек меня замучал вопросами, почему он не может в аврстудии создать проект :) Вылезло в другом месте.

 

а у меги8 внешних прерываний всего 2, то для третьего входа используется вход аналогового компаратора.

Не поверите! У меги8 внешних прерываний немного больше:

- int0 int1 + компаратор - это понятно

- Т0 при предустановке таймера 0 в 255

- ICP

Итого- целых 5, а при ненужности таймера Т1- 6 прерываний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...