智能车制作

标题: 有关电磁车进一步稳定 [打印本页]

作者: ForgeHoo    时间: 2012-7-8 02:18
标题: 有关电磁车进一步稳定
还记得以前看清华的电磁车的时候,有一段是车体原地低速打转,我想原地打转应该能检测车体进一步的稳定性。自己尝试了几次,但是都不行,直接破坏了原先的平衡。记得5月份调车的时候,有一次小车就是原地高速打转,且能保证平衡,不过程序中并没有写这段,后来发现是缓存器接触不良造成的。论坛上有同学尝试过原地低速打转的么?能讨论一下,发表一下自己的意见么?
作者: renqinglei    时间: 2012-7-8 09:15
乐师的
作者: ForgeHoo    时间: 2012-7-8 12:42
renqinglei 发表于 2012-7-8 09:15
乐师的

???
作者: leosaac    时间: 2012-7-8 12:52
我们使用遥控器让车子原地打转,还把我的手机绑在上面录像,要看么?
作者: dright_chao    时间: 2012-7-8 12:59
leosaac 发表于 2012-7-8 12:52
我们使用遥控器让车子原地打转,还把我的手机绑在上面录像,要看么?

大神发上来吧,让我膜拜一下~

作者: ForgeHoo    时间: 2012-7-8 13:01
leosaac 发表于 2012-7-8 12:52
我们使用遥控器让车子原地打转,还把我的手机绑在上面录像,要看么?

行啊,膜拜一下,能顺便告诉我一下控制思路么?

作者: leosaac    时间: 2012-7-8 13:08
ForgeHoo 发表于 2012-7-8 13:01
行啊,膜拜一下,能顺便告诉我一下控制思路么?

控制思想......就是遥控。当然不只是遥控车子的前后左右运动,还遥控参数什么PID全都用遥控器调整,轻松愉快。
然后当然车子寻线跑不用遥控器。

作者: leosaac    时间: 2012-7-8 13:12
ForgeHoo 发表于 2012-7-8 13:01
行啊,膜拜一下,能顺便告诉我一下控制思路么?

我先转换一下视频,视频是倒着的,看的话脖子会很痛的。
like this:
[attach]29807[/attach]

作者: ForgeHoo    时间: 2012-7-8 13:14
leosaac 发表于 2012-7-8 13:08
控制思想......就是遥控。当然不只是遥控车子的前后左右运动,还遥控参数什么PID全都用遥控器调整,轻松愉 ...

用遥控器改PID这个思想不错,很方便啊,我们也是用无线串口修改的。不过对于旋转这个问题,尝试过左右加相反的值,但是车体直接倒了,所以感觉应该不是这么控制。
作者: leosaac    时间: 2012-7-8 13:21
ForgeHoo 发表于 2012-7-8 13:14
用遥控器改PID这个思想不错,很方便啊,我们也是用无线串口修改的。不过对于旋转这个问题,尝试过左右加相 ...

我们就是直接加的相反的PWM,比如一个-150一个+150

作者: ForgeHoo    时间: 2012-7-8 13:23
leosaac 发表于 2012-7-8 13:21
我们就是直接加的相反的PWM,比如一个-150一个+150

你的意思是直接去除直立控制部分。电机直接加正反电压,达到旋转目的?感觉告诉情况下可以做到,但是低速情况下的话行么?
作者: leosaac    时间: 2012-7-8 13:33
ForgeHoo 发表于 2012-7-8 13:23
你的意思是直接去除直立控制部分。电机直接加正反电压,达到旋转目的?感觉告诉情况下可以做到,但是低速 ...

当然不是,是在已经直立的条件下两轮子加减同样大小PWM,如果直接就只是设置为相反大小的PWM有意思吗?
作者: ForgeHoo    时间: 2012-7-8 13:35
leosaac 发表于 2012-7-8 13:33
当然不是,是在已经直立的条件下两轮子加减同样大小PWM,如果直接就只是设置为相反大小的PWM有意思吗?

是啊,我也是这么想的,不过尝试过直立状态下,电机加相反的PWM值,不过没有成功过,估计这就说明了直立稳定性比较差了
作者: leosaac    时间: 2012-7-8 13:37
ForgeHoo 发表于 2012-7-8 13:35
是啊,我也是这么想的,不过尝试过直立状态下,电机加相反的PWM值,不过没有成功过,估计这就说明了直立稳 ...

视频上传中,估计还要审核
作者: ForgeHoo    时间: 2012-7-8 13:44
leosaac 发表于 2012-7-8 13:37
视频上传中,估计还要审核

