PIC16F72电动车控制器C源代码与原理解析
4星 · 超过85%的资源 需积分: 50 170 浏览量
更新于2024-09-22
7
收藏 28KB DOCX 举报
"该资源提供了一个基于PIC16F72单片机的电动车控制器的C语言源程序,包括了程序代码、原理图和设计说明。这个控制器采用双闭环控制策略,以优化电机的转速性能并限制最大电流。源码中涉及到的主要功能模块有PWM输出、AD转换、定时器、中断服务、输入/输出接口等。"
在电动车控制器的设计中,PIC16F72单片机扮演着核心角色,负责处理整个系统的控制逻辑。源程序中,`#include<pic.h>`表明代码使用了Microchip的PIC单片机库,使得可以直接调用与硬件相关的函数和寄存器。
双闭环控制是该控制器的关键特性,包括电流环和速度环。电流环通过CCP1模块实现PWM输出,以调节电机电压,确保电机运行在设定的电流范围内。`CURA`和`CURB`定义了电流环的比例和积分系数,而`THL`则设定了电流环的最大输出值。速度环利用CCP2进行AD转换,通过定时器TMR2和TMR1以及INT中断来监控和调整电机转速。`SPEA`和`SPEB`是速度环的比例和积分系数,`GCURHILO`、`GCURH`和`GSPEH`分别代表速度环的最大输出、最大给定电流和最大转速给定。
此外,控制器还包含了各种中断服务,如RB口电平变化中断,以及看门狗功能,确保系统稳定运行。`TSON`、`VOLON`和`VOLOFF`用于设置手柄开启电压、低电压保护的重开和关断阈值,以防止电池过放电。
程序中定义的多个变量,如`DELAYH`、`DELAYL`、`speed`、`speedcount`、`tsh`等,用于存储临时数据和状态信息。标志位如`p1`、`spe`、`ts`、`volflag`等则用于标记系统当前的工作状态,例如手柄状态、速度检测、电压检测等。
这个电动车控制器源程序展示了如何运用PIC16F72单片机进行复杂的实时控制系统设计,包括电机控制、电源管理、安全保护等多个方面,是学习嵌入式系统和电动车控制技术的重要参考资料。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-04-25 上传
2022-05-31 上传
2021-10-30 上传
2020-03-27 上传
2021-09-29 上传
manbuwoniu88
- 粉丝: 0
- 资源: 6
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