Перейти к содержанию

Управление Шаговым Двигателем С Помощью Stm32


Рекомендуемые сообщения

Добрый день для самообучения решил крутить двигатель 28byj48, с помощью STM32 через L293D.

Схема двигателя http://robocraft.ru/...t/28BYJ-48.pdf.

Подключение двигателя к L293D:

Вывод двигателя 1 подключен к output 1.

Вывод двигателя 3 подключен к output 2.

Вывод двигателя 4 подключен к output 3.

Вывод двигателя 2 подключен к output 4.

Подключение STM32 к L293D:

PC1 подключен к input 1.

PC3 подключен к input 2.

PC5 подключен к input 3.

PC7 подключен к input 4.

Выводы Enable 1 и Enable 2,Vs,Vss драйвера подключены к 5v.Ну соответственно земля есть.

Прошиваю контроллер следующим кодом:

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
void Delay(unsigned int t)
{
unsigned int i;
for (i=0;i<t;i++);
}
void GPIOD_Initialize(){
GPIO_InitTypeDef GPIOC_Stepper;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIOC_Stepper.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_7;
GPIOC_Stepper.GPIO_Mode=GPIO_Mode_Out_PP;
GPIOC_Stepper.GPIO_Speed= GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIOC_Stepper);
}

int main(void)
{
GPIOD_Initialize();
 while(1)
 {
 GPIO_Write(GPIOC,GPIO_Pin_1);
 Delay(100);
 GPIO_Write(GPIOC,GPIO_Pin_1| GPIO_Pin_3);
 Delay(100);
 GPIO_Write(GPIOC,GPIO_Pin_3);
 Delay(100);
 GPIO_Write(GPIOC,GPIO_Pin_5|GPIO_Pin_3);
 Delay(100);
 GPIO_Write(GPIOC,GPIO_Pin_5);
 Delay(100);
 GPIO_Write(GPIOC,GPIO_Pin_5|GPIO_Pin_7);
 Delay(100);
 GPIO_Write(GPIOC,GPIO_Pin_7);
 Delay(100);
 GPIO_Write(GPIOC,GPIO_Pin_7|GPIO_Pin_1);
 Delay(100);
 }
}

В итоге моторчик при подаче тока начинает пищать но не крутится. Уважаемый форумчане подскажите что я делаю не так? Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Если пищит значит высокая скорость переключения, понизить раз в 100 может больше, и медленно увеличивать пока происходит стабильный запуск

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

В характеристиках вашего двигателя указана максимальная частота под нагрузкой

Idle In-traction Frequency > 600Hz

без нагрузки

Idle Out-traction Frequency > 1000Hz

А вы судя по вашей программе задаете 100 мкс на шаг, т.е.10 кгц Естественно двигатель крутиться не будет. Кроме того у шагового двигателя существует такой параметр. как частота приемистости, т.е. максимальная частота, при которой двигатель будет крутиться с места. Она обычно намного ниже максимальной рабочей частоты.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Добрый день для самообучения решил крутить двигатель 28byj48, с помощью STM32 через L293D.

Схема двигателя http://robocraft.ru/...t/28BYJ-48.pdf.

while(1)

{

GPIO_Write(GPIOC,GPIO_Pin_1);

Delay(100);

GPIO_Write(GPIOC,GPIO_Pin_1| GPIO_Pin_3);

Delay(100);

GPIO_Write(GPIOC,GPIO_Pin_3);

Delay(100);

GPIO_Write(GPIOC,GPIO_Pin_5|GPIO_Pin_3);

Delay(100);

GPIO_Write(GPIOC,GPIO_Pin_5);

Delay(100);

GPIO_Write(GPIOC,GPIO_Pin_5|GPIO_Pin_7);

Delay(100);

GPIO_Write(GPIOC,GPIO_Pin_7);

Delay(100);

GPIO_Write(GPIOC,GPIO_Pin_7|GPIO_Pin_1);

Delay(100);

}

}

[/code]

В итоге моторчик при подаче тока начинает пищать но не крутится. Уважаемый форумчане подскажите что я делаю не так? Спасибо.

Приветствую. как ты подключил ШД? :umnik2: у него же 5 проводов. обмотки между собою (красный) нужно разделить. :yes: или разбирай ШД или ищи улн2003 вместо л293.

ну и конечно задержку увеличь хотяб на порядка а то и два.

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

судя по вашей программе задаете 100 мкс на шаг, т.е.10 кгц

интересно как вы выщитали 10кГц, не зная не чего о производительности камня :yes:

Изменено пользователем demo1420

