1. 程式人生 > >A4988驅動42步進電機

A4988驅動42步進電機

操作 got 左移 find 連接 edi mos hsv period

A4988步進電機驅動器驅動控制42步進電機速度,步進電機調速,調節驅動電流

1 A4988步進電機驅動器簡介 方便使用,是我們這些用戶最想要的,固有的名詞和深入介紹在這就不多說了,您可以百度,或這下載附件,芯片手冊中有詳細的說明。 A4988是一款帶轉換器和過流保護的DMOS微步進電機驅動器,它用於操作雙極步進電機,在步進模式,輸出驅動的能力35V和±2A 轉換器是A4988易於實施的關鍵。只要在“STEP”引腳輸入一個脈沖,即可驅動電動機產生微步。無須進行相位順序表、高頻率控制行或復雜的界面編程。A4988
界面非常適合復雜的微處理器不可用或過載的應用。 2 產品特點 1、控制簡單,只需要控制STEPDIR兩個端口; 2、精度調整,五種不同的步進模式:全、半、1/41/81/16 3、可調電位器可以調節輸出電流,從而獲得更高的步進率; 4、兼容3.3V5V邏輯輸入; 3 芯片典型電路 <ignore_js_op>技術分享 註意步進電機的接線方式,步進電機為兩相四線的步進電機,OUT1AOUT1B分別接電機同相的兩端;OUT2AOUT2B分別接電機另一相的兩端。在連接步進電機時,一定要知道哪兩個線是同一相。 4 最大額定值 <ignore_js_op>技術分享 5 步進模式設置
<ignore_js_op>技術分享 例如全模式時,一個脈沖,步進電機旋轉角度1.8°;在1/4模式時,一個脈沖,步進電機旋轉角度為0.45°。 6 模塊連接圖 <ignore_js_op>技術分享 測試中選擇型號為17HS5413(42BYGH)的兩相四線步進電機,步距角為1.8°,200個脈沖轉動一圈。 STEPDIR分別連接單片機的兩個控制端口,EN可以使用單片機端口控制,也可以直接連接GND使能;MS1MS2MS3按照上一節“步進模式設置”,接高低電平,設置步進模式,來選擇不同的步距角。設置脈沖的頻率,來控制旋轉速度。 2B2A1A1B分別接步進電機紅、藍、黑、綠線。
VMOTGND12V左右直流電源(電壓大小更具步進電機不同,選擇合適電壓)。 VDDGND3.3V5V 7 實驗代碼
  1. //初始化步進電機控制端口
  2. //STEP1 PCout(4)
  3. //DIR1 PCout(5)
  4. void STEP_Init(void)
  5. {
  6. RCC->APB2ENR|=1<<4; //使能PORTC時鐘
  7. GPIOC->CRL&=0XFF00FFFF;
  8. GPIOC->CRL|=0X00330000;
  9. }
  10. //dir:為方向控制,TRUE:正轉 FALSE:反轉
  11. //period為周期
  12. //steps:脈沖個數
  13. void Step_Control(u8 dir,u16 period,u32 steps)
  14. {
  15. u32 i;
  16. for(i=0; i <= steps;i++)
  17. {
  18. DIR = dir;
  19. STEP = 1;
  20. delay_us(1);
  21. STEP = 0;
  22. delay_us(period);
  23. }
  24. }
  25. #define TRUE 1
  26. #define FALSE 0
  27. //端口定義
  28. #define STEP PCout(4)
  29. #define DIR PCout(5)
  30. int main(void)
  31. {
  32. Stm32_Clock_Init(9); //系統時鐘設置
  33. delay_init(72); //延時初始化
  34. STEP_Init(); //步進電機驅動端口初始化
  35. LED_Init(); //初始化與LED連接的硬件接口
  36. while(1)
  37. {
  38. LED = !LED;
  39. Step_Control(FALSE,1600,200);
  40. delay_ms(1000);
  41. Step_Control(TRUE,1600,400);
  42. delay_ms(1000);
  43. }
  44. }
程序實現功能:電機反轉1圈、正轉2圈。 不改變程序,設置不同的步進模式,觀察步進電機的旋轉角度。 <ignore_js_op>技術分享 A4988步進電機驅動器使用手冊.rar (636.55 KB, 下載次數: 554)
此文件主要包含1:A4988步進電機驅動器使用手冊,主要涉及步進模式設置、與單片機和步進電機的連接方式; 2:A4988芯片手冊; 3:步進電機驅動程序例程 例程是通過延時來實現控制步進電機速度的,缺點就是單片機“其他的不能幹了”;也有使用PWM來控制步進電機的,但是這個缺點就是,調速度時要不停的初始化,脈沖個數也不好控制。個人決定中斷是最好用的,在下次更新的時候我們貼上。



大家還有一個比較關心的問題,就是如何調節A4988電機驅動的輸出電流
<ignore_js_op>技術分享

最大輸出電流,與Rs和Vref有關,I=Vref/(8*Rs)。
Rs:在驅動板上是0805的貼片電阻封裝,通過上面的絲印,R***,可以知道電阻的阻值,我手中的模塊上面的電阻絲印為R100,電阻阻值為0.1Ω。
滑動變阻器:驅動板上的滑動變阻器為圓形的,上面有一個缺口,默認向下,順時針旋轉時,相當於上圖的滑動電阻指針向左移動,當缺口朝向A4988芯片時,是一個0Ω和10k的臨界狀態。
VDD加5V電源, Vref的最大電壓為1.67,I=1.67/(8*0.1)=2.09A。步進電機實際測得的電壓是A4988輸出電流的0.7倍,即1.46A。步進電機不同,承受的電流也不同,17HS5413的電流為1.3A,此時的輸出電流,已經高於電機所承受電流,需要將滑動變阻器逆時針旋轉。

A4988驅動42步進電機