It is currently Thu Dec 13, 2018 2:32 am

НИЛ АСЭМ Научно - исследовательская лаборатория автоматизированных систем экологического мониторинга

Драйвер шагового двигателя A4988

by Admin » Sat Oct 06, 2018 4:30 pm

Драйвер A4988 – предназначен для управления биполярными шаговыми двигателями, работающими от напряжения 8 – 35 В и потребляющими до 2 А на каждую обмотку двигателя.
Image

Драйвер построен на базе одноимённого чипа A4988 производства Allegro, он получил широкое распространение (в роботостроении, станках ЧПУ, 3D принтерах и т.д) благодаря простоте подключения и широкому функционалу. Как и в большинстве драйверов шаговых двигателей, силовая часть чипа A4988 представляет собой сдвоенный Н мост на полевых транзисторах, но больший интерес представляет логическая часть чипа. Драйвер позволяет выбирать размер шага: 1/1, 1/2, 1/4, 1/8 и 1/16 (подробно описано ниже, в разделе «выбор размера шага двигателя»). Чип оснащён множеством схем защит отключающих его при: перегреве, перегрузке по току, коротком замыкании и пониженном питании. Чип автоматически выбирает режим затухания тока (медленный / быстрый) и позволяет ограничивать максимальный выходной ток двигателя (настраивается подстроечным резистором, подробно описано ниже, в разделе «ограничение максимального тока двигателя»).

Назначение выводов драйвера:
• «ENABLE» – Разрешение работы чипа («0» – разрешить работу, «1» – выключить чип).
• «MS1» … «MS3» – Выбор размера шага (устанавливает кратность угла поворота двигателя за 1 шаг).
• «RESET» – Перезагрузка логики чипа («0» – перезагрузить, «1» – обычный режим работы).
• «SLEEP» – Перевод чипа в спящий режим («0» – сон, «1» – обычный режим работы).
• «STEP» – Вход тактовых импульсов (за один импульс двигатель поворачивается на один шаг).
• «DIR» – Выбор направления вращения двигателя («0» – в одну сторону, «1» – в другую сторону).
• «VMOT» – Питание двигателя (8 … 35 В).
• «VLOG» – Питание логики чипа (3 … 5,5 В).
• «1A», «1B» – Подключение первой обмотки двигателя.
• «2A», «2B» – Подключение второй обмотки двигателя.

Схема модуля:
Image

Image

На шине питания двигателя (между выводами VMOT и GND) рекомендуется установить электролитический конденсатор, как можно ближе к плате драйвера. Ёмкость конденсатора должна быть не ниже 1000 мкФ, а его рабочее напряжение должно превышать напряжение в шине питания двигателя минимум на 25%.
Двигатель подключается следующим образом: провода первой обмотки подключаются к выводам 1A, 1B драйвера, провода второй обмотки подключаются к выводам 2A, 2B драйвера. Если вы перепутаете обмотки двигателя (1, 2) или перепутаете начало и конец обмотки (A, B) то двигатель всё равно будет работать. Если двигатель будет вращаться в другую сторону, то поменяйте местами начало и конец (A и B) одной из обмоток (1 или 2).

Примечание:
• Подключение и отключение двигателя от выводов «1A», «1B», «2A», «2B» при наличии питания двигателя VMOT может вывести драйвер из строя.
• У платы драйвера по 8 выводов с каждой стороны, если подключить питание перепутав стороны платы (повернуть плату драйвера на 180°), то она точно выйдет из строя.

Управление двигателем:
Шаговый двигатель это бесколлекторный двигатель, ротор которого вращается не плавно, а шагами (дискретно). Один оборот ротора (360°) состоит из определённого количества шагов. Количество полных шагов в одном обороте указывается в технической документации двигателя.


Управление шаговым двигателем посредством описываемого драйвера осуществляется через входы «ENABLE», «STEP» и «DIR» драйвера (если считать, что выводы «RESET» и «SLEEP» соединены как на схеме). Подача логического «0» на вход «ENABLE» разрешает работу драйвера. С каждым фронтом импульса на входе «STEP», ротор двигателя будет поворачиваться на один шаг, направление поворота которого будет зависеть от логического уровня на входе «DIR».

