直流电机驱动实验电路搭建与驱动程序设计
基于口袋机综合实验设计
一、实验目的
二、实验设备
三、实验原理
四、实验代码解析
五、实验步骤
六、实验现象
七、拓展思考
八、应用领域
一、实验目的
了解EDA软件。程序的下载和仿真
了解如何正确分配和配置单片机的I/O口
熟悉和使用直流电机的驱动。
二、实验设备
口袋机
口袋机下载线
JC-PM5模块
JC-PM15实验扩展板
三、实验设备
实验器件简介:
直流电机(directcurrentmachine)是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。
三、实验原理
直流电机驱动模块原理图:
原理图说明
驱动芯片采用DRV8833PW,双H桥驱动
功能说明
口袋机交替输出两路PWM给DRV8833,正转时,IN1是低电平,IN2输出PWM,反转时相反。
使用口袋机上的触摸按键对电机进行控制
A:启动 D:停止 B:正转 C:反转上:加速 下:减速
P4是连接电机的接口
U1是电机驱动芯片DRV8833PW(在芯片资料文件夹有芯片资料)
先打开芯片资料仔细阅读
三、实验原理
实验原理:
标准的H桥驱动
原理图中网络表IN1和IN2是驱动信号输入端
控制原理:IN1为高,IN2为低,电机以一个方向全速转动
I N1为低,IN2为高,电机以另外一个方向全速转动
三、实验原理
实验原理:
如果需要调速怎么办?
引入一个最常用的PWM信号(PulseWidthModulation)脉宽调制
比如IN1给高电平的时候,我们不是全部时间给高电平,而是给一个方波
通过调整这个方波的占空比,来控制电机的转速,电机是一个具有惯性的不敏感元件
所以给频率比较高的方波,电机不会有顿挫的现象,只是会改变转速
三、实验原理
程序分析:
打开gpio文件
右边会有模块的引脚定义
D14PWMD15PWM是电机的的两个控制引脚
D12SLEEP是驱动芯片的休眠控制
F1INT是电机的编码器输出
E13FAULT是电机驱动过载信号输出
D12控制芯片的休眠,我们不需要芯片休眠,所以就一直输出高电平
F1INT是编码器的输出,单片机是输入,所以设置成上拉双向端口
E13FAULT是驱动芯片过载输出,单片机是输入
三、实验原理
程序分析:
在电机的尾部有一个磁铁,和一个磁霍尔传感器用于测量电机的转速,原理为:环形磁铁一圈有若干个NS级,当磁铁旋转后,NS级会经过磁霍尔传感器,磁霍尔传感器就会输出方波,转速越快,方波频率越高,这个方波信号连接到了单片机的外部中断引脚PF1
三、实验原理
程序分析:
讲价一下单片机的外部中断
单片机的按键是通过一直读取端口电平的方式来判断按键的高低电平变化的,
缺点是,需要一直读取端口电平,不能做其他事情,如果做其他事情,有可能会错过高低电平的变化。如果使用外部中断的方式,那就比较方便了,平时单片机主循环运行其他程序,只有中断引脚有高低电平变化后,会产生一个中断,主循环的程序会暂停,跳转到中断服务函数中,中断服务函数执行完后,再回到刚才程序暂停的地方继续运行。
上图就是外部中断端口PF1,外部中断初始化函数
三、实验原理
程序分析:
MOTO.c文件中EXTI1_IRQHandler(void)//INT1中断入口
就是外部中断的服务函数,每次P33端口有高低电平变化,就会进入这个函数
函数中,只执行了一句,就是把转速计数变量code_count加1。
三、实验原理
程序分析:
计算转速原理:在单位时间内,来了多少个脉,才能计算转速,这个单位时间怎么得到?
单片机最常用的一个功能就是:定时器
我们使用了定时器3,上图为定时器3的初始化函数
voidTIM3_IRQHandler(void)是定时器的中断服务函数
四、实验原理
模块引脚说明:
四、参考代码分析
直流电机配置函数
详细配置函数见参考程序
五、参考代码分析
主函数
时钟初始化
开始
外设初始化
按键触发
结束