智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2767|回复: 9
打印 上一主题 下一主题

新手写了个最简单的电磁程序,但舵机就是不打角啊,求助

[复制链接]

29

主题

621

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2686

论坛元老奖章

威望
1771
贡献
53
兑换币
1177
注册时间
2013-5-28
在线时间
431 小时
跳转到指定楼层
1#
发表于 2013-11-6 23:09:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚刚开始搞程序,写了个最简单,但下进去后,舵机始终打到中值,不打角,各位大神帮忙看看啊!用的是k60写的


#include "include.h"
#define midle  111 //舵机中值
u16 AD_data0[10];
u16 AD_data1[10];
u16 AD_average[2];
u16  AD_temp;
u8  biaodingflag=0;
u16  zuida0;
u16   zuida1;
float  sensor_to_one[2];  //传感器转换结果归一化
s16  sensor_to_another[2];
s16  max_AD[2]={0,0};          //最大采样值数组
s16  min_AD[2]={0,0};   //存放最小值
void Systeminit()
{
  gpio_init (PORTA,4, GPI,HIGH);
   adc_init(ADC1,SE4a);//E0
   adc_init(ADC1,SE5a);//E1
   max_AD[0]=ad_ave(ADC1, SE4a, ADC_16bit,10);
   max_AD[1]=ad_ave(ADC1, SE5a, ADC_16bit,10);
   while(!biaodingflag)   标定最大值用于归化处理
   {
     while(!PTA4_IN)
     {
       zuida0=ad_ave(ADC1, SE4a, ADC_16bit,10);
       if(zuida0>max_AD[0])
         max_AD[0]=zuida0;
        zuida1=ad_ave(ADC1, SE5a, ADC_16bit,10);
       if(zuida1>max_AD[1])
         max_AD[1]=zuida1;
        biaodingflag=1;
     }
   }
   FTM_PWM_init(FTM0, CH0, 10000, 500);//电机pwm C1  50%不转
   FTM_PWM_init(FTM1, CH0, 50, 111);//舵机pwm  A8    111为中值
}
void Motor_forward(u32 duty)
{
   
   FTM_PWM_Duty(FTM0, CH0,duty);   
}
void Get_AD_data()
{
   u8 i=0;
   for(i=0;i<10;i++)
  {
    AD_data0[i]=ad_ave(ADC1, SE4a, ADC_16bit,6);//E0
    AD_data1[i]=ad_ave(ADC1, SE5a, ADC_16bit,6);//E1
  }
  
     AD_average[0]=(AD_data0[1]+AD_data0[2]+AD_data0[3]+AD_data0[4]+AD_data0[5]+AD_data0[6]+AD_data0[7]+AD_data0[8])/8;
     AD_average[1]=(AD_data1[1]+AD_data1[2]+AD_data1[3]+AD_data1[4]+AD_data1[5]+AD_data1[6]+AD_data1[7]+AD_data1[8])/8;
     for(i=0;i<2;i++)
    {
     sensor_to_one[i]=100*(AD_average[i]-min_AD[i])/(max_AD[i]-min_AD[i]);
     sensor_to_another[i]=(int)(sensor_to_one[i]) ;
    }
}
void  duojikongzhi()
{
  u8 angle;
  s8 chazhi;
  chazhi=sensor_to_another[0]-sensor_to_another[1];
  angle=midle+(int)(chazhi/10);
  FTM_PWM_Duty(FTM1,CH0,angle);
  delayms(1);
}
void main()
{
   
  Systeminit();
  Motor_forward(650);
   while(1)
   {
     Get_AD_data();
     delayms(1);
     duojikongzhi();
     
   }
   
      
}

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
2#
发表于 2013-11-7 00:05:22 | 只看该作者
一点一点的来弄吧,不要全部写出来再调试。
回复 支持 反对

使用道具 举报

20

主题

514

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4659
威望
2079
贡献
1144
兑换币
1442
注册时间
2013-9-19
在线时间
718 小时
3#
发表于 2013-11-7 00:40:49 | 只看该作者
我怎么上次见你在做电机驱动,这次就在写程序了?你硬软双修的啊!
回复 支持 反对

使用道具 举报

3

主题

46

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1197
威望
603
贡献
388
兑换币
381
注册时间
2012-10-19
在线时间
103 小时
4#
发表于 2013-11-7 07:42:09 | 只看该作者
暗剑 发表于 2013-11-7 00:40
我怎么上次见你在做电机驱动,这次就在写程序了?你硬软双修的啊!

不都是软硬件一起搞么? 难道不是?  
回复 支持 反对

使用道具 举报

29

主题

621

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2686

论坛元老奖章

威望
1771
贡献
53
兑换币
1177
注册时间
2013-5-28
在线时间
431 小时
5#
 楼主| 发表于 2013-11-7 08:50:44 | 只看该作者
暗剑 发表于 2013-11-7 00:40
我怎么上次见你在做电机驱动,这次就在写程序了?你硬软双修的啊!

没办法啊!
回复 支持 反对

使用道具 举报

29

主题

621

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2686

论坛元老奖章

威望
1771
贡献
53
兑换币
1177
注册时间
2013-5-28
在线时间
431 小时
6#
 楼主| 发表于 2013-11-7 13:03:37 | 只看该作者
Jyoun 发表于 2013-11-7 00:05
一点一点的来弄吧,不要全部写出来再调试。

单个模块都是好的啊。但整到一块就是不行了
回复 支持 反对

使用道具 举报

1

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
338
威望
185
贡献
91
兑换币
111
注册时间
2013-8-21
在线时间
31 小时
毕业学校
合肥
7#
发表于 2013-11-7 14:06:40 | 只看该作者
好乱
回复 支持 反对

使用道具 举报

7

主题

245

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2777
威望
1405
贡献
792
兑换币
756
注册时间
2012-7-9
在线时间
290 小时
8#
发表于 2013-11-7 21:52:07 | 只看该作者
还是单独写个子程序吧,你确定你给上来的程序中每个模块都能正常工作:??
回复 支持 反对

使用道具 举报

36

主题

927

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5102

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
2609
贡献
1465
兑换币
1690
注册时间
2013-1-5
在线时间
514 小时
9#
发表于 2013-11-8 10:33:38 | 只看该作者
你用的k60?
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
威望
119
贡献
61
兑换币
65
注册时间
2014-10-29
在线时间
20 小时
毕业学校
燕京理工学院
10#
发表于 2015-1-8 17:29:25 | 只看该作者
楼主大神  能给我发一份电磁最简单的程序么? 电磁控制舵机即可,或者更简单的     小弟小白一个,电磁传感器一点资料都没有 不知从何处入手  。谢谢    song5925@qq.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 14:39 , Processed in 0.468965 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表