直流无刷电机控制器程序流程图.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
否 否 开始 初始化同时闪烁一次运行灯 延时 AD转换 读取霍尔元件状态 给TMR1赋初值 测试电压采集位正常 开中断 闭环运算寄存器赋值 中断到来 进入中断 否 主程序流程图 中断程序流程图中断入口 中断程序流程图 中断入口 中断保护 测试是否为定时1中断 清看门狗 定时器1赋初值 清空中断标志位 采集速度为扩展口输出 测试有无达到刹车阀值速度 位置传感器信号采集 测试速度阀值位是否被置位 运行灯常亮 AD转换 拔位开关扫描 状态位测试 闭环增益处理 速度环运算 开环设置位被置位 闭环程序 开环程序 故障判断程序 中断返回 否 测试故障位是否被清零 运行灯闪烁 否 否 提取误差程序 闭环运算程序 闭环输出程序员 中断返回 误差更新程序 设置RA口为输入端口 设置RA口为输入端口 开始 通过查表确定哪个口做AD输入 清空结果寄存器 采样保持位置位 延时程序 等待采样结束 测试采样保持位是否被清零 分时执行不同口的AD采样程序 REF模拟量输入处理程序 增益调节电位器GAIN处理程序 刹车加速度电位器ACC-处理程序 加速度电位器ACC+处理程序 电压监控口AD采样处理 否 AD采样程序流程图 状态位测试、开环程序、闭环程序流程图测试闭环控制位是否被置位 状态位测试、开环程序、闭环程序流程图 测试闭环控制位是否被置位 将闭环运算得到的指令值最后两位送到CCP1CON的4、5位 测试指令值的高8位是否大于0XF7 令CCPR1L的值为指令值 开环程序 测试CCPR1L的值是否小于指令值 让指令值为0XF7 指令值不变 否 否 否 让与闭环运算相关的寄存器为初值 测试开环占空比的值是否不小于0X08 让CCPR1L的值以小于或等于0X04的步长减小 比较CCPR1L与开环占空比寄存器的值,如果CCPR1L的值大则以0X01的步长减小,CCPR1L的值小则以同样步长增加,相等时结束程序 开环占空比寄存器清零 开始 测试方向位是否被置位 测试电压正常位是否被清零 测试能使位是否被置位 测试故障位是否被清零 试刹车设置位是否被置位 输入无效位是否置位 电压异常处理程序 反向运行 使能未置位程序 故障处理程序 刹车处理程序 输入无效处理程序 否 否 否 否 否 否 否 刹车阀值标志位清零开始 刹车阀值标志位清零 开始 取出霍尔元件的反馈信号 测试此次信号与前一次相比有无变化 测试反馈信号变化一次经过中断次数是否大于刹车阀值表读出的次数 清空中断次数计数器 以R2F中的值做偏移量查方向表LADR_0x0029定方向 霍尔信号变化次数计数器与波形输出计数器R4D都加一 更新霍尔信号寄存器 以R4D做偏移量查波形表生成输出波形 将波形放入PORTB输出 刹车阀值标志位置位 刹车阀值标志位清零 测试反馈信号变化一次经过中断次数是否大于刹车阀值表读出的次数 刹车阀值标志位置位 返回 否 否 否 刹车阀值速度测定程序流程图 开始 开始 是否脉冲输入设置位被清零 测试此次得到的脉冲数是否与上一次不同 差放进寄存器R37 更新寄存器 输入有效位置位 将R37中的值与增益相乘后右移两位得一16位值 将所得的值累加进一24位寄存器并取其高16位,达到缓冲的目的 PWM输入方式 每八次进入执行一次 将开环占空比放入R37 测试前一次是否为有效输入 测试R37的值是否大于0X04 输入有效位置位 将R37中的值与增益相乘程序 输入无效处理程序LADR_0x01E2 否 否 否 否 脉冲、PWM输入增益处理程序流程图 输入无效处理程序LADR_0x01E2 输入有效位清零 输入有效位清零 测试R37的值是否大于0X06 后右移七位得一16位值 开始 开始 PORTB口输出寄存R20第3位清零 调用PORTB输出程序 设置寄存器TRISB,让PORTB全为输入 延时,等待扫描结束 将PORTB中得到的值送到R22 PORTB口输出寄存R20第2位清零 设置寄存器TRISB,让PORTB全为输入 延时,等待扫描结束 将PORTB中得到的值送到R23 刹车位设置送到寄存器R59 通过查表得到对应的速度 测试扩展口输入的方向位(DIR)是否被置位 测试扩展口输入的使能位(EN)是否被置位 测试扩展口输入的刹车位(BRAKE)是否被置位 返回 方向标志位取反程序 使能标志位取反程序 刹车标志位取反程序 拔码开关扫描流程图 开始 开始 误差e(t)符号位放入R44,5 e(t)送到R36 误差e(t-1)符号位取反放入R44,6 e(t)送到R37 调用误差带符号相加程序,得到e(t)-e(t-1)值

文档评论(0)

guocuilv2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档