【E425】基于STM32的电导率测量仪

2021-08-22 15:19:20      索炜达电子      773     

项目编号:E425

文件大小:71M

源码说明:带中文注释

开发环境:C编译器

简要概述

【E425】基于STM32的电导率测量仪

1.项目情景(Situation): 在完成日常项目任务的过程中,发现需要对溶液的电导率参数进行测量。经过查找后发现市面上的仪器多为食品级,工业级的较少且价格昂贵。因此决定自行制作。


2.预期目标(Target): 制作一款轻量级,简易化,成本低的工业级电导率测量仪。能够检测项目实验过程中的溶液电导率,顺利收集数据,完成实验。


3.具体行动(Action): 鉴于已有一款STM32单片机,因此决定已现有单片机为基础,添加适当模块,完成制作。 本方案基于ST公司的STM32F429芯片,外接电导率信号处理模块。通过电导率传感器和温度传感器采集数据,对采集的数据通过算法处理得到最终结果。 将实验数据结果传入LCD屏幕显示及SD中保存,并通过触摸屏完成人机交互。


具体分为硬件部分和软件部分:


*硬件方案:


1). 由于溶液的浓差极化特性,需要设计正弦波发生模块,使用正弦波驱动电导率传感器,得到合适的数据;


2). 对正弦波模块产生的数字信号进行处理,为此设计了滤波模块;


3). 对电导率传感器传回的的数据进行放大处理,以便达到ADC的要求,设计了放大处理模块;


4). 由于3中的放大电路的相关芯片需要接入负电源,设计了电压转置模块。


*软件方案:


1). 编写正弦波发生芯片的驱动程序;


2). 编写温度传感器的驱动程序;


3). 编写ADC程序;


4). 编写LCD屏驱动程序;


5). 编写触摸屏驱动程序;


6).编写SD卡驱动程序;


7).编写串口打印程序。

4.项目成果(Result):


项目成果设计出合适的电导率信号处理模块电路板,并完成相应的程序编写。通过实际操作,能够顺利收集数据,初步完成预期的测量任务。

【E425】基于STM32的电导率测量仪

目录│文件列表:

 └ ConductivityMeter

    └ ConductivityMeter

       └ ConductivityMeter

          ├ 1_HardWare

          │  │ ElectricalConductivityMeter.PcbDoc

          │  │ ElectricalConductivityMeter.PcbDoc.htm

          │  │ ElectricalConductivityMeter.PrjPcb

          │  │ readme.txt

          │  ├ Library

          │  │  │ Miscellaneous Connectors.IntLib

          │  │  │ Miscellaneous Devices.IntLib

          │  │  │ YuHunXP.PcbLib

          │  │  │ YuHunXP.SchLib

          │  │  └ Fszhang

          │  │     │ Fszhang.IntLib

          │  │     │ fszhang.PcbLib

          │  │     └ fszhang.SchLib

          │  ├ PackagingSchDoc

          │  │  │ ElectricalConductivityMeter.SchDoc

          │  │  │ Power-5V.SchDoc

          │  │  │ Sensor.SchDoc

          │  │  │ SinWaveAmplifier.SchDoc

          │  │  │ SinWaveCreator.SchDoc

          │  │  └ TopLayer.SchDoc

          │  └ __Previews

          │     │ ElectricalConductivityMeter.PcbDocPreview

          │     │ Sheet1.SchDocPreview

          │     │ TopLayer.SchDocPreview

          │     │ 电导率仪.PcbDocPreview

          │     └ 电导率仪.SchDocPreview

          ├ 2_SoftWare

          │  │ Libraries.7z

          │  │ readme.txt

          │  ├ Project

          │  │  └ RVMDK(uv5)

          │  │     │ ConductivityMeter.uvguix.XuPeng

          │  │     │ ConductivityMeter.uvoptx

          │  │     │ ConductivityMeter.uvprojx

          │  │     └ Output

          │  │        │ ConductivityMeter.hex

          │  │        │ ElectricalConductivityMeter.hex

          │  │        └ Template.hex

          │  └ User

          │     │ main.c

          │     │ main.c.orig

          │     │ stm32f4xx_conf.h

          │     │ stm32f4xx_it.c

          │     │ stm32f4xx_it.h

          │     └ BSP

          │        │ bsp.c

          │        │ bsp.h

          │        ├ ad9850

          │        │  │ bsp_ad9850.c

          │        │  └ bsp_ad9850.h

          │        ├ adc

          │        │  │ bsp_adc.c

          │        │  └ bsp_adc.h

          │        ├ ds18b20

          │        │  │ bsp_ds18b20.c

          │        │  └ bsp_ds18b20.h

          │        ├ FATFS

          │        │  │ diskio.c

          │        │  │ diskio.h

          │        │  │ ff.c

          │        │  │ ff.h

          │        │  │ ffconf.h

          │        │  │ integer.h

          │        │  └ option

          │        │     │ cc932.c

          │        │     │ cc936.c

          │        │     │ cc949.c

          │        │     │ cc950.c

          │        │     │ ccsbcs.c

          │        │     │ syscall.c

          │        │     └ unicode.c

          │        ├ key

          │        │  │ bsp_key_exti.c

          │        │  └ bsp_key_exti.h

          │        ├ led

          │        │  │ bsp_led.c

          │        │  └ bsp_led.h

          │        ├ ltdc

          │        │  ├ flash

          │        │  │  │ bsp_spi_flash.c

          │        │  │  └ bsp_spi_flash.h

          │        │  ├ font

          │        │  │  │ fonts.c

          │        │  │  └ fonts.h

          │        │  ├ lcd

          │        │  │  │ bsp_lcd.c

          │        │  │  └ bsp_lcd.h

          │        │  └ sdram

          │        │     │ bsp_sdram.c

          │        │     └ bsp_sdram.h

          │        ├ sdio

          │        │  │ bsp_sdio_sd.c

          │        │  │ bsp_sdio_sd.c.orig

          │        │  │ bsp_sdio_sd.h

          │        │  │ bsp_sdio_sd.h.orig

          │        │  │ bsp_sd_write_read.c

          │        │  │ bsp_sd_write_read.c.orig

          │        │  └ bsp_sd_write_read.h

          │        ├ tim

          │        │  │ bsp_basic_tim.c

          │        │  └ bsp_basic_tim.h

          │        ├ touch

          │        │  │ bsp_i2c_touch.c

          │        │  │ bsp_i2c_touch.h

          │        │  │ gt9xx.c

          │        │  │ gt9xx.h

          │        │  │ palette.c

          │        │  └ palette.h

          │        └ usart

          │           │ bsp_debug_usart.c

          │           └ bsp_debug_usart.h

          └ 3_ProductionShow

             │ 1_整体图.jpg

             │ 2_LCD屏幕.jpg

             │ 3_电路板.jpg

             │ 4_电导率传感器与温度传感器.jpg

             │ 5_串口数据打印.png

             │ 6_数据记录.txt

             │ 7_PCB图.png

             └ 8_演示视频.mp4

TAG电导率测量仪
  • 14 次
  • 1 分