PIC16F72单片机控制电动自行车C程序与设计解析

2星 需积分: 10 18 下载量 46 浏览量 更新于2024-09-14 1 收藏 26KB DOCX 举报
"PIC16F72单片机控制的电动自行车C源程序,包括原理图和设计说明" 本文档涉及的关键知识点是基于PIC16F72单片机的电动自行车驱动系统的C语言编程。PIC16F72是一款微控制器,常用于嵌入式系统,具有低功耗、高性能的特点,适合于这种需要精确控制的应用。 在描述的C源程序中,主要实现了电动自行车的双闭环控制策略,即速度环和电流环。双闭环控制是一种常见的电机控制方法,能够确保电机在不同工况下保持稳定运行并优化性能。速度环通过调节电机的电压(通过PWM输出)来控制电机的转速,而电流环则监控电机电流,防止过流,以保护电机和电池。 - `CCP1`被配置为PWM输出,用于控制电机电压,从而影响电机转速。 - `CCP2`用于触发ADC(模数转换),定时器(如TMR2、TMR1)以及中断(如INT中断,RB口电平变化中断),这有助于实时监测和控制系统的各项参数。 - `WDT`(Watchdog Timer,看门狗定时器)确保程序不会因意外故障而停滞,增强系统稳定性。 - 代码中定义了多个常量,例如电流环和速度环的比例和积分系数,以及最大电流、最大转速给定等,这些都是闭环控制系统中的关键参数,用于调整系统的响应速度和稳定性。 此外,程序中还定义了一些状态变量和标志位,如`DELAYH`、`DELAYL`用于延时计算,`oldstate`记录状态变化,`speed`、`speedcount`跟踪转速,`tsh`、`count_ts`与刹车有关,`count_vol`和`voltage`涉及电压检测,`lowpower`、`off`、`shutdown`与低电压保护功能相关。这些变量用于实时监控和控制电动自行车的运行状态。 总结起来,这个C程序展示了如何使用PIC16F72单片机实现电动自行车的智能控制,包括电机速度的精确调节、电流保护、以及低电压保护等功能,体现了微控制器在现代电动设备中的广泛应用和复杂控制逻辑。