Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,879
1

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

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

есть ли какие-нибудь библиотеки для ATMega, для шаговых двигателей

надо запустить три движка от одного контроллера
необходимо вращать туда-сюда
микрошаг
позиционировать
вчера две задачи решил, но сегодня подумал может зря велосипед изобретаю, может что то готовое есть
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2013, 13:18
Ответы с готовыми решениями:

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

Биполярный шаговый двигатель не стартует
Здравствуйте. Такая проблема: Имеется вертушка (проигрыватель винила) Hitachi HT-350 (года эдак...

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

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

14
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
18.02.2013, 13:22 2
minimum:
AVR360: Step Motor Controller.
0
1926 / 1241 / 124
Регистрация: 04.01.2010
Сообщений: 4,447
18.02.2013, 23:28 3
Цитата Сообщение от ValeryS Посмотреть сообщение
может зря велосипед изобретаю
зря вы так ). Велосипеды, они разные, каждый под свою задачу ). Я делал эту задачу на шаблоне - сделал для портов маску управляемых выходов и массив из 6ти(? точно не помню, или четырех?) выходных значений. и индекс значения. При "вращении" просто меняете индекс и выводите значение сквозь маску. Получилось быстро и красиво. Быстрее получится только если шаманить с конкретными пинами и работать, скажем, в асме с нибблами.
0
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,879
19.02.2013, 00:04  [ТС] 4
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
1926 / 1241 / 124
Регистрация: 04.01.2010
Сообщений: 4,447
19.02.2013, 00:18 5
Цитата Сообщение от 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
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,879
19.02.2013, 00:42  [ТС] 6
Цитата Сообщение от 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
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
19.02.2013, 01:49 7
это ссылка или что? куда смотреть?
очевидно, что это аппнот (с либой, модулем) от Atmel, смотреть значит на офсайт ...вы ведь готовое спрашивали, вот оно и есть.
1
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,879
19.02.2013, 02:01  [ТС] 8
Цитата Сообщение от raxp Посмотреть сообщение
очевидно, что это аппнот
да не очень то очевидно
слишком лаконично написал
спасибо полез смотреть
0
1022 / 157 / 10
Регистрация: 16.01.2013
Сообщений: 544
19.02.2013, 10:44 9
Цитата Сообщение от ValeryS Посмотреть сообщение
есть такое понятие микрошаг
тогда в дело вступает микрошаг
на фазы движка подается не дискретное напряжение а синус косинус
Все почти правильно. Но на обмотки двигателя необходимо подавать ток а не напряжение. тогда момент на валу двигателя не будет зависить от скорости вращения. И достигается большая скорость
0
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,879
19.02.2013, 11:12  [ТС] 10

Не по теме:

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


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

raxp, не то
там просто пример на ассемблере как работать с движком
нет ни микрошага ни позиционирования
0
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
19.02.2013, 12:15 11
нет ни микрошага ни позиционирования
потому вначале и написал:
minimum:
И на затравку, возможно уже видели:
http://home.roboticlab.eu/ru/e... or/stepper
http://avrlab.com/node/60
1
1926 / 1241 / 124
Регистрация: 04.01.2010
Сообщений: 4,447
19.02.2013, 14:41 12
Цитата Сообщение от ValeryS Посмотреть сообщение
с этого места поподробней
где взять? как работать?
нешта гугл ушел в оборону? Ссылок же куча по словам "CY7C68013A analizer" Картинки точь-в-точь, только я еще буфер впереди припаял, чтобы не горело ничего.

а насчет SIN/COS управления - честно, даже и не догадывался, что такое есть. Для "рождения" SIN/COS'ов на основе PWM у АВРок есть особые режимы. В частности в ТИНИ26й есть, например, 3PWM-выхода, и если не отшибло, с этой функцией, как штатной. Но это только 3 выхода, а не 4, как вам надо...
1
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,879
19.02.2013, 16:06  [ТС] 13
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
1926 / 1241 / 124
Регистрация: 04.01.2010
Сообщений: 4,447
20.02.2013, 11:26 14
Цитата Сообщение от ValeryS Посмотреть сообщение
а зачем они мне? а меня ЦАПина есть
ЦАПы-ЦАПами, но тогда вы отходите от темы - к чему разговор тогда именно об АВР? Есть ЦАПы - ищите быстрое управление ЦАПами через SPI или как там они управляются? Ближайший DMA для быстрого SPI есть (мне кажется), только начиная с кортексов, но не АВР.
А насчет ШИМов АВР - здесь тоже интересно - ведь в АВР есть режим fastPWM, с частотой счетчика 64МГц, что вполне себе удобно - динамика будет не хуже ЦАПовой. И по скорости - одно дело отправить команду по SPI, а другое - занести значение в регистр счетчика...
ЗЫ: жаль, что вы уже сделали . Так было бы можно много чего изобрести...
0
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,879
20.02.2013, 11:42  [ТС] 15
Цитата Сообщение от Voland_ Посмотреть сообщение
ЦАПы-ЦАПами, но тогда вы отходите от темы - к чему разговор тогда именно об АВР?
Это я отхожу от темы
Тема была "Есть ли готовые библиотеки?" я так понял их нет( или про них никто не знает)

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

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

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2013, 11:42

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.