恩 ,观摩观摩,进一步完善,谢谢
作者: leosaac    时间: 2012-7-8 13:47
第一人称原地打转,小心头晕
作者: leosaac    时间: 2012-7-8 13:50
ForgeHoo 发表于 2012-7-8 13:44
恩 ,观摩观摩,进一步完善,谢谢

[media=x,500,375][/media]
作者: leosaac    时间: 2012-7-8 13:52
leosaac 发表于 2012-7-8 13:50
[media=x,500,375][/media]

[media=x,500,375][/media]
作者: leosaac    时间: 2012-7-8 13:52
怪了怎么发不出去?优酷的视频需要这样审核么?
作者: leosaac    时间: 2012-7-8 13:56
http player.youku.com player.php sid XNDI1MDA3Njgw v.swf
:// / / / /
作者: leosaac    时间: 2012-7-8 13:57
空格处添加上面的第二排的符号就行了。
作者: ForgeHoo    时间: 2012-7-8 14:13
leosaac 发表于 2012-7-8 13:57
空格处添加上面的第二排的符号就行了。

很不错啊,速度挺快的,有见过旋转速度更快点,不过我追求的是低速旋转的,应该原理是一样的吧,我试试
作者: leosaac    时间: 2012-7-8 15:21
ForgeHoo 发表于 2012-7-8 14:13
很不错啊,速度挺快的,有见过旋转速度更快点,不过我追求的是低速旋转的,应该原理是一样的吧,我试试

我只是设置了150的变化量,可以试试200或者250(满了)。

作者: ForgeHoo    时间: 2012-7-8 15:46
leosaac 发表于 2012-7-8 15:21
我只是设置了150的变化量,可以试试200或者250(满了)。

恩,看样子,大哥,更我设置的PWM周期是一样啊,呵呵,我试试给小一点的PWM

作者: leosaac    时间: 2012-7-8 15:50
ForgeHoo 发表于 2012-7-8 15:46
恩,看样子,大哥,更我设置的PWM周期是一样啊,呵呵,我试试给小一点的PWM

感觉PWM的输出对电机转速的影响不是单纯按比例来的,估计是因为有摩擦力的原因,当PWM给的比较大了再加大PWM的话对转速影响很大,而PWM给的小的时候加大PWM感觉差不多。
作者: ForgeHoo    时间: 2012-7-8 16:08
leosaac 发表于 2012-7-8 15:50
感觉PWM的输出对电机转速的影响不是单纯按比例来的,估计是因为有摩擦力的原因,当PWM给的比较大了再加大 ...

恩,是滴,本来就不是成线性相关的,只是把它近似的看做是线性关系,与实际结合的话,更不是线性关系了,所谓的PWM也不过是斩波,电机还是只识别电压值的,电压越高转的越快。
作者: sanzhong    时间: 2012-7-8 16:47
原来我以为我们的车子不行,但后来我试了下可以的……

作者: chengjaven    时间: 2012-7-9 10:04
leosaac 发表于 2012-7-8 12:52
我们使用遥控器让车子原地打转,还把我的手机绑在上面录像,要看么?

优酷上 原地打转 的视频是你的?
作者: sdlibin007@qq.c    时间: 2012-7-11 19:37
:victory::victory:
作者: 在路上520    时间: 2012-7-11 20:17
ForgeHoo 发表于 2012-7-8 13:14
用遥控器改PID这个思想不错,很方便啊,我们也是用无线串口修改的。不过对于旋转这个问题,尝试过左右加相 ...

无线串口怎么修改参数
作者: ForgeHoo    时间: 2012-7-12 02:42
在路上520 发表于 2012-7-11 20:17
无线串口怎么修改参数

将PID参数设为变量,通过串口修改啊,接下来的事,就交给无线处理了,不管了,只管接受即可
作者: 在路上520    时间: 2012-7-12 09:38
ForgeHoo 发表于 2012-7-12 02:42
将PID参数设为变量,通过串口修改啊,接下来的事,就交给无线处理了,不管了,只管接受即可

怎么通过无线串口从电脑向单片机发送数据呢,能指导下吗,18994078@qq.com或者能给我段发送数据的程序吗
作者: ForgeHoo    时间: 2012-7-12 14:09
在路上520 发表于 2012-7-12 09:38
怎么通过无线串口从电脑向单片机发送数据呢,能指导下吗,18994078@qq.com或者能给我段发送数据的程序吗

