標題: 賽元SC95F8616單片機驅動步進電機源程序 [打印本頁]
作者: jinglixixi 時間: 2020-7-7 07:58
標題: 賽元SC95F8616單片機驅動步進電機源程序
本帖最后由 jinglixixi 于 2020-7-14 00:25 編輯
步進電機是一種常用的執行器件,使用它能進行精準的定位及轉速調節等工作。一個簡單的步進電機驅動要由步進電機、驅動電路及單片機構成,見下圖所示。
1.png (275.02 KB, 下載次數: 56)
下載附件
2020-7-7 07:57 上傳
步進電機驅動的構成圖
為了驅動步進電機,除了硬件方面的準備,還需必要的軟件配合。在易碼魔盒中,就提供了步進電機的外設驅動。由于剛開始學習用易碼魔盒來設計程序,便打算在這方面練練手。
起初試了許多次,都一直沒有成功,就打算用手工編程的方法先讓步進電機轉起來,然后再與易碼魔盒生成的程序進行對比來發現問題。
要手工編寫步進電機驅動程序主要分為以下幾步:
1)分配引腳的使用
以步進電機的MA~ MD引腳分別與P32~ P35相連接
sbit MA = P3^2;
sbit MB = P3^3;
sbit MC = P3^4;
sbit MD = P3^5;
2)定義輸出高低電平的宏定義
#define MAL MA = 0;
#define MAH MA = 1;
#define MBL MB = 0;
#define MBH MB = 1;
#define MCL MC = 0;
#define MCH MC = 1;
#define MDL MD = 0;
#define MDH MD = 1;
3)配置延時函數
配置延時函數的工作在步進電機的驅動中十分重要,它控制著步進電機運轉的快慢。
但問題也正出在這里,對于步進電機來說其速度是與驅動脈沖有關,但也并非脈沖越快,電機的轉速越快。因為電機電機屬于機械器件,要建立相應的磁場及達到相應的扭矩才能使電機轉動。過快的脈沖只會使電機在原地震顫和抖動,并無法旋轉。
使電機轉動的延時函數為:
- void delay_ms(void)
- {
- unsigned char b,c;
- for(c=0;c<180;c++)
- {
- for(b=0;b<8;b++);
- }
- }
- 4)控制電機旋轉方向
- 對于4相5線式步進電機來講,可通過8個節拍的脈沖序列來控制其正反轉。
- 正轉的驅動函數為:
- void zx()
- {
- unsigned char X,Y;
- for(X=0;X<64;X++)
- {
- for(Y=0;Y<8;Y++)
- {
- MDL;
- MAH; //A
- delay_ms();
- MBH; //AB
- delay_ms();
- MAL; //B
- delay_ms();
- MCH; //BC
- delay_ms();
- MBL; //C
- delay_ms();
- MDH; //CD
- delay_ms();
- MCL; //D
- delay_ms();
- MAH; //DA
- delay_ms();
- }
- }
- }
復制代碼
反轉的單片機驅動函數為:
- void fx()
- {
- unsigned char X,Y;
- for(X=0;X<64;X++) // 控制節拍數
- {
- for(Y=0;Y<8;Y++) // 控制節拍
- {
- MDH;
- MAH; //A
- delay_ms();
- MAL; //AB
- delay_ms();
- MCH; //B
- delay_ms();
- MDL; //BC
- delay_ms();
- MBH; //C
- delay_ms();
- MCL; //CD
- delay_ms();
- MAH; //D
- delay_ms();
- MBL; //DA
- delay_ms();
- }
- }
- }
復制代碼
5)主程序控制電機運行
- void main()
- {
- unsigned char rdata=9,f,c;
- delay_ms();
- //停止電機轉動
- MAL;
- MBL;
- MCL;
- MDL;
- delay_ms();
- f=1;//控制轉向
- while(1)
- {
- for(c=0;c<rdata;c++) //控制轉動的位置
- {
- if(f==0)
- fx();
- else
- {
- zx();
- }
- }
- }
- }
復制代碼
作者: shenyuqiu 時間: 2021-4-19 16:05
賽元單片機資料很少,是不是很少人用呀?
作者: JJ.c 時間: 2021-4-19 16:56
做得很好,資料很足
作者: radio0326 時間: 2023-1-13 14:25
賽元的東西找個教程都比較難找,看看樓主的東西學習一下
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
日本粉嫩一区二区三区视频
|
亚洲国产一区二区三区
|
亚洲精品大全
|
日韩在线小视频
|
jizz在线免费观看
|
男人的天堂avav
|
欧美精品一区二区在线观看
|
欧美极品在线观看
|
超碰在线免费公开
|
中文字幕电影在线观看
|
国产伦一区二区三区四区
|
国产日产精品一区二区三区四区
|
欧美日韩一
|
久久一区精品
|
一道本不卡视频
|
欧美激情精品久久久久久变态
|
久草.com
|
国产精品欧美一区二区三区不卡
|
中文字幕成人网
|
天天干天天谢
|
黄色一级毛片
|
91久久久久久|
国产一级在线观看
|
中文字幕一区在线观看视频
|
国产成人av一区二区三区
|
欧美a级成人淫片免费看
|
国产福利精品一区
|
91毛片网
|
日本午夜免费福利视频
|
日韩av网址在线观看
|
久久成人av电影
|
亚洲一区二区三区在线视频
|
日本精品裸体写真集在线观看
|
精品视频导航
|
亚洲欧美中文日韩在线v日本
|
精品福利在线
|
激情视频一区
|
国产精品mv在线观看
|
国产一区二区三区免费视频
|
久久久久久久久综合
|
激情欧美日韩一区二区
|