4.11编程注意的问题
单片机编程要注意四点:程序模块化设计,便于移植,易于理解;主流程应该尽量短,增加系统效率;尽量使分支程序执行时间相同:程序中常调用的模块应该放到程序前部。根据PIC单片机的编程特点,总结编程注意问题如下.
4.11.1数据存储体的选择
在对寄存器及内部RAM进行操作时,确保正确选择该寄存器所在的存储体。存储体选择可以用Status寄存器的位6和位5 (RP1、RPO)具体设置:当RPI: RP0=00,则选择0页;当RPl: RPO=01,则选择1页.PIC单片机提供了一条BANKSEL数据存储体选择指令,可以在对寄存器操作前,加上该指令,则系统会自动选择正确的存储体。
4.11.2二程序存储体的选择
PIC单片机的程序存储器以2k为单位进行分页,本设计采用的PIC16F72单片机的程序存储器为4k,共分为2页.编写的程序不能超过存储器的长度。程序在执行GOTO,CALL等指令时,PC指针将被修改,当在不同存储页内进行跳转或调用时应注意设置正确的页地址。
PIC单片机的PC指针为13位宽,高字节为PCH,低字节为PCL,其中PCH只有低5位有效。共有下面四种情况会影响PC值:
(1) 以 PCL为目的地址的指令
指令执行完毕后,PCL的值为ALU的结果,PCH<4: 0>的值为PCLATH<4: 0>的内容,
如图4.11所示。
(2) GOTO指令
指令中包含的11位操作数被送入PCH<2: 0>: PCL; PCLATH<4: 3>被送入PCH<4:
3>.因此,为了确保能够跳转到正确的位置,在执行GOTO指令前必须正确设置PCLATH<4: 3>,如图4.12所示。
(3) CA LL指令
当前PC+ 1入栈;指令中包含的11位操作数被送入PCH<2: 0>: PCL; PCLATH<4: 3>被送入PCH<4: 3>。因此,为了确保能够调用正确的子程序,在执行CALL指令前必须正确设置PCLATH<4: 3>,如图4.13所示.
第五章 系统调试与运行分析
系统调试用电机为电动自行车用无刷直流电动机,主要实验仪器和装置包括:36V直流稳压电源、目标电路板、PIC16-MCD2仿真器、示波器、逻辑分析仪、电压电流表、调速转把、助力传感器等。各部分的连接如图5.1所示,其中J1连电机三相,J2连霍尔传感器。
图5.1系统调试连接图
5.1系统软、硬件部分调试
5.1.1系统硬件调试
硬件电路的安装与调试过程应按照模块进行,安装和测试步骤为:
相对-15V 电源部分,测试输出电压,为36V-15V=21V;
振荡和升压电路,测试无负载状态下输出为50V左右;
a相顶端驱动电路,测试a相顶端驱动输出;
b相顶端驱动电路,测试b相顶端驱动输出;
c相顶端驱动电路,测试c相顶端驱动输出;
安装 + 12 V电源部分,测试输出电压;
安装 L M 33 9和 NE555D驱动输出部分元件;
安装+ 5V 电源部分,测试输出电压;
安装微控制器和逻辑保护部分;
安装场效应驱动器件
完成上述模块安装与测试后,进行整机调试,整机加电后,进行整机静态调试,用于观察待机状态下的稳定性,其中主要观察各个场效应器件有无发热、三端电压调整器件的发热状况,当发热严重时,在不提升输出电压前提下,应当适当减小分流电阻的阻值,由分流电阻来提供一定的电流;当分流电阻发热严重时,应当适当选择更大功率的电阻,提高电路稳定性。
动态调试过程 ,主要测试传感器的输入和场效应器件的输出状态,场效应器件应与传感器的输入逻辑相对应。当换相精确时,从示波器上观察,传感器输入不会受到PWM信号的干扰,否则应从软件上作调整。整机动态调试过程中,电源器件发热量较静态调试时会有增加。动态调试应观察各个器件有无不稳定状况发生,尤其是a,b,c三相场效应驱动器件的发热情况,应当不存在个别器件严重发热的情况。
对于控制器整体,发热器件主要集中在场效应器件和三端稳压器件上。当温度上升时,MOSFET管的性能下降很快,例如MOSFET管参数耐流值Id,在25℃时为60A,当温度为100℃时为42A,而MOSFET管在大电流下温度上升速度也是很快的。所以在测试和运行情况下,必须加散热片和绝缘片,并采取加入硅胶、注入膨胀橡胶等散热措施.必须对场效应器件作散热核绝缘处理,对于三端电压调整器件和分流电阻,发热量非常大的,应该作散热和绝缘处理。
场效应器件的开关效应对于系统供电会有较大的影响,除了基本的稳压滤波电路外,在本设计中采用了双36V电源设计,驱动部分使用一路电源,微控制部分使用另一路电源,从而避免驱动部分造成的线上压降对微控制器造成影响。
5.1.2系统软件调试
由M icrochip公司推出的MPLAB集成开发环境(ME)是综合的编译器、项目管理器和设计平台,适用于使用Microchip的PIC系列单片机进行嵌入式设计的应用开发.软件 运 行 环境MPLAB如图5.2所示.首先,在仿真环境中通过输入源程序、编译、修正、单步执行、断点执行、全速执行等过程观察程序执行到指定位置的结果,将软件的逻辑结构调试正确。接着 ,调试面板显示模块,只有正确的显示,才能够明确后续调试过程的正确与否.其次 , 调 试模数转换模块。调模数转换子程序时,要对每个通道逐一调试。先调试0号通道:将通道号置为0,并给0号通道的入口接上稳压源,电压在0-5V之间。调用模
数转换子程序,在寄存器中读出转换结果,并与理论值比较,判断转换结果是否准确。对其余通道的调试方法与O号通道的调法相同。调试中发现模数转换有时不准确,因此延长转换的等待时间,问题得以解决。调试中发现电量指示灯不随采集的电压信号改变,后发现是电压等级定义的不准确。
调试PW'M输出模块时,用示波器观察CCP模块输出是否正确。然后调试INT中断,试验中发现首次模式转换时会有问题,电动模式转换到定速模式或助力模式不定,延长从电动模式转到定速模式所要求的时间,问题解决。加上刹把信号,当在定速模式下按下刹车时,灯全亮正确,但当刹车解除时,仍显示为定速模式,而此时观察寄存器已转为电动模式,经检查发现是由于显示更新不及时造成,在此处调用显示子程序。调试电动及定速摸式,确定转把给定值与转速的关系。调试中发现有时在没有给定转把电压的情况下,电机发生运转,此时应在初始化中对脉宽值清零。
5.2控制器的可靠性
5.2.1影响控制器可靠性的因素
控制器的失效从表现形式来看,一般有以下几种,(
首页 上一页 10 11 12 13 14 15 下一页 尾页 13/15/15
免费资料文档--电动车无刷直流电动机控制设计(十三)由毕业论文网(www.huoyuandh.com)会员上传。