laugh168 发表于 2011-6-27 11:50:10

正在研发中的电动独轮车

也在这里凑个热闹,感觉可能做不到其他同学那样计划周全,表达清晰,就在这里记录一下过程,有问题请大家帮忙吧。
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_652622Z3AAQU.JPG
(原文件名:SNC00087_2.JPG)

laugh168 发表于 2011-6-27 17:57:41

5月中旬开始陆续采购轮毂电机、锂电池、电池盒、控制器、编程器,车座是用原有独轮车的。在原有控制器的硬件基础上做研究改造,对控制芯片重新编程,加入加速度传感器,角速度传感器买了芯片,但不好连接,暂时没有使用,也考虑要不要买焊好的姿态传感器合体,但也有顾虑,电动车电流很大,工作于开关状态,电磁干扰一定不小,连线越长引入的干扰越大,还是考虑直接做电路板。
    没有见到详细说明,在售的那些姿态传感器有可以直接输出状态的吗?如果可以就暂时还不做电路板。
    目前的情况是,可以随加速度传感器的倾斜调整电机的正反转和转速,由于传感器没有减震固定的方案,实际是用手持控制效果还行,真地放在车上就抖得厉害,刚刚做了初步的滤波:储存的采集值 = (储存的采集值*9 + 新的横向采集值)/ 10 ,效果怎样还没有烧写测试。有时就是这样,好像可以测试完再来说,但总是难以顾全,呵呵,测试效果等等,后面要说的还多着呢!

laugh168 发表于 2011-6-30 11:07:32

前两天有个问题一直困惑着我,本来还能正反转的,怎么搞成传感器向一面倾斜是正常的可调速度,向另一面倾斜就变成了同向的几乎见不到可调的高速度?昨天终于调通了,原来是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结果。明白了这点,程序终于调通了。
按说这时我就应该可以让车子立起来测试它挺不挺了,可是由于前期驱动不稳定,电机的转动力量和惯性都大,导致车轴和防转垫片以及车架的方孔出现了较大的间隙,如不处理也很难站好。

laugh168 发表于 2011-7-3 13:48:57

合用的防转垫片到了,装上合用,但这时我留意到电机转动仍然不稳定,尤其是速度较低时,可以见到停顿,还需进一步查明是brake了还是反向驱动了。
总结一下,目前的任务一是进一步稳定驱动,二是做好传感器的机械滤波。

本以为发在这里比发在博客里好,这里都是专业人士,但好像一直没有人来审核,退出登录再来查看就见不到帖子,也见不到在其他人帖子里面的回复,还真有些郁闷!

michener 发表于 2011-7-6 16:47:26

很不错,qhunter大大也在做这个。
应该大家都比较忙没上来吧,这里的气氛很好的,绝对比放在博客要好~~

wcm_e 发表于 2011-7-6 17:31:57

强的, 那有个问题, 前后解决了, 左右呢? 莫非人得举个双手保持平衡?

chongzzz 发表于 2011-7-6 17:34:51

我也想做个独立的平衡车,苦于怎么动手啊!

laugh 发表于 2011-7-6 18:42:13

laugh168的帐号没有审核通过,用不了,这又注_册了一个,暂时仍然没有通过审核,不知道有人能看到不?
    前后问题若能解决得好,左右就不是问题了,其实轮子转起来之后,由于轮胎是圆环形的,向一边偏时,有自动纠偏回正的效果,另外只要人夹住车,左右扭动,车车的前后平衡能力也转化成左右的平衡能力了。

aydali 发表于 2011-7-6 21:18:04

:
    猜想左右是靠骑行者自己调控,和骑两轮电动车一样的左右平衡感觉。

duanduanr 发表于 2011-8-2 17:21:40

mark! 强烈的!!!

zxliberty 发表于 2011-8-21 17:22:58

我还是在想,把轮子换成球会怎么样?

wujohn 发表于 2013-6-13 18:55:21

能不能介绍下 原理 陀螺仪用到几轴了?

一地夏天 发表于 2013-7-9 19:56:53

{:loveliness:}{:sleepy:}{:sleepy:}

jlian168 发表于 2013-7-9 22:59:45

waiting for source.

一地夏天 发表于 2013-7-19 17:13:08

{:hug:}{:hug:}{:hug:}

ym7205 发表于 2014-1-17 15:03:42

这车LZ能骑住么?很难骑的。
页: [1]
查看完整版本: 正在研发中的电动独轮车