四位數(shù)顯表頭設(shè)計(jì)
去年幫別人定制了一個(gè)四位數(shù)顯小表頭,可以用于測(cè)量4-20mA或者0-5V、0-10V輸出的的各種傳感器,可設(shè)置顯示范圍、上下限報(bào)警燈。由于后面更改方案,此方案暫時(shí)擱置不用。今天來(lái)分享一下軟硬件的設(shè)計(jì)過(guò)程。
1.硬件設(shè)計(jì)1.1電源電源采用一個(gè)TL431+一個(gè)三極管構(gòu)成線性穩(wěn)壓電路。采用這種方式,一方面是因?yàn)槌杀据^低,另一方面,可以做大較大的電源輸入范圍(普通的1117-3.3等芯片輸入范圍也就到16V)。另外,TL431還可以為ADC提供參考電壓。1.2顯示設(shè)計(jì)可以使用單片機(jī)直接驅(qū)動(dòng)數(shù)碼管,但是會(huì)占用較多的IO口,且軟件設(shè)計(jì)上稍復(fù)雜,這里采用一個(gè)TM1650驅(qū)動(dòng)一個(gè)4位共陰極數(shù)碼管。1.3單片機(jī)及AD采樣單片機(jī)使用STM32G030F6,內(nèi)置ADC支持硬件過(guò)采樣,可以達(dá)到16位分辨率。采集電流或電壓,通過(guò)選擇合適的電阻即可。采集4-20mA電流時(shí),R12為0R,R4為150R。采樣電壓時(shí),R12和R4選擇合適的電阻分壓,使輸入范圍在3.3V以內(nèi)。如果是直接采集電源電壓,短接R13即可。另外一路ADC通道采集TL431的VREF引腳,作為參考電壓。1.4報(bào)警設(shè)計(jì)兩個(gè)光耦隔離報(bào)警(超高報(bào)警、超低報(bào)警)輸出,外部增加了三極管,用于驅(qū)動(dòng)繼電器等較大電流的設(shè)備。另外板載一個(gè)蜂鳴器(無(wú)源),同時(shí)引出蜂鳴器接口,也可外接蜂鳴器。1.5按鍵兩個(gè)按鍵用于設(shè)置顯示參數(shù)、報(bào)警參數(shù)、校準(zhǔn)等。兩個(gè)按鍵同時(shí)引出到端子上,也可外接按鍵。同時(shí)2個(gè)按鍵使用的是串口功能的引腳,可修改程序?qū)崿F(xiàn)串口輸出及設(shè)置。最終的PCB板如下,背面為數(shù)碼管。
2.軟件設(shè)計(jì)軟件上,使用STM32CubeMx設(shè)計(jì),使用硬件I2C1接口驅(qū)動(dòng)TM1650。使用了2個(gè)ADC通道采集輸入電流和TL431的參考電壓。使用TIM3CH1輸出PWM波驅(qū)動(dòng)蜂鳴器。其它就是2個(gè)報(bào)警IO和2個(gè)按鍵IO。如下:軟件實(shí)現(xiàn)功能如下:東西只做了一版,軟硬件設(shè)計(jì)上可能還不太完善,僅供參考。