[作品提交] 【汽车发动机实时振动跟踪器】 作品提交

北方   2021-7-2 16:57 楼主

● 设计名称:汽车发动机实时振动跟踪器

【概述】听汽车发动机的声音可以大致了解汽车的工况,采用振动传感器实时监测,能够带来更准确和清晰的判断,可以用在工况判断,联合其他信息如温度湿度和运行时长累计,可以获得辅助检修,状态监测等更有价值的服务。本设计是一个基准原型设计,可以不断完善提升,达到比较理想的效果。

 

一、作品简介(作品照片、功能介绍等)

    汽车发动机实时振动跟踪器,以RSL10-002GEVB为核心开发板,振动传感器作为传感器,通过ADC采集数据,然后通过低功耗蓝牙BLE传输到手机,远程获得更有效的信息。通过云端信息分析,得出有效的智能分析结果。

二、系统软硬件实现框图 

2.1 系统软件框图

soft.PNG

2.2 系统硬件和硬件框图

hard.PNG

三、各部分实现的功能说明及讲解

3.1 数据采集功能

首先修改数据结构体,

struct app_env_tag
{
    /* Battery service */
    uint8_t batt_lvl;
    uint32_t sum_batt_lvl;
    uint16_t num_batt_read;
    uint8_t send_batt_ntf;
    /* Customized service */
    uint8_t vib_lvl;
    uint32_t sum_vib_lvl;
    uint16_t num_vib_read;
    uint8_t send_vib_ntf;
};

然后设定对于adc的设置,采集vibration 参数,

Sys_ADC_InputSelectConfig(2,  (ADC_NEG_INPUT_GND |  ADC_POS_INPUT_VBAT_DIV2));

修改采集频率为50Hz

ke_timer_set(APP_TEST_TIMER, TASK_APP, TIMER_20MS_SETTING); //Make 50Hz ADC sampling

viblel = ((ADC->DATA_TRIM_CH[2] - VBAT_1p1V_MEASURED) * 100 / (VBAT_1p4V_MEASURED - VBAT_1p1V_MEASURED));
viblel = ((viblel >= 100) ? 100 : viblel);

app_env.sum_vib_lvl += viblel;

 

3.2 蓝牙传输

 

        if (ble_env.state == APPM_CONNECTED)
        {
            if (app_env.send_batt_ntf && bass_support_env.enable)
            {
                app_env.send_batt_ntf = 0;
                Batt_LevelUpdateSend(0, app_env.batt_lvl, 0);
            }
        }

3.3 手机接收和数据分析

启动手机android Studio,编写连接和处理代码,通过Gatt.readCharactistics()定时读取buff的内容。

                    @Override
                    public void onServicesDiscovered(BluetoothGatt gatt, int status) {
                        super.onServicesDiscovered(gatt, status);
                        List<BluetoothGattService> services = gatt.getServices();
                        BluetoothGattCharacteristic characteristic = null;
                        for (BluetoothGattService service : services) {
                            //sendmsg("UUID IS " + service.getUuid().toString());
                            for (BluetoothGattCharacteristic serviceCharacteristic : service.getCharacteristics()) {
                                characteristic = serviceCharacteristic;
                                boolean successfullyRead = gatt.readCharacteristic(characteristic);
                            }
                        }
                    }

代码编写的layout如下,

rs10_01.PNG

 

四、项目源码

4.1 主要代码解析

 

4.2 代码压缩包,程序代码如下。

vibration_tracing_02.zip (651.59 KB)
(下载次数: 4, 2021-7-2 16:56 上传)

 

五、演示效果和使用说明

1. Android studio手机APP的工程下载和调试后台

演示1.gif

2、这个手机APP接收RSL10的蓝牙信号开发板的工作状态,见这个视频

5.1 硬件连接

405325738.jpg

5.2 手机界面(有待优化)

1106658334.jpg 358335666.jpg

连接成功并开始Vibration Tracing的通讯。

1452928877.jpg 下图是自行开发使用的Android Studio开发页面。

22.PNG

 

 

 

回复评论 (2)

点赞  2021-7-2 21:58

补充2个视频,

1. Android studio手机APP的工程下载和调试后台

digital2.gif

2、这个手机APP接收RSL10的蓝牙信号开发板的工作状态,见这个视频

WeChat_20210727151532.mp4 (3.07 MB)
(下载次数: 2, 2021-7-27 15:18 上传)

 

 

 

本帖最后由 北方 于 2021-7-27 15:18 编辑
点赞  2021-7-27 11:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复