2021-08-22 15:19:20 索煒達電子 1035
項目編號:E425
文件大?。?1M
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述
1.項目情景(Situation): 在完成日常項目任務的過程中,發(fā)現(xiàn)需要對溶液的電導率參數(shù)進行測量。經(jīng)過查找后發(fā)現(xiàn)市面上的儀器多為食品級,工業(yè)級的較少且價格昂貴。因此決定自行制作。
2.預期目標(Target): 制作一款輕量級,簡易化,成本低的工業(yè)級電導率測量儀。能夠檢測項目實驗過程中的溶液電導率,順利收集數(shù)據(jù),完成實驗。
3.具體行動(Action): 鑒于已有一款STM32單片機,因此決定已現(xiàn)有單片機為基礎,添加適當模塊,完成制作。 本方案基于ST公司的STM32F429芯片,外接電導率信號處理模塊。通過電導率傳感器和溫度傳感器采集數(shù)據(jù),對采集的數(shù)據(jù)通過算法處理得到最終結果。 將實驗數(shù)據(jù)結果傳入LCD屏幕顯示及SD中保存,并通過觸摸屏完成人機交互。
具體分為硬件部分和軟件部分:
*硬件方案:
1). 由于溶液的濃差極化特性,需要設計正弦波發(fā)生模塊,使用正弦波驅動電導率傳感器,得到合適的數(shù)據(jù);
2). 對正弦波模塊產(chǎn)生的數(shù)字信號進行處理,為此設計了濾波模塊;
3). 對電導率傳感器傳回的的數(shù)據(jù)進行放大處理,以便達到ADC的要求,設計了放大處理模塊;
4). 由于3中的放大電路的相關芯片需要接入負電源,設計了電壓轉置模塊。
*軟件方案:
1). 編寫正弦波發(fā)生芯片的驅動程序;
2). 編寫溫度傳感器的驅動程序;
3). 編寫ADC程序;
4). 編寫LCD屏驅動程序;
5). 編寫觸摸屏驅動程序;
6).編寫SD卡驅動程序;
7).編寫串口打印程序。
4.項目成果(Result):
項目成果設計出合適的電導率信號處理模塊電路板,并完成相應的程序編寫。通過實際操作,能夠順利收集數(shù)據(jù),初步完成預期的測量任務。
目錄│文件列表:
└ 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_串口數(shù)據(jù)打印.png
│ 6_數(shù)據(jù)記錄.txt
│ 7_PCB圖.png
└ 8_演示視頻.mp4