С Новым годом! Форум программистов, компьютерный форум, киберфорум
Электродвигатели
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/42: Рейтинг темы: голосов - 42, средняя оценка - 4.79
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854

ATMega и шаговый двигатель

18.02.2013, 13:18. Показов 8219. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть ли какие-нибудь библиотеки для ATMega, для шаговых двигателей

надо запустить три движка от одного контроллера
необходимо вращать туда-сюда
микрошаг
позиционировать
вчера две задачи решил, но сегодня подумал может зря велосипед изобретаю, может что то готовое есть
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2013, 13:18
Ответы с готовыми решениями:

шаговый двигатель
Привет. Как можно поднять обороты шагового двигателя? Напряжения питания 12В, модель шагового двигателя 17hs8401, драйвер drv8825. При...

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

Подобрать шаговый двигатель
Имеется драйвер шагового двигателя DRV8424, чтобы управлять магазином сопротивлений. Как подобрать шаговый двигатель? Для этого необходимо...

14
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.02.2013, 13:22
minimum:
AVR360: Step Motor Controller.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
18.02.2013, 23:28
Цитата Сообщение от ValeryS Посмотреть сообщение
может зря велосипед изобретаю
зря вы так ). Велосипеды, они разные, каждый под свою задачу ). Я делал эту задачу на шаблоне - сделал для портов маску управляемых выходов и массив из 6ти(? точно не помню, или четырех?) выходных значений. и индекс значения. При "вращении" просто меняете индекс и выводите значение сквозь маску. Получилось быстро и красиво. Быстрее получится только если шаманить с конкретными пинами и работать, скажем, в асме с нибблами.
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
19.02.2013, 00:04  [ТС]
raxp,
извини, не понял
это ссылка или что? куда смотреть?
Цитата Сообщение от Voland_ Посмотреть сообщение
Я делал эту задачу на шаблоне - сделал для портов маску управляемых выходов и массив из 6ти(? точно не помню, или четырех?) выходных значений. и индекс значения. При "вращении" просто меняете индекс и выводите значение сквозь маску.
ну я так примерно и делаю
в массиве значения синуса от 0 до 180 градусов размер массива 128
по прерывании увеличиваю(или уменьшаю) индекс беру значения из массива и кручу
теорию то я знаю( да и практику тоже)
просто подумал может есть какие нибудь библиотеки (типа работы с дисплеем HD 44780) подключил, вызвал функцию и все.

предыстория вопроса сгорела микропроцессор на плате at89s52(то ли прошивка восстановилась, то ли сам сдох)
плата периферийная управляет тремя движками и управляется от главной по последовательному порту

Не по теме:

надпись на камне spot 250 v 1.0 S может и прошивка у кого то есть, но на такое счастье я и не рассчитываю:)


для движков три сдвоеных ЦАПины TLC7528 и три драйвера L6219
решил сделать эмулятор на ATMega 8535 или ATMega8( у меня их много, да программировать удобней прямо "на лету")

так вот крутить я их научился , осталось позиционирование с ним куча вопросов( решаемые конечно)
например как шаги считаются 200 шагов полный оборот( полный шаг) или 400( пол шага) или еще как

если я стою на 198 шаге( берем режим 200 шагов) и мне приходит команда 10 шагов вперед получается 208 шаг
приводить его к 8 или не надо, а если приводить как назад считать

но это еще разминка
следующий шаг вскрыть протокол обмена
осциллограф в зубы и смотреть частоту битность четность
потом хочу пориписать на другом контроллере "перехватчик" и смотреть что на эту плату приходит
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
19.02.2013, 00:18
Цитата Сообщение от ValeryS Посмотреть сообщение
ну я так примерно и делаю
в массиве значения синуса от 0 до 180 градусов размер массива 128
по прерывании увеличиваю(или уменьшаю) индекс беру значения из массива и кручу
брр.. не понял. А к чему тут синусоида, и зачем ее считать для шаговика? Ему надо давать нужны наборы битов на 4-6 выходов, чтобы он сделал следующий тик. А где там синусы - не понял.

Цитата Сообщение от ValeryS Посмотреть сообщение
если я стою на 198 шаге( берем режим 200 шагов) и мне приходит команда 10 шагов вперед получается 208 шаг
приводить его к 8 или не надо, а если приводить как назад считать
считать вперед конечно. но каждый шаг вперед считать по индексу x = (x+1)%200. оч.удобная привязка к количеству шагов. В обратную сторону считать x = (x+199)%200. И никаких нудных проверок и четко по количеству тактов, если че.


