Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 05.07.2013, 14:36   #101
vspvsp
Вид на жительство
 
Аватар для vspvsp
 
Регистрация: 30.10.2007
Адрес: Ростов-на-Дону
Сообщений: 285
Сказал спасибо: 23
Сказали Спасибо 39 раз(а) в 33 сообщении(ях)
vspvsp на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

Не 100% потому, что считается суммарный магнитный поток от двух катушек! Я эе делал оговорку как оно "в идеале" и как "на попробовать"!

Да, у вас адреса перепутаны. Для смены направления вращения меняется направление смены уровней ШИМ и адресов (3,2,1,0,3 ...) и вообще там 4 варианта туда-сюда смотря как обмотки одели!
Реклама:
vspvsp вне форума  
Непрочитано 05.07.2013, 14:41   #102
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

PHP код:
 case 0:                                           
                 
A=0;   B=0;   OCR1A=255;    OCR1B=0;       //25%
                 
break;
         case 
1:                                           
                 
A=0;   B=0;   OCR1A=250;    OCR1B=49;       //25%
                 
break;
         case 
2:                                           
                 
A=0;   B=0;   OCR1A=235;    OCR1B=97;       //25%
                 
break;
         case 
3:                                           
                 
A=0;   B=0;   OCR1A=212;    OCR1B=141;       //25%
                 
break;
         case 
4:                                           
                 
A=0;   B=0;   OCR1A=180;    OCR1B=180;       //25%
                 
break;
         case 
5:                                           
                 
A=0;   B=0;   OCR1A=141;    OCR1B=212;       //25%
                 
break;
         case 
6:                                           
                 
A=0;   B=0;   OCR1A=97;    OCR1B=235;       //25%
                 
break;
         case 
7:                                           
                 
A=0;   B=0;   OCR1A=49;    OCR1B=250;       //25%
                 
break;
         case 
8:                                           
                 
A=0;   B=1;   OCR1A=0;    OCR1B=255;       //25%
                 
break;
       
         case 
9:                                           
                 
A=0;   B=1;   OCR1A=250;    OCR1B=49;       //25%
                 
break;
         case 
10:                                           
                 
A=0;   B=1;   OCR1A=235;    OCR1B=97;       //25%
                 
break; 
сделал по вашей таблице - всеравно при переходе с 8 на 9 перескок..... ничего не пойму.................. Проверяю на макетке - менял местами провода адреса, так мотор в обратную крутится тогда при переходе и тоже с рывком......
miwutka вне форума  
Непрочитано 05.07.2013, 14:42   #103
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

Сообщение от vspvsp Посмотреть сообщение
Да, у вас адреса перепутаны. Для смены направления вращения меняется направление смены уровней ШИМ и адресов (3,2,1,0,3 ...) и вообще там 4 варианта туда-сюда смотря как обмотки одели!
Сейчас буду както проверять куда какой конец обмотки подключать....
miwutka вне форума  
Непрочитано 05.07.2013, 14:47   #104
vspvsp
Вид на жительство
 
Аватар для vspvsp
 
Регистрация: 30.10.2007
Адрес: Ростов-на-Дону
Сообщений: 285
Сказал спасибо: 23
Сказали Спасибо 39 раз(а) в 33 сообщении(ях)
vspvsp на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

Ну так опять адреса не поправили! Менять надо А с 0 на 1, а не Б с 0 на 1!!!

case 8:
A=0; B=0; OCR1A=49; OCR1B=255; //25%
break;
case 8:
A=1; B=0; OCR1A=255; OCR1B=0; //25% - вот так A=1; B=0;
break;
И менять уровни ШИМ не в следующем шаге, а в том же, где меняете адреса!!!!!!!!

Это я в экселе промазал на 1 с адресами. Сдвинуть вперёд на 1
Вложения:
Тип файла: zip ШД1.zip (10.0 Кб, 48 просмотров)

Последний раз редактировалось vspvsp; 05.07.2013 в 14:58.
vspvsp вне форума  
Непрочитано 05.07.2013, 15:44   #105
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

PHP код:
case 0:                                           
                 
A=0;   B=0;   OCR1A=255;    OCR1B=0;       //25%
                 
break;
         case 
1:                                           
                 
A=0;   B=0;   OCR1A=250;    OCR1B=49;       //25%
                 
break;
         case 
2:                                           
                 
A=0;   B=0;   OCR1A=235;    OCR1B=97;       //25%
                 
break;
         case 
3:                                           
                 
A=0;   B=0;   OCR1A=212;    OCR1B=141;       //25%
                 
break;
         case 
4:                                           
                 
A=0;   B=0;   OCR1A=180;    OCR1B=180;       //25%
                 
break;
         case 
5:                                           
                 
A=0;   B=0;   OCR1A=141;    OCR1B=212;       //25%
                 
break;
         case 
6:                                           
                 
