久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于STM32單片機的PWM直流調速系統仿真與程序設計
[打印本頁]
作者:
__myth丶
時間:
2021-4-20 18:22
標題:
基于STM32單片機的PWM直流調速系統仿真與程序設計
本帖包含仿真與例程,是基于STM32單片機的PWM直流電機調速,通過定時器3的三通道即B0口輸出PWM波,繼而通過L298N驅動芯片驅動電機轉動,并通過LCD液晶顯示電機的狀態與擋位。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png
(44.26 KB, 下載次數: 40)
下載附件
2021-4-20 19:16 上傳
單片機源程序如下:
#include "sys.h"
#include "timer.h"
#include "gpio.h"
#include "key.h"
#include "math.h"
#include "lcd12864.h"
int main(void)
{
u16 arr=60000;
u16 psc=2;
u16 led_dt = 550;
unsigned char KEY=0;
int start=0;//電機啟停變量
int D=100;//電機轉速調節參數
int d=1;//電機擋位變量,擋位1-6
RCC_Configuration(); //系統時鐘初始化
GPIO_Configuration();//端口初始化
TIM3_Configuration(arr,psc);//定時器和pwm配置
Key_Init();
Init_12864(); //初始化12864液晶
LCD_DispACat(8,8);
LCD_P6x8Str(5,45,"PWM-->Motor");
GPIO_ResetBits(GPIOC,GPIO_Pin_5);
GPIO_ResetBits(GPIOC,GPIO_Pin_6);
while(1)
{
TIM_SetCompare3(TIM3,led_dt*D); //用的是TIM3的通道2,輸出PWM 送到相應的寄存器中
KEY=Key_Scan();
//***********************電機啟停***************************//
if(KEY==67)//C啟動
{
delay_ms(1);//延時消抖
start=1;
GPIO_SetBits(GPIOC,GPIO_Pin_5);
GPIO_ResetBits(GPIOC,GPIO_Pin_6);
LCDClearScreen(AllScreen);
LCD_P6x8Str(4,25," start ");
}
if(KEY==68)//D停止
{
start=0;
GPIO_ResetBits(GPIOC,GPIO_Pin_5);
GPIO_ResetBits(GPIOC,GPIO_Pin_6);
LCDClearScreen(AllScreen);
LCD_P6x8Str(4,25," stop ");
}
//*********************電機正反轉***************************//
if((KEY==42)&&(start==1))//“*”的ascll碼是42,控制電機反轉
{
GPIO_SetBits(GPIOC,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_5);
LCDClearScreen(AllScreen);
LCD_P6x8Str(4,11,"Negative Direction");
}
if((KEY==35)&&(start==1))//“#”的ascll碼是35,控制電機正轉
{
GPIO_SetBits(GPIOC,GPIO_Pin_5);
GPIO_ResetBits(GPIOC,GPIO_Pin_6);
LCDClearScreen(AllScreen);
LCD_P6x8Str(4,11,"Positive Direction");
}
//**********************電機加減速**************************//
if((KEY==65)&&(start==1))//A加速
{
D=D-20;
d++;
if(D<10)
{
D=0;
d=6;
}
LCDClearScreen(AllScreen);
LCD_P6x8Str(4,27," Speed up ");
}
if((KEY==66)&&(start==1))//B減速
{
D=D+20;
d--;
if(D>100)
{
D=100;
d=1;
}
LCDClearScreen(AllScreen);
LCD_P6x8Str(4,27," Slow down ");
}
if(start!=0)
{
Key_Gear(d);
}
// if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7)== Bit_RESET)
}
}
復制代碼
屏幕可以顯示,但是電機不轉,求幫助:
Desktop.7z
(283.04 KB, 下載次數: 42)
2021-4-20 19:17 上傳
點擊文件名下載附件
作者:
51hei團團
時間:
2021-4-20 19:23
不管按哪個鍵,電機都不轉,問題大概在哪里?
作者:
__myth丶
時間:
2021-4-21 12:41
我是作者,俺也不知道咋回事,就是在加LCD之前都還是好好的,加了之后就感覺仿真帶不動了一樣,其實我感覺整個程序和仿真應該沒有問題,但是屏蔽關于LCD的代碼也不管用了。電機是轉的,要先點啟動鍵,才能執行其他操作,但是一點啟動鍵就會變很卡,建議打開示波器會看的明顯一些,再然后你點加速會在卡一會后觀察到PWM波形占空比發生變化。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产电影精品久久
|
中国一级特黄视频
|
夜久久
|
日韩精品在线播放
|
一级特黄视频
|
人人干人人爽
|
亚洲国产欧美日韩
|
99久久久国产精品免费消防器
|
久色网
|
91xh98hx 在线 国产
|
a中文在线视频
|
国产一区欧美
|
在线国产小视频
|
中文字幕 欧美 日韩
|
一级女毛片
|
欧美日韩a
|
毛片区
|
无码日韩精品一区二区免费
|
男女羞羞视频在线观看
|
亚洲国产aⅴ精品
|
亚洲国产成人一区二区
|
国产精品成人av
|
欧美精品成人
|
日韩毛片在线视频
|
日韩成人免费av
|
欧美韩一区二区
|
日韩av中文
|
欧美日韩在线播放
|
韩日视频在线观看
|
在线看片网站
|
91视频电影
|
国产免费a视频
|
最新黄色在线观看
|
在线视频 欧美日韩
|
91精品中文字幕一区二区三区
|
荷兰欧美一级毛片
|
亚洲欧美一区二区三区国产精品
|
国产91在线播放
|
国产精品久久久久久久久久软件
|
国产精品色综合
|
日本国产一区二区
|