DIY年轻人的第一辆电动滑板车

前言:

  • 咋说呢,一辆性能完好的电动滑板车是离公司半远不远的单身狗人士的绝佳选择了。目前市场上的电动滑板也是琳琅满目,上午某东随手一点,下午即可上路撩妹。但是!这样的滑板车是没有灵魂的,且大多数年轻人都会有一个豪车组装梦。当然,组装豪车的梦想还是有点距离,SO~~我们可以先迈出梦想的第一步:组装一辆电动滑板车。
  • 其实要组装也非常简单,百度上一搜早有很多DIY大神发出各种组装帖子。不过大多都是言简意赅,看完后依旧是一头雾水。但不可否认,这些帖子的参考意义是很大的。能够大概的了解到,哪种车子适合改,动力部分如何实现。
  • 由于次此DIY所用到的器件不完全都能经过采购获取,其中的一个控制部分会涉及到基础的单片机编程与PCB制作。所以,一定要有此基础的情况下动手。建议想做的人先看完内容且理解到了如何完成后再进行采购。避免一些器件无法完成制作而导致材料浪费。最后的最后,我希望真正想做的人才继续往下看,拒绝三分钟热度。毕竟,自己DIY一台的成本足够在市场上购买性能一般的电动滑板车。DIY的好处在于,制作的材料都是自己购买,质量没的说。且能够充分了解构造,故障后可以自己排查问题并解决。当然,最大的还是在于自己每天能骑着自己亲手造的车通勤带来的满足感。

准备工作:

  1. 了解大概构造
    刚开始可以百度上查找些DIY的教程,虽然可能不是很明白,但是对于前期的一些了解足够了。我这也贴出一个对于结构组成写的比较清楚的一个教程(建议只看楼主)。
    >点击<
    好,大概看了上面的教程后。我们可以简单的对车子构成列出初步的清单(基本上我都会挂出购买链接,大家可以自行选择):
    1):一辆纯脚蹬滑板车
    2):油门控制器
    3):控制板(需要手动绘制PCB与编程)
    4):碟刹,后叉改造部分
    5):航模电机
    6):电池
    7):电调
    8):线
    9):充电器
    10):一些损耗材料

开始准备材料:

  1. 滑板车建议为迪卡侬7系或者9系,此次DIY的目标即为7系。其余品牌的滑板车后叉部分不是很清楚是否能够适配安装。可以咨询淘宝的改装件卖家,后续会讲到。如果手上还没车子的朋友,建议上咸鱼购买二手滑板车,价格非常实惠。

在这里插入图片描述

  1. 油门控制器买半截转把带开关与电量显示的。假如油门控制器不在此店购买,最好是确定下买回来的转把油门有以下接口:1.符合锂电池电压范围的显示入口。2.带开关线。3.信号输出电压在0-5V的区间范围。链接===》点击

