无刷直流电机控制器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流程图
开始
键盘初始化
查询键盘
是否有按键?
N
Y 延时去抖动
是否有按键? Y
N
读取键值代码
建立无效标志
执行按键
返回
无键按下
•
其他状态 等待键已处理 有键按下
2
1
等待延时时间到
2)液晶显示程序设计
在系统的调试运行过程中,通过液晶显 示系统的运行状态,配合按键的操作,能够 清晰显示工作参数,使操作人员能够直观的 了解系统的运行状况。
无刷直流电机内部机构电路图
两种控制方式 • 交流同步电机控制方式
S
VD1 VD2 VD3
Ra
VT1
VD7
R1
VD13 VT2
VD8
R2
VD14 VT3
VD9
R3
VD15
380V~
Rb Cr
Rc
VTC VD10
C1
C2
C3
电动机
R4
VD16 VT5
VD11
R5
VD17 VT6 C5
VD12
R6
VD18
u
U Owenku.baidu.com
T1
T
u
调制波
载波
O
开的时刻
t
u
关的时刻
SPWM波
O
t
• 三相六拍控制方式
A0 C1 N
90
B1
B0 S A1
C0
转子处于正转状态时霍尔传感器 H1 、 H2 、 H3 感应出来的信号分别为 101 ( AB )、 100 ( AC )、 110 ( BC )、 010(BA)、011(CA)、001(CB) 然后进行下一轮循环。当转子处于 反转的状态,三个霍尔传感器感应 出来的信号则相反。
• 本系统设计是基于AVR开发,其开发 环境支持C/C++,将软件系统看成三大程序 构成,初始化程序、管理程序、维护更新 程序。
初始化主模块中含有微控制器芯片的内部硬 件初始化、过程关系和知识库的初始化。 管理程序各个功能子程序输入和输出有机 结合起来,某个子程序输出是另一个子程序 输入部分。管理程序是各个子程序协调运行 核心管理,在整个调度的过程中均有消息触 发。 维护更新程序就是负责过程是直接的属性 输入输出关系。主要功能是提高系统的自适 应能力以及自学习能力。
初始化主模块
对模块内部硬件和软件变量初始化
程序管理主模块
确定某件任务后,将模块的输入输出连接起 来,某个模块的运行是由另一个模块的出发的
维护更新主模块
为了使模块具有一定的适应性,利用学习和意 识修改知识库中的内容
各主模块结构图
3无刷直流电机控制器主层模块的软 件设计
• 3.1 初始化模块 初始化模块完成主控芯片即ATmega128
• 常用的软件设计方法有模块化—结构化编 程方法、过程化编程方法、面向对象编程 方法以及面向智能体的编程方法。选择合 适的软件设计方法决定了系统软件的结构 是否合理,同时决定了系统实现功能是否 稳定可靠。
纵观这四种编程方法的优缺点,依据实际情 况,本设计采用一种结合模块化结构化和面向 智能体两种方法相结合的新软件编程方法。编 写程序时采用软件模块化和硬件模块化相结合 的方法,首先分硬件模块进行编写各个模块的 软件,然后通过设置标志位,承接各个模块之 间的关系,使之成为一个整体的系统。这样的 编程方法从硬件电路的设计和软件代码的编写 两大方面都大大降低了难度,缩短了系统的开 发周期。
VD4 VD5 VD6
LP
VT4 C4
C6
三相逆变桥工作原理
U RY
VT1 VT2 VT3
U
VT4 VT5 VT6
B
O
U YB
t
t
O
ZR ZB ZY
U BR
(a)
VT1
O
U RO
t
O
U YO
VT2
VT3
t
VT4 VT5 VT6
t1
O
U BO
t
O
t2
t3
t
(c)
t4
t5
t6
(b)
• SPWM调制波
4)定时器 采用M法,定时周期为1ms,根据从单 个霍尔传感器所读取脉冲个数计算无刷直流 电机转速,完成对无刷直流电机速度采集。
模块内部包含的主要元素有过程、作用、回馈 和知识库,与这些元素相联系的外部元素为输入、 输出、学习和意识。内部和外部元素之间相辅相成, 构成一个完整的系统。该系统化的基本思想是:当 外部输入进入到模块内部时,通过过程运行,运行 的结果输出到外部,同时反馈给知识库。
2 无刷直流电机控制器的整体软件 结构
维持正常工作的基本配置以及初始化外围硬件在 上电以后应该保持的状态。同时完成各个模块知 识库参数的初始化以及系统各个模块完成功能的 初始化。
1)CPU的初始化 a、时钟的初始化
b、I/O的初始化 c.初始化定时中断 2)其它模块的初始化 3.2 管理模块
管理模块是实现软件系统功能的中轴,分为 主程序和中断服务程序,它们之间没有运行的先 后顺序,并没有强调同步与异步,管理模块通过 一系列的标志位将系统的各个功能模块联系起来, 通过对各个标志位的置位与清零实现对各个模块 的有效调度,以使各个功能模块配合实现相应的 控制功能。
设置定 时器T1 换相
T=T-t N>=N0 ? Y
T=0? Y
导通AB 切换至闭环
T=0? 起动结束 Y
N
• 3.3 维护更新模块 1)按键模块程序设计 a、读键:判断是否有键按下。 b、键值判断:在确认有键按下以后, 进一步识别出是哪一个按键。 c、执行子程序:根据识别结果,执行 相应子程序。 d、键盘设计软件流程图 e、键盘抖动处理
无刷直流电机控制器设计
无刷直流电机应用背景
无刷直流电机具有无电刷和换相火花,体积 小,低噪声等诸多优点,广泛应用在当今的控制 系统中。目前对无刷直流电机的控制主要由单片 机和DSP实现。但是其外围电路复杂,对系统的稳 定性和可靠性有较大的影响。无刷直流电机具有 无电刷和换相火花,体积小,低噪声等诸多优点, 广泛应用在当今的控制系统中。目前对无刷直流 电机的控制主要由单片机和DSP实现。无刷直流电 动机作为一种常见的执行机构在工业系统中被广 泛应用。对无刷直流电动机的控制有很多种控制 方法。其中,PWM控制方法在工业现场中以其稳 定性高,动态性能好而被广泛应用。设计一款 PWM无刷直流电机控制器具有较高的实用价值。
开始
• 管理模块:
初始化 N 工作正常? Y
N
起动中断 标志=1? Y
转速调节 中断=1? Y PID闭 环控制
N
转子定位
开环控制 电机加速
换向时 刻计算
PWM更新 相位检测 波形调整 N
停止? N 调整结 束? Y PWM终止 切换到闭 环模式 结束
Y
• 启动程序流程图:
开始
导通AB相
延时T1定位
• 两种控制方式对比结果 由V1~V6六只功率管构成的驱动全桥可以控 制绕组的通电状态。按照功率管的通电方式,可 以分为两两导通和三三导通两种控制方式。由于 两两导通方式提供了更大的电磁转矩而被广泛采 用。在两两导通方式下,每一瞬间有两个功率管 导通,每隔1/6周期即60°电角度换相一次,每 只功率管持续导通 120°电角度,对应每相绕组 持续导通120°,在此期间相电流方向保持不变 。为保证产生最大的电磁转矩,通常需要使绕组 合成磁场与转子 磁场保持垂直。由于采用换相控 制方式,其定子绕组产生的是跳变的磁场,使得 该磁场与转子磁场的位置保持在60°~120°相 对垂直的范围 区间。
• 流程图
开始
液晶初始化
液晶是否忙? N 查找汉字显 示的位置 查找每行显示 的汉字字数 查找需要显示汉字的 高位码和低位码 汉字 显示汉字 或图形?
Y
图形
关闭绘图 显示功能 水平坐标x写入 绘图RAM地址 垂直坐标y写入 绘图RAM地址 打开绘图 显示功能
调用汉字显示
显示在LCD上 返回
•
3)AD转换器 根据AD转换器的电压比较功能实现对无刷直流 电机进行电流检测和过流保护功能。 //ADC模块初始化 Void adc_init() { ADCSRA=0X00; //先关ADC ADMUX=0X10; //差分输入,ADC0为正,ADC1为负 ACSR=0X80; //闭环模拟比较器 ADCSRA=0X87; //设置ADC寄存器 }
无刷直流电机控制器原理框图
电
5V
源
12V
液晶显示
6PWM
功率驱动电 路
逆变电路
Atmega 128
单片机
电流反馈
键
盘
霍尔位置检 测
无刷直流电 机
无刷直流电机控制器设计-软件部分
软件设计的主要任务
• a. 学习PWM的控制原理 • b. 编写程序以PWM方式来控制电机正转、 反转、急停。
1 软件编程方法