登錄|立即注冊(cè)|使用QQ帳號(hào)登錄
論壇 > 24小時(shí)必答區(qū)
發(fā)帖|
看4720|回11|收藏
樓主 ID:733535 只看他
2020-7-7 22:09
懸賞 120 黑幣 已解決
本帖最后由 捫心王老師 于 2020-7-8 23:11 編輯

電路原理很簡(jiǎn)單,添加起來應(yīng)該也很簡(jiǎn)單,目前實(shí)現(xiàn)了2V量程和20V量程的切換也就是19.99V和1.999V的功能,想要實(shí)現(xiàn)200mV檔位也就是199.9mV的自動(dòng)切換,但是因?yàn)槲抑粫?huì)用LED數(shù)碼管,而師傅要求要用LCD顯示屏,所以顯示電路以及代碼是借鑒別的貼主的,導(dǎo)致我顯示電路部分看不太懂。

輸入電壓是首先接入子圖里的運(yùn)算放大器電路中進(jìn)行分壓,輸出三個(gè)不同檔位的電壓再分別送入ADC0809的其中三個(gè)輸入端口,三個(gè)檔位的分壓比分別為1/5、2、20,輸入電壓不同時(shí)候,相對(duì)應(yīng)得檔位會(huì)處于選通狀態(tài),再使用單片機(jī)將A/D轉(zhuǎn)換后的得到的數(shù)字量進(jìn)行換算后送入顯示。

2V檔位:
00.png

20V檔位:
1.png

希望得到的200mV檔位的顯示效果:電壓小于200mV時(shí),四位半199.9mV顯示,不是要0.1mV精度,只是要小數(shù)點(diǎn)后一位顯示出來就好了。

附件里附上keil源程序和proteus仿真程序的附件,供各大神位查看,小弟在此期待論壇里大神們的指導(dǎo),感激不盡!

全部資料51hei下載地址:
自動(dòng)換擋電壓表.7z (4.07 MB)
(下載次數(shù): 34, 2020-7-7 23:14 上傳)


最佳答案

shinezhangxiao 查看完整內(nèi)容

我對(duì)程序進(jìn)行了Keil單步調(diào)試,程序是進(jìn)行了通道選擇的。而且他的顯示方式不是mv,而是0.xxV。內(nèi)部有個(gè)參數(shù)L就是有1,2,3三個(gè)通道值的,而且,mcu通過s1,s2,s3對(duì)通道進(jìn)行了讀取控制。但是對(duì)于通道in1來說,由于內(nèi)部電路采用了縮小放大倍數(shù)的電路,所以其值的偏差和穩(wěn)定性都很差。 系統(tǒng)有提示GMIN放大倍數(shù)必須在1~120之間,不能小于1,而實(shí)際值是0.001。也就是無法放大。這樣第一通道in1的數(shù)據(jù)就不可取了。因此系統(tǒng)通常都在in2,in ...
沙發(fā) ID:62509 只看他
2020-7-7 22:09
我對(duì)程序進(jìn)行了Keil單步調(diào)試,程序是進(jìn)行了通道選擇的。而且他的顯示方式不是mv,而是0.xxV。內(nèi)部有個(gè)參數(shù)L就是有1,2,3三個(gè)通道值的,而且,mcu通過s1,s2,s3對(duì)通道進(jìn)行了讀取控制。但是對(duì)于通道in1來說,由于內(nèi)部電路采用了縮小放大倍數(shù)的電路,所以其值的偏差和穩(wěn)定性都很差。
系統(tǒng)有提示GMIN放大倍數(shù)必須在1~120之間,不能小于1,而實(shí)際值是0.001。也就是無法放大。這樣第一通道in1的數(shù)據(jù)就不可取了。因此系統(tǒng)通常都在in2,in3上取值。
我們假設(shè)是通常取GMIN=2,那么第二通道就是GMIN=20,而第三通道就是GMIN=200,這樣就超出了放大器所能允許的范圍了。因此上下要找到一個(gè)合適的放大倍數(shù)非常困難。這就是系統(tǒng)經(jīng)常報(bào)錯(cuò)的根本原因。
你的要求顯示到毫伏這種方式,實(shí)際是沒有意義的,因?yàn)樵砟P途陀幸粋€(gè)通道是錯(cuò)誤的,其他就只是花樣問題。沒有實(shí)際意義。你甚至都可以讓所有數(shù)據(jù)顯示成毫伏。數(shù)據(jù)都不對(duì),顯示成毫伏有用嗎?
板凳 ID:733535 只看他
2020-7-8 10:39
這是一個(gè)技術(shù)分享的論壇,拿著自己簽到了好幾天攢下的所有黑幣就來提問了,求大神指導(dǎo)一下啊
地板 ID:426143 只看他
2020-7-8 16:38
都是電壓AD轉(zhuǎn)換,原理是一樣的,只要公式計(jì)算時(shí)量程改變就好了
5# ID:733535 只看他
2020-7-8 17:57

引用:

土豆西紅柿 發(fā)表于 2020-7-8 16:38
都是電壓AD轉(zhuǎn)換,原理是一樣的,只要公式計(jì)算時(shí)量程改變就好了