在这里插入图片描述

  1. 控制板的作用主要是识别转把的转动幅度,转化为PWM信号给到电调,电调再控制电机转速。简单做的话可以直接购买调速器之类的。但是对于后期的拓展就没那么方便了,开关控制电源那些不好做。所以我建议是直接自己做一个控制板,能够对转把的的信号灵活处理。这一步需要有基础的PCB制作以及单片机编程经验(后面会说)。当然,对于DIY的东西,最重要的是理解到这部分需要做的功能是什么,才能灵活的替换或者修改。要不然很容易导致,一步走不下去,整个项目就坍塌了。

  2. 碟刹和后叉控制部分可以归类到一起说,因为是同一家店铺购买的改装套件。上链接==》点击我
    这个店家是个改装老手,对于前期懵皮的我有很大帮助。大家报出车型即可,最好买总成套件,包含了碟刹什么的。需要特别注意!! 碟刹以及后叉固定架为店家自己出品,但是传动皮带以及轴承是需要另外购买的。购买链接以及型号也可以咨询这个卖家,当然这个店家也有可能会自己备这几个器件。如果能一起买就最好了,省了运费。
    传动皮带:链接===》点我点我!
    颜色分类选择5M600 备注写上420-5M-13即可。最好先咨询下店家是否还有这个参数的皮带。 购买1条即可,或者多买一条备用也行。
    ||||||||||||||
    轴承:需要购买两款型号:第一款链接 型号选择为NMB F688ZZ 数量为4个。
    第二款链接 型号选择为688zz(L-1680HH)尺寸8* 16 *5 数量为2个。

  3. 航模电机,作为动力产生的主要器件。选择一个质量好的尤为重要。我第一次做由于太心急过早从淘宝上买了个6364 200KV电机。建议后面的朋友们咨询下购买后叉的店铺卖家,他会有推荐型号。可以买新的或者咸鱼购买二手都行。我就不上链接了,我买的那个电机真心不是很好。

  4. 电池,作为能量的供给,和电机同样重要。 电池最好买质量好些的,耐用性以及安全性都比较有保障,所有配件中最贵的也就电池了。我订做的是7串4并(串联增加电压,并联增加容量。现在用的器件适宜电压范围20-29V,负载能力40A。所以7串4并即可,需要增大容量的可以7串5并)。我看了下我当初买的电池链接已经下架了(松下NCR18650PF 2900mah 10A持续放电)。需要定做的朋友可以跟店家问问还有无此类型的电池,如果没有了可以选择其他同品质类型的。在他店铺内选好电池让他定做成电池组。切记不要最好是选择进口的,然后一定要让他装保护板,塑料支架,充电接口做成分开的。
    店铺链接===》点我点我~~
    充电接口可以选这个===》点我点我~

  5. 电调,型号最好是购买 好盈乐天80A高压版电调,支持4-12S(4-12个电池串联的工作电压)。 直接咸鱼购买二手即可,感觉没必要买新的。

  6. 线,电机线适合14AWG 电源线适合12AWG。14与12(红黑)各买2米,足够了。记得还要有XT60电池连接器需要买一对。告知下电池组卖家电池的输出口也要用这个接头。 线不要去五金店买,五金店的都是纯铜线,硬的跟石头一样。而且他们对于你提供的AWG参数一窍不通。
    线链接===》点我
    XT60电池连接头==》点我 选择XT60H正品带保护套。

  7. 充电器。这个也对安全尤为重要,这么多电动车自燃很多是因为电池或者充电器工作工程中出现意外。这个我也没有啥好推荐。记得购买时要和卖家说清楚,我们的电池组满电是29V,然后是充电电流(这个参数咨询电池组卖家,最好留点余量。不要过分追求大的充电电流)。 最后是充电接头要和电池组上的大小一致。一边公一边母 。 我购买的是这一家===》点我 使用感受只能说目前没啥大问题吧,偶尔刚插电时。风扇会突然大叫,再次重新插拔又好了。唉…

  8. 最后还需要长螺丝和螺帽。用于撑开后叉。这个可能附近的五金店或者螺丝专卖店会有。如果没有,请看以下链接:
    螺帽:=点我 型号选择为M8,一个单位有5粒,买一个足够了。
    螺丝:
    =》点我 选择M8-110购买两个即可。
    扳手可以五金店买,或者也在上面的店铺购买。

/***********到此,所有能够买到的材料基本准备完毕。**********/

