【单片机项目】平衡小车(二) 硬件设计

     本篇博客将讲解平衡小车的系统结构以及硬件设计。

     首先是小车的系统结构:

     

     以下是小车各个模块的原理介绍。

     1、首先是STM32F103C8T6,这是我很喜欢用的一款小核心板,尺寸小、便宜、性能优越。

        以下是核心板的引脚图:  

     2、MPU6050

     DMP数字运动处理器 ,方便的实现姿态解算,使用IIC与MCU连接,第二IIC可以连接一个磁力传感器,内置的DMP可以轻松准确的完成姿态解算,我本次用的就是内置DMP,并没有使用额外的姿态解算算法。

       

     3、TB6612     

   该模块相对于传统的L298N效率上提高很多,体积上也大幅度减少,在额定范围内,芯片基本不发热。

   TB6612FNG每通道输出最高1.2 A的连续驱动电流,启动峰值电流达2A/3.2 A(连续脉冲/单脉冲);

   4种电机控制模式:正转/反转/制动/停止;

   PWM支持频率高达100 kHz;

   待机状态;

   片内低压检测电路与热停机保护电路;

      

     4、带编码盘的直流减速电机

     为了进行PID调节,平衡小车要选用带编码盘的直流减速电机,编码盘是霍尔磁力传感器,编码器有霍尔磁力编码器以及光电编码器,霍尔磁力编码器是通过测定磁场的变化来测速,而光电编码器则是有空槽的编码盘转动来测速,光电编码器价格会高些,但是精确度会好很多,但是对于平衡小车来说,用霍尔磁力编码器就足够了。
     单片机通过四倍频的方式来读取编码器的信号,A、B俩相是俩个相位不同的正弦波,设置跳沿中断,在俩正弦波的上升沿和下降沿都产生中断,就可由此读取角度或者角速度信息。在32等单片机上,定时器就有编码器模式,可以通过硬件技术自动四分频,我们只需要设置一些寄存器的位即可。

     

    5、OLED

    我通过模拟SPI来驱动OLED,只需要三根线就能驱动OLED来显示,代码简单,OLED一般都很小,大的OLED屏成本很高,所以说如果是需要大屏一般还是用LCD屏,LCD屏比起OLED刷新慢、一般使用FSMC接口需要的引脚也多,但是平衡小车的显示只是显示一些运行状态,OLED完全能胜任。

    

     6、降压模块,我使用的是LM2596稳压模块,最高输入电压可达40V,而且成本低,性能也还可以。

     

    7、HC-05

     蓝牙2.0,串口收发,速率对于控制来说完全是足够的,而且驱动简单。

     

     8、HCSR-04

     这是一个超声波测距模块,通过输入捕获的方式通过测量发送到接收电平的时间间隔来测量距离,以前在做智能小车时就使用过,缺点是不能目标的面积太小,否则超声波会扩散,而且测距也不是十分精准,当然有优点就是简单便宜了。

    

 

     以上就是所有用到的模块,因为上次小车走线乱的很所以我这次使用了洞洞板,相当于是做了一个底板吧,当然画板的话效果更好,但是打样的价格还是不便宜的,所以这次就手焊了,以下是底板的成品图以及整个小车的图片。

    

   

 

   

 

   

 

   

   

硬件选择与方案设计: 胶枪、电转、电表等耐用品工具的价格不计算在内,下列原件总共花了我大概450元吧。无意给淘宝商家做广告,所以请大家自动略过图片中的商家logo。 1. 控制板采用原子的STM32 MINI开发板,不带屏的话138元吧。遥控使用板上的红外接收器,当然理论上也可以使用板上的rf无线模块接口。 2. 方位传感器采用iic接口的9轴模块,花了我88大洋。包括加速度、角速度、气压、地磁传感器,主要是考虑到以后别的用途,如果采用6轴模块的话,应该可以降到50元以内吧。 自平衡小车需要使用到1个角速度分量和2个加速度分量,通过融合滤波得到较为准确的小倾斜角度值。查看网上几年前的小,都是使用3个独立ic搭建的,而且还是使用模拟量输入;查找网上资料,现在都是集成ic,接口主要有spi和iic,而且还有中断输入。我买的这个模块只有iic接口,而且没有中断输出,iic接口,故只能采用周期性查询方式;加速度传感器采用的是ADXL345,角速度传感器采用L3G4200D,这两个ic的手册资料是比较齐全的,便于学习。 3. 采用9v减速电机与铝合金支架、轮胎,指导价格98元。卖家给的资料有限,电机的参数不明,减速比都是自己测的。经过实测,电机的减速比大概为150。感觉小的力矩还是比较大的,但是反应速度不够快;采用减速比100的电机或是大轮胎,应该能够改善小的动力性能。电机有两个电源输入端口,通过改变电压的正负极,可以改变电机的转动方向;通过改变驱动电压的大小,可以改变电机的转速。 4. 电机驱动模块采用全隔离的L298N驱动板,抗干扰,30元。如果不是光耦隔离的话会便宜很多。卖家给的实物和照片不太一样,有一条pwm控制线5v有效,3.3v无效,说明商家卖出之前没完整的做过测试。我自己并了个电阻搞定了,也便没有跟卖家纠缠了。 模块有4个逻辑控制输入端口,接控制器的4个io口,控制2个电机的转向与停止;2个pwm输入,接控制器的pwm输出,控制2个电机的转速;1个逻辑电源输入接口,从stm32控制板上取电。驱动部分,2个电源输入端口,接聚合物锂电池,考虑到5v稳压模块从电池取电,减速电机又是9v的,建议采用9v以上的电池(我采用的是12v);4个驱动输出接2个减速电机的4个输入口。 5. 电池采用12v 3000mah的聚合物锂电池,65大洋,不包括充电器的价格。恒定放电电流可达4A,瞬间可达40A。不知道用9v的电池可不可以,当时怕电压太小,所以就没有买。据说普通的电池不能用在小上,因为电机的瞬间电流很大,普通电池无法提供。 6. 逻辑电路5V供电模块,采用LM2596降压模块从12v锂电池取电,6元。该模块的输出电压可调,我调整到了5v输出。 7. 测速码盘,1个18元。为了省钱省地方,我只用了1个,有了这个就可以得到电机的速度反馈,再通过控制调整小的速度、位置。小的动力部分其实不一定要使用减速电机,而可以使用步进电机,这样就可以省掉编码器,而且控制性能更加良好。但这样带来的是需要采用专门的步进电机控制板,还有成本的攀升。不差钱的同志可以考虑采用步进电机方案。 8. 铜柱、洞洞板、连接线等若干。
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值