● 设计名称:汽车发动机实时振动跟踪器
【概述】听汽车发动机的声音可以大致了解汽车的工况,采用振动传感器实时监测,能够带来更准确和清晰的判断,可以用在工况判断,联合其他信息如温度湿度和运行时长累计,可以获得辅助检修,状态监测等更有价值的服务。本设计是一个基准原型设计,可以不断完善提升,达到比较理想的效果。
●
一、作品简介(作品照片、功能介绍等)
汽车发动机实时振动跟踪器,以RSL10-002GEVB为核心开发板,振动传感器作为传感器,通过ADC采集数据,然后通过低功耗蓝牙BLE传输到手机,远程获得更有效的信息。通过云端信息分析,得出有效的智能分析结果。
●
二、系统软硬件实现框图
2.1 系统软件框图
2.2 系统硬件和硬件框图
●
三、各部分实现的功能说明及讲解
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如下,
四、项目源码
4.1 主要代码解析
4.2 代码压缩包,程序代码如下。
五、演示效果和使用说明
1. Android studio手机APP的工程下载和调试后台
2、这个手机APP接收RSL10的蓝牙信号开发板的工作状态,见这个视频
5.1 硬件连接
5.2 手机界面(有待优化)
连接成功并开始Vibration Tracing的通讯。
补充2个视频,
1. Android studio手机APP的工程下载和调试后台
2、这个手机APP接收RSL10的蓝牙信号开发板的工作状态,见这个视频
本帖最后由 北方 于 2021-7-27 15:18 编辑