控制板制作篇:

  • 相信大家到了这一步,有些眼花缭乱了。或是在担心买了这么多玩意是否能够完成组装并运行。别担心!只要你觉得这个控制板能够完成,其余的对你来说都是小意思。

  • 制作之前,我们先了解下控制板需要接收和处理什么信号,然后输出什么信号。这个控制板主要介于油门控制器与电调之间,首先油门控制器会提供(淘宝宝贝详情里有说明):
    1.锂电池电压检测口(详情中的电压显示线)。转把上有个数码管显示屏。

    2.红线5V正极。用于提供给转把输出电压信号的基础电压(猜测),不管是啥作用,我们提供即可。

    3.信号线。这根线就是根据转把的转动幅度会输出一个电压,比如转把未转动时为0.8V,随着转动的幅度。信号线输出的电压会越来越大,转到尽头为4.2V左右。这个原理也很简单,在第2点中提供给转把的5V电压,通过转把内的电阻分压(转把相当于一个滑动变阻器),再输出给我们识别。我们的控制板就可以根据此电压信号来控制电调的速度。

    4.开关线。两根线,想都不用想,就是用来导通两根线的作用。转把上的红色船型开关就是。这个可以很方便的用来启动或者关闭车子。

    电调则很简单,只要提供一个PWM信号即可。电调则会根据你所提供的PWM信号控制电机转动速度。

  • OK,所以我们的控制板需要配备如下功能:
    1.可以将锂电池电压转化为5V,提供给控制板的MCU工作电压以及转把的5V。

    2.能够识别转把信号线输出的电压,需要MCU有个AD检测口。且最好是能将VDD作为参考电压或者有外部输入参考。因为参考电压不能覆盖信号线提供的电压的话。则需要将信号线电压分压,分压就带来误差和量程减半。

    3.PWM信号输出,硬件PWM或者软件模拟均可。频率100Hz即可。

  • 绘制PCB原理图
    说了这么多乱七八糟的,也就三点需求嘛。对于天天让你从瞳孔中识别颜色的需求来说。是不是显得小意思?废话不多说,了解了需求之后,就可以开始画板。绘制PCB的软件之前用的是AD,不过工作所在的公司多次受到版权方投诉使用破解版之后,公司就禁止使用AD了。不过也恰好因为这个,知道了有其他虽然功能没那么完善但是对于一些简单PCB绘制却非常好用的软件。那就是立创EDA!对于有PCB绘制经验的人来说,看看基础介绍视频就可以上手了。我说它非常好用的其中一个点在于它的元件库非常齐全,元件库里链接的就是立创商场,基本上需要使用的器件都可以在里面找到且带有PCB封装。画完后可以直接购买器件即可。不过说到底用啥都无所谓,能画出来即可。 全局图:
    在这里插入图片描述
    编号1:
    在这里插入图片描述
    一个2P的栅栏式接线端子,从锂电池处取电。

    编号2:
    在这里插入图片描述
    我所选用的MCU是辉芒生产的FT61F021A-RB,资源紧凑,价格亲民。其内置硬件PWM输出及10bit AD转换。当然,只要具备上面两个功能的MCU就可以。最好是选择引脚封装少的,以便能将板子做小。 PC4口为PWM输出口,PC2为检测转把电压信号的AD口,PC3为控制是否导通电调的电源。 因为后面电调需要根据MCU的PWM来调整量程,而进入调整方式就是油门必须先输出的最大,再给电调上电。所以电调必须有独立的电源控制。

    编号3:
    在这里插入图片描述
    这是电源处理部分,直接将锂电池的电压输入转换为5V输出。这部分的电路也没啥好说,主要是选择LDO一定要注意其上电时的电压变化曲线。之前我是随便选了符合参数要求的LDO上去。结果板子上的MCU是上一个烧一个,查了半天发现是这个LDO每次上电时,电压会冲上到10V才慢慢下降到5V。 索性选一个进口的,一换OK。这些小器件没必要去省成本,哪个好使选哪个。BD3571FP-E2

    编号4:
    在这里插入图片描述
    这部分电路的工作主要是控制电调的电源。通过MCU的PC3口控制光耦导通,继而驱动MOS管导通将锂电池的电压输出至栅栏式接线端子。此处注意下,不要直接用MCU的PC3口驱动MOS管,是无法达到完全导通的。

    编号5:
    在这里插入图片描述
    这个没啥内容,就是个8pin,间距2.54的排针孔。方便接收和提供各路信号。

    编号…啥?没了? 是的,你没看错。就是那么简单的一个控制板,那么我们就再接再厉。马上开始设计PCB。

  • 绘制PCB
    依旧先上全图(隐藏了铺铜便于查看):
    在这里插入图片描述
    流程:我们通过U1排针脚位即能了解
    排针1口:P1栅栏式接线端子直接接入锂电池正负极,到达排针1口及MOS管D极。

    排针2、3、4口:转把的开关插入排针的1,2脚,用于船型开关开启电源。排针的2、3脚为串联,导通时都拥有锂电池电压,3脚用于接入转把电压显示线。电压接下来从2、3脚进入LDO,输出5V提供给MCU以及排针4脚(提供给转把的5V)。

    排针5口:提供给转把的共地接口。

    排针6口:用于接收转把输出过来的电压信号,连接到MCU的PC2口。

    排针7、8口:连接到MCU的PC4口,输出PWM信号。电调的PWM输入口插入到此处。8脚为地线,一般电调的PWM线都是两根。其中一根是地线,接入8脚共地。

    以上通过排针已经基本了解流程大半,接下来是还有MCU的PC3脚。通过限流电阻到达光耦,然后驱动MOS管。将锂电池电压导通,使其进入P2端子,P2端子则直接接入电调正负极。至此,绘制完毕!

    PCB注意事项
    1).P1端子到达MOS管以及MOS管输出至P2端子的线尽量走粗线,驱动电机的电流比较大。常态都是几A电流,上个坡啥的就不用说了。或者可以参考我的走线宽度也行,下载我的工程文件。使用立创EDA网页版打开即可。

    2).MOS管和光耦亦或者LDO的型号最好是参考我的,避免走弯路。

    3.)当然,你可以用我的PCB生成工程文件直接打板。你没猜错,嘉立创立创EDA属于嫡系亲属。使用立创EDA绘制的PCB可以直接到嘉立创打板。现在嘉立创打板的费用已经达到5元包邮(双面板)的地步。不得不感叹自动化生产快速便捷以及竞争激烈。

    4).建议大家下载我的工程文件打开看的比较详细。其中的所用的所有器件都可以直接在立创商城查到型号并且购买。而且可以直接用网页版打开,省去一堆安装的麻烦事。

    PCB工程下载链接 >>Touch Me<< 提取码:i0ka

    PCB绘制完毕,花几分钟上传至嘉立创打板。控制板的制作到此大功告成。

    /***********我是快乐的分割线。**********/

    好了,接下来是点根烟坐等所有东西到齐。俗话说得好,事后一根烟 快乐似神仙。等等…是不是漏了些啥?艾玛!!MCU的软件还没编写。掐烟,开工!

  • 控制板MCU软件编写
    同样,写之前。我们先了解下,软件需要完成什么工作。
    1.)首当其冲的肯定是通过PC2口识别转把的电压信号。
    2.)根据PC2口检测到的电压,转化为PWM信号从PC4输出。
    3.)控制电调供电,完成量程校准等操作。

    了解了需要做什么之后,思路就清晰了。那我就简单说明下软件流程,注意,此处主要注重流程。因为大家使用的MCU各不相同,没必要了解内部实现源码。只需要了解清楚需要做什么就行。:
    1.)第一步,没的说。肯定是先将各外设功能初始化好。

    /**************************************
    **名字:Init_Mcu
    **功能:初始化MCU
    **入参:无
    **出参:无
    ***************************************/
    void Init_Mcu(void)
    {
    	Init_sfr();		//初始化MCU运行频率
        InitPort();		//初始化MCU 各IO口
        ADC_Init();		//初始化AD功能
        PWM_Init();		//初始化PWM功能
    
        //上电等待100MS
        for(SysTimer=0;SysTimer<50;)
           TimeQuery();
    }
    

    2.)其中AD类检测函数说明下:
    AD在上电时初始化开启后便不再关闭,参考电压源为VDD(5V),便于覆盖转把提供过来的电压信号。

    /**********************************************************
    **函数名称:ADC_Init
    **函数功能:启动AD
    **输入参数:无
    **输出参数:无
    **********************************************************/
    void ADC_Init(void)
    {
    	ADCON1 = 0x60;	
        ADCON0 = 0x99;	//右对齐,参考电压为VDD电压,AN6通道,使能ADC
    }
    

    单独的转换函数,调用即启动一次转换。并将10位的AD值返回。

    /**********************************************************
    **函数名称:ADC_GO
    **函数功能:启动一次转换 并等待结束
    **输入参数:无
    **输出参数:无
    **********************************************************/
    word ADC_GO(void)
    {
    word buf;
    
    	GO_DONE = 1;
        while(GO_DONE)
        TimeQuery();
        
    	buf  = (word)(ADRESH<<8);
        buf += ADRESL;
        return buf;
    }
    

    这个函数直接通过检测到的电压换算为PWM档位,并赋值给PWM档位缓存。
    注释中的解释
    1:参考电压为VCC(5V),AD测量宽度为10bit。故得出AD值中的 1 = 5/1024 = 0.0048828125v

    2:PWM范围,待会到了PWM初始化时再说明。

    3:转把输出电压为实际测量,全范围大概在0.87-4.2v左右。留点余量故截取0.9V-4.1V,买回来油门控制器时,最好用万用表实际测量下范围。

    4:将198档均分给3.2V电压,则每0.016v为一档,换算成AD值为3.2768。

    函数执行内容:首先复位检测时间,先转换5次作为预热。由于MCU的工作量非常轻松,所以多做点无所谓。接下来是连续转换8次且将每次的结果累加起来,求出平均值。去掉0.9V的基础电压,剩下的则是属于需要转化为PWM档位的AD值。直接除3.2768得出档位。PWM档位缓存在基础值(后面PWM函数会介绍)上再加上转把转动的值即可,当然了,不能超过最大值。

    //采样ADC   根据转换值选择档位
    //1.数值1表示电压为:5/1024=0.0048828125
    //2.PWM范围是198档
    //3.转把输出电压范围0.9V-4.1V =3.2V 
    //4.将198档PWM分给转把电压   	0.016V = 3.2768	 1档
    void ADC_config(void)
    {
    byte cnt;
    
    	AD_buf = 0;
    	AdcTimer = 0;						//复位检测时间
        
    	for(cnt=0;cnt<5;cnt++)		//空转5次
        ADC_GO();
        
    	for(cnt=0;cnt<8;cnt++)		//转换8次
        ADC_Avg[cnt] = ADC_GO();
            
    	for(cnt=0;cnt<8;cnt++)		
        AD_buf += ADC_Avg[cnt];
        
    	AD_buf >>=3;						//求出均值
    
    	//扣除0.9V基础电压
        if(AD_buf>=185)
        AD_buf -= 185;
        else
        AD_buf = 0;
    		
    	//换算档位
        AD_buf/=3.2768;
        
    	PWM_Cache = AD_buf+Pwm_Num_Base;
    
    	//不超过最大值
    	if(PWM_Cache > Pwm_Num_Max)
        PWM_Cache = Pwm_Num_Max;
    }
    

    AD转换部分介绍完毕,接下来是PWM。
    先说明下PWM控制电调的注意事项
    适合的频率为100hz左右。
    油门最低到最高的范围是1MS-2MS高电平
    知道了以上信息,则可以开始编写。这个函数的内容主要是初始化PWM,使其PWM周期到100hz附近,且高电平占空比输出到最低范围1MS。大家不用太在意源码内的寄存器是做什么的,只要知道这个函数做了什么就行。

    由于量程的范围是在1MS-2MS。得出匹配寄存器内需要写入的值为0xC6(1MS)-0x18C(2MS), 中间的范围则是0xC6。PWM最低都是要有0xC6的匹配值来保证有最低1MS的输出,算一个基础值,也就是上面AD检测时的Pwm_Num_Base变量值。大家可以在我的工程文件内找到定义,Pwm_Num_Base就是0xC6。

    OK,按照如下配置后。PWM就以及启动成功,频率为97hz,高电平占1MS。

    /**********************************************************
    **函数名称:PWM_Init	周期为97HZ
    **函数功能:开启PWM,并初始化为最低值 1MS  
    **输入参数:无	量程1MS-2MS=0xc6 - 0x18c =  198-396=198       1=1.25us
    **输出参数:无
    **********************************************************/
    void PWM_Init(void)
    {
    	TRISC |= PWM;	//开启PWM前需要将IO置为输入端
        
    	PWM3CR0 = 0x60;	//12位PWM
        PWM3CR1 = 0x90;
        T3CKDIV	 = 19;
        TMR3H = 0x00;	//7:4TIMER3 计数结果高 4 位  3:0 PWM3 匹配寄存器 PR3 高 4 位
        TMR3L = 0;		//TIMER3 计数结果低 8 位
        PR3L = 0xc6;	//PWM3 匹配寄存器 PR3 低 8 位
    	TMR3IF = 0;
        TMR3ON = 1;
    	
    	TRISC &= ~PWM;	//切换为输出
    }
    

    主要的外设都已经初始化完毕了。下面是一些辅助函数,从AD转换函数而知,能将转把的电压即时的换算为对应的档位值并存储到PWM_Cache内。这里面所存的值就是可以直接写入到PWM匹配值寄存器的,但是最好不要直接写。

    你可以想象,如果你不小心瞬间扭转把扭得太多。而且是将这个值直接生效的话,你将会…没错!你将会体验到非常爽的推背感!再猛些也许可以翘车头。但是不推荐如此,别搞的妹没有撩成,反而扑街了。

    所以我们先将值存储到一个缓存内,再让实际值慢慢靠近过去。这就是CheckPwm函数所做的工作。程序开启的定时器是2MS溢出一次,也就是说每2MS就会进入此处判断一次缓存值和现在值是否匹配。不匹配的话就比较大小,该增增,该减减。更改完后将值写入到PWM匹配值寄存器。

    有细心的朋友可能已经发现,当实际值小于目标值时是一次步进1。但是实际值大于目标值时则是调用了Pwm_ChangeNow 函数。这个函数是立即生效的作用,直接将目标值写入到现在值与匹配值寄存器内。

    为什么需要这么做,你可以想象下。当你在飙车的时候,前面突然跑出来了祖国的花朵 。这个时候正常的做法肯定是松开转把到最低,狠掐刹车。程序内的目标值就会直接到达最低范围,而如果现在值是慢慢靠过的话。就会导致刹车刹不死,对电机也损伤很大。所以降速时需要立即生效,提速可以有缓冲。

    关于比对的时间2MS,可以根据大家实际的PWM匹配寄存器装填范围来设置。范围少的可以再延长比对时间。范围多的则可以让响应快些。我的建议是最好将范围设置的广一些,比如我的1MS-2MS之间可以装填的值有198级。分的比较细,扭动转把时就不会感觉到有突兀加速的感觉,比较柔顺。 不想一扭油门就猛的加速的同学,就可以将比对时间加长。或者可以限速,最大不能到2MS。 DIY就是这么爽,想咋滴就咋滴

    /**********************************************************
    **函数名称:CheckPwm
    **函数功能:比对PWM 现在值与缓存值
    **输入参数:无			
    **输出参数:无
    **********************************************************/
    void CheckPwm(void)
    {
    	TimeQuery();
    	//到达比对时间 且 值不相等时进入匹配
    	if((PwmTimer >= 1) && (PWM_Num != PWM_Cache))
        {
    		PwmTimer = 0;
    		if(PWM_Num > PWM_Cache)
            {
                Pwm_ChangeNow();
                return;
    		}
            else
            PWM_Num++;
           
    		TMR3H = (TMR3H&0xF0)|PWM_Num>>8;
            PR3L	= (byte)PWM_Num;
    	}
    }
    
    /**********************************************************
    **函数名称:	Pwm_ChangeNow
    **函数功能:立刻生效PWM
    **输入参数:无			
    **输出参数:无
    **********************************************************/
    void Pwm_ChangeNow(void)
    {
    	PWM_Num = PWM_Cache;
        TMR3H = (TMR3H&0xF0)|PWM_Num>>8;
        PR3L = (byte)PWM_Num;
    }
    

    好了,各方面都以及配置完毕。下面进入主函数:
    第一步将各外设初始化,上面已经说过了。

    第二步就比较重要了,之前说过。第一次上电都需要和电调校准量程,它需要知道你的最低和最高的量程是多少。仅第一次上电需要校准,后续上电都不再需要。那怎么MCU怎么判断是否第一次上电呢? 我们可以将一个值写入到非易失性存储内。一般芯片都会有EEPROM,或者支持FLASH写入。上电就去读取这个空间,如果不是某个特定数字就认为是第一次上电。之后再把这个特定数字写入到这个空间,之后上电就会读取且匹配成功,不会再认为是第一次上电。

    第一次上电的主要工作就是校准行程:
    1.)先将油门开启到最大,且立即生效,生效后稳定3秒。

    2.)开启电调电源。

    3.)此时你会听到电机哔哔两声,MCU是没法知道的。所以我们一样直接等一段时间即可。如果电机未发出此声音,则需要检查问题。

    4.)哔哔完后,将油门直接设置到最低且立即生效。此时会听到电机长哔一声。为了稳定,同样等待3秒。至此油门行程校准完毕。

    5.)写入特定标识,下次上电不再校准。

    下面则是再次启动一次电调电源(不需要校准时)。进入循环工作,每10ms检测一次油门电压。执行PWM比对函数。

    void main(void)
    {
    	Init_Mcu();
        //判断是否第一次上电,第一次上电则需要校准量程
        //流程为:油门达到最大量程时给电调供电。响铃后再将量程调整至最小。
    	if(ReadEEP(First_ProwerUp_Addr) != First_ProwerUp_Num)
        {
    		//开启PWM输出至最大
    		PWM_Cache = Pwm_Num_Max;
            Pwm_ChangeNow();
            //等待PWM稳定后启动电调
    		for(SysTimer=0;SysTimer<50;)
    		TimeQuery();
            Set_MOS();
            //等待电调识别成功并响铃(bibi两声) 大概3秒
            for(SysTimer=0;SysTimer<1500;)
    		TimeQuery();
            //再将PWM调为最低
            PWM_Cache = Pwm_Num_Min;
            Pwm_ChangeNow();
    		//等待电调识别成功并响铃(长b一声) 大概3秒
            for(SysTimer=0;SysTimer<1500;)
    		TimeQuery();
            //写入非第一次上电标识
    		WriteEEP(First_ProwerUp_Addr,First_ProwerUp_Num);
    	}
    
    	ResetPwm();						
        Set_MOS();   
    	while(1)
        {
    		CheckPwm();
    		//每10MS检测一次AD 并更新PWM
    		if(AdcTimer >= 5)
    			ADC_config();     
    	}
    }
    

