|
Управление шаговым двигателем, шаговый двигатель, AVR, управление |
|
|
|
Nov 14 2005, 21:36
|
Группа: Новичок
Сообщений: 12
Регистрация: 5-10-05
Пользователь №: 9 271

|
Цитата(andrey_s @ Nov 14 2005, 13:32)  Уж секрет так секрет. Не забудте в Вашей системе предусмотреть концевые датчики. Угол Вам нужен ИМХО, не относительный (от предидущей позиции) а абсолютный (от момента срабатывания) концевого датчика (как в принтере). Угол = кол-ву шагов на угол 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-мя ШД я не пойму.
|
|
|
|
|
Nov 14 2005, 23:38
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 28-10-05
Из: Москва
Пользователь №: 10 240

|
Я реализовывал систему управления шаговыми двигателями на ATmega128. Скажу вам, что когда число двигателей два и более, использовать только микроконтроллер для этого становится непросто. Я использовал контроллер Toshiba TA8435H. На плате их было установлено три штуки сразу. В контроллере есть всё, что надо: дробёжка шага, торможение, экономичный режим, выключение и проч. Я реализовывал алгоритм плавного разгона/торможения с переменным ускорением на этом контроллере. Работает классно. Устройство само (внешний вид) вот. Это так, для устрашения.  Будут вопросы, пишите. С удовольствием расскажу, что знаю.
--------------------
Remember about the Main...
|
|
|
|
|
Nov 15 2005, 05:45
|
Участник

Группа: Свой
Сообщений: 25
Регистрация: 25-05-05
Пользователь №: 5 364

|
Настраиваете 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; } }
|
|
|
|
|
Nov 15 2005, 15:01
|
Группа: Новичок
Сообщений: 10
Регистрация: 20-03-05
Пользователь №: 3 523

|
Цитата Я бы с радостью изобрел свой девайс, да вот только больших навыков в разработке микроконтроллерных систем нет. Вот именно для этого я и создал тему на форуме. Уважаемый, я же дал Вам ссылку именно на то что Вы ищите http://www.visual-devices.ru/Смотрите в портфолио систему управления станком или роботехническим комплексом. Если не хотите или не можете разработать самостоятельно, почему бы не купить всё уже готовое и отлаженное?
|
|
|
|
|
Nov 15 2005, 21:29
|
Группа: Новичок
Сообщений: 12
Регистрация: 5-10-05
Пользователь №: 9 271

|
Цитата(mcu @ Nov 15 2005, 19:01)  Уважаемый, я же дал Вам ссылку именно на то что Вы ищите http://www.visual-devices.ru/Смотрите в портфолио систему управления станком или роботехническим комплексом. Если не хотите или не можете разработать самостоятельно, почему бы не купить всё уже готовое и отлаженное? Понимаете, купить - это много ума не надо. Да и денег у меня столько нет, чтобы так разоряться, т.к. я только студент. А я так понял, что вы или там работаете, или как-то с ними связаны.
|
|
|
|
|
Nov 16 2005, 11:39
|
Группа: Новичок
Сообщений: 10
Регистрация: 20-03-05
Пользователь №: 3 523

|
Цитата(Dr. Electronic @ Nov 16 2005, 00:29)  Цитата(mcu @ Nov 15 2005, 19:01)  Уважаемый, я же дал Вам ссылку именно на то что Вы ищите http://www.visual-devices.ru/Смотрите в портфолио систему управления станком или роботехническим комплексом. Если не хотите или не можете разработать самостоятельно, почему бы не купить всё уже готовое и отлаженное? Понимаете, купить - это много ума не надо. Да и денег у меня столько нет, чтобы так разоряться, т.к. я только студент. А я так понял, что вы или там работаете, или как-то с ними связаны. Ваше право воспользоваться или нет предложением. Кстати, я не получал от Вас запроса на стоимость системы, поэтому не понимаю почему Вы не можете её себе позволить. Цена на аналогичные модули контроллеров шаговых двигателей ~ 9000р (С.П.), моего модуля - 650р. Разницу видно невооружённым глазом. PS. Я пытался быть Вам полезен, так как Вы сетовали на трудность самостоятельного повторения данной конструкции. Удачи! С уважением, владелец сайта www.visual-devices.ru, Алексей Тарасов
|
|
|
|
|
Nov 25 2005, 17:58
|
Группа: Новичок
Сообщений: 10
Регистрация: 20-03-05
Пользователь №: 3 523

