熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2022-5-20 22:25
正文摘要:使用STC15W4k單片機(jī),用官網(wǎng)ADC案例,通過測(cè)量基準(zhǔn)(LM385-1.2)推算供電電壓,串口輸出監(jiān)測(cè)電壓測(cè)量很穩(wěn)定(5.0V左右)。 后使用TM1620芯片驅(qū)動(dòng)3位數(shù)碼管顯示電壓,發(fā)現(xiàn)測(cè)量電壓波動(dòng)較大(2.4~7.5V)。 然后使數(shù) ... |
gongzhu 發(fā)表于 2022-5-29 20:28 首先,內(nèi)部的BandGap ,是參考電壓,不是基準(zhǔn)電壓,STC15系列,由于沒有Verf引腳,所以基準(zhǔn)電壓只有一個(gè),就是VCC電壓,你測(cè)量LM385-1.2,也是以VCC為基準(zhǔn),LM385-1.2只是“參考電壓”而已。所以在此再次鄭重提醒,要ADC測(cè)量準(zhǔn)確,必須要先保證單片機(jī)VCC的穩(wěn)定。而單片機(jī)VCC的穩(wěn)定,最簡(jiǎn)單有效的方法,就是單片機(jī)的供電處,先二極管再電容。 其次,誰告訴你,用了外部晶振,就不能讀取內(nèi)部參考電壓的? 內(nèi)部參考電壓,和晶振沒有任何關(guān)系的好吧? |
188610329 發(fā)表于 2022-5-29 01:14 OK,明白! 不使用內(nèi)部基準(zhǔn)的原因是我要精確計(jì)時(shí),使用的外部12M晶振。STC使用外部晶振是沒法讀取內(nèi)部基準(zhǔn)的。只有通過修改電路圖來優(yōu)化了。 |
gongzhu 發(fā)表于 2022-5-28 23:38 所以,這說明,對(duì)你ADC測(cè)量結(jié)果波動(dòng)大的,根本原因,有兩個(gè): 1) 單片機(jī)的VCC 有波動(dòng)。 2) 你的LM385-1.2 沒有穩(wěn)定在 1.2V。也有波動(dòng)。 這兩個(gè)波動(dòng)一疊加,就波動(dòng)的離譜了。 解決方案,分兩步, 1) STC15W 系列屬于寬電壓,即單片機(jī)其實(shí)不是必需要在5V條件下工作,可以在2.5~5.5V下工作, 所以,比較簡(jiǎn)單的方法: VCC 先接2級(jí)管,再接你的兩個(gè)電容(有條件的話把0.1uf 的那個(gè)換0.01uf, 或0.022uf), 然后接單片機(jī)VCC。 然后,測(cè)試BandGap, ADC, 此時(shí)應(yīng)該基本沒有波動(dòng)了。 其實(shí),象STC15系列這種沒有 Verf 引腳的單片機(jī),建議你就用BandGap,作為基準(zhǔn),無數(shù)試驗(yàn)證明外接基準(zhǔn)其實(shí)反而不準(zhǔn)。你一定要外接基準(zhǔn),那么,在 (1) 已經(jīng)穩(wěn)定的前提下: 2) LM385-1.2 同理,也是先 二級(jí)管,再電容。然后接單片機(jī)。 做完上面兩步,應(yīng)該能達(dá)到比較能接受的結(jié)果。 |
188610329 發(fā)表于 2022-5-28 21:53 使用bandgap和內(nèi)部晶振確實(shí)電壓波動(dòng)小多了,電腦usb供電,測(cè)量結(jié)果 4.75~5.1V。 |
本帖最后由 gongzhu 于 2022-5-28 22:28 編輯 OK 最開始使用的是STC官方教程,通過內(nèi)部BandGap能夠測(cè)出準(zhǔn)確電壓值 我要精確計(jì)時(shí),使用外部晶振就沒法用BandGap了。我再加入TM1620看看穩(wěn)定性 |
一口不能吃成胖子。 你先不要用 LM385-1.2 , 先用 STC15w 的內(nèi)部基準(zhǔn)電壓, 先不要管準(zhǔn)不準(zhǔn),先看,是不是波動(dòng)變小了? 是的話告訴你你的問題怎么解決,不是的話,當(dāng)我沒說。 |
找到解決辦法了,在ADC采樣前關(guān)閉TM1620即可——發(fā)送 0x80 。 前面程序給TM1620發(fā)送的0x00,以為不點(diǎn)亮就不消耗電流,其實(shí)其內(nèi)部仍然在振蕩耗電! |
robinsonlin 發(fā)表于 2022-5-21 17:45 0.56英寸數(shù)碼管,共6個(gè)。即便數(shù)碼管初始化后不顯示也會(huì)導(dǎo)致ADC采樣不穩(wěn)定 |
啤酒瓶子老大 發(fā)表于 2022-5-21 13:18 外接手機(jī)充電器電源和充電寶都試過,只要TM1620初始化就導(dǎo)致ADC采樣不穩(wěn)定 |
wulin 發(fā)表于 2022-5-21 07:35 有接100uf+0.1uf電容。單片機(jī)側(cè)電源端也有接這兩個(gè)電容,使用充電器和充電寶都試過,TM1620不能初始化,一旦初始化就導(dǎo)致ADC采樣不穩(wěn)定 |
干擾也是單片機(jī)被干擾,也不定是干擾就輸出0V電壓,一般單片機(jī)被干擾的機(jī)率主要看你設(shè)計(jì)的電路.電源等. |
建議 5V 電源加電解電容16V470UF 后面加431加電解電容16v47UF通過電阻搭配獲得比較穩(wěn)定的電壓 |
多大的數(shù)碼管? 15W4K的IO資源也不少,內(nèi)存也夠用。位用IO配合三極管,段直接拿IO腳直接推就好了,還用TM1620,有點(diǎn)浪費(fèi)哦。 說實(shí)話,這個(gè)15W4K的AD說是有10位,真真沒有感受到有10位的精度,只能當(dāng)8位的用。 |
感覺這個(gè)IC掃描時(shí)確實(shí)干擾很大,用示波器測(cè)VDD有方波 |
取決于你的設(shè)計(jì)經(jīng)驗(yàn)。 例如:AD采樣電路中有一段線,與驅(qū)動(dòng)電路共用,有線就有電阻,由于驅(qū)動(dòng)電路電流大,又不穩(wěn)定。所以這段線的壓降就不穩(wěn)定。如此就影響AD值了。 |
ADC轉(zhuǎn)換多延時(shí)一下。不用轉(zhuǎn)換完了就顯示。 忙什么。穩(wěn)住。 另外外接一個(gè)電源試一下,比如充電寶。讓電流足夠大。或者手機(jī)充電器。 |
LED驅(qū)動(dòng)片,不串聯(lián)電阻驅(qū)動(dòng)數(shù)碼管,瞬間電流有180MA,電源可能不穩(wěn)定。 |
在TM1620的電源端就近接100uF+0.01uF電容試試。 |
PCB布線錯(cuò)誤會(huì)導(dǎo)致樓主描述現(xiàn)象。 |
頂一下 |
Powered by 單片機(jī)教程網(wǎng)