源码下载链接:>>ME ME ME ME ME<< 提取码: 2303

控制板制作结语:

结语? emmmm…赶紧看看淘宝东西送到了没? 下一步开始组装了。

成品组装:

  • 建议控制板打板回来后,先用稳压电源模拟锂电池电压,调试好一切功能再装车。这么大的电池还是有点风险的,如果板子上有地方短路之类的话就炸机了。而且需要看下PWM波形是否预想的那样,响应转把的动作。切记切记!

  • 那么配件回来之后,可以开始后端配件的安装。安装视频是由后插配件的淘宝卖家提供,大家购买后可以跟他要视频。或者直接我这下载也可以,安装过程中有任何疑问都可以问这个卖家。这个卖家售后服务啥的都是挺不错的。安装视频下载链接》》ME《《 提取码:80fw

    我这提供一些关键位置的照片:
    控制板全貌,器件都已经焊接完毕
    在这里插入图片描述
    电机、电机支架、和轴承滚轮。安装支架要特别注意间距,可以看到图片上,电机还是有上下移动的空间的(螺丝固定了)。这个空间就和皮带的松紧有关,皮带太松了就需要将电机往外移些距离。两个滚轮和电机头的滚轮要平行。

    这里提示下,买回来的电机要看下轴会不会太长,太长就顶到轮胎了。需要切割掉一部分,修车店可以帮你搞定。当然你要自己量好长度。 然后往轴上安装滚轮时,螺丝固定部分那面,需要用锉刀打磨粗糙。或者切割轴的时候可以让老板顺便帮你稍微稍微打磨下固定面。不然就算你的电机轴滚轮固定螺丝打的再死,高速时就会打滑空转。
    在这里插入图片描述
    我的已经开了很久了,有点脏。然后电机也没买好。
    在这里插入图片描述
    皮带安装图。
    在这里插入图片描述
    可以看到,皮带、滚轮是平行的,且电机轴与轮胎保持一定距离。皮带我没顶严实,有点出来了。
    在这里插入图片描述
    控制板,锂电池进线与输出给电调的电源线,都是直接通过端子。线头最好上点锡,线才不会散开导致短路风险。转把的各信号线则通过杜邦线插入,注意不要插错。转把的信号线本来是没有杜邦线母头的,需要自己接驳下。
    在这里插入图片描述
    安装好的后端:
    在这里插入图片描述
    开关控制和电压显示正常:
    在这里插入图片描述
    控制板在底部,如果控制板能做的再小些的话。是可以完全塞进槽里的,但是由于栅栏式端子太大了。塞不进去了,不过也还好,看起来也算简洁。
    在这里插入图片描述
    线一步步理好,用扎带固定。
    在这里插入图片描述
    到此,一辆滑板车彻底变身为电动滑板车。

结语:

啊哈,做着做着就结束了。一直想写这个博文,但是又总觉的貌似没啥内容。亦或者是不够高级。唔…就当做是留个念吧,当初做这个的时候还是走了不少弯路。你们可能不知道,这个控制板已经是6代了。前面的都是各种原因,接口没做好、LDO不行、电源端口隔离不够好等等。不过也因为要做这个控制板,开始学习绘制PCB,也算是个不错的收获吧。

我写这个博文的另外个原因也是希望能够激发大家特别是一些在校骚年的热情,不一定要按照我这个做电动滑板车。据我了解也可以做街头滑板,动力同样是可以用这个电机。配合一些无线射频,做成遥控的滑板也是没有问题的,而且配件也少的多。

虽然标题为年轻人的第一辆滑板车,但此处的年轻不代表年龄。只要有热情,不认输。那就是年轻人!

后续可能还会出年轻人系列,不过可能短时间不会。一是文笔真不太好,二是等有个有趣好玩的玩意时再分享给大家把~~~

有疑问可以留言给我哈,我看到就会回复。

最后,共勉!

发布了1 篇原创文章 · 获赞 0 · 访问量 18

猜你喜欢

转载自blog.csdn.net/Mortal_1995/article/details/103682352
今日推荐