就是直接用串口调试助手发送数据就行了,因为买的无线上面有mega16,无线之间的协议通信什么的他都解决了,所以用他就更连有线一样,电脑用串口调试助手发送,单片机就是接收到数据{:soso_e100:}
作者: 在路上520    时间: 2012-7-12 15:47
ForgeHoo 发表于 2012-7-12 14:09
就是直接用串口调试助手发送数据就行了,因为买的无线上面有mega16,无线之间的协议通信什么的他都解决了 ...

我们也用的无线,只是不知道怎么从上位机往回发数据,那段程序不知道怎么写,
void SEND_Data(float Data[4])
{
  int temp0[4] = {0};
  uint temp1[4] = {0};
  uchar databuf[10] = {0};
  uchar i;
  ushort CRC16 = 0;
  for(i=0;i<4;i++)
   {   
    temp0  = (int)Data;
    temp1 = (uint)temp0;   
   }  
  for(i=0;i<4;i++)
  {
    databuf[i*2]   = (uchar)(temp1%256);
    databuf[i*2+1] = (uchar)(temp1/256);
  }
  CRC16 = CRC16_CHECK(databuf,8);
  databuf[8] = CRC16%256;
  databuf[9] = CRC16/256;
  for(i=0;i<10;i++)
    SCI_TXD(databuf);
}        
把里面的SCI_TXD(databuf);换成 SCI_RXD(databuf);吗?

作者: 在路上520    时间: 2012-7-12 15:50
ForgeHoo 发表于 2012-7-12 14:09
就是直接用串口调试助手发送数据就行了,因为买的无线上面有mega16,无线之间的协议通信什么的他都解决了 ...

[attach]29962[/attach]
我们用的这款上位机,不知道能往回传数据不能?

作者: ForgeHoo    时间: 2012-7-12 15:52
在路上520 发表于 2012-7-12 15:47
我们也用的无线,只是不知道怎么从上位机往回发数据,那段程序不知道怎么写,
void SEND_Data(float Dat ...

你这个是看波形的那块函数吧
作者: 在路上520    时间: 2012-7-12 16:00
嗯,这也是在网上下载的。里面有的地方我也不懂,你能给我一个往回发数据的程序吗,好像跟这个差别挺大的
作者: 在路上520    时间: 2012-7-12 16:00
ForgeHoo 发表于 2012-7-12 15:52
你这个是看波形的那块函数吧

嗯,这也是在网上下载的。里面有的地方我也不懂,你能给我一个往回发数据的程序吗,好像跟这个差别挺大的
作者: 在路上520    时间: 2012-7-12 16:14
ForgeHoo 发表于 2012-7-12 14:09
就是直接用串口调试助手发送数据就行了,因为买的无线上面有mega16,无线之间的协议通信什么的他都解决了 ...

老大,给端程序吧,马上要比赛了,18994078@qq.com,我们还在速度调节
作者: ForgeHoo    时间: 2012-7-12 16:52
在路上520 发表于 2012-7-12 16:14
老大,给端程序吧,马上要比赛了,18994078@qq.com,我们还在速度调节

这个软件也就是一个数据传输和一个数据校验函数,其他没有什么的,程序待会给你发,别急啊,我得找找
作者: ForgeHoo    时间: 2012-7-12 16:55
ForgeHoo 发表于 2012-7-12 16:52
这个软件也就是一个数据传输和一个数据校验函数,其他没有什么的,程序待会给你发,别急啊,我得找找

小弟才大二,担当不起老大啊,
作者: 在路上520    时间: 2012-7-12 17:02
ForgeHoo 发表于 2012-7-12 15:52
你这个是看波形的那块函数吧

Speed_PID();这个函数是干什么的
作者: 在路上520    时间: 2012-7-12 17:06
ForgeHoo 发表于 2012-7-12 16:52
这个软件也就是一个数据传输和一个数据校验函数,其他没有什么的,程序待会给你发,别急啊,我得找找

嘿嘿,没看懂怎么用了,发送的时候直接写入A,B,C..........就行了,是不是
作者: 在路上520    时间: 2012-7-12 17:06
ForgeHoo 发表于 2012-7-12 16:55
小弟才大二,担当不起老大啊,

能加下扣扣吗?18994078
作者: ForgeHoo    时间: 2012-7-12 17:16
在路上520 发表于 2012-7-12 17:02
Speed_PID();这个函数是干什么的

哦,这个是控速的PID调节
作者: ForgeHoo    时间: 2012-7-12 17:18
在路上520 发表于 2012-7-12 17:06
嘿嘿,没看懂怎么用了,发送的时候直接写入A,B,C..........就行了,是不是

恩,是的,你只要在串口调试助手里面发送字母就行了,然后他会传输给单片机,当然当前的值也会显示在串口调试助手里





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2