Цитата Сообщение от ValeryS Посмотреть сообщение
вскрыть протокол обмена
хорошо когда есть под рукой анализатор. Все-таки простая, но какая ж она весчь удобная... . Засунул до 8 проводков в схему, и пиши себе на комп с дискретизацией до 24Мгц. Это тот который на CY7C68013A собран. Дешево, но сердито .
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
19.02.2013, 00:42  [ТС]
Цитата Сообщение от Voland_ Посмотреть сообщение
брр.. не понял. А к чему тут синусоида, и зачем ее считать для шаговика? Ему надо давать нужны наборы битов на 4-6 выходов, чтобы он сделал следующий тик. А где там синусы - не понял.
есть такое понятие микрошаг
попытаюсь объяснить для примера возьмем биполярный движок(с униполярным тоже но таблицы труднее рисовать)
вот его значения для 4 шагов(1 есть напряжение на фазе 0 нет)
1000 1 шаг ротор стоит в первом положении
0100 2 шаг ротор стоит во втором положении
0010 3 шаг ротор стоит в третьем положении
0001 4 шаг ротор стоит в четвертом положении
все бы ничего но шаг движка 1.8 градуса (может и есть другие я не встречал)это очень много
второй режим полу шаг
1000 1 шаг ротор стоит в первом положении
1100 2 шаг ротор между первым и вторым положением
0100 3 шаг ротор стоит во втором положении
0110 4 шаг ротор между вторым и третьим
0010 5 шаг ротор стоит в третьем положении
0011 6 шаг ротор между третьим и четвертым
0001 7 шаг якорь стоить в четвертом положении
1001 8 шаг якорь между четвертым и первым
шаг получается 0.9 градуса но иногда и этого много

тогда в дело вступает микрошаг
на фазы движка подается не дискретное напряжение а синус косинус

например переход от первого положение во второе
на первую фазу подаем косинус от 0(1) до 90 (0) градусов
на вторую фазу подаем синус 0т 0(0)до 90(1) градусов
в результате мы получили этот переход 1000-0100, но он уже более плавный
реально разбить шаг на 16 микрошагов(0.1125 градус) или 32 (0.05625градус) некоторые говорят разбивали и на 64



Цитата Сообщение от Voland_ Посмотреть сообщение
хорошо когда есть под рукой анализатор. Все-таки простая, но какая ж она весчь удобная... . Засунул до 8 проводков в схему, и пиши себе на комп с дисертизацией до 24Мгц. Это тот который на CY7C68013A собран. Дешево, но сердито
с этого места поподробней
где взять? как работать?
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
19.02.2013, 01:49
это ссылка или что? куда смотреть?
очевидно, что это аппнот (с либой, модулем) от Atmel, смотреть значит на офсайт ...вы ведь готовое спрашивали, вот оно и есть.
1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
19.02.2013, 02:01  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
очевидно, что это аппнот
да не очень то очевидно
слишком лаконично написал
спасибо полез смотреть
0
1022 / 157 / 10
Регистрация: 16.01.2013
Сообщений: 544
19.02.2013, 10:44
Цитата Сообщение от ValeryS Посмотреть сообщение
есть такое понятие микрошаг
тогда в дело вступает микрошаг
на фазы движка подается не дискретное напряжение а синус косинус
Все почти правильно. Но на обмотки двигателя необходимо подавать ток а не напряжение. тогда момент на валу двигателя не будет зависить от скорости вращения. И достигается большая скорость
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
19.02.2013, 11:12  [ТС]

Не по теме:

Цитата Сообщение от MaslovVG Посмотреть сообщение
Все почти правильно. Но на обмотки двигателя необходимо подавать ток а не напряжение.
я рассказывал про принцип микрошага, а так в любой книге написано что для ШД нужен источник тока


по теме есть что сказать?

raxp, не то
там просто пример на ассемблере как работать с движком
нет ни микрошага ни позиционирования
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
19.02.2013, 12:15
нет ни микрошага ни позиционирования
потому вначале и написал:
minimum:
И на затравку, возможно уже видели:
http://home.roboticlab.eu/ru/e... or/stepper
http://avrlab.com/node/60
1
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
19.02.2013, 14:41
Цитата Сообщение от ValeryS Посмотреть сообщение
с этого места поподробней
где взять? как работать?
нешта гугл ушел в оборону? Ссылок же куча по словам "CY7C68013A analizer" Картинки точь-в-точь, только я еще буфер впереди припаял, чтобы не горело ничего.

