dsPIC30F2010 控制带传感器的BLDCM 无刷直流电机(8)

发布时间:2021-06-06

dsPIC30F2010 microchip 无刷直流电机

AN957

/*******************************************************************

以下代码用于设置ADC寄存器,该代码可实现下列功能:1. 1个通道转换(本例中,该通道为RB2/AN2)2. PWM触发信号启动转换3. 电位计连接到CH0和RB24. 手动停止采样和启动转换5. 手动检查转换完成 *********************************************************************/void InitADC10(void){

ADPCFG = 0xFFF8; ADCON1 = 0x0064; ADCON2 = 0x0200; ADCHS = 0x0002; ADCON3 = 0x0080; IFS0bits.ADIF = 0; IEC0bits.ADIE = 1; ADCON1bits.ADON = 1;}

// 将端口B的RB0到RB2配置为模拟引脚;将其它引脚配置为数字引脚// PWM启动转换

// 同时采样4个通道

// 将RB2/AN2作为CH0连接到电位计……

// ch1连接母线电压、Ch2连接电机,Ch3连接电位计// Tad来源于内部RC(4uS)

// 启动ADC

/********************************************************************InitMCPWM,对PWM做以下初始化:1. FPWM = 16000 hz2. 独立的PWM

3. 使用OVDCON控制输出

4.用从电位计读取的ADC值设置占空比5. 将ADC设置为由PWM特殊触发信号触发

*********************************************************************/void InitMCPWM(void){

PTPER = FCY/FPWM - 1;

PWMCON1 = 0x0700;OVDCON = 0x0000;PDC1 = 100;PDC2 = 100;PDC3 = 100;

SEVTCMP = PTPER;PWMCON2 = 0x0F00;PTCON = 0x8000; }

//---------------------------------------------------------------------// 这是普通的1 ms延迟程序,用于提供1 mS到65.5 秒的延迟。

// 如果N = 1,则延迟为1 mS;如果N = 65535,则延迟为65,535 mS。 // 注意FCY用于计算。

// 请根据上述定义语句做出必要的更改(PLLx4或PLLx8等)// 以计算出正确的FCY。

void DelayNmSec(unsigned int N){

unsigned int j;while(N--)

for(j=0;j < MILLISEC;j++);}

// 禁止PWM

// 允许使用OVD控制

// 将PWM1、PWM2和PWM3初始化为100

// 后分频比设为1:16// 启动PWM

DS00957A_CN第10页© 2005 Microchip Technology Inc.

dsPIC30F2010 控制带传感器的BLDCM 无刷直流电机(8).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219