Image

Image

Пример подключения:
Image
Схема электрическая принципиальная устройства управления драйвером шагового двигателя A4988 с помощью микроконтроллера PIC 18F452.


Примеры использования:




Примеры использования драйвера для управления шаговым двигателем (видео Моисеева Д.Н.)


Пример управляющего кода для микроконтроллера (на Proton BASIC Compiler):
Code: Select all
Device = 18F452
Xtal = 20

@Config_REQ
@__Config Config1H, OSCS_OFF_1 & HS_OSC_1
@__Config Config2L, BOR_OFF_2 & BORV_20_2 & PWRT_ON_2
@__Config Config2H, WDT_OFF_2 & WDTPS_128_2
@__Config Config3H, CCP2MX_OFF_3
@__Config Config4L, STVR_OFF_4 & LVP_OFF_4 & DEBUG_OFF_4

'-----------------------------------------------------------
All_Digital = TRUE
'-----------------------------------------------------------
Declare LCD_Type ALPHA            ' Тип ЖКИ - буквенно-цифровой
Declare LCD_DTPin PORTB.4         ' Порт данных ЖКИ
Declare LCD_ENPin PORTB.3         ' Управление цепью E
Declare LCD_RSPin PORTB.2         ' Управление цепью RS
Declare LCD_Interface 4  ' 4-х битная разрядность шины данных 
Declare LCD_CommandUs 2000 ' Задержка перед посылкой команды
Declare LCD_DataUs 50  ' Задержка перед посылкой данных
Declare LCD_Lines 2 ' Количество строк ЖКИ

    TRISD=%00000000
    TRISC=%00000000
 
    Dim i As Dword
    Dim n As Dword
    Dim paus  Dword
    Cls
    Clear
    Print At 1 , 1 , "A4988 - puls"
    DelayMS 3000
       
 n = 200  ' количество шагов для поворота вала на 360 градусов
          ' (360/200 - угол поворота на один шаг = 1.8 градус)
 PORTC.0=0   ' включаем работу чипа
 steppi:
 
  PORTC.0=0  ' включаем работу чипа (ENABLE)
  PORTD.1=0  ' вращение вала по часовой стрелке (DIR)
  For i=1 To n
 PulseOut PORTD.0, 500, High '(STEP)
  'Print At 1,1, "n=", Dec i
 Next i
 i=0   
  PORTC.0=1  ' выключеаем работу чипа
 DelayMS 1000
 
 PORTC.0=0   ' включаем работу чипа
 PORTD.1=1   ' вращение вала против часовой стрелки
  For i=1 To n
 PulseOut PORTD.0, 500, High
  'Print At 1,1, "n=", Dec i
 Next i
 i=0
 PORTC.0=1  ' выключеаем работу чипа     
 DelayMS 1000
 GoTo steppi
 End

Питание:
• Напряжение питания логической части драйвера, от 3 до 5,5 В постоянного тока, подаётся на выводы GND и VLOG.
• Напряжение питания двигателя, от 8 до 35 В постоянного тока, подаётся на выводы GND и VMOT.

Спецификация:
• Напряжение питания двигателя: 8 … 35 В.
• Максимальный ток на одну обмотку двигателя: 1 А без радиатора, (2 А с радиатором)*.
• Напряжение питания логической части драйвера: 3 … 5,5 В.
• Размер одного шага двигателя: от 1 до 1/16 полного шага.
• Защита: от перегрева, от перегрузки по току, от короткого замыкания, от пониженного питания.
• Габариты платы драйвера: 20×15 мм.
• Габариты радиатора: 9x5x9 мм.

Литература:
1. Производитель чипа.
2. Фирменная документация.
3. RB-Pol-176

На главную
Admin
Site Admin
 
Posts: 209
Joined: Wed Sep 20, 2017 9:55 am

Return to Промежуточные исследования и разработки

cron

User Menu

Login