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

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

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

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

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

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

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

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

Возник вопрос. Когда выбираю следующий адрес происходит перепрыгивание на след. шаг. На коментарий не смотрите.
PHP код:
         case 27:                                           
                 
A=0;   B=0;   OCR1A=80;    OCR1B=255;       //25%
                 
break;  
         case 
28:                                           
                 
A=0;   B=0;   OCR1A=64;    OCR1B=255;       //25%
                 
break;
         case 
29:                                           
                 
A=0;   B=0;   OCR1A=48;    OCR1B=255;       //25%
                 
break;
         case 
30:                                           
                 
A=0;   B=0;   OCR1A=32;    OCR1B=255;       //25%
                 
break;
         case 
31:                                           
                 
A=0;   B=0;   OCR1A=16;    OCR1B=255;       //25%
                 
break;
         case 
32:                                           
                 
A=0;   B=0;   OCR1A=0;    OCR1B=255;       //25%
                 
break;
                 
         
         
         
         case 
33:                                           
                 
A=0;   B=1;   OCR1A=0;    OCR1B=0;       //25%
                 
break;
         case 
34:                                           
                 
A=0;   B=1;   OCR1A=16;    OCR1B=0;       //25%
                 
break;
         case 
35:                                           
                 
A=0;   B=1;   OCR1A=32;    OCR1B=0;       //25%
                 
break;
         case 
36:                                           
                 
A=0;   B=1;   OCR1A=48;    OCR1B=0;       //25%
                 
break;
         case 
37:                                           
                 
A=0;   B=1;   OCR1A=64;    OCR1B=0;       //25%
                 
break;
         case 
38:                                           
                 
A=0;   B=1;   OCR1A=80;    OCR1B=0;       //25%
                 
break;
         case 
39:                                           
                 
A=0;   B=1;   OCR1A=96;    OCR1B=0;       //25%
                 
break;
         case 
40:                                           
                 
A=0;   B=1;   OCR1A=112;    OCR1B=0;       //25%
                 
break;
         case 
41:                                           
                 
A=0;   B=1;   OCR1A=128;    OCR1B=0;       //25%
                 
break;
         case 
42:                                           
                 
A=0;   B=1;   OCR1A=144;    OCR1B=0;       //25%
                 
break;
         case 
43:                                           
                 
A=0;   B=1;   OCR1A=160;    OCR1B=0;       //25%
                 
break;
         case 
44:                                           
                 
A=0;   B=1;   OCR1A=176;    OCR1B=0;       //25%
                 
break;
         case 
45:                                           
                 
A=0;   B=1;   OCR1A=192;    OCR1B=0;       //25%
                 
break;
         case 
46:                                           
                 
A=0;   B=1;   OCR1A=208;    OCR1B=0;       //25%
                 
break;
         case 
47:                                           
                 
A=0;   B=1;   OCR1A=224;    OCR1B=0;       //25%
                 
break;
         case 
48:                                           
                 
A=0;   B=1;   OCR1A=240;    OCR1B=0;       //25%
                 
break; 
         case 
49:
                 
A=0;   B=1;   OCR1A=255;    OCR1B=0;     //75%
                 
break;
                 
                 
                 
                 
         case 
50:
                 
A=0;   B=1;   OCR1A=255;    OCR1B=255;     //75%
                 
break;
         case 
51:
                 
A=0;   B=1;   OCR1A=0;    OCR1B=255;     //75%
                 
break;
         case 
52:                                           
                 
A=1;   B=0;   OCR1A=255;    OCR1B=0;       //25%
                 
break; 
на 33 шаге происходит смена адреса. Как сделать плавный поворот правильней? Пока написал как в коде, но поворот происходит очень грубо. Это же, когда оба ШИМа 0% то обмотки ШД не запитаны током. А когда я выбираю адрес и начинаю увеличивать один ШИМ то соответственно происходит неравномерный поворот. Чтобы равномерно было надо же обе обмотки запитывать. Вот как это решить?
Реклама:
miwutka вне форума  
Непрочитано 05.07.2013, 12:46  
vspvsp
Вид на жительство
 
Аватар для vspvsp
 
Регистрация: 30.10.2007
Адрес: Ростов-на-Дону
Сообщений: 285
Сказал спасибо: 23
Сказали Спасибо 39 раз(а) в 33 сообщении(ях)
vspvsp на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

Я же вам писал, что при смене адреса выходы ШИМ, подключенные к текущей паре ключей "меняются местами", первый шим занимает место второго, а второй подключается к следующему выводу!

