一款简易低成本智能割草机的制作——硬件篇
Posted 三明治开发社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一款简易低成本智能割草机的制作——硬件篇相关的知识,希望对你有一定的参考价值。
割草机的硬件主要分四大部分,分别是
-
远程通讯系统:采用涂鸦无线联网模组,使用APP即可远程控制割草机,时刻查看割草机动态。
-
动力系统:采用12V带多重保护功能的锂电池组,配减速电机和橡胶轮胎,为小车提供动力支持。
-
割草控制系统:使用两个舵机实现割草高度调节,用电调控制无刷直流电机进行割草。
-
定位导航系统:采用GNSS模组和数字地磁传感器,实现割草机定位和导航的功能。
一.远程通讯系统
远程通信系统的核心就是涂鸦模组+MCU方案。
MCU 对接方案是对接涂鸦平台最常用的方案之一,主要用于带有 MCU 主控的产品实现智能化。涂鸦提供硬件模组、App 软件和云服务,开发者只需要关注产品本身功能的研发,配合使用涂鸦 MCU SDK 、公版 App 及公版面板,一站式完成产品智能化,开发高效便捷。
MCU SDK 是根据涂鸦开发平台定义的产品功能,自动生成的 MCU 代码。为了减少我们使用涂鸦 Wi-Fi 通用串口协议的对接成本,MCU SDK 已搭建通讯及协议解析架构。将 MCU SDK 添加至工程并配置相关信息后,就可以快速的完成 MCU 程序开发。
1.MCU 硬件资源要求
涂鸦 SDK 包对 MCU 的要求如下。资源不足的用户,可自行对接串口协议,SDK 包中的函数可以作为使用参考。
-
内存: 4KB
-
RAM: 与 DP 点数据长度有关,约为 100B (OTA 功能需大于 260B)。
-
函数嵌套级数: 9 级
2.涂鸦模组选型
涂鸦模组的选择多种多样,比如Wi-Fi模组,Wi-Fi&Bluetooth模组。
为了减少硬件开发 ,也可以直接使用对应的三明治通信开发板。
详情查看 涂鸦开发者中心:https://developer.tuya.com/cn/
二.动力系统
1.电源
市面上的割草机一般分为汽油割草机和电动割草机两种形式。
其中汽油割草机功率大,马力足且持续工作时间长,但是噪声和震动特别大,而且对环境也有污染,不宜用在对环境要求较高的环境。
因此我们采用了锂电池供电的方式。锂电供电,工作噪音小、运行平稳、环保节能、价格便宜,非常适合家庭庭园使用。
割草机推荐使用输出电压12V左右的锂电,比如3S或4S航模电池,这种航模电池,放电可达15C甚至20C以上,动力强劲。非航模锂电池组也可以,这类价格会低一些,而且使用寿命长,安全性好,选型的时候,最大输出电流建议选择在5A以上。
由于后面各个系统会用到各种不同的电压,因此,除了电池之外,我们还需要准备降压模块。
模块上的降压芯片推荐LM2596S这种支持可调节输出的芯片,这样我们可以通过调节模块上的电位器,获取任意我们需要的电压值。
LM2596S输入电压范围高达 40V,输出电压可以从1.2V 至 37V,在各种线路和负载条件下的最高电压容差为 ±4%,输出负载电流可达3A,效率高,有热关断和电流限制保护功能。
2.减速电机
减速电机就是在直流电机基础上,增加一个高精密的减速器。一般直流电机的转速都是一分钟几千上万转的,增加减速器可以降低电机转速,增加电机扭矩,使得可控性更强。
选择减速电机的时候,电机的额定电压需要和我们选择的电池相匹配,常见的12V额定电压电机供电范围在11~16V之间,12V最佳。
这里推荐一款MG513P60_12V电机,这款电机额定电压为12V,1:60的减速比,额定输出电流为0.36A,减速后空载转速为183rpm左右,扭矩达2kg*cm,最大负载能力高达6KG,再搭配65mm直径轮胎,速度大概0.5m/s,完全满足割草机的运动需求。
这款电机,还搭配了霍尔编码器,通过磁感应的原理,可以检测电机转速,从而实现速度检测和里程距离统计。
3.电机驱动
电机驱动采用TB6612FNG驱动芯片,这是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H 桥结构,VM电源电压最大支持15V,输出平均电流可达1.2A,峰值电流允许3.2A,导通电阻也只有0.5欧姆,内置过热保护和低压检测电路,PWM信号输入频率可允许100KHz 。
相比L298N 的热耗性和外围二极管续流电路,TB6612FNG无需外加散热片,外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。
TB6612FNG驱动芯片双通道电路输出,可同时驱动2个电机。因此,对于四个电机,我们只需要两片该芯片。
另外,当STBY处于高电平的时候,我们可利用芯片上的 IN1 和 IN2 这两个输入信号,选择 正转,反转,短路制动和停机四种模式的其中一种模式,真值表如下:
AIN1 | AIN2 | 模式 |
---|---|---|
0 | 1 | 反转 |
1 | 0 | 正转 |
1 | 1 | 短路制动 |
0 | 0 | 停机 |
参考原理图如下
三.割草控制系统
割草控制系统这部分,主要有割草高度调节和割草控制这两个部分。
1.无刷直流电机
割草电机,我们选择无刷直流电机。
为什么选择这个呢?
因为无刷电机去除了电刷,最直接的变化就是没有了有刷电机运转时产生的电火花,这样就极大减少了电火花对遥控无线电设备的干扰,转时摩擦力大大减小,运行顺畅,噪音会低许多,系统稳定性也很好,寿命长。
在选型的时候,需要注意下电机KV值和扭矩。它表示的是电压每升高1伏,转速增加的数值,对于无刷电机,这个值是个常量。同型号时,相同条件下,KV值越小,扭矩越大。这里建议大家选择KV值900左右的电机。
尺寸方面,选择2212这类小电机即可。
2.电子调速器
有了电机,我们该怎么让它转呢。电子调速器就派上用场啦。
电子调速器简称ESC,它根据控制信号调节电机转速,是电机的驱动器。
我们采用了一款航模爱好者比较常用的20A电调,当然开发者们也可以选用别的型号,不过需要注意电调输出电流需要和我们选择的无刷直流电机相适配。
这类电调的优点有很多,比如
-
油门响应速度极快,超越各类开源软件;
-
具有非常出色的电机兼容性;
-
高度智能化,自适应能力强,仅保留进角设定项 (高进角/中进角),使用极为简单;
-
信号线为双绞线,有效降低信号在铜线内传输所产生的串扰,令工作更加稳定;
-
使用MOSFET专用驱动芯片,性能和稳定性远超用分立元件搭建的驱动电路;
-
超低内阻MOSFET,耐流能力强大
3.舵机
舵机简单的说就是集成了直流电机,电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。它是一个能够利用简单的输入信号,比较精确地转动给定角度的电机系统。舵机安装了一个电位器(或其他角度传感器)检测输出轴转动角度,控制板根据电位器的信息能够比较准确的控制和保持输出轴的角度,形成闭环控制。
舵机有3根线,棕色为GND,红色为电源正,橙色为信号线,或者黑色为GND,红色为电源正,白色为信号线。
舵机电源输入电压一般4~6V,通常推荐5V,输入信号采用标准PWM(脉冲宽度调制)信号,周期固定为20ms(50Hz),脉宽可由0.5ms到2.5ms之间,对应舵机转角0°~180°。
具体舵机控制及程序请查看[舵机控制那些事](https://blog.csdn.net/sandwich_iot/article/details/116589833)
我们采用两个舵机,配上一些金属盘,组合成一个升降结构,通过同步控制两个舵机,实现高度调节。
四.定位导航系统
定位导航系统主要由两个功能,分别是定位功能和定向功能。
1.GNSS
定位,当然需要用GNSS全球导航卫星系统啦。目前为止,全球总共有四大GNSS系统,分别为美国GPS、俄罗斯GLONASS、欧盟GALILEO和中国北斗卫星导航系统。国内外相关模组厂商也很多,模组品类也是应有尽有,单模多模,单频点多频点,十分丰富。
这里,我们采用涂鸦出品的GUC300模组。
GUC300 模组由一个高集成度的 GNSS 芯片 UFirebird-UC6226NIS 及其外围电路构成,内置 SAW 滤波器、LNA 以及26 MHz TCXO 等器件,保证了快速、精准的定位效果,并支持 GPS 和北斗双系统联合定位,向客户提供了高效、便捷的定位体验。
GUC300主要特性如下
-
定位引擎特性:
-
64 通道同时跟踪
-
热启动时间优于 1.2 秒
-
冷启动灵敏度 -145 dBm,跟踪灵敏度-158 dBm
-
数据更新速率最高达 10 Hz
-
-
支持 GPS 和 BDS
-
RF 采用宽带设计,输入信号以 1575 MHz 为中心频点
-
可接收和跟踪 1575.42 MHz GPS L1 信号
-
可接收和跟踪 1561.098 MHz BDS B1 信号
-
GUC300 默认配置为接收 GPS 和 BDS 信号,可通过命令配置为 GPS+BDS、GPS+GLONASS 或单系统工作,其它系统配置请联系涂鸦技术支持获取 GNSS 固件
-
GUC300模组默认会每隔1秒输出GNRMC GNGGA GPGSV 等语句,串口波特率为9600,为了方便起见,我们只需要解析其中的$GNGGA 即可,例如
$GNGGA,071520.00,3018.12971,N,12003.84423,E,1,20,1.47,60.5,M,,M,,*61 该数据帧的结构及各字段释义如下: $GNGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF> $GNGGA:起始引导符及语句格式说明(本句为GPS定位数据); <1> UTC时间,格式为hhmmss.sss; <2> 纬度,格式为ddmm.mmmm(第一位是零也将传送); <3> 纬度半球,N或S(北纬或南纬) <4> 经度,格式为dddmm.mmmm(第一位零也将传送); <5> 经度半球,E或W(东经或西经) <6> GPS状态, 0初始化, 1单点定位, 2码差分, 3无效PPS, 4固定解, 5浮点解, 6正在估算 7,人工输入固定值, 8模拟模式, 9WAAS差分 <7> 使用卫星数量,从00到12(第一个零也将传送) <8> HDOP-水平精度因子,0.5到99.9,一般认为HDOP越小,质量越好。 <9> 海拔高度,-9999.9到9999.9米 M 指单位米 <10> 大地水准面高度异常差值,-9999.9到9999.9米 M 指单位米 <11> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量,如不是差分定位则为空 <12> 差分参考基站标号,从0000到1023(首位0也将传送)。
xx 从$开始到*之间的所有ASCII码的异或校验 <CR> 回车符,结束标记 <LF> 换行符,结束标记
这里也给大家提供了参考电路,欢迎大家下载
2.电子罗盘
定向,顾名思义,就是要检测出东南西北四个方向。旧时代由指南针检测,电子科技技术发达的现代,当然就有电子罗盘(电子指南针)解决这个问题。
这方面,我们推荐的型号是QMC5883L。
大家可能对电子罗盘不太了解,我给大家简单介绍一下。
电子罗盘由三维磁阻传感器、双轴倾角传感器和MCU构成。三维磁阻传感器用来测量地球磁场,倾角传感器是在磁力仪非水平状态时进行补偿;MCU处理磁力仪和倾角传感器的信号以及数据输出和软铁、硬铁补偿。磁力仪是采用三个互相垂直的磁阻传感器,每个轴向上的传感器检测在该方向上的地磁场强度。向前的方向称为x方向的传感器检测地磁场在x方向的矢量值;向右或Y方向的传感器检测地磁场在Y方向的矢量值;向下或Z方向的传感器检测地磁场在Z方向的矢量值。每个方向的传感器的灵敏度都已根据在该方向上地磁场的分矢量调整到最佳点,并具有非常低的横轴灵敏度。传感器产生的模拟输出信号进行放大后送入MCU进行处理。
方向的计算,我们可以调用下面这个公式
direction.x=atan2((double)Mag_data.y,(double)Mag_data.x)*57.3+180;
其中Mag_data.x和Mag_data.y分别是QMC5883在X轴和Y轴输出的数据。atan2为反正切计算,计算出来是弧度值,还需要乘57.3,将弧度转换为角度。最后,再加180度,使角度值吻合大家的约定俗成,方便理解。
对于计算出来的结果,0或360表示正南方向,90表示正西方向,180表示正北方向,270表示正东方向。
详情可查看[QMC5883L磁力计介绍(硬件+软件)(附STM32程序!!!)](https://blog.csdn.net/sandwich_iot/article/details/116587230)
以上是关于一款简易低成本智能割草机的制作——硬件篇的主要内容,如果未能解决你的问题,请参考以下文章
为智能门锁 13.56M打造低成本芯片方案 非接触式读卡器13.56MHZ芯片:LS522 PIN对PIN MFRC522 FM17522
为智能门锁 13.56M打造低成本芯片方案 非接触式读卡器13.56MHZ芯片:LS522 PIN对PIN MFRC522 FM17522