嗯,按理說是這樣,我確實(shí)也在“_02v”函數(shù)里換算了幾次,但都達(dá)不到效果。不知道您是否看了我附件里的程序,如果修改起來很簡(jiǎn)單,您可以給我說一下具體修改過程嗎?
6# ID:62509 只看他
2020-7-9 06:43
我下載了你的資料,并且觀看了你的模型和程序,主要的出在AMP的復(fù)合模塊中,其內(nèi)部使用了lm324四芯片放大器兩個(gè)。但電路不完整,負(fù)反饋放大電路電阻匹配不合適。我做了基本電路修復(fù),和基本電阻匹配。現(xiàn)在能運(yùn)行起來了,但還是提示放大倍數(shù)超限。你自己測(cè)算調(diào)整吧。我給你發(fā)了一個(gè)負(fù)反饋直流放大電路計(jì)算教程,望受用。另外修改后的程序我也發(fā)給你。還給你發(fā)了一個(gè)其他類型的電壓測(cè)量電路,望參考。謝謝!
附件列表
并聯(lián)負(fù)反饋電壓放大電路.PNG (2020-7-9 06:40 上傳)

原圖尺寸 91.04 KB, 下載次數(shù): 74

電路計(jì)算

電路計(jì)算

自動(dòng)換擋電壓表.7z (2020-7-9 15:36 上傳)

194.34 KB, 下載次數(shù): 13

修改后的模型

電壓表.zip (2020-7-9 06:42 上傳)

66.43 KB, 下載次數(shù): 10

參比模型

7# ID:62509 只看他
2020-7-9 09:39
你好!你的問題用新 模型解決了。精度在0.0001以下。有圖。
附件列表
整體圖.PNG (2020-7-9 09:38 上傳)

原圖尺寸 40.19 KB, 下載次數(shù): 67

模型整體顯示

模型整體顯示

精度.PNG (2020-7-9 09:38 上傳)

原圖尺寸 15.26 KB, 下載次數(shù): 69

三路信號(hào)高度一致

三路信號(hào)高度一致

自動(dòng)換擋電壓表.7z (2020-7-9 15:34 上傳)

197.71 KB, 下載次數(shù): 14

新模型程序

8# ID:733535 只看他
2020-7-9 23:37

引用:

shinezhangxiao 發(fā)表于 2020-7-9 09:39
你好!你的問題用新 模型解決了。精度在0.0001以下。有圖。

首先謝謝您的熱心的回貼和幫忙修改,但我遇到的主要是編程問題,我目前在做的電路是一個(gè)四位半顯示且可以自動(dòng)切換200mV、2V、20V三種檔位的電壓表,您看了我的仿真后應(yīng)該可以發(fā)現(xiàn),電壓大于2V時(shí),會(huì)自動(dòng)從1.999V的顯示切換到19.99V顯示,也就是20V檔位顯示,但電壓低于200mV時(shí)和低于2V時(shí)共用一個(gè)檔位,就是1.999V的顯示檔位,因?yàn)槲也恢垒斎腚妷旱陀?00mV時(shí)怎么轉(zhuǎn)換數(shù)值并顯示(電壓低于200mV時(shí)處理的是IN2通道的數(shù)值),所以目前只實(shí)現(xiàn)了2V檔位和20V檔位的自動(dòng)切換,想要實(shí)現(xiàn)200mV(顯示方式為199.9mV)和2V檔位的自動(dòng)切換。
9# ID:62509 只看他
2020-7-10 04:44
我又重新對(duì)放大器AMP內(nèi)的放大電路進(jìn)行了重新計(jì)算,現(xiàn)在的測(cè)量和顯示精度,對(duì)于目前的模型來說,應(yīng)該是最好的情況了。全量程的精度基本小于1%。詳見壓縮文件。
由于電路的電子平衡是動(dòng)態(tài)的,所以初值很重要!建議滑動(dòng)電阻的初值選擇在高位,也就是在75%這頭,逐漸調(diào)整下來,這樣才能保證電路平衡。
謝謝!
附件列表

自動(dòng)換擋電壓表.7z (2020-7-10 17:06 上傳)

1.17 MB, 下載次數(shù): 18

調(diào)整了AMP模塊

10# ID:213173 只看他
2020-7-10 06:54
本帖最后由 wulin 于 2020-7-10 07:11 編輯

感覺樓主的硬件構(gòu)架沒有問題,程序構(gòu)架不理想。建議用輪詢法,得到不斷更新的三組數(shù)據(jù),判斷三組數(shù)據(jù)之中最合適的數(shù)據(jù)送LCD顯示。如此再擴(kuò)大到4擋也不難。
11# ID:733535 只看他
2020-7-10 09:42

引用:

shinezhangxiao 發(fā)表于 2020-7-10 05:13
我對(duì)程序進(jìn)行了Keil單步調(diào)試,程序是進(jìn)行了通道選擇的。而且他的顯示方式不是mv,而是0.xxV。內(nèi)部有個(gè)參數(shù)L ...

是我有些急于求成了,我也知道自己本身的電路精度達(dá)不到,就算顯示出來也不理想,但如果我要做出200mV檔位,那么顯示單位就只能是199.9mV這種,而不是全程使用一個(gè)單位,目前看來這種結(jié)構(gòu)可能實(shí)現(xiàn)不了。感謝您的指正,補(bǔ)充了我的一些硬件知識(shí),我準(zhǔn)備重新再設(shè)計(jì)一下電路圖啦。
12# ID:733535 只看他
2020-7-10 09:47

引用:

wulin 發(fā)表于 2020-7-10 06:54
感覺樓主的硬件構(gòu)架沒有問題,程序構(gòu)架不理想。建議用輪詢法,得到不斷更新的三組數(shù)據(jù),判斷三組數(shù)據(jù)之中最 ...

感謝回復(fù),我程序設(shè)計(jì)確實(shí)不太合理,但硬件構(gòu)架也不是沒有問題。比如精度和穩(wěn)定性都不理想,您的意見對(duì)我還是很有幫助的,我再編程會(huì)使用輪詢法。

51黑電子論壇

Powered by Discuz! X3.1

首頁|標(biāo)準(zhǔn)版|觸屏版|電腦版