步進電機的調速
繼續繼續。
步進電機轉速控制
一、 任務
在SMSpeed.DSN的電路上實現:當KEY2按下時,電機停止轉動,釋放時繼續轉動。當KEY1按下時,電機以60轉/min的轉速正轉,釋放時以120轉/min的轉速反轉。
二、 設計參考:
① 4相步進電機,每順序切換一相(1步),電機旋轉18°,電機轉動1圈共需要20步。
② 用定時實現對電機轉速的控制(當轉速為60轉/min時,步進時間間隔為50ms;當轉速為120轉/min時,步進時間間隔為25ms)。中斷服務程式步驟如下:
If(KEY1按下)
{
重置定時時間為50ms;
正轉切換到下一步;
}
Else
{
重置定時時間為25ms
反轉切換到下一步;
}
③ 對於TX定時器,若其GATE=1且TRX=1時,則外部訊號(INTX)可直接實現對TX定時器的執行控制(從而實現對電機轉動與停止的控制)。
晶片2003不用管可以直接看IO口,長條那個數碼管是用來計數的然後可以看出頻率。
我的設計思路:
驅動步進電機:依次給電機的4根線低電平就可以動了,我用了簡單的位操作,時間關係不多說。
按鍵設計:這裡接在中斷,我設計的可能比較複雜。
按鍵1:我設定的是低電平觸發,一直按著就一直進去跑中斷的程式碼。出來後主函式還有個判斷就執行另一功能。
按鍵2:低電平觸發,中斷函式啥也不幹,一直按著就相當於卡在中斷裡,就暫停了嘛。
因為涉及了幾個中斷服務所以設定一下優先順序,不然按著暫停 電機還飛快的跑,將定時器的優先順序設定成最低就行了。
#include "reg51.h"
char count = 0; //計數標誌位
char LED = 0;
unsigned char dir = 0; //第幾步的標誌位
unsigned char sign_num = 50; //每步時間的標誌位
char num_Switch = 0; //程式選擇位
sbit key2 = P3^3;
sbit key1 = P3^2;
void delay50ms(void) //?? 0us
{
unsigned char a,b;
for(b=165;b>0;b--)
for(a=150;a>0;a--);
}
void TIMER_Init()
{
TMOD = 0x10; //定時器1,方式1
TH1 = 0xFC; // 初始值1MS進入一次中斷
TL1 = 0x18;
TR1= 1;
ET1 = 1;
IT0 = 0; //兩個INT都設定成低電平出發
EX0 = 1;
IT1 = 0;
EX1 = 1;
EA = 1;
PT1 = 0; //設定定時器位最低優先順序
PX0 = 1; //設定INT0為高優先順序,這句可以不要吧嘿嘿
}
void zhengzhuan() //正轉函式
{
LED = ~(0x01<<dir); P1 = LED;
}
void fanzhuan() //反轉函式
{
LED = ~(0x10>>dir); P1 = LED;
}
void main()
{
TIMER_Init();
LED = 0xff; //初始化LED值
while(1)
{
if(key1==0) num_Switch = 1;
switch(num_Switch) //選擇執行的程式
{
case 0 : zhengzhuan();break;
case 1 : fanzhuan();sign_num = 25;break;
}
}
}
void int0() interrupt 0 //按鍵1
{
while(key1==0)
{
zhengzhuan();
dir++;
if(dir>3)dir=0;
delay50ms(); //延時來控制電機轉動速度
}
}
void int1() interrupt 2 //按鍵2
{
}
void PWM() interrupt 3 //定時器中斷
{
TH1 = 0xFC;
TL1 = 0x18;
count++;
if(dir>3)dir=0; //每走4步一個輪迴
if(count == sign_num) //每走一步的時間
{
dir++;
count = 0;
}
}
OK寫完了。相關文章
- 1, 單相電機及單相調速電機
- 步進電機和伺服電機區別
- 步進電機Linux驅動Linux
- 三菱PLC控制步進電機
- PYB——PWM控制驅動器+步進電機
- DRV8825步進驅動晶片的電流調節與測量晶片
- win10怎麼調機箱風扇轉速_win10如何調機箱風扇轉速Win10
- 發電機過速診斷研究 - 基於LSTM進行狀態監測
- win10怎麼把網速調到最快 win10電腦網速變快的方法Win10
- 基於STM32F1系列,驅動L298N電機驅動板實現直流電機的啟動、停止、調速功能
- Omdia:2022年電信雲演進調查
- Nature封面:科學顛覆性進步明顯「降速」,物理研究下跌100%
- 【二】編碼器原理與電機轉速、角度控制
- 3步搭建Shardowshocks+銳速加速
- Cable:2023年全球網速調查
- 怎麼取消電腦開機密碼 取消電腦開機密碼的步驟詳解密碼
- 怎麼用手機藍芽連線電腦 手機藍芽連線電腦的步驟藍芽
- 【運營速進】如何在電商大促過節而不是渡劫……
- 一個平凡計算機愛好者的linux進步之路計算機Linux
- ESP8266和雙向可控矽在調速調光中的應用
- 樹莓派控制調速以及關於PWM的思考樹莓派
- 電腦怎麼連線印表機裝置 電腦連線印表機操作步驟
- 怎麼用手機重灌電腦系統?手機裝電腦系統操作步驟
- 時代在進步,我們也要跟著進步
- 機器翻譯進化到哪一步了?
- 大量影片色調批次進行調整的方法
- AMD最新速龍200GE配A320電腦主機配置裝機方案
- 無限進步
- 電腦開機就進入bios的解決方法iOS
- Sheila :2021年美國大學生進步和發展調查報告
- win10增加網速的方法_win10如何提高電腦網速Win10
- 【新特性速遞】進度條,進度條,進度條
- win10怎麼測自己電腦網速_win10測試自己電腦網速的方法Win10
- 效能調優五步法
- 最先進的三維建模解決方案,速看!
- 如何有效的對雲專線進行測速
- 亞信安慧AntDB的進步之路
- win10耳機聲音不夠大如何調_win10電腦耳機聲音小的調大步驟Win10