欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
L298N步進(jìn)電機(jī)調(diào)速
[打印本頁]
作者:
徐天贊
時(shí)間:
2019-3-14 15:59
標(biāo)題:
L298N步進(jìn)電機(jī)調(diào)速
實(shí)驗(yàn)?zāi)康模褐悄苄≤囃ㄟ^單片機(jī)和電機(jī)驅(qū)動(L298N)實(shí)現(xiàn)PWM調(diào)速。
內(nèi)容分為以下部分:
1.1 電機(jī)驅(qū)動芯片(L298N)
1.2 調(diào)速原理
1.3 PWM調(diào)速原理圖
1.4 操作流程
1.5 編程思路及調(diào)速代碼
1.6 實(shí)際接線
1.1 電機(jī)驅(qū)動芯片(L298N)
L298N是ST公司生產(chǎn)的一種大電流、高電壓的電機(jī)驅(qū)動芯片。該芯片采用15腳封裝。其主要特點(diǎn):輸出電流大;工作電壓高;內(nèi)含兩個(gè)H橋高電壓大電流全橋式驅(qū)動器,可驅(qū)動直流電動機(jī)或步進(jìn)電動機(jī);采用TTL標(biāo)準(zhǔn)邏輯電平信號控制;有兩個(gè)使能端,在不受輸入信號影響的情況下允許或禁止電機(jī)工作;有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可外接檢測電阻,將變化量反饋給控制電路。
若要對直流電機(jī)進(jìn)行PWM調(diào)速,需設(shè)置IN1和IN2,確定電機(jī)的轉(zhuǎn)動方向,然后對使能端輸出PWM脈沖,即可實(shí)現(xiàn)調(diào)速。
1.2 調(diào)速原理
PWM(晶體管脈寬調(diào)制)控制,一般是配合H橋驅(qū)動電路來實(shí)現(xiàn)直流電機(jī)的調(diào)速功 能,這種調(diào)速方法簡單、調(diào)速范圍廣,它是利用了直流斬波原理。
直流電機(jī)的轉(zhuǎn)速與附加在電機(jī)上的端電壓成正比,電壓低,轉(zhuǎn)速慢;電壓高,轉(zhuǎn)速快。而電機(jī)兩端的端電壓又與單片機(jī)輸出的控制波形的占空比成正比,所以,直流電機(jī)的轉(zhuǎn)速與占空比成正比例。占空比越小,電機(jī)轉(zhuǎn)速越慢,當(dāng)占空比達(dá)到最大值1時(shí),電機(jī)轉(zhuǎn)速達(dá)到最大。并通過單片機(jī)自帶的串行口接收主機(jī)傳輸過來的控制智能小車運(yùn)動方向和速度(即占空比)的信號,方便、及時(shí)、可靠、簡潔地控制智能小車的運(yùn)動狀態(tài)。
1.3 PWM調(diào)速原理圖
L298N
CPU
1.4 操作流程
打開KEIL→建立工程→創(chuàng)建main.c文件→編程→project→Options→Output→選中生成HEX文件→build檢查一下,并生成HEX文件→普中ISP中找到對應(yīng)的.hex文件,程序下載到小車的板子上。
1.5編程思路及調(diào)速代碼
編程思路:在程序中用單片機(jī)的IO口模擬出PWM信號來,也就是控制IO口輸出的高低電平的時(shí)間,利用不同時(shí)間實(shí)現(xiàn)不同占空比,繼而控制驅(qū)動電路,改變電機(jī)的轉(zhuǎn)速。
有兩種方法控制調(diào)速,一個(gè)是用中斷程序,一個(gè)是用延時(shí)函數(shù)
(1)使用中斷程序的代碼如下:
#include<reg52.h>
unsigned char pwm_left_val = 150;//左電機(jī)占空比值0~170之間越小越快
unsigned char pwm_right_val = 50;//右電機(jī)占空比值0~170之間越小越快
unsigned char pwm_t;//周期
sbit IN1=P0^0; //宏定義端口將IN1定義P0.0端口
sbit IN2=P0^1; //宏定義端口將IN2定義P0.1端口
sbit IN3=P0^3; //宏定義端口將IN3定義P0.3端口
sbit IN4=P0^4; //宏定義端口將IN4定義P0.4端口
sbit EN1=P0^2; //宏定義端口將EN1定義P0.2端口
sbit EN2=P0^5; //宏定義端口將EN2定義P0. 5端口
void forword () //讓電機(jī)正轉(zhuǎn)函數(shù)
{
IN1=1;
IN2=0; //讓左電機(jī)正轉(zhuǎn)
IN3=1;
IN4=0; //讓右電機(jī)正轉(zhuǎn)
}
void Time1 (void) interrupt 1 //定時(shí)器中斷服務(wù)程序
{
Pwm_t++; //每次給周期加一
if(pwm_ t == 255) //pwm_t加到最大值
pwm_t=EN1=EN2=0; //將三個(gè)值清零
if(pwm_left_val==pwm t) //判斷左電機(jī)占空比與周期pwm_t相等就給EN1使能
EN1=1;
if(pwm_right_val==pwm_t) //判斷右電機(jī)占空比值與pwm_t相等就給EN2使能
EN2=1;
}
void main (void)
{
TMOD|= 0x02; //8位自動重裝
TH0 = 220; //給定時(shí)器0高八位220
TL0 = 220; //給定時(shí)器0低八位220
TR0=1; //啟動定時(shí)器0
ETO=1; //允許定時(shí)器0中斷
EA = 1; //打開總中斷
while (1)
{
forword() ; //調(diào)用函數(shù)讓電機(jī)正轉(zhuǎn)
}
}
(2)使用延時(shí)函數(shù)的代碼如下:
作者:
夢縈藍(lán)寶
時(shí)間:
2019-3-20 20:15
樓主 沒有發(fā)完么??
作者:
xiaozhong1314
時(shí)間:
2019-7-22 08:57
沒發(fā)完啊
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1