То есть в тот момент, когда у вас ШИМ А на 0, а ШИМ Б на 100% и вы переключаете адрес (и смените обмотки ШД - шаг 31 на 32) нужно "поменять местами" уставки ШИМ, первому ШИМу дать 100%, а второму, который теперь на следующей обмотке - 0% и далее по синусу. И так до бесконечности!

Вообще-то ваши значения в коде неверны и далее. Нужно примерно так:

case 1:
A=0; B=0; OCR1A=0; OCR1B=255; //25% - начало
break;
case 28:
A=0; B=0; OCR1A=32; OCR1B=255; //25%

где-то в середине A=0; B=0; OCR1A=255; OCR1B=255 по 100% обеих сторон (по формуле не 100% но потом поправите)

case 31:
A=0; B=0; OCR1A=16; OCR1B=255; //25%
break;
case 32:
A=0; B=0; OCR1A=0; OCR1B=255; //25%
break;


--вот момент переключения, меняем адрес на 1 и уровни ШИМ (двигатель при этом не провернётся, вернее следовало бы сразу добавить второй ШИМ на следующий шаг)

case 33:
A=0; B=1; OCR1A=255; OCR1B=0; //25% --- ШИМ Б =16
break;
case 34:
A=0; B=1; OCR1A=255; OCR1B=16; //25% -отсюда ШИМ Б - нарастает!!!

где-то в середине A=0; B=0; OCR1A=255; OCR1B=255 по 100% обеих сторон (по формуле не 100% но потом поправите)


---- далее ШИМ А уменьшается до 0

case 47:
A=0; B=1; OCR1A=255; OCR1B=100; //25%
break;
case 48:
A=0; B=1; OCR1A=128; OCR1B=100; //25%
break;
case 49:
A=0; B=1; OCR1A=0; OCR1B=100; //75%

--------- следующий адрес ------- опять меняем уровни ШИМ.


И где обещанная формула?!


Кстати там в разделе "Предложения по работе" нужен нестандартный контроллер ШД!

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

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

Я же вам писал, что при смене адреса выходы ШИМ, подключенные к текущей паре ключей "меняются местами", первый шим занимает место второго, а второй подключается к следующему выводу!

То есть в тот момент, когда у вас ШИМ А на 0, а ШИМ Б на 100% и вы переключаете адрес (и смените обмотки ШД - шаг 31 на 32) нужно "поменять местами" уставки ШИМ, первому ШИМу дать 100%, а второму, который теперь на следующей обмотке - 0% и далее по синусу. И так до бесконечности!


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

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

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

PHP код:
 case 31:                                           
                 
A=0;   B=0;   OCR1A=16;    OCR1B=255;       //25%
                 
break;
         case 
32:                                           
                 
A=0;   B=0;   OCR1A=0;    OCR1B=255;       //25%
                 
break;
                 
         
         
         
         case 
33:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=0;       //25%
                 
break;
         case 
34:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=32;       //25%
                 
break;
         case 
35:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=64;       //25%
                 
break;
         case 
36:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=96;       //25%
                 
break;
         case 
37:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=128;       //25%
                 
break;
         case 
38:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=160;       //25%
                 
break;
         case 
39:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=192;       //25%
                 
break;
         case 
40:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=224;       //25%
                 
break;
         case 
41:                                           
                 
A=0;   B=1;   OCR1A=255;    OCR1B=255;       //25%
                 
break; 
вот так написал и всёравно при переходе с 32 на 33 мотор делает шаг, а дальше по микрошагу идет нормально.... Может я еще както не так подключить мог обмотки? (Но ведь полушаг работает нормально....хм....)

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

Вот вам табличка в Экселе, забейте и попробуйте.

Адреса как назначены? А это A0, B это A1 дешифратора? Тогда у вас адрес скачет аж на 2 сразу и получается бардак в обмотках. Проверяйте ваше двоичное исчисление.

Адреса идут так:

A0 A1

00
10
01
11
00 и так далее
Вложения:
Тип файла: zip ШД1.zip (10.0 Кб, 58 просмотров)

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

по таблице у вас на каждый шаг ШИМ1 увеличивается, а ШИМ2 уменьшаеться. У меня на каждый шаг ШИМ1 держиться 100%, а ШИМ2 увеличивается. У меня значит в этом ошибка?
miwutka вне форума  
Непрочитано 05.07.2013, 14:31  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Шаговый мотор (микрошаг) + атмега

А это A0, B это A1 дешифратора - так у меня. Если меняю наоборот в программе, то мотор идет в обратном направлении, при переходе всёравно перескок Сейчас попробую по вашей таблице сделать.
miwutka вне форума  
 

Закладки
Опции темы

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

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

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

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


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


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