|
發布時間: 2021-3-11 12:36
正文摘要:本帖最后由 hhh402 于 2021-3-14 11:54 編輯 學習了很多年51單片機從89C52一直到STC8系列,也做過好幾塊電路板,也用過現成的開發板,發現有很多問題。市場上的單片機開發板IO口絕大部分都是直接引出 ... |
張天師 發表于 2021-3-28 13:40 有1K電阻,從原理上講不加也可以,這個電阻的作用主要是抗干擾,避免感應電壓的影響,另外標準485模塊是加有120歐電阻的,這些電阻都是并聯關系,如果很多485模塊連接的話,比如10個那并聯的總電阻為12歐姆,需要很大電流才能夠驅動。這種情況下應該把電阻換成1K才合適。 |
| 弱弱的問一下,RS485的A/B端沒加偏置電阻,可以工作嗎? |
| 有什么建議,大家討論一下 |
51hei團團 發表于 2021-3-15 15:15 做PLC也是這個開發板的功能之一,有8個輸入,可以直接接入3-36v電壓,包括工業級的傳感器直接連接,輸出2路10A繼電器,一路12v,3APWM輸出。還有1路0-100v,12位模擬量輸入(有5檔:1、1/10、1/100、x10、x100),最小檔0-25mv,可以直接接熱電偶等低電壓傳感器。2路4-20ma輸出可以接變頻器、比例閥等。 |
| 這個確實不錯,在要求不高的場合可以代替plc,而且功能更多,有時間我也制作一個 |
| 樓主有心了,贊一個 |
|
本帖最后由 hhh402 于 2021-3-12 15:55 編輯 我直接畫PCB,用Multisim仿真調整原件和電路,那種原件效果好就用那種。原理圖不需要。穩壓電路、PT100溫度電路,4-20ma輸出電路,電壓放大電路,負電源電路,運算放大器的選擇都經過Multisim仿真的,選效果比較好的,運放選儀表級的,模擬電路紋波都是微伏級別的,輸入輸出電壓、電流都有校準,精度要達到0.5%,用料比普通開發板好很多。 |
hhh402 發表于 2021-3-12 12:38 你是先畫的PCB,然后再畫原理圖么? |
| 樓主很利害喲 |
| 這個板是我自己做到,具體的原理圖還沒有畫,上面的圖片就是PCB板截圖。 |
|
這個開發板主要用途: 1、在設計初期選型的時候用,比如要設計一個溫度控制器,探頭有很多種選擇,熱敏電阻、Pt100、熱電偶等等,用哪一個比較合適?還有輸出用繼電器還是晶體管?抗干擾能力如何?難道每個都做一塊板來試試嗎?這個開發板都支持,直接試就可以。 2、為現有設備增加智能化功能,比如說有一套恒壓供水系統,正常情況下只能恒定在某一個壓力如果想改變壓力必須要人工去調節,如何才能夠做到供水高峰期壓力大一點,低峰期壓力小一點呢,我們把開發板串聯到壓力傳感器與變頻器中間,壓力傳感器的電壓輸出接開發板電壓輸入,開發板電壓輸出接變頻器電壓輸入。如果開發板接收到多大電壓就輸出多大電壓那么這個系統控制的壓力就和原來一樣,如果開發板把接收到的電壓再加上一點電壓P0再輸出到變頻器會出現什么情況呢?變頻器還是維持原來的壓力不變,但是實際輸出壓力降低了,降低的壓力是與P0相對應的,通過開發板我們就可以得到不同的壓力,也就是把原來只能控制一種壓力的恒壓供水系統變成了智能化的恒壓供水系統。 3、適合不熟悉51單片機的工程師編寫復雜的程序,只需要具備基礎C語言編程能力,不需要深入了解單片機,不需要寄存器操作,通過專業庫函數就可以完成復雜的編程。具有模板程序,只需要修改核心算法和顯示內容就能夠完成編程,甚至不需要詳細了解KEIL軟件。 |
|
用庫函數:定時器設置函數舉個例子,STC是有官方庫函數的,它的定時器設置函數用的是結構體變量來設置的,定義如下:設置時所有7個變量都要用到而且順序還有要求,比直接寫寄存器還要復雜,基本上沒人用。 我用的是用字符串來設置的,用到什么寫什么,用不到的不用管而且沒有順序要求隨意。 _TIM(u8 tim_n,u8 *s); //定時器設置函數,tim_n是定時器0-4;*s是設置模式字符串。 *s中:有run=運行時鐘,沒有run=停止時鐘;有out=輸出時鐘,沒有out=不輸出時鐘;有irq=開中斷,沒有irq=關中斷. ms毫秒,us微妙,hz頻率赫茲,b波特率。 舉例: 定時器1設置為:1ms定時,開中斷,運行時鐘:_TIM(1,"1ms,irq,run");或_TIM(1,"1msirqrun"); 定時器2設置為:500us定時,開中斷,運行時鐘:_TIM(2,"500us,irq,run");或_TIM(2,"500usirqrun"); 定時器4設置為:100khz(頻率),輸出時鐘(P0.7IO口輸出100khz方波):_TIM(4,"100000hz,out,run"); 定時器2設置為:9600波特率:_TIM(2,"9600b,run"); 115200波特率: _TIM(2,"115200b,run"); _TIM(0," ");是:定時器0:關中斷,不輸出時鐘,停止時鐘。就是關閉定時器0. _TIM(0,"10msrun");是:定時器0:關中斷,不輸出時鐘,初值設置為10ms,運行時鐘。 _TIM(0,"10ms");是:定時器0:關中斷,不輸出時鐘,初值設置為10ms,停止時鐘(只刷初值,不運行)。 _TIM(1,"runirq");是:定時器1:開中斷,不輸出時鐘,運行時鐘(不刷初值)。 注:run、out、irq、xxxms之間的順序是隨意的,而且它們之間可以加或不加分隔符:,; (逗號、分號、空格) "10msrunoutirq"、"runout10msirq"、"irq10msoutrun"、"out10msrunirq" 這4個意思是一樣。 "10ms,run,out,irq"、"10ms;run;out,irq,"、"10ms,runout;irq"、"10ms,run outirq"這4個(8個)意思是一樣。分隔符也可以部分加。混合加。 設置的時間范圍1us-32ms,頻率32hz-2Mhz,超過范圍會忽略。 |
| 可以共享一下原理圖和pcb嗎? |
太空將軍 發表于 2021-3-12 08:50 不是針對你這種情況的,主要是針對用量不大但是程序比較復雜需要不斷修改程序的情況,比如說工控、智能家居,只是知道最終要控制某個東西,但是其中用到什么傳感器,用什么輸出是不確定的要看運行效果來修改,這就需要一適應性比較強的開發板了。 |
|
本帖最后由 hhh402 于 2021-3-12 10:25 編輯 用的是STC8A8K32S4A12,64腳的,STC8H多一個USB沒用,STC8A8K32S4A12的ADC電壓引腳全部都是獨立的,ADC更穩定。 |
| 倒是可以搞一個集成了開發常用工具的板子,這個用來做項目的話,對于單片機這種價格敏感型行業,不合適。因為我公司一年幾千、幾萬片,比如我公司板子,1毛錢都在計算 |
不錯 ,用STC8H吧 |
| 能共享下電路圖和可打板文件嗎 |