设计任务:以STM32微控制器为核心,设计一个直流电机调速装置。

利用STM32微控制器的PWM功能,设计一个直流电机闭环调速电路。整体装置采用电池供电,需进行装置各部分供电电路设计,测速方案设计,具有合理的人机控制界面。

首先通过调用定时器 HAL 库函数 HAL_TIM_PWM_Init 初始化 TIM3 并设置 TIM3 的 ARR 和 PSC 等参数,其次通过调用函数 HAL_TIM_PWM_ConfigChannel 设置 TIM3_CH4 的 PWM 模式以及比较值等参数,最后通过调用函数 HAL_TIM_PWM_Start来使能 TIM3 以及使能 PWM 通道TIM3_CH4输出。

主函数如下:

int main(void)

{

u8 key;

u16 led0pwmval=0;

HAL_Init();                     //初始化HAL库

Stm32_Clock_Init(360,25,2,8);   //设置时钟,180Mhz

delay_init(180);                //初始化延时函数

uart_init(115200);              //初始化USART

LED_Init();                     //初始化LED

TIM3_PWM_Init(500-1,90-1);      //90M/90=1M的计数频率,自动重装载为500,那么PWM频率为1M/500=2kHZ

KEY_Init();                     //初始化按键

while(1)

{

key=KEY_Scan(0);

if(key==KEY0_PRES)             //按键0按下增大占空比

{

led0pwmval+=50; //dir==1 led0pwmval递增

{   led0pwmval=300;}

TIM_SetTIM3Compare4(led0pwmval);

}

if(key==KEY1_PRES)           //按键1按下减小占空比

{

led0pwmval-=50;                     //if(led0pwmval==0)//dir=1; //led0pwmval递减到0后,方向改为递增

TIM_SetTIM3Compare4(led0pwmval); //修改比较值,修改占空比

}

}

}

嵌入式系统课设:基于PWM的直流电机调速课程设计相关推荐

  1. 基于PWM控制直流电机调速的设计

    实验现象:通过S2,S3按键,增加/减小PWM,控制LED灯组的亮灭,同时当高于或低于PWM时,蜂鸣器将工作. #include <reg52.h> #define uchar unsig ...

  2. 基于STM32F103的直流电机调速系统

    一.引言 电动机作为当前最主要的驱动部件,应用范围已遍及国民经济的各个领域,随着微处理器.电力电子.控制等技术的发展,电机控制技术以电力半导体变流器件的应用为基础,以电动机为控制对象,以自动控制理论为 ...

  3. matlab仿真限幅发散,基于模糊控制的直流电机调速系统MATLAB仿真_贾东耀

    基于模糊控制的直流电机调速系统MATLAB 仿真 贾东耀,曾智刚 (广东工业大学,广州市 510090) 摘 要:采用Fuzzy-PI 控制策略进行直流电机的调速系统设计,它克服了简单模糊控制和传统P ...

  4. 计算机控制直流电机闭环调速实验报告,电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf...

    电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf 华南理工大学广州汽车学院华南理工大学广州汽车学院 电力系统实训电力系统实训报告报告 设计题目设计题目基于基于 PLCPLC 的 ...

  5. 地大c语言课程设计题目,中国地质大学数据结构课设-全国铁路运输网最佳经由问题课程设计报告精选.doc...

    中国地质大学数据结构课设-全国铁路运输网最佳经由问题课程设计报告精选 数据结构 上机实习报告 实验题目:全国铁路运输网最佳经由问题 班级: 姓名: 学号: 完成日期:2017年4月25日 目录 课程设 ...

  6. dac0832控制电机驱动流程图_直流电机闭环调速课程设计上机指导

    直流电机闭环调速课程设计上机指导 一.实验目的 1.了解直流电动机速度闭环控制随动系统的组成和工作原理. 2.了解和掌握连续控制系统的PID控制算法的模拟表达式(微分方程). 3.了解和掌握数字PID ...

  7. 【嵌入式系统课设】单个按键控制LED灯

    合工大嵌入式系统课程设计 设计要求: 根据单个按键输入情况控制LED灯的不同显示效果.K1连续按下偶数次时,四个LED灯(LED1~LED4)按1秒(定时器中断实现)的间隔同时闪烁对应的次数,然后保持 ...

  8. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序

    C语言课程设计报告模拟时钟转动程序 课程设计报告题 目 课 程 名 称 结构化程序设计课程设计 院 部 名 称 专 业 班 级 学 生 姓 名 王蕾 学 号 课程设计地点 课程设计学时 指 导 教 师 ...

  9. 基于PID的直流电机调速控制系统

    全套资料下载地址:https://download.csdn.net/download/sheziqiong/86772168 全套资料下载地址:https://download.csdn.net/d ...

最新文章

  1. 关于调用子函数给主函数指针分配内存
  2. STM32使用FatFs
  3. ubantu 中配置Flash Player
  4. 个人或结对项目 - 动态显示程序运算的过程
  5. Python获取文件路径:os.listdir()和os.walk()
  6. C语言基础学习教程之数据类型
  7. Mac版Java反编译工具jd-gui解压即用
  8. 27000字,103天,16篇:深入浅出Pandas数据分析
  9. 不得不学的统计学基础知识(一)
  10. 用html制作简单考试系统,巧用EXCEL制作模拟考试系统
  11. php mysql 嵌套查询_MYSQL数据库MySQL嵌套查询实例详解
  12. 聚类分析在用户行为中的实例_聚类分析的简单案例
  13. Unity API - A
  14. 有限元剖网格之Gmsh安装与使用入门
  15. 如何在微信上直接打开淘宝,解决微信屏蔽淘宝链接的方法
  16. 抓娃娃机按钮按几下_揭秘娃娃机抓娃娃技巧全攻略
  17. 与谷歌、Facebook 抢夺 AI 人才和公司资源,爱彼迎加入 AI 战场
  18. solr是做什么的?核心技术原理?
  19. 金蝶wise 14.3采购对账付款平台报错处置过程
  20. matlab中frame是什么意思,Matlab中getframe函数的用法

热门文章

  1. 强智科技教务处模拟登录
  2. 利用python对图像进行傅里叶变换_Python模拟及其在傅里叶变换全息图教学中的应用...
  3. C# SolidWorks二次开发 干涉检查
  4. 网络可视化如何提高企业绩效
  5. Win10问题篇:一次性永久关闭win10系统自动更新。
  6. mlcc应用范围_什么是独石电容,MLCC电容有哪些特点、分类、作用以及应用
  7. php定义字符串的数据类型,PHP中的数据类型
  8. 开学都需要什么新装备、建议学生们看看这份好物清单
  9. 超级好用的Mac软件
  10. python类的方法中定义函数