智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 8824|回复: 14
打印 上一主题 下一主题

[咨询] 电磁组两个电感的算法

  [复制链接]

12

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
292
威望
180
贡献
58
兑换币
86
注册时间
2013-1-9
在线时间
27 小时
跳转到指定楼层
1#
发表于 2013-4-12 18:59:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
//方向控制
   uint16 ADValue0,ADValue1;  //      1    主程序使用的变量定义     
  float Direction_diff=0.0,Direction_sub=0.0,Direction_add=0.0;
  float Direction_sub_value=0.0,Direction_sub_old=0.0;
  float DirectionOutold=0.0,DirectionOutnew=0.0;
  void DirectionControl(void)
   {


      Direction_sub=(float)ADValue0-(float)ADValue1;
      Direction_add=(float)ADValue0+(float)ADValue1;
      Direction_diff=Direction_sub/Direction_add;
      Direction_sub_value=Direction_sub-Direction_sub_old;
      Direction_sub_old=Direction_sub;
      DirectionOutold=DirectionOutnew;
      DirectionOutnew=1100+K_Direction_P*Direction_diff+K_Direction_D*Direction_sub_value;

   }
大神帮我看看程序哪错了啊,大弯道正向能跑过去反向跑不过去

0

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
QQ
威望
165
贡献
94
兑换币
85
注册时间
2015-12-27
在线时间
21 小时
毕业学校
西科大
15#
发表于 2017-1-17 20:23:31 | 只看该作者
你好,请问你舵机转角只能朝一边的问题解决了吗
回复 支持 反对

使用道具 举报

0

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
458
威望
229
贡献
127
兑换币
151
注册时间
2016-3-11
在线时间
51 小时
毕业学校
河南理工大学
14#
发表于 2016-4-19 21:25:07 | 只看该作者
你的  Direction_sub_old=Direction_sub;而后面运算 Direction_sub_value=Direction_sub-Direction_sub_old。   这不就等于0了吗?还怎么控制?不懂,求问你的思想是什么?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
66
威望
42
贡献
14
兑换币
15
注册时间
2013-12-27
在线时间
5 小时
13#
发表于 2014-3-19 16:01:00 | 只看该作者
Αρηδ 发表于 2013-4-12 21:37
这不是第七届参考方案吗

不是
回复 支持 反对

使用道具 举报

0

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
570
威望
307
贡献
169
兑换币
197
注册时间
2013-11-14
在线时间
47 小时
12#
发表于 2014-2-19 14:05:47 | 只看该作者
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3666
威望
1702
贡献
1098
兑换币
1126
注册时间
2013-1-8
在线时间
433 小时
毕业学校
嘉州大学
11#
发表于 2013-6-25 20:23:58 | 只看该作者
这个算法貌似在弯道上不怎么靠谱啊!
回复 支持 反对

使用道具 举报

13

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
548
威望
280
贡献
114
兑换币
156
注册时间
2013-4-12
在线时间
77 小时
毕业学校
绥化学院
10#
发表于 2013-4-14 14:58:19 | 只看该作者
我想看看楼主剩下的程序
回复 支持 反对

使用道具 举报

13

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
548
威望
280
贡献
114
兑换币
156
注册时间
2013-4-12
在线时间
77 小时
毕业学校
绥化学院
9#
发表于 2013-4-14 14:57:40 | 只看该作者
不是吧 没转换完读走数据你说会怎么样
回复 支持 反对

使用道具 举报

6

主题

89

帖子

0

精华

高级会员

Rank: 4

积分
792
威望
404
贡献
232
兑换币
252
注册时间
2013-3-13
在线时间
78 小时
8#
发表于 2013-4-14 12:04:49 | 只看该作者
void AD_Init(){     //AD初始化

ATD0CTL1=0X00;   
ATD0CTL2=0XC2;   
ATD0CTL3=0X10;   
ATD0CTL4=0X6F;   
ATD0CTL5=0X30;     
ATD0DIEN=0X00;    //禁止数字输入

}
void interrupt 22 ADT0()
{
  DisableInterrupts;
  AD_ls0+=ATD0DR0L;
  AD_ls1+=ATD0DR1L;
  AD_cnt++;
  if (AD_cnt==8)
  {   AD_flag=1;
               
     AD_cy0=AD_ls0>>3;   //四次
     AD_cy1=AD_ls1>>3;
    AD_ls0=0;
    AD_ls1=0;
    AD_cnt=0;
   
       
       
     ad_djg();
          AD_flag=0;
  }
  EnableInterrupts;
}
请问上面的AD程序应该每进一次中断就能采到0,和1通道的模拟量的转换结果吧?
回复 支持 反对

使用道具 举报

13

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
548
威望
280
贡献
114
兑换币
156
注册时间
2013-4-12
在线时间
77 小时
毕业学校
绥化学院
7#
发表于 2013-4-14 08:57:19 | 只看该作者
有个方法 可以自己写个减法函数 但是不能出现减号
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 04:26 , Processed in 0.054624 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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