- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC BLDC三相电机研读总结(james14888@gmailcom)
ADC中断处理
void __attribute__((__interrupt__,auto_psv)) _ADC1Interrupt(void)
{
uint16 u16MotorNeutralVoltage; uint16 u16MotorPhaseA;
uint16 u16MotorPhaseB; uint16 u16MotorPhaseC;
DesiredSpeed = ADC1BUF0; //POT
u16MotorPhaseA = ADC1BUF3; //--V1
u16MotorPhaseB = ADC1BUF2; //--V2
u16MotorPhaseC = ADC1BUF1; //--V3
u16MotorNeutralVoltage = (u16MotorPhaseA + u16MotorPhaseB + u16MotorPhaseC)/3;
AD1CON1bits.DONE = 0;
IFS0bits.AD1IF = 0;
/************** ADC SAMPLING BMEF signals comparison ****************/
if(u16MotorPhaseA u16MotorNeutralVoltage) {
Comparator.PhaseAOutput = 1;
} else {
Comparator.PhaseAOutput = 0;
}
if(u16MotorPhaseB u16MotorNeutralVoltage) {
Comparator.PhaseBOutput = 1;
} else {
Comparator.PhaseBOutput = 0;
}
if(u16MotorPhaseC u16MotorNeutralVoltage) {
Comparator.PhaseCOutput = 1;
} else {
Comparator.PhaseCOutput = 0;
}
u16ComparatorOutputs = (Comparator.PhaseCOutput2) 0x0007;
u16ComparatorOutputs |= (Comparator.PhaseBOutput1);
u16ComparatorOutputs |= Comparator.PhaseAOutput;
}
输出两个参量:
DesiredSpeed电位器定位的目标速度
u16ComparatorOutputs 与平均电压比较的结果指示
主函数
int main(void)
{
PLLFBD=38; // M=40 80MHz ;40MIPS
CLKDIVbits.PLLPOST=0; // N2=2
CLKDIVbits.PLLPRE=0; // N1=2
RCONbits.SWDTEN=0;
while(OSCCONbits.LOCK != 1) {}; // Wait for PLL to lock
………………………
Kps = 3000;
Kis = 2;
PILoopControllerOutput = 0;
timer3value = 0;
timer3avg = 0;
……………………..
for(;;)
{
while (!S1); // wait for S1 button to be hit
while (S1) // wait till button is released
DelayNmSec(20);
u16CurrentPWMDutyCycle = 1;
u16DesiredPWMDutyCycle = 0;
DesiredSpeed = 0;
ActualSpeed = 0;
SpeedError = 0;
SpeedIntegral = 0;
PILoopControllerOutput = 0;
timer3value = 0;
timer3avg = 0;
PWM1CON1 = 0x0777; // enable PWM outputs
DelayNmSec(1);
Flags.RampUpBEMF =1;
Flags.RunMotor = 1; // indicationg the run motor condition
…………………….
您可能关注的文档
- GABA产品介绍及应用.ppt
- GIS超声局部放电检测技术.doc
- Google:以创新赢得用户.ppt
- GPS系统时间及其与其他时间的关系.doc
- GSM直放站应用中的指标调测及优化.ppt
- GSP药品储存管理操作规程.doc
- GSP药品收货管理操作规程.doc
- HART现场总线技术及产品开发.ppt
- Hewitt-农发行领导力模型.ppt
- Highheels高跟鞋英文介绍(经典版).ppt
- 2024年证券分析与咨询服务项目投资申请报告代可行性研究报告.docx
- 2024年铬酸酐项目资金申请报告代可行性研究报告.docx
- 2024年清洁胶项目资金申请报告代可行性研究报告.docx
- 2024年肉松饼项目投资申请报告代可行性研究报告.docx
- 2024年陆上泵项目资金需求报告代可行性研究报告.docx
- 2024年未硫化复合橡胶及其制品项目资金需求报告代可行性研究报告.docx
- 2024年精密温控节能设备项目资金筹措计划书代可行性研究报告.docx
- 2024年汽车覆盖件模具项目资金筹措计划书代可行性研究报告.docx
- 宋词行书钢笔字帖.pdf
- 我的暑假生活作文三年级300字10篇.pdf
文档评论(0)