步進電機正反轉實驗報告
一、實驗名稱:
步進電機正反轉訓練
二、控制要求
要求實現(xiàn)電機的正轉三圈,反轉三圈,電機正轉和反轉的頻率可不相同,然后這樣循環(huán)3次,3次后電機停止轉動。
三、PLCI/O地址分配表
PLC的I/O地址Y0電機轉向輸出點Y1電機的轉速輸出點連接的外部設備控制轉速點CP控制轉向點CW四、程序梯形圖
五、程序分析:
M11、M12、M13的波形圖
M21、M22、M23的波形圖
電機正轉的頻率是20赫茲,通過MOV指令送到D5中,在電機正傳三圈后,電機反轉,反轉的頻率是40赫茲,通過MOV指令送到D5中。電機正轉3次,反轉2次,再通過M23得電進入正轉,重復上面的循環(huán),即電機正轉后再反轉,M23才得電一次,所以可以加一個M23控制一個計數(shù)器計數(shù),當計數(shù)器計數(shù)到3時,再通過計數(shù)器的常閉開關把M10線圈斷電,從而實現(xiàn)電機停止。
擴展閱讀:微機實驗報告 步進電機正反轉及調(diào)速設計
微機原理與接口設計實驗報告
步進電機正反轉及調(diào)速設計
專業(yè):機械設計制造及其自動化班級:10090112
小組成員:周先軍10901239
張賡10901240胡一國08901312
組別:B5
摘要:本系統(tǒng)是基于STM8系列單片機的步進電機轉速轉向控制器。該系統(tǒng)采用STM8S103F3P6單片機作為主控制器,運用L298全橋驅動器驅動步進電機,通過搖桿、按鍵控制電機轉速,并且通過1602液晶顯示器顯示當前轉速。該系統(tǒng)中使用的四相步進電機,具有控制精度高,轉動扭矩大等特點,實際生產(chǎn)中有廣泛的運用。系統(tǒng)中除了傳統(tǒng)按鍵控制外,還增加遙控控制,單片機通過AD讀取搖桿控制信號,實時控制電機轉速。整個系統(tǒng)具有結構簡單、可靠性高、成本低和實用性強等特點,具有較高的通用性和應用推廣價值。
關鍵詞:控制
單片機控制驅動電路正反轉搖桿四相步進電機STM8L2一、系統(tǒng)方案1.1控制系統(tǒng)方案
方案一:采用8086系列單片機。8086是Inter系列的16位微處理器,數(shù)據(jù)處理能力強。但是8086系列的CPU指令數(shù)據(jù)需要放置在內(nèi)存中,需要依賴外部非易失存儲器和RAM才可以工作,外部電路復雜。
方案二:采用STM8系列單片機。STM8是意法半導體生產(chǎn)的8位單片機,哈弗結構。擁有8K字節(jié)Flash,1K字節(jié)RAM,1KEEPROM,內(nèi)部集成5路10位ADC,高級控制定時器可帶死區(qū)控制PWM、以及SPI、I2C等接口。整體性能優(yōu)越,價格便宜,周邊電路簡單。綜上對比,選擇方案二。
1.2驅動電路方案
方案一:采用ULN201*達林頓管陣列控制電機。ULN201*是高耐壓、大電流復合晶體管陣列,由七個硅NPN復合晶體管組成,工作電壓高,工作電流大,灌電流可達500mA。但系統(tǒng)采用通用四線四相步進電機,需要兩路同時灌、輸電流,該驅動設計只能滿足5線步進電機的驅動,不符合要求。
方案二;采用L298集成全橋驅動芯片。L298內(nèi)部含有4通道邏輯驅動電路,是一種二相和四相電機專業(yè)驅動器,內(nèi)含有兩個H橋的高電壓大電流雙全橋式驅動器,接受標準的TTL邏輯電平信號,可驅動46V、2A以下的電機。具有灌電流功能。適用于本系統(tǒng)采用的4線步進電機,經(jīng)對比采用方案二。
1.3控制信號采集
方案一:通過按鍵輸入,控制電機轉速加減。有液晶屏幕輔助顯示設定電機方案二:通過PS2搖桿和MMA7361加速度傳感器產(chǎn)生欲控制的信號,通過單對比兩種方案,方案二操作更加方便直觀,用戶體驗樂趣強,電路設計簡單。轉向、轉速信息。
片機的AD采樣進行信號采集,進行實時控制。因此采用方案二。1.4電源供電電路
本系統(tǒng)中步進電機供電7.2V,單片機控制板供電5V,最小系統(tǒng)板供電3.3V,傳感器供電3.3V。為了使用方便,本系統(tǒng)采用7.2V電池組統(tǒng)一供電。通過開關電源芯片TPS54331降壓到5V,為單片機控制板供電;采用LM1117-3V3線性電源芯片降壓到3.3V,為單片機和傳感器供電。1.5系統(tǒng)組成框圖
圖1.5
二、硬件設計
2.1、驅動電路(L298)
圖2.1
2.2、控制系統(tǒng)電路(STM8)
圖2.2
2.3、供電電源電路(TPS54331)
圖2.3
三、軟件設計
整個系統(tǒng)軟件分為AD信號采集和電機信號輸出兩個部分。采集信號的AD值與程序設定的中值范圍(AD0-AD1)進行比較。小于AD0,輸出反轉信號;大于AD1,輸出正轉信號。實際AD值與中間值差值,對應輸出信號頻率,從而控制步進電機轉速。(附錄1)
開始初始化While(1)AD采樣
AD=中間值停止4.2電機控制信號測試
為了檢測單片機輸出信號,在控制電路板上安裝了一組LED燈。通過觀察LED燈的閃爍順序,校驗輸出電機的信號相序。單片機通過PA5采集傳感器信號,通過PC3、PC4、PC5、PC6四個I/O口輸出控制信號。默認狀態(tài)為低電平,對于LED為亮;當I/O口置高,LED燈熄滅。用搖桿擺動輸入欲控制信號,單片采樣處理后輸出,通過觀察熄滅LED燈的流動順便和周期大小,可以直觀的反映I/O口輸出信號,從而能很好的校驗輸出相序信號。
4.3測試結果分析
連接好個模塊電路,接通電源。首先使用搖桿做傳感器,搖桿復位處于中間狀態(tài)時,電機停止;往左搖動,電機反轉,往右搖動,電機正轉。而且搖動幅度越大,轉速越快。使用加速度,將傳感器平放,電機停止;向左傾斜,電機反轉;向右傾斜,電機正轉;傾斜角度越大,轉速越快。經(jīng)過以上測試,該系統(tǒng)比較好完成了題目的設計要求。
五、總結
本設計較完滿的完成了題目的基本要求。采用STM8單片機,運用C語言編寫程序;運用AltiumDesigner設計PCB電路,通過打印、轉印、腐蝕、鉆孔等工序制作腐蝕電路板;通過網(wǎng)站下載芯片PDF文檔,學習了怎么使用新的電子芯片,設計周邊電路。傳感器部分使用PS2搖桿和加速度傳感器,使得實際操控有很多的樂趣。通過本設計,很好的了解了電路板的設計制作過程,增強了團隊的合作精神。通過測試,成功實現(xiàn)了四線步進電機的正反轉及轉速控制。
附件1
/**微機原理與接口設計B5LED流水燈(步進電機)周先軍
201*425*//*Includes------------------------------------------------------------------*/#include"stm8s.h"#include"USART.h"#include"delay.h"#include"1602.h"#include"PWM.h"#include"TIM.h"#include"ADC.h"#include"GPIO.h"#include"eeprom.h"#include
/*Privatedefines-----------------------------------------------------------*/voidCLK_Configuration(void);voidGPIO_Configuration(void);voidEXTI_Init(void);
/*Privatefunctionprototypes-----------------------------------------------*///串口參數(shù)
u8RxBuffer1[40];u8RxCounter1=0;u8RxBuffer2[40];u8RxCounter2=0;
voidmain(void){
u16AD;inti;
CLK_Configuration();GPIO_Configuration();
ADC_Init(2,ADC1_PRESSEL_FCPU_D8);ADC_Init(3,ADC1_PRESSEL_FCPU_D8);ADC_Init(4,ADC1_PRESSEL_FCPU_D8);ADC_Init(5,ADC1_PRESSEL_FCPU_D8);ADC_Init(6,ADC1_PRESSEL_FCPU_D8);
Init_1602();
//UART1_DeInit();Uart1_Init(115200);
__enable_interrupt();//開中斷printf("\\r\\nprintfisOK");while(1){
AD=Get_ADC1_Value(3);//*25000L/512L;3.3V對應1024PD2B4(1);B5(1);C3(0);C4(0);C5(0);C6(0);i=1000;if(ADC4(1);
delay_ms(i);C4(0);
C5(1);
delay_ms(i);C5(0);
C3(1);
delay_ms(i);C3(0);}else{
i=0;}
i=Get_ADC1_Value(3);
printf("ANI3=%d\\t\\n",i);//i=Get_ADC1_Value(4);//printf("ANI4=%d\\t",i);//delay_ms(200);}}
/**************系統(tǒng)時鐘初始化*********************/voidCLK_Configuration(void){
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);}
voidGPIO_Configuration(void){
PA3_OUT
PC3_OUTPC4_OUTPC5_OUTPC6_OUTPD4_OUTPD5_OUTPD6_OUTGPIO_DeInit(GPIOD);
GPIO_Init(GPIOD,GPIO_PIN_0,GPIO_MODE_OUT_PP_LOW_FAST);}
#ifdefUSE_FULL_ASSERT
voidassert_failed(u8*file,u32line){
while(1){}}
#endif
友情提示:本文中關于《步進電機正反轉實驗報告》給出的范例僅供您參考拓展思維使用,步進電機正反轉實驗報告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權問題,請聯(lián)系我們及時刪除。