如何用k60实现电机如何实现正反转正反转

怎么控制一个直流无刷电机,需要哪些元件?用K60单片机,求救,必有追分_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
怎么控制一个直流无刷电机,需要哪些元件?用K60单片机,求救,必有追分
是航模用的电机,电源电压大概是5V,可能会需要变压
我有更好的答案
MOS管,三极管,一些电阻电容,基本的桥式电路。直流无刷电机用梯形波来控制,需要有霍尔元件反馈位置。
可否给我一个原理图做参考,,,零基础,,真心求指教~
直接搜三相桥式电路就行了,交流侧就是电机。至于怎么跟单片机接口就取决于具体的硬件设计了,需要知道大量的参数了。
采纳率:33%
1.驱动模块(H桥就可以了)2.稳压电源(你用K60可能会用到3.3V,5V)3.转速检测(估计你是做个电机的控制实验,那信息肯定是要采集回收分析的。可以用光码盘,增量的好点)其他的还有些7788的。需要联系Q
我用的是L298N模块,不知道适不适合你的需要,你可以看看它的相关资料
一个电调什么都解决
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
直流无刷电机的相关知识
换一换
回答问题,赢新手礼包  1 系统组成
  系统主要由单片机核心控制器、直立控制模块、速度控制模块、方向控制模块等功能模块构成。直立控制模块包含陀螺仪及加速度计,将它们安装在小车的重心位置,这样能保证不会太敏感或太迟钝,两者的数据融合使小车能保持一定的倾角前进。速度控制模块:电机驱动模块驱动直流电机运转,通过安装于左、右轮的器测速,与设定速度进行比较,控制小车按设定速度行驶。方向控制模块:通过安装于小车运动上方支架上的线性CCD,控制两轮实现差速转弯,以控制运动方向,系统框图如图1所示。