|
Мой модуль шагового двигателя как раз и построен на этой паре 297 и 298.
|
|
|
|
|
Feb 10 2011, 19:05
|
Группа: Новичок
Сообщений: 1
Регистрация: 10-02-11
Пользователь №: 62 874

|
Цитата(Pat @ Oct 22 2005, 23:56)  Уважаемый я кАнеЧно ту сории что влажу но: Вам же выше дали ссылку http://radiotech.by.ru/Shematic_PCB/Avtoma.../step_motor.htmТам есть все что надо. Есть и AVR и схема и прошивка демо версии и сама прошивка на асме тоже есть. Самое главное что ее сваял Ридико Леонид Иванович. Человек девайсы которого продаются наверное чуть ли не на каждом рынке нашего СНГ. Он там так расписал про шаговый двигатель что не понять, как он работает и как им управлять, просто невозможно. Вы попробуйте повторить его девас. извините но эта ссылка на рабочая ((( можете дать активную ссылку? буду признателен
|
|
|
|
|
Feb 11 2011, 08:30
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Вдруг моя разработка Вам поможет. Есть у меня друг авторемонтник. Уже очень давно мечтает научиться работать с микроконтроллерами. уже несколько раз брался изучать, но все никак не получалось. Но вот вдруг он захотел сделать фрезерный станок. Под него попросил сделать STEP-DIR драйвер для управления тремя шаговиками, на одной микросхеме. Эта задача легко решается на (к примеру АТМЕГА8, которую он уже купил). Но написать попросил так, чтобы она была понятна ему. Так сказать в учебных целях. Пришлось в большей степени уделить внимание не на оптимальность функционирования, а именно на разжевывание каждого шага. Программа получилась слишком "раздутой" и чересчур медленной. Не знаю, насколько успешно я справился с учебной стороной вопроса, но все три движка она успешно крутила. Кстати, друг так и не удосужился "подсесть" на МК. Нашел себе оправдание, что времени не хватает. Вкратце, что она делает... На каждый двигатель есть два входа. DIR- указывет, в какую сторону двигателю крутиться. STEP- сигнал сделать один шаг. Управляет она двигателем с 4 фазами. Если нету сигналов управления более заданного времени, выставляется сигнал для снижения питания (режим простоя). Режим простоя реализован для каждого двигателя независимо. Как только приходит сигнал STEP, выключается режим простоя того двигателя, которому нужно шагать. Поскольку входы STEP работают по прерываниям, а у меги8 внешних прерываний всего 2, то для третьего входа используется вход аналогового компаратора. Второй вход этого компаратора подключен ко внутренней опоре програмно. Прерывание от аналогового компататора используется в качестве третьего сигнала STEP. Прошу сильно не ругать, если в "учебности" или "правильности" обнаружите недостатки. Ведь не очень просто писать так, чтобы было понятно тому, кто не пробовал МК никогда, и при этом получить эффективный и правильный код.
DD.rar ( 258.46 килобайт )
Кол-во скачиваний: 409Забыл добавить. Это под ИАР.
|
|
|
|
|
Feb 11 2011, 08:53
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(aleksey_g @ Feb 11 2011, 12:30)  Но написать попросил так, чтобы она была понятна ему. Так сказать в учебных целях. Была аналогичная история - "понятный" релейный контроллер. Итог - человек меня замучал вопросами, почему он не может в аврстудии создать проект  Вылезло в другом месте. Цитата а у меги8 внешних прерываний всего 2, то для третьего входа используется вход аналогового компаратора. Не поверите! У меги8 внешних прерываний немного больше: - int0 int1 + компаратор - это понятно - Т0 при предустановке таймера 0 в 255 - ICP Итого- целых 5, а при ненужности таймера Т1- 6 прерываний.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|