а насчет SIN/COS управления - честно, даже и не догадывался, что такое есть. Для "рождения" SIN/COS'ов на основе PWM у АВРок есть особые режимы. В частности в ТИНИ26й есть, например, 3PWM-выхода, и если не отшибло, с этой функцией, как штатной. Но это только 3 выхода, а не 4, как вам надо...
1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
19.02.2013, 16:06  [ТС]
raxp, спасибо что беспокоишься, но это все не то
теорию да (и практику) с ШД я знаю
интересовала конкретно библиотека типа "*.lib" "*.h"
я так понял таковых не имеется

Да и поздно уже, все сделал ( ну почти что)

Цитата Сообщение от Voland_ Посмотреть сообщение
Для "рождения" SIN/COS'ов на основе PWM у АВРок есть особые режимы. В частности в ТИНИ26й есть, например, 3PWM-выхода,
а зачем они мне? а меня ЦАПина есть
но все равно тоже спасибо

Добавлено через 6 минут
кстати если кому то понадобится
микрошаговый режим при помощи ШИМ
http://we.easyelectronics.ru/y... ast-1.html
анимированая теория режимов работы ШД
http://en.nanotec.com/steppermotor_animation.html
1
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
20.02.2013, 11:26
Цитата Сообщение от ValeryS Посмотреть сообщение
а зачем они мне? а меня ЦАПина есть
ЦАПы-ЦАПами, но тогда вы отходите от темы - к чему разговор тогда именно об АВР? Есть ЦАПы - ищите быстрое управление ЦАПами через SPI или как там они управляются? Ближайший DMA для быстрого SPI есть (мне кажется), только начиная с кортексов, но не АВР.
А насчет ШИМов АВР - здесь тоже интересно - ведь в АВР есть режим fastPWM, с частотой счетчика 64МГц, что вполне себе удобно - динамика будет не хуже ЦАПовой. И по скорости - одно дело отправить команду по SPI, а другое - занести значение в регистр счетчика...
ЗЫ: жаль, что вы уже сделали . Так было бы можно много чего изобрести...
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
20.02.2013, 11:42  [ТС]
Цитата Сообщение от Voland_ Посмотреть сообщение
ЦАПы-ЦАПами, но тогда вы отходите от темы - к чему разговор тогда именно об АВР?
Это я отхожу от темы
Тема была "Есть ли готовые библиотеки?" я так понял их нет( или про них никто не знает)

Цитата Сообщение от Voland_ Посмотреть сообщение
к чему разговор тогда именно об АВР
потому что они у меня есть( и много)
есть готовая плата в которой сдох камень(At89s52)
и нужно заменить ( эмулировать его) схемотехнику я изменять не собираюсь
один порт данные на ЦАП другой управляющие сигналы, и на хрена мне ШИМ

Цитата Сообщение от Voland_ Посмотреть сообщение
Так было бы можно много чего изобрести...
как с нуля начну делать что нибудь так обязательно изобретем

Не по теме:

чаще у меня вопросы возникают не по схемотехнике или программированию, а по интерфейсу пользователя
например есть устройство в нем куча настроек, есть дисплей 16х2, сколько кнопок ставить? какую иерархию меню создать?
каждый раз начинаю заного:(

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.02.2013, 11:42
Помогаю со студенческими работами здесь

Шаговый двигатель + PBII
Доброго времени суток! Заимел такую штуку - ...

Проседает шаговый двигатель
То есть он вертится.Но без усилия.В чем может быть причина?В обмотке?

2-фазный шаговый двигатель
42BYG008G. не подскажете, как должны выглядеть диаграмма сигналов на фазы? сдуру пробовал обычным мультивибратором его крутить, но потом...

шаговый двигатель в СAD
В какой среде можно смоделировать шаговый двигатель?Задача простая - отследить как меняется ток от нагрузки шаговика. И меняется ли вообще....

Где найти Шаговый Двигатель?
Купил 2 принтера по 50р. за каждый в поисках ШД. Один разобрал EPSON Stylus Color 760 - ШД не оказалось. вытащил с него блок питания и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru