ARDUINO 步進電機驅動(按鍵控制 速度+位置+復位)

前言:這是一個課程設計,比較簡單,線路、程序完全是我們自己做出來的(兩天時間),分享給需要的同學參考一下。

1、因爲沒有限位開關,所以用一個按鍵代替前後的限位開關。用步進電機的轉動圈數作爲位置(計算實際位移其實只要幾個公式就行),用脈衝的週期作爲速度(實際速度也很好計算的啦)。

2、因爲時間和單片機限制(arduino只有兩個外部中斷口),沒有采用中斷的形式讀取按鍵。大家可以在此基礎上改進哦!

 

1、設計要求和設計參數

該模組由57BY系列兩相混合步進電機驅動,電機相關參數如下:額定電壓:12~48V,額定電流2A,步距角:1.8°,扭矩0.294~0.882N.m。要求:實現對模組速度和位置控制,並有復位功能和限位保護功能。

2、設計思路

本設計採用M415B步進電機驅動器控制步進電機,核心控制模塊採用Arduino-UNO單片機,通過控制脈衝個數來控制電機的角位移量,從而達到準確定位的目的,通過控制脈衝頻率來控制電機轉動的速度和加速度,從而到達調速的目的。此外,採用五個按鍵下達命令:加減速、變向、開始停止、復位、限位開關。系統設計如圖 1所示。

其中,弱電接線信號:

PUL+:脈衝信號,上升沿有效,每當脈衝由低變高時電機走一步。

DIR+:方向信號,TTL電平驅動。

ENA+:使能信號,禁止或允許驅動器工作,低電平禁止。

PUL-:脈衝信號地。

DIR-:方向信號地。

ENA-:使能信號地。

 

其中,強電接線信號:

GND:直流電源地。

+V:直流電源正極,典型24V。

A+A-:電機A相。

B+B-:電機B相。

3、其他

電機驅動板上還有四個撥碼開關,改變撥碼開關的組合從而實現精度細分。如果開關都爲on(默認情況下),是200脈衝/圈。其他細分情況如下表:

步進電機驅動的相關連接:https://blog.csdn.net/ylzmm/article/details/78942660

步進電機AB相的確定及連線:http://m.gkong.com/bbs/439136.ashx?page=1

4、單片機控制主程序流程圖

5、 程序下載鏈接https://download.csdn.net/download/weixin_40820983/11187868

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章