欧美极品高清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