A=0;   B=0;   OCR1A=97;    OCR1B=235;       //25%
                 
break;
         case 
7:                                           
                 
A=0;   B=0;   OCR1A=49;    OCR1B=250;       //25%
                 
break;
         case 
8:                                           
                 
A=0;   B=0;   OCR1A=0;    OCR1B=255;       //25%
                 
break;
       
         
         
         
         case 
9:                                           
                 
A=1;   B=0;   OCR1A=250;    OCR1B=49;       //25%
                 
break;
         case 
10:                                           
                 
A=1;   B=0;   OCR1A=235;    OCR1B=97;       //25%
                 
break;
         case 
11:                                           
                 
A=1;   B=0;   OCR1A=212;    OCR1B=141;       //25%
                 
break;
         case 
12:                                           
                 
A=1;   B=0;   OCR1A=180;    OCR1B=180;       //25%
                 
break;
         case 
13:                                           
                 
A=1;   B=0;   OCR1A=141;    OCR1B=212;       //25%
                 
break;
         case 
14:                                           
                 
A=1;   B=0;   OCR1A=97;    OCR1B=235;       //25%
                 
break;
         case 
15:                                           
                 
A=1;   B=0;   OCR1A=49;    OCR1B=250;       //25%
                 
break;
         case 
16:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=0;       //25%
                 
break; 
непойму где я туплю. При переходе с 8 на 9 шагает назад и потом идет в томже направлении нормально что и до смены адреса. У меня диоды на стоят на обмотках. Они нужны? Может в них дело.....? Адреса уже все перепробовал
miwutka вне форума  
Непрочитано 05.07.2013, 16:19   #106
vspvsp
Вид на жительство
 
Аватар для vspvsp
 
Регистрация: 30.10.2007
Адрес: Ростов-на-Дону
Сообщений: 285
Сказал спасибо: 23
Сказали Спасибо 39 раз(а) в 33 сообщении(ях)
vspvsp на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

Диоды - обязательны, хотя они есть и в ULN-ке самой (вывод COM на "+" питания).

С виду всё выглядит правильно! Быть может обмотки как-то криво у вас стоят? Вы точно вызвонили середины обмоток и порядок концов?

Если обозвать центральные выводы обмоток 1 и 2, а "половинки" 1а и 1б, 2а и 2б, то, по идее, к выводам ключей они должны быть подключены "через одну", т.е. 1а, 2а, 1б, 2б.

Вы проверили промежуточные варианты работы схемы, без микрошага?

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

ШИМы оба по 100% меняем только адрес 0,1,2,3,0,1,2,3

Полушагом:

Меняем адрес 0,0,1,1,2,2,3,3,0,0

И меняем ШИМы

адрес шим а б
0 100 100
0 0 100
1 100 100
1 0 100
2 100 100
2 0 100
3 100 100
3 0 100
0 100 100
0 0 100

Пробуем "четвертинками"

0 100 0 - 0
0 100 50 - четвертинка
0 100 100 - половинка
0 50 100 - 3/4
1 100 0 - смена местами
1 100 50
1 100 100
1 50 100
2 100 0
2 100 50
2 100 100
2 50 100
3 100 0
3 100 50
3 100 100
3 50 100
0 100 0 - повтор

Выбрасывайте уже "наглядность" и переходите к массивам вместо switch - case и счётчик и не ошибётесь в двоичной арифметике) и переходить от шага к шагу (полный микро) и менять направление сможете просто переключением массива и направления указателя на число.

Последний раз редактировалось vspvsp; 05.07.2013 в 16:21.
vspvsp вне форума  
Непрочитано 05.07.2013, 16:20   #107
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

PHP код:
case 0:                                           
                 
A=0;   B=0;   OCR1A=255;    OCR1B=0;       //25%
                 
break;
         case 
1:                                           
                 
A=0;   B=0;   OCR1A=250;    OCR1B=49;       //25%
                 
break;
         case 
2:                                           
                 
A=0;   B=0;   OCR1A=235;    OCR1B=97;       //25%
                 
break;
         case 
3:                                           
                 
A=0;   B=0;   OCR1A=212;    OCR1B=141;       //25%
                 
break;
         case 
4:                                           
                 
A=0;   B=0;   OCR1A=180;    OCR1B=180;       //25%
                 
break;
         case 
5:                                           
                 
A=0;   B=0;   OCR1A=141;    OCR1B=212;       //25%
                 
break;
         case 
6:                                           
                 
A=0;   B=0;   OCR1A=97;    OCR1B=235;       //25%
                 
break;
         case 
7:                                           
                 
A=0;   B=0;   OCR1A=49;    OCR1B=250;       //25%
                 
break;
         case 
8:                                           
                 
A=1;   B=0;   OCR1A=255;    OCR1B=0;       //25%
                 
break;
       
         
         
         
         case 
9:                                           
                 
A=1;   B=0;   OCR1A=250;    OCR1B=49;       //25%
                 
