电动车双闭环程序,采用双闭环方式控制电机,以得到最好的zh转速性能,并且可以
//限制电机的最大电流。本应用程序用到两个CCP部件,其中CCP1用于PWM输出,以控
//制电机电压;CCP2用于触发AD,定时器TMR2、TMR1,INT中断,RB口电平变化中断
【单片机控制的电动自行车驱动系统】是一个复杂的硬件与软件结合的工程,涉及到电机控制、传感器信号处理、电源管理等多个方面。在这个系统中,单片机是核心控制器,通过精确的程序设计来实现电动自行车的高效运行。
该程序描述了一个采用双闭环控制策略的电动自行车驱动系统,目的是优化电机的转速性能并限制电机的最大电流,从而确保系统的稳定性和安全性。双闭环控制包括电流环和速度环,这两个环路都是为了提高系统响应和稳定性。
1. **电流环**:
- CCP1(Capture/Compare/PWM)单元被用于生成PWM(脉宽调制)输出,以此来控制电机的电压,进而调整电机的电流。电流环的主要任务是维持电机电流在设定范围内,防止过流。
- 定义了电流环的比例和积分系数常量CURA和CURB,这些系数决定了系统对电流偏差的响应速度和稳定性。
- 定义了电流环的最大输出THL,当电流超过这个阈值时,控制器会调整PWM占空比以限制电流。
2. **速度环**:
- CCP2同样被用到,但它的功能更为多样,它触发AD转换(ADC),定时器TMR2和TMR1,以及INT中断和RB口电平变化中断。
- 转速环的比例和积分系数常量SPEA和SPEB用来调整系统对速度误差的响应。
- 定义了转速环的最大输出GCURHILO,最大给定电流GCURH,以及最大转速给定GSPEH,这些都是速度控制的重要参数。
3. **中断和定时器**:
- TMR2和TMR1是定时器,它们在电机控制中起着至关重要的作用,比如用于PWM频率的设定、AD转换的启动和中断触发等。
- CCP2CON和CCP1CON寄存器设置确定了CCP单元的工作模式,例如PWM或特殊触发方式。
4. **状态采集和中断处理**:
- PORTB的AND位用于状态采集,采集电机三相霍尔传感器的信号。
- INT中断用于响应外部事件,如手柄操作或异常情况。
- 低电压保护机制,定义了VOLON和VOLOFF两个阈值,用于检测电池电压,防止电池过度放电。
5. **变量和标志位**:
- 诸如DELHAYH, DELAYL, speed, speedcount, tsh等变量用于控制程序流程和存储实时数据。
- sp1, spe, ts, volflag等标志位指示系统状态,如速度标志、中断标志和低电压标志。
6. **初始化子程序**:
- INIT877()函数用于初始化单片机,配置I/O口、中断、定时器、AD转换器等工作模式,以适应电动自行车驱动系统的需求。
7. **延时子程序**:
- DELAY1()是延时函数,用于实现特定时间间隔的等待,确保控制逻辑的正确执行。
通过这样的设计,单片机能够实时监控电机状态,精确控制电机的运行,提供良好的驾驶体验并确保系统的安全。
1