飞思卡尔智能车求助,从网上找了个程序,对于PWM的初始化如下,
*******************************************************************
//Bus clock=64MHZ
//PWM4 PWM5 级联
PWME=0X00; // PWM模块先不可用
PWMPRCLK=0x22; //预分频 Clock A ,Clock B=Bus clock / 4=16MHZ 见datasheet P374
PWMSCLA=0x08; //Clock SA = Clock A / (2 * PWMSCLA)=16MHZ/(2*8)=1MHZ,T=1us P377
PWMSCLB=0x08; //Clock SB = Clock B / (2 * PWMSCLB)=16MHZ/(2*8)=1MHZ,T=1us P377
PWMCTL_CON45=1; //4和5联合成16位PWM
PWMCNT45=0; //计数器清零;
PWMPER45=20000; //通道周期 50Hz,舵机一般50HZ
PWMDTY45=Steer_Center; // 舵机摆正占空比----给初值
PWMPOL_PPOL5=1; //设置输出极性 ,即先默认为高电平
PWMCAE_CAE5=0; //设置左对齐方式
PWMCLK_PCLK5=1; //选择SA为PWM5的频率
PWME_PWME5=1; //PWM5使能
PWMCTL_CON23=1; //6和7联合成16位PWM;P375
PWMCNT23=0; //计数器清零;
PWMPER23=100; //通道周期 10KHz 电机一般频率设置为10KHZ
PWMDTY23=0; // 电机初值给0
PWMPOL_PPOL3=1; //设置输出极性 ,即先默认为高电平
PWMCAE_CAE3=0; //设置左对齐方式
PWMCLK_PCLK3=1; //选择SA为PWM7的频率
PWME_PWME3=1; //PWM7使能
*************************************************************************
现在只能实现电机正转,想问一下如果想让电机反转程序需要添加什么?本人纯新手,被MM拉去的- -||||||所以最好别说道理,直接上程序,万分感谢……
还有,在设置速度时,为什么PWMDTY23越大速度越小呢?
还有些初始化,本人也不懂,不知道有没有用,一并附上- -||||
/*IO口初始化,B口为输出*/
void initIOBoutput(void)
{
DDRB=0XFF; //B口为输出, 1为输出,0为输入
PORTB=0XFF;
DDRA=0x01;
PORTA=0X01; //电机驱动使能端
}
/*配置系统时钟*/
void SetBusCLK_64MHZ(void)
{
CLKSEL=0X00; //disengage PLL to system
PLLCTL_PLLON=1; //turn on PLL
SYNR =0xc0|0x07;//0xc0|0x07;增频因子
REFDV=0x80|0x01;//0xc0|0x01;分频因子
POSTDIV=0x00; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=128MHz;
_asm(nop); //BUS CLOCK=pllclock/2=64MHZ
_asm(nop);
while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;
CLKSEL_PLLSEL =1; //engage PLL to system;
COPCTL=0x00; //禁止看门狗
}
飞思卡尔智能车求助,电机反转PWM的初始化
PWMDTY23是控制电机上的电压占空比的,进而控制电压 ,速度和电压有关啊 要是换向的话,无非就是把电机里相线的通电顺序改为相反啊,实现的话 我觉得不是添加什么程序,而是改一下,将相线的通电顺序改为相反。
飞思卡尔的PWM程序祥细步骤和讲解
PWM_Init(void){ \/\/初始化 PWMPRCLK_PCKA = 0x2;\/*16383000Hz\/2=8192000Hz \/ PWMPRCLK_PCKB = 0x2;\/*8192000Hz\/4 =2048000Hz \/ PWMCTL_CON01 = 0X1;\/ 0 & 1 成 16位精度PWM工作 \/ PWMPOL_PPOL1 = 0x1;\/ 极性为先高后低 与占空比相同 \/ PWMCAE = 0x00;\/ operate in ...
飞思卡尔智能车电磁组k60程序中,为什么初始化2个ftm_pwm波去控制电机的...
51也有这种方式做pwm输出,同样,一个是用定时器0做载频,定时器1做pwm调制,我不知道飞思卡尔单片机有没有专用的pwm口输出,好果没有专用的pwm口输出,那就是我前面说的这样,主要用与调节电机的快慢,
freescale中怎么用pwm实现电机正反转
在设计过程中通过了向IN1,IN2口送出PWM波来控制电机的正转和反转,使用了电机的正转为智能车加速,当转弯的时候利用了反转PWM波来控制电机的减速,在无倍频的情况下,输出方波为5kHz,。PWMPERXY= 2400;MC33886芯片内含错误报告管\/FS,,通过将其接到单片机PT2口来进行错误捕捉。通过PWM5,PWM7的开...
请懂飞思卡尔比赛和精通程序设计的高手帮忙,这是校内竞赛的题目。
那么 { PWMDTY0=0;PWMDTY1=1000;} 就应该是反转;(颠倒一下也行,关键看你的电机驱动芯片和单片机哪个脚链接的)这应该是1秒的定时中断,也即是说,每一秒进一次中断,前4次进中断时每次都temp++;以后每次进是motor_ctrl++;两个初始化函数没什么好说,主函数除了调用初始化函数之后什么也不做。
飞思卡尔D型车怎么能弄转了。。
红线接正,黑线接负,不过需要一个电机驱动,再给它一个不同占空比的PWM,会有不同的速度,如果直接接电池是会全速运行的哦,注意点哦
飞思卡尔智能车一部分问题(1.pid)
1.这要看你的编码器的齿数了。2.你没必要找出这关系。这个应该以实际反馈回来的值为准。比如 你有一个理想速度,编码器实测为54,那么你就可以把PID的恒定值设置成54.3.正确。PID就是可以保证速度变化不大。如果不用PID,而是开环跑,速度过慢的时候就可能在大弯道停下来。4.一起处理吧,因为你...
第五界飞思卡尔智能车大赛程序
PWMDTY67=200; \/\/ PWME=0xff; \/\/使能pwm } void Pit0_Init() \/\/PIT初始化 { PITCFLMT_PITE=0; \/\/关PIT使能 PITCE_PCE0=1; \/\/通道0使能 PITMUX_PMUX0=0; \/\/通道0接微时钟0 PITMTLD0=99; \/\/微时钟0值设置为7f PITLD0=3839; \/\/time-out period ...
飞思卡尔智能车光电组硬件需要了解哪些内容
大方向上:光电管的点亮,舵机的控制,借鉴上届电磁车模的电机驱动,车模改装方法等 小细节处:飞思卡尔内部资源的各个配置(如IO口的控制,AD转换,定时器,PWM输出,输入捕捉,串口通信)有时间的话可以研究研究SD卡,CAN总线技术,以及uC\/OS-II(或者Linux)操作系统,这些要比单线程的流水程序要科学要...
飞思卡尔智能车比赛怎么准备呢? 就是主控芯片用什么?有51和430基础,买...
飞思卡尔智能车比赛的芯片是指定用飞思卡尔公司的MCU,你会用定时器、计数器、AD采集、PWM输出就差不多了,这些模块都是很多单片机上的标配,难度不大;这个比赛难的是算法的运用和数据的处理。