break;
         case 
10:                                           
                 
A=1;   B=0;   OCR1A=235;    OCR1B=97;       //25%
                 
break;
         case 
11:                                           
                 
A=1;   B=0;   OCR1A=212;    OCR1B=141;       //25%
                 
break;
         case 
12:                                           
                 
A=1;   B=0;   OCR1A=180;    OCR1B=180;       //25%
                 
break;
         case 
13:                                           
                 
A=1;   B=0;   OCR1A=141;    OCR1B=212;       //25%
                 
break;
         case 
14:                                           
                 
A=1;   B=0;   OCR1A=97;    OCR1B=235;       //25%
                 
break;
         case 
15:                                           
                 
A=1;   B=0;   OCR1A=49;    OCR1B=250;       //25%
                 
break;
         case 
16:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=0;        //25%
                 
break;
                 
                 
         case 
17:                                           
                 
A=0;   B=1;   OCR1A=250;    OCR1B=49;      //25%
                 
break;
         case 
18:                                           
                 
A=0;   B=1;   OCR1A=235;    OCR1B=97;       //25%
                 
break;
         case 
19:                                           
                 
A=0;   B=1;   OCR1A=212;    OCR1B=141;       //25%
                 
break;
         case 
20:                                           
                 
A=0;   B=1;   OCR1A=180;    OCR1B=180;       //25%
                 
break;
         case 
21:                                           
                 
A=0;   B=1;   OCR1A=141;    OCR1B=212;       //25%
                 
break;
         case 
22:                                           
                 
A=0;   B=1;   OCR1A=97;    OCR1B=235;       //25%
                 
break;
         case 
23:                                           
                 
A=0;   B=1;   OCR1A=49;    OCR1B=250;       //25%
                 
break;
         case 
24:                                           
                 
A=1;   B=1;   OCR1A=255;    OCR1B=0;       //25%
                 
break; 
                 
         
         case 
25:                                           
                 
A=1;   B=1;   OCR1A=250;    OCR1B=49;      //25%
                 
break;
         case 
26:                                           
                 
A=1;   B=1;   OCR1A=235;    OCR1B=97;       //25%
                 
break;
         case 
27:                                           
                 
A=1;   B=1;   OCR1A=212;    OCR1B=141;       //25%
                 
break;
         case 
28:                                           
                 
A=1;   B=1;   OCR1A=180;    OCR1B=180;       //25%
                 
break;
         case 
29:                                           
                 
A=1;   B=1;   OCR1A=141;    OCR1B=212;       //25%
                 
break;
         case 
30:                                           
                 
A=1;   B=1;   OCR1A=97;    OCR1B=235;       //25%
                 
break;
         case 
31:                                           
                 
A=1;   B=1;   OCR1A=49;    OCR1B=250;       //25%
                 
break;
         case 
32:                                           
                 
A=1;   B=1;   OCR1A=255;    OCR1B=0;       //25%
                 
break; 
плавный переход только с 15 на 16, а в остальных рывок назад, и потом нормальный микрошаг...
miwutka вне форума  
Непрочитано 05.07.2013, 16:33   #108
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

сейчас всё заново начну проверять от полношага... Знать бы как определить 1а или 1б. самито средние я вызвонил и их края. С мотора выходят вот так провода:

первые три: красный-1,белый-1, желтый-1 (белый средний)
под ними вторые три: желтый-2, белый-2,красный-2(белый средний)
оба белых на +5 В посадил.
Выходы ключа:
1 - красный-2
2 - красный-1
3 - желтый-2
4- желтый-1
miwutka вне форума  
Непрочитано 05.07.2013, 16:35   #109
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

Сообщение от vspvsp Посмотреть сообщение
указателя на число.
Всё както ненайду время с указателем поработать... Вродь понимаю в программе чьейто, а сам не могу написать ))
miwutka вне форума  
Непрочитано 05.07.2013, 17:23   #110
vspvsp
Вид на жительство
 
Аватар для vspvsp
 
Регистрация: 30.10.2007
Адрес: Ростов-на-Дону
Сообщений: 285
Сказал спасибо: 23
Сказали Спасибо 39 раз(а) в 33 сообщении(ях)
vspvsp на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

Если вы перепутаете а и б то просто измените направление вращения, ничего страшного! А если 1 и 2, то будет бардак!

Для слежения за результатом предлагаю напаять светодиоды на выходы дешифратора - при нормальной работе там получится "волна света": загорается первый, потом плавно перетекает на второй, третий, четвёртый.

"указатель" это индекс массива, чего уж проще!
vspvsp вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Атмега 32а, не известно под какую частоту прошита. sae74 Микроконтроллеры, АЦП, память и т.д 1 10.04.2010 19:33
Шаговый двигатель (РХХ) Bruse82 Производственное оборудование 2 07.05.2008 20:54


Часовой пояс GMT +4, время: 16:16.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot