本 科 毕 业 设 计
初始化 N 第 31 页 共44 页
读串口程Y N P1.0=0? Y PL1=0/PL2=0/PL3=0PL2=0 PL3=0 关中断 PL1=0 P调用调速子系统 P调用调速子系统 P调用调速子系统 N PL4=0? Y N PL4=0? Y N PL4=0Y PL3=0 PL2=0 PL1=0 PL3=0 PL2=0 PL1=0 PL2=0/PL3=0/无操作? PL1=0/PL3=0/无操作? PL1=0/PL2=0/无操作? 无操作 无操作 无操作 有中断 N Y T=1 图4.7主程序流程图
偏航系统的控制过程可以分为:风传感器控制的自动偏航、90°侧风、人工偏航、自动解缆和偏航制动。自动偏航控制过程中,通过风传感给出的风向输出信号,由单片机判定机舱与风向的偏离角度,根据偏离的程度和风向传感器的灵敏度,给出偏航控制命令。当风力发电机组的转速大于超速上限时,作偏转90°侧风控制,同时投入气动刹车,脱网,转速降下来后,抱机械闸停机。人工偏航是当自动偏航失败或风力机需要维修时,通过人工指 令来进行的偏航措施。不同的风力发电机需要解缆时的缠绕圈数都
本 科 毕 业 设 计
报警2部分,偏航系统控制过程的主程序如图4.8。
第 32 页 共44 页
有规定。解缆动作包括计算机控制的凸轮自动解缆和纽缆开关控制的安全链动作计算机
开始 定时扫描程序 90°侧风 Y N 自动解缆 Y N 人工偏航 Y N 自动偏航 Y N 执行90°侧风程序 执行自动解缆程序 执行人工偏航程序 执行自动偏航程序
图4.8 主程序流程图
根据风传感器角度信号分析确定偏航方向的算法。如图4.9
本 科 毕 业 设 计
开始 第 33 页 共44 页
延时 计时器 Y 角度为0°或360° N 小于90° N 钝角偏航 Y 锐角偏航 N 偏航电机运行 角度为0°或360° N T>T(360) Y Y 读上次角度和进行偏航 记录偏航角度之和 发出安全停机和传感器故障信号 报自动偏航完成信号复位自动偏航标志位 结束 图4.9 偏航方向控制算法
4.2.3 驱动实现
风力发电智能偏航控制系统的驱动程序主要对系统I/O口进行初始化和读写操作,从而对外设进行访问和控制。
系统I/O口的初始化包括PORTD2,2,3,4,5,各端口初始化值为0,其函数实现如下: Void io_init(void) { Cli();
DDRD |=0xC3; DDRTD &=0xC3; Sei();
本 科 毕 业 设 计
}
void iol_up(void) {
PORTD |=0X04; }
void iol_down(void) {
PORTD &=0xFB; }
Void io2_up(void) {
PORTD |=0x08; }
void io2_down(void) {
PORTD &=0xF7; }
Void io3_up(void) {
PORTD |=0x10; }
第 34 页 共44 页
本 科 毕 业 设 计
Void3_down(void) {
PORTD &=0xEF; }
Void io4_up(void) {
Portd |=0x20; }
Void io4_down(void) {
PORTD &=0xDF; }
Void adc_init(void) {
Cli(); //ACSR=0x80 //DDRA &=0xFE; //PORTA &=0xFE;
Sei(); }
UINT Adc_Convert(void) {
第 35 页 共44 页