Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
21.01.2014, 01:01
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
winavr + proteus
Вложения:
|
2.ZIP (42.1 Кб, 70 просмотров) |
|
|
|
Сказали "Спасибо" oleg110592
|
|
|
21.01.2014, 01:49
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
Сообщение от omercury
|
С чего бы ей уходить в резет?
(да и нечем)
У неё нет на это причин.
Зато для перегрева причин достаточно.
|
Очень печально такие вопросы от Вас слышать
Питание проца, похоже, и драйвера общее. На схеме конденсаторов по питанию нет вообще.
|
|
|
|
21.01.2014, 07:12
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
она не ресетится
|
|
|
|
21.01.2014, 12:46
|
|
Заблокирован
Регистрация: 10.03.2008
Адрес: г. Пятигорск
Сообщений: 456
Сказал спасибо: 46
Сказали Спасибо 281 раз(а) в 149 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
А зачем драйвер такой древний? Есть же хорошие микросхемы для управление шаговым мотором, TLE4729 например. Всего два входа управления, есть выход контроля ошибок, например КЗ в нагрузке...
|
|
|
|
21.01.2014, 13:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
Сообщение от omercury
|
Микрошаг нужен, чтоб подавить резонанс и сделать плавней ход.
Пробовать в железе всё равно начну с микрошага, а там уже видно будет, как лучше.
|
Не только для этого нужен микрошаг. У меня на столе сейчас лежит передо мной и крутится стрелочный индикатор азимута для антенны. На очень дешевом степпере и не менее дешевом МК.
http://www.ebay.com/itm/10pcs-With-a...item232c3162a2
Схема самая простая.
Таймер_1 имеет два канала с противофазными выходами. На нем огрганизован ШИМ center aligned mode. Full-step этого малышка - 72 градуса (5 шагов/оборот) Мне нужна точность позиционирования +/- 2 градуса. Применяю степ/72. Третьи сутки прыгает по позициям 80-180-280-180-90. Ни единого сбоя. Установка нуля была только на старте программы.
https://dl.dropboxusercontent.com/u/..._598.mjpeg.avi
и так уже трое суток.
ps На USB-переходнике лежит для "габаритности" сам степперчик.
__________________
С уважением,
Vic / ut1wpr
Последний раз редактировалось ut1wpr; 21.01.2014 в 13:51.
|
|
|
|
21.01.2014, 15:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
Виктор, Вы же прекрасно понимаете, что мы говорим о разных вещах и сравнивать полграммовую стрелку с несколькими килограммами железа мягко говоря не корректно.
Например 2 ШД + шпиндель + 2 компл. направляющих + 2 ШВП, не считая рамы, проводов, датчиков, кабельканалов и т.д. - то, что будет таскать третий мотор, весит уже 4,29 кг. То есть вес минимум удвоится.
Вы думаете я б не смог сделать то же самое на, скажем, Attiny26 (которые у мну есть) и имеют похожий таймер1 или Attiny25/45/85 (всё то же, но ещё и с программируемым Dt) с каким-либо шаговиком?
А то бы поставил бесплатный шпиндель от CD-Rom (18 шагов на оборот, кстати) и 3 транзистора с программным ШИМ. Для стрелки более чем.
Но мы ж тут не письками меряемся.
|
|
|
|
21.01.2014, 15:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.08.2008
Адрес: Ярославль
Сообщений: 1,505
Сказал спасибо: 115
Сказали Спасибо 1,314 раз(а) в 548 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
Выдернул кусок кода из своего старого проекта. ATMega32 не только ШД крутит, но и другие задачи в фоновом режиме решает. Поэтому движок крутится по прерыванию от таймера. Каждый вызов прерывания - один полушаг, период можно регулировать. ШД у меня был униполярный, поэтому код надо поправить.
Написано в CVAVR.
char outs=11; //Выходы на униполярный ШД - старшие 4 бита порта С.
char direction=1; // 0 - едем вправо, 1 - едем влево.
char go=0; // 0 - стоим, 1 - едем.
int period=2000; // Период импульсов на ШД.
//Едем влево на 1 шаг
char left_step(char _out)
{
switch (_out)
{
case 0x11 : _out=0x55; break;
case 0x55 : _out=0x44; break;
case 0x44 : _out=0x66; break;
case 0x66 : _out=0x22; break;
case 0x22 : _out=0xAA; break;
case 0xAA : _out=0x88; break;
case 0x88 : _out=0x99; break;
case 0x99 : _out=0x11; break;
default : _out=_out;
}
return(_out);
}
//Едем вправо на 1 шаг
char right_step(char _out)
{
switch (_out)
{
case 0x99 : _out=0x88; break;
case 0x88 : _out=0xAA; break;
case 0xAA : _out=0x22; break;
case 0x22 : _out=0x66; break;
case 0x66 : _out=0x44; break;
case 0x44 : _out=0x55; break;
case 0x55 : _out=0x11; break;
case 0x11 : _out=0x99; break;
default : _out=_out;
}
return(_out);
}
//Поехали
void rolling(void)
{
if (direction)
outs=left_step(outs);
else
outs=right_step(outs);
PORTC=(outs|0x0F)&(PORTC|0xF0);
}
// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
TCNT1=0x10000-period;
if (go)
rolling();
}
void main(void)
{
//...
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 1000,000 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: On
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
//...
}
ps. куда-то все табуляции при копипасте пропали
Последний раз редактировалось olc0267; 21.01.2014 в 16:06.
|
|
|
|
21.01.2014, 16:01
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
а микросхемы драйверы универсальны, или различны для униполярных и биполярных?
|
|
|
|
21.01.2014, 16:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.08.2008
Адрес: Ярославль
Сообщений: 1,505
Сказал спасибо: 115
Сказали Спасибо 1,314 раз(а) в 548 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
Конкретно в моей схеме движок управлялся не микросхемой, а четырьмя мосфетами IRF540. На гейт - логические уровни от контроллера, к сорс-у подключен конец обмотки.
|
|
|
|
21.01.2014, 16:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Схема управления биполярным шаговым двигателем
Сообщение от omercury
|
Виктор, Вы же прекрасно понимаете, что мы говорим о разных вещах и сравнивать полграммовую стрелку с несколькими килограммами железа мягко говоря не корректно.
Например 2 ШД + шпиндель + 2 компл. направляющих + 2 ШВП, не считая рамы, проводов, датчиков, кабельканалов и т.д. - то, что будет таскать третий мотор, весит уже 4,29 кг. То есть вес минимум удвоится.
Вы думаете я б не смог сделать то же самое на, скажем, Attiny26 (которые у мну есть) и имеют похожий таймер1 или Attiny25/45/85 (всё то же, но ещё и с программируемым Dt) с каким-либо шаговиком?
А то бы поставил бесплатный шпиндель от CD-Rom (18 шагов на оборот, кстати) и 3 транзистора с программным ШИМ. Для стрелки более чем.
Но мы ж тут не письками меряемся.
|
Да все правильно. Я просто привел случай, когда без дробления шага вапче не обойтись. Без учета нагрузок, инерционности исполнительного и прочая. А CNC я тоже увлекался в свое время. Делал макетное (жалкое) подобие на деревянной раме из бука. В первом приближении все позиционировалось как надо. Но основная проблема была именно со шпинделем. В то время ничего этого в ближайшем окружении не было. Да и особой нужды в этом не было. Общеобразовательные забавы.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:25.
|
|