Будем двигать прогресс сами. Мои нынишнее дела http://forum.cxem.ne...78#entry1564268

Ссылка на комментарий
Поделиться на другие сайты

Уже верно подсказали - скорость надо уменьшать.

Так же не понял в чем будет существенная разница от замены специализированной 293 на тупую 2003?

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

интересно как вы выщитали 10кГц, не зная не чего о производительности камня :yes:

При чем тут производительность? Сколько будет тактовая частота 1МГц или 10МГц Delay фиолетово. Если в настройках компиллятора тактовая частота указана правильно, то Delay будет давать ровно такую задержку, какую ему задали.

Delay(100);
GPIO_Write(GPIOC,GPIO_Pin_3);
Delay(100);

Если у интервал между шагами 100 мкс, то сколько по вашему будет частота?

Изменено пользователем Sergey-Ufa
Ссылка на комментарий
Поделиться на другие сайты

Не Сергей. В данном случае не фиолетово. Определение в начале текста и будет зависеть не только от тактовой частоты, но и от степени оптимизации компилятора. А частота в данном случае легко может быть и 48 и 72 и даже больше мегагерц

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Уже верно подсказали - скорость надо уменьшать.

Так же не понял в чем будет существенная разница от замены специализированной 293 на тупую 2003?

Схема подключения двигателя в случае с 293, это два Н моста.. следовательно две обмотки двигателя должны быть биполярны и развязаны друг от друга (нужно 4 провода, 2 одной обмотки и 2 другой). На каждую обмотку поочереди подается то в одну сторону то в противоположную ток.

Тут же скоммутировано с общей точкой (красный провод), что отлично подходит для коммутации улнкой. Общий подключаем на плюс, остальные через микру на землю.

Преимущество биполярного (л293, 297) двигателя что работает целая обмотка а не лишь её половинка, следовательно и момент можна дать выше. Но схемотехника сильно усложняется.

ПС. Игрался с 297, тупая она однако. греется что дурная, там биполяры на выходе с высоким сопротивлением канала.

Изменено пользователем demo1420

Будем двигать прогресс сами. Мои нынишнее дела http://forum.cxem.ne...78#entry1564268

Ссылка на комментарий
Поделиться на другие сайты

Да просто древние они уже. Не знаю чего народ их до сих пор покупает, когда есть целая куча более продвинутых вариантов с адаптивным контролем тока, формирователя микрошага, шим и прочим блэкджеком в одном корпусе

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Тут же скоммутировано с общей точкой (красный провод)

Вот разжевано ;)

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Спасибо конечно. Как бы это было ясно. Наверное не так выразился, в чем разница? Аа, догадываюсь, что шунт резистор наверное подбирался для готового РГ для 10 кОм. В моём случае выбор свободен...
    • Всех приветствую. По листал форум и интернет в поисках ответа на вопрос, но ничего не смог найти. Может не умею гуглить или корректно задавать вопросы. В общем вопрос следующий.  Много раз замечал в автоусилителях (мощных) сборку блоков питания. Схем полных, естественно днем с огнем не сыщешь. Так вот задаюсь серьезным вопросом, как все же включены трансформаторы в этих уселках? Например их там может быть 4-6 штук, какиони выводят всю мощность? Отдельно каждый для одного усилителя? Или каким то способом соединены в параллель? Управляются одним шимом или для каждого свой шим? Или один шим на попарно включённые трансформаторы....  Если параллель то где? После трансформатора или уже после диодов... Не доходит до меня в общем. Если кто может и есть время, распишите пожалуйста подробно как несколько трансформаторов работают в одной системе... Мосты там или еще что прочее.    PS, помидорами не кидайтесь. Все когда то задавались вопросом, как работает лампочка....
    • Есть к чему стремиться
    • Давай вместе подумаем. Какие варианты есть? Можно прочитать заклинание. Можно прочитать молитву. Можно прочитать про то, как устроены позиционные системы счисления, и что означает наличие той или иной цифры на той или иной позиции в записи числа. Одно из этих действий должно помочь. Выбирай.
    • Да, скорее всего именно так, сомневаюсь что там была внутри какая-то начинка. Там даже пары квадратов панели не было, от силы один-полтора. Ставил на солнце (на подоконник), благо что солнце на халяву... Благо что в южных краях его хоть отбавляй...
    • В дополнение скажу, что длительность записи файла и воспроизведения соответствует реальной, но объём видеофайла сокращается на длину стоп картинки. Поясню, при одинаковой длительности записи объём файла, записанного на улице меньше объёма файла, записанного в здании. 
×
×
  • Создать...