正在研发中的电动独轮车
也在这里凑个热闹,感觉可能做不到其他同学那样计划周全,表达清晰,就在这里记录一下过程,有问题请大家帮忙吧。http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_652622Z3AAQU.JPG
(原文件名:SNC00087_2.JPG) 5月中旬开始陆续采购轮毂电机、锂电池、电池盒、控制器、编程器,车座是用原有独轮车的。在原有控制器的硬件基础上做研究改造,对控制芯片重新编程,加入加速度传感器,角速度传感器买了芯片,但不好连接,暂时没有使用,也考虑要不要买焊好的姿态传感器合体,但也有顾虑,电动车电流很大,工作于开关状态,电磁干扰一定不小,连线越长引入的干扰越大,还是考虑直接做电路板。
没有见到详细说明,在售的那些姿态传感器有可以直接输出状态的吗?如果可以就暂时还不做电路板。
目前的情况是,可以随加速度传感器的倾斜调整电机的正反转和转速,由于传感器没有减震固定的方案,实际是用手持控制效果还行,真地放在车上就抖得厉害,刚刚做了初步的滤波:储存的采集值 = (储存的采集值*9 + 新的横向采集值)/ 10 ,效果怎样还没有烧写测试。有时就是这样,好像可以测试完再来说,但总是难以顾全,呵呵,测试效果等等,后面要说的还多着呢! 前两天有个问题一直困惑着我,本来还能正反转的,怎么搞成传感器向一面倾斜是正常的可调速度,向另一面倾斜就变成了同向的几乎见不到可调的高速度?昨天终于调通了,原来是C语言数据类型的问题。
原来的程序段:
u16 hYval,hZval;
u16 mid_Piont=337;// 1024/5.1*1.65=337
...
if (hZval>=mid_Piont)
{
BLDC_Set_Duty_cycle((u8)((hZval-mid_Piont) /4));
}
else
{
BLDC_Set_Duty_cycle((u8)((mid_Piont-hZval)/4));
}
if (hZval>=mid_Piont)
{
// GPIOA->ODR |= BIT6; //亮灯
PhaseSteps = PhaseSteps_CW;
bHallSteps = bHallSteps_CW;
}
else
{
// GPIOA->ODR &= (u8)(~BIT6); //灭灯
PhaseSteps = PhaseSteps_CCW;
bHallSteps = bHallSteps_CCW;
}
虽然没有滤波导致抖动大,但工作是正常的。
后来为了滤波方便引用原有的储存值,大小的比较改成了跟0的比较,编译器就开始有提示warning了:Compare out of range,类似于这样的:
if ((hZval-mid_Piont) >= 0)
{
BLDC_Set_Duty_cycle((u8)((hZval-mid_Piont) /4));
}
else
{
BLDC_Set_Duty_cycle((u8)((mid_Piont-hZval)/4));
}
我把比较式中的=号去掉,就不再有警告了,但工作状态出乎我的意料。幸好有一个指示灯可以帮助指示程序路径,才发现,原来unsign的数据类型计算结果还是unsign,结果如果小于0,那就得到一个符号位当成一个高权值的unsign结果。明白了这点,程序终于调通了。
按说这时我就应该可以让车子立起来测试它挺不挺了,可是由于前期驱动不稳定,电机的转动力量和惯性都大,导致车轴和防转垫片以及车架的方孔出现了较大的间隙,如不处理也很难站好。 合用的防转垫片到了,装上合用,但这时我留意到电机转动仍然不稳定,尤其是速度较低时,可以见到停顿,还需进一步查明是brake了还是反向驱动了。
总结一下,目前的任务一是进一步稳定驱动,二是做好传感器的机械滤波。
本以为发在这里比发在博客里好,这里都是专业人士,但好像一直没有人来审核,退出登录再来查看就见不到帖子,也见不到在其他人帖子里面的回复,还真有些郁闷! 很不错,qhunter大大也在做这个。
应该大家都比较忙没上来吧,这里的气氛很好的,绝对比放在博客要好~~ 强的, 那有个问题, 前后解决了, 左右呢? 莫非人得举个双手保持平衡? 我也想做个独立的平衡车,苦于怎么动手啊! laugh168的帐号没有审核通过,用不了,这又注_册了一个,暂时仍然没有通过审核,不知道有人能看到不?
前后问题若能解决得好,左右就不是问题了,其实轮子转起来之后,由于轮胎是圆环形的,向一边偏时,有自动纠偏回正的效果,另外只要人夹住车,左右扭动,车车的前后平衡能力也转化成左右的平衡能力了。 :
猜想左右是靠骑行者自己调控,和骑两轮电动车一样的左右平衡感觉。 mark! 强烈的!!! 我还是在想,把轮子换成球会怎么样? 能不能介绍下 原理 陀螺仪用到几轴了? {:loveliness:}{:sleepy:}{:sleepy:} waiting for source. {:hug:}{:hug:}{:hug:} 这车LZ能骑住么?很难骑的。
页:
[1]