2 各个控制模块 2.1 直立控制模块 两轮车行走的首要条件是车的直立平衡,我们设计的参考方案如图2所示。它是通过陀螺仪ENC03采集到车倾斜的角速度w,通过加速度计采集车倾斜的角度&acc,与陀螺仪积分得到的角度&比较,得到偏差量e2(t)经过比例1/Tg转换作为反馈量给陀螺仪,偏差量e1(t)与陀螺仪采集到的角速度相加再积分作为车倾斜的角度&。由于陀螺仪会有积分误 差及温漂,采用加速度计就可以减少陀螺仪的误差,加速度由于受外界的干扰比较大,瞬间值不够准确,所以配合陀螺仪的使用,两者共同作用来采集车模的倾角。
2.2 速度控制模块 电机驱动采用4个BTS7960组成H桥来驱动直流电机的转动,另外采用MK60N512VMD10单片机两路脉冲计数器,通过编码器分别测出小车左、右轮的脉冲量。利用4路分别控制两个电机的正反转。如图3所示,当开关QA、QD接通,电机为正向转动,开关QB、QC接通则电机反向转动,从而实现电机的正反转,的大小,决定电机的转速,通过PWM占空比来决定电流的大小,从而间接地控制了电机的转速。
小车的速度控制是建立在小车直立的基础上的,通过给小车一个设定速度,然后将编码器测得的小车实际速度与设定速度进行比较,偏差量作为反馈量,经过比例PSPEED、积分ISPEED的和作为速度的输出,进一步控制PWM的输出从而使小车按设定速度行走,如图4所示。
2.3 方向控制模块 小车运行方向控制是通过两个轮子的差速来实现,而差速是由线性CCD采集赛道信息来计算弯道两边黑线与直道时两边黑线的偏差值来确定。我们比赛使用的CCD型号为TSL1 401,属于线性CCD,与面阵CCD相比,线性CCD只是采集一行的数据,而这一行数据是由线性CCD传感器128个光电通过积分电路所采集的图像灰度值。 对于采集回来的128个数据,要确定一个阈值Th,一般情况下为200左右(还能通过拨码开关根据现场环境亮度来选择几个不同的阈值Th),来区分开白色跑道与其它颜色灰暗的非跑道区域。对于白色跑道反馈回来的值肯定是比其它反馈回来的值大,取这些数的一个中值来作为阈值,来区分赛道的黑白点(除了白色赛道,其余都是黑点),就可以判别 出白色跑道,然后就可以计算出弯道时与正常跑道的偏差值,将两边的偏差值相减再转换成电压值加到方向输出函数中,就可以控制小车的转向了。程序框图如图5所示。
由于比赛的赛道有虚线,所以我们将采集到128个点的数据从中间(第64个点的数据)往两边处理(左边64-0跟右边64-127的情况是一样的),目的是寻找两边的黑点,与设定的阈值Th相比,如果小于阈值Th,再判断3个点是否都小于阈值Th,如果是,则认为是检测到了赛道边上的黑线。 程序实现部分(左边64-0的64个点检测部分):
3 结束语 文中讨论了基于线性CCD的两轮自平衡小车控制系统的设计思想及实现方法,对系统中通过线性CCD完成对赛道识别的方向控制模块,以及直立控制模块、速度控制模块等模块的软硬件进行了分析,并给出了关键程序段。通过测试及参加飞思卡尔智能车比赛,证明这个系统是合理的,也提高了小车运行的速度。开展对两轮自平衡车的深入研究对提高我国在这一领域的科研水平、扩展机器人的应用背景等具有重要的理论及现实意义。
&&&&&往下看有更多相关资料
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670& & &&)关于k60电机检测程序【飞思卡尔吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:10,906贴子:
关于k60电机检测程序收藏
求一个简单的电机检测程序
能通过驱动板实现电机正反转就可以
我自己原来写的是
但是没有效果 程序编译是没有问题的声明部分FTM_PWM_INIT(FTM1,CH0,)
FTM_PWM_INIT(FTM1,CH0,)执行部分while(1)
{FTM_PWM_Duty(FTM1,CH0,20);
time_delay_ms(1000);
FTM_PWM_Duty(FTM1,CH1,40);
time_delay_ms(3000);}
------来自 爱贴吧HD for Windows8
从微控制器,处理器到传感器,模拟IC和互联设备,我们的技术为各种领域提供创新动力.登录网站在线订购,即可立即申请免费样片.
关于K60电机检测程序, 我已经帮你在飞思卡尔社区提问,已经有飞思卡尔工程师回答,搜“freescale技术社区与非网”,进入论坛“FAE线上技术支持板块”,找到帖子“关于k60电机检测程序”,如果没有解决你的问题,你可以跟上问。百度不能贴链接,码字超级累,希望能帮到你
能发个链接吗
登录百度帐号推荐应用请问K60如何实现联合PWM输出,需要用在电机控制方面(已解决) - ARM Cortex-M系列产品 - 恩智浦技术社区
后使用快捷导航没有帐号?
查看: 3808|回复: 9
请问K60如何实现联合PWM输出,需要用在电机控制方面(已解决)
该用户从未签到主题帖子积分
新手上路, 积分 44, 距离下一级还需 6 积分
新手上路, 积分 44, 距离下一级还需 6 积分
请问K60如何实现联合PWM输出,我试过了,只要使用COMBINE这个寄存器,设置联合模式、死区插入等等,PWM就没法输出,有大虾有解决方法吗??
该用户从未签到主题帖子积分
RE:请问K60如何实现联合PWM输出,需要用在电机控制方面
你好,你的意思是使用COMBINE寄存器后,关联的两个PWM通道都没有引脚输出吗?还有能详细介绍一下你对Flextimer是怎么配置的吗,以方便更快的解决你的问题?
该用户从未签到主题帖子积分
新手上路, 积分 44, 距离下一级还需 6 积分
新手上路, 积分 44, 距离下一级还需 6 积分
RE:请问K60如何实现联合PWM输出,需要用在电机控制方面
对的,关联的两路PWM互补输出,结果什么信号都出不来,如果只是普通PWM输出就没有问题,具体的配置发给您看下:
void&&ftm1PwmInit (INT32U&&ulFreq)
& & SIM_SCGC5&&|= SIM_SCGC5_PORTA_MASK;& && && && && && && && && &&&
& & PORTA_PCR12 = PORT_PCR_MUX(3)& && && && && && && && && && &
& && && && && & | PORT_PCR_DSE_MASK;& && && && && && && && && &
& & PORTA_PCR9&&= PORT_PCR_MUX(3)& && && && && && && && && &
& && && && && & | PORT_PCR_DSE_MASK;& && && && && && && && && && &
& & FTM1_SC&&|= FTM_SC_PS(2)& && && && && && && && && && && && && &
& && && && &&&| FTM_SC_CLKS(1);& && && && && && && && && && &
& & SIM_SCGC6& &|= SIM_SCGC6_FTM1_MASK;
& && && && && && && && &
& & FTM1_C0SC& &|=&&FTM_CnSC_ELSB_MASK;& && && && &&&
& & FTM1_C0SC& &&= ~FTM_CnSC_ELSA_MASK;& &&&
& & FTM1_C0SC& &|=&&FTM_CnSC_MSB_MASK;
& & FTM1_C1SC& &|=&&FTM_CnSC_ELSB_MASK;& && && && && && &
& & FTM1_C1SC& &&= ~FTM_CnSC_ELSA_MASK;& &&&
& & FTM1_C1SC& &|=&&FTM_CnSC_MSB_MASK;
& & FTM1_MODE& &|= FTM_MODE_WPDIS_MASK;& && && && && && &
& & FTM1_MODE& &|= 1;& && && &
& && && && && && && &
& & FTM1_COMBINE |= FTM_COMBINE_DTEN0_MASK;& && && && && && &&&
& & FTM1_DEADTIME |= FTM_DEADTIME_DTPS(1)& && && && && &
& && && && && && &| FTM_DEADTIME_DTVAL(12);& && && &
& & FTM1_COMBINE |= FTM_COMBINE_SYNCEN0_MASK& && && && && && && &
& & & & & & & && & |FTM_COMBINE_COMP0_MASK
& & & & & & & && & |FTM_COMBINE_COMBINE0_MASK;
& & FTM1_SYNC& & |= FTM_SYNC_CNTMAX_MASK;
& & FTM1_SYNCONF |= FTM_SYNCONF_SWWRBUF_MASK
& & & & & & & && &| FTM_SYNCONF_SYNCMODE_MASK;
& & FTM1_OUTMASK = 0xf0;& && &
& & FTM1_OUTINIT = 0;& && && &
& & FTM1_POL& &&&= 0;& && && && &&&
& & FTM1_INVCTRL = 0;& && && && &
& & & & & & & &
& & FTM1_QDCTRL &=~FTM_QDCTRL_QUADEN_MASK;& && &
& & FTM1_SWOCTRL = 0;& && && &
& & FTM1_PWMLOAD = 0;& &&&
& & FTM1_CNTIN= 0;& && && &
& & __GusActMod = (INT16U)( / 4 / ulFreq);& &
& & FTM1_MOD&&= __GusActM
& & & & & & & &&&
& & FTM1_C0V& &= 30 * __GusActMod / 100;
& & FTM1_C1V& &= 30 * __GusActMod / 100;
& & FTM1_CNT&&= 0;& &&&
& & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & FTM1_SYNC |=FTM_SYNC_SWSYNC_MASK;& &
void&&ftm1PwmSet (INT16U&&usDuty)
& &FTM1_C0V& &= 30 * __GusActMod / 100;
& &FTM1_C1V& &= 30 * __GusActMod / 100;
& &FTM1_SYNC |=FTM_SYNC_SWSYNC_MASK;& &
TA的每日心情奋斗 19:14签到天数: 4 天[LV.2]偶尔看看I主题帖子积分
回复:请问K60如何实现联合PWM输出,需要用在电机控制方面
谁有高招,实现级联PWM?
该用户从未签到主题帖子积分
注册会员, 积分 180, 距离下一级还需 20 积分
注册会员, 积分 180, 距离下一级还需 20 积分
回复:请问K60如何实现联合PWM输出,需要用在电机控制方面
回复第 3 楼 于 23:22:46发表:
对的,关联的两路PWM互补输出,结果什么信号都出不来,如果只是普通PWM输出就没有问题,具体的配置发给您看下:
void ftm1PwmInit (INT32U ulFreq)
SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;
PORTA_PCR12 = PORT_PCR_MUX(3)
| PORT_PCR_DSE_MASK;
PORTA_PCR9 = PORT_PCR_MUX(3)
| PORT_PCR_DSE_MASK;
FTM1_SC |= FTM_SC_PS(2)
| FTM_SC_CLKS(1);
SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;
FTM1_C0SC |= FTM_CnSC_ELSB_MASK;
FTM1_C0SC &= ~FTM_CnSC_ELSA_MASK;
FTM1_C0SC |= FTM_CnSC_MSB_MASK;
FTM1_C1SC |= FTM_CnSC_ELSB_MASK;
FTM1_C1SC &= ~FTM_CnSC_ELSA_MASK;
FTM1_C1SC |= FTM_CnSC_MSB_MASK;
FTM1_MODE |= FTM_MODE_WPDIS_MASK;
FTM1_MODE |= 1;
FTM1_COMBINE |= FTM_COMBINE_DTEN0_MASK;
FTM1_DEADTIME |= FTM_DEADTIME_DTPS(1)
| FTM_DEADTIME_DTVAL(12);
FTM1_COMBINE |= FTM_COMBINE_SYNCEN0_MASK
|FTM_COMBINE_COMP0_MASK
|FTM_COMBINE_COMBINE0_MASK;
FTM1_SYNC |= FTM_SYNC_CNTMAX_MASK;
FTM1_SYNCONF |= FTM_SYNCONF_SWWRBUF_MASK
| FTM_SYNCONF_SYNCMODE_MASK;
FTM1_OUTMASK = 0xf0;
FTM1_OUTINIT = 0;
FTM1_POL = 0;
FTM1_INVCTRL = 0;
FTM1_QDCTRL &=~FTM_QDCTRL_QUADEN_MASK;
FTM1_SWOCTRL = 0;
FTM1_PWMLOAD = 0;
FTM1_CNTIN= 0;
__GusActMod = (INT16U)( / 4 / ulFreq);
FTM1_MOD = __GusActM
FTM1_C0V = 30 * __GusActMod / 100;
FTM1_C1V = 30 * __GusActMod / 100;
FTM1_CNT = 0;
FTM1_SYNC |=FTM_SYNC_SWSYNC_MASK;
void ftm1PwmSet (INT16U usDuty)
FTM1_C0V = 30 * __GusActMod / 100;
FTM1_C1V = 30 * __GusActMod / 100;
FTM1_SYNC |=FTM_SYNC_SWSYNC_MASK;
FTM1_C0V = 30 * __GusActMod / 100;
FTM1_C1V = 30 * __GusActMod / 100;
你的C0V和C1V怎么设成是一样的?试试取不一样的值
该用户从未签到主题帖子积分
RE:请问K60如何实现联合PWM输出,需要用在电机控制方面
要使用级联的话,只需要配置n-1通道的PWM参数就可以啊,不需要两者一起配置的吧。
该用户从未签到主题帖子积分
新手上路, 积分 44, 距离下一级还需 6 积分
新手上路, 积分 44, 距离下一级还需 6 积分
RE:请问K60如何实现联合PWM输出,需要用在电机控制方面
C0V和C1V设置成不一样的还是不行,有没有实现级联PWM的配置代码??万分感谢!!
该用户从未签到主题帖子积分
RE:请问K60如何实现联合PWM输出,需要用在电机控制方面
你有试过在Debug时,查看寄存器的设置的值是否正确的吗?
该用户从未签到主题帖子积分
注册会员, 积分 180, 距离下一级还需 20 积分
注册会员, 积分 180, 距离下一级还需 20 积分
回复:请问K60如何实现联合PWM输出,需要用在电机控制方面
回复第 6 楼 于 16:43:44发表:
要使用级联的话,只需要配置n-1通道的PWM参数就可以啊,不需要两者一起配置的吧。
一直没明白你们说的“级联”指的是什么?是combine这个词吗?
该用户从未签到主题帖子积分
回复:请问K60如何实现联合PWM输出,需要用在电机控制方面
回复第 9 楼 于 08:38:16发表:
回复第 6 楼 于 16:43:44发表:
要使用级联的话,只需要配置n-1通道的PWM参数就可以啊,不需要两者一起配置的吧。
一直没明白你们说的“级联”指的是什么?是combine这个词吗?
是的,你电脑有安装CW的话,可以利用CW中的PE生成两路级联的PWM波,这样做比较简单,容易理解。
Tel: 3-8069
版权所有@苏州灵动帧格网络科技有限公司
Powered by}

我要回帖

更多关于 继电器实现电机正反转 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信