久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3761|回復: 2
收起左側

L298N步進電機調速

[復制鏈接]
ID:330146 發表于 2019-3-14 15:59 | 顯示全部樓層 |閱讀模式
實驗目的:智能小車通過單片機和電機驅動(L298N)實現PWM調速。
內容分為以下部分:
1.1  電機驅動芯片(L298N)
1.2  調速原理
1.3  PWM調速原理圖
1.4  操作流程
1.5  編程思路及調速代碼
1.6  實際接線

1.1   電機驅動芯片(L298N)
L298N是ST公司生產的一種大電流、高電壓的電機驅動芯片。該芯片采用15腳封裝。其主要特點:輸出電流大;工作電壓高;內含兩個H橋高電壓大電流全橋式驅動器,可驅動直流電動機或步進電動機;采用TTL標準邏輯電平信號控制;有兩個使能端,在不受輸入信號影響的情況下允許或禁止電機工作;有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可外接檢測電阻,將變化量反饋給控制電路。
若要對直流電機進行PWM調速,需設置IN1和IN2,確定電機的轉動方向,然后對使能端輸出PWM脈沖,即可實現調速。

1.2   調速原理
PWM(晶體管脈寬調制)控制,一般是配合H橋驅動電路來實現直流電機的調速功 能,這種調速方法簡單、調速范圍廣,它是利用了直流斬波原理。
直流電機的轉速與附加在電機上的端電壓成正比,電壓低,轉速慢;電壓高,轉速快。而電機兩端的端電壓又與單片機輸出的控制波形的占空比成正比,所以,直流電機的轉速與占空比成正比例。占空比越小,電機轉速越慢,當占空比達到最大值1時,電機轉速達到最大。并通過單片機自帶的串行口接收主機傳輸過來的控制智能小車運動方向和速度(即占空比)的信號,方便、及時、可靠、簡潔地控制智能小車的運動狀態。
1.3   PWM調速原理圖
         
                        L298N

                      CPU
1.4   操作流程
打開KEIL→建立工程→創建main.c文件→編程→project→Options→Output→選中生成HEX文件→build檢查一下,并生成HEX文件→普中ISP中找到對應的.hex文件,程序下載到小車的板子上。

1.5編程思路及調速代碼
編程思路:在程序中用單片機的IO口模擬出PWM信號來,也就是控制IO口輸出的高低電平的時間,利用不同時間實現不同占空比,繼而控制驅動電路,改變電機的轉速。
有兩種方法控制調速,一個是用中斷程序,一個是用延時函數

(1)使用中斷程序的代碼如下:
#include<reg52.h>
unsigned char pwm_left_val = 150;//左電機占空比值0~170之間越小越快
unsigned char pwm_right_val = 50;//右電機占空比值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 ()   //讓電機正轉函數
{
    IN1=1;
IN2=0;  //讓左電機正轉
IN3=1;
  IN4=0;  //讓右電機正轉
}
void Time1 (void) interrupt 1 //定時器中斷服務程序
{
Pwm_t++;  //每次給周期加一
if(pwm_ t == 255)    //pwm_t加到最大值
pwm_t=EN1=EN2=0;   //將三個值清零
if(pwm_left_val==pwm t)  //判斷左電機占空比與周期pwm_t相等就給EN1使能
   EN1=1;
if(pwm_right_val==pwm_t)  //判斷右電機占空比值與pwm_t相等就給EN2使能
EN2=1;
}
void main (void)
{
TMOD|= 0x02;   //8位自動重裝
TH0 = 220;    //給定時器0高八位220
TL0 = 220;    //給定時器0低八位220
TR0=1;       //啟動定時器0
ETO=1;      //允許定時器0中斷
EA = 1;    //打開總中斷

while (1)
    {
forword() ;   //調用函數讓電機正轉
}
}

(2)使用延時函數的代碼如下:




回復

使用道具 舉報

ID:427288 發表于 2019-3-20 20:15 | 顯示全部樓層
樓主  沒有發完么??
回復

使用道具 舉報

ID:421308 發表于 2019-7-22 08:57 | 顯示全部樓層
沒發完啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99久热在线精品视频观看 | 操操操操操 | 亚洲精品一区二区三区蜜桃久 | 久久日韩粉嫩一区二区三区 | 国产sm主人调教女m视频 | 日韩久久久久久 | 成人免费精品 | 亚洲综合大片69999 | 91麻豆产精品久久久久久 | 操人网站 | 日本人和亚洲人zjzjhd | 国产精品一区在线播放 | 国产主播第一页 | 福利色导航 | 成人深夜小视频 | 老熟女毛片 | 免费一区二区 | 欧美激情a∨在线视频播放 成人免费共享视频 | 亚洲精品久久久久久久久久吃药 | 99久热在线精品视频观看 | 日本在线网址 | 男女激情网| 中文字幕在线观看国产 | 黄色国产在线视频 | 久久伦理中文字幕 | 欧美日韩在线观看视频 | 久久精品欧美一区二区三区不卡 | 99福利在线观看 | 亚洲字幕在线观看 | 一区二区三区在线免费 | 亚洲一区日韩 | 国产精品视频在线播放 | 日韩视频福利 | 欧美日在线 | 亚洲高清在线观看 | 日韩av电影在线观看 | 青青草一区二区 | 日操夜操| 欧美日韩淫片 | 亚洲国产成人精品女人久久久 | 日本黄色大片免费 |