0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)設(shè)計(jì)產(chǎn)品的六大步驟說明

電子工程師 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師姚遠(yuǎn)香 ? 2018-07-15 11:21 ? 次閱讀

很多同學(xué)學(xué)了單片機(jī)很久,學(xué)完51學(xué)AVR,學(xué)完AVR學(xué)STM32(誰叫人家現(xiàn)在最火呢)。開發(fā)板買了一塊又一塊,在開發(fā)板上做實(shí)驗(yàn),覺得自己還是很牛X的,但是真叫你自己設(shè)計(jì)一個(gè)電子產(chǎn)品出來,好多童鞋都抓瞎了,不少學(xué)完單片機(jī)了,畢設(shè)要做個(gè)單片機(jī)類的設(shè)計(jì)出來最終還是來找我們幫忙,那請問你學(xué)單片機(jī)干什么?

以上為題外話,今天主要是和大家討論一下如何利用單片機(jī)來設(shè)計(jì)一款產(chǎn)品?讓我們花那么多的錢來學(xué)單片機(jī)不是白學(xué)的,畢竟玩電子的還是燒錢啊。以下就是我總結(jié)的設(shè)計(jì)一個(gè)電子產(chǎn)品的幾個(gè)大步驟。

一、需求

在做產(chǎn)品之前。我們要先了解這產(chǎn)品是干嘛用的?有些什么功能?然后該考慮供電問題,這涉及到電源電路的設(shè)計(jì)和功耗的考慮。考慮需要采集什么外部信號?控制什么設(shè)備?比如采集溫度,控制繼電器。還得考慮顯示部分的信息量,決定我們采用什么顯示方式,是用LED還是用數(shù)碼管還是用LCD或者tft彩屏。再考慮提醒部分,是否需要做聲光的提醒?還得考慮需要什么通訊協(xié)議?確定了這些后就可以做芯片選型和做初步方案了。

比如這里我們以做一個(gè)電子時(shí)鐘為例,(現(xiàn)在TB上紅得發(fā)紫的led時(shí)鐘,售價(jià)遠(yuǎn)遠(yuǎn)超出了成本價(jià),而且買來還沒有源碼,這就失去了DIY的樂趣了)我們做這個(gè)開源的diy電子時(shí)鐘。需求如下:

1、一個(gè)時(shí)鐘能顯示年月日,時(shí)分秒,溫度;

2、能調(diào)整時(shí)間,具有鬧鐘功能,具有按鍵音;

3、亮度能隨環(huán)境光照自動(dòng)調(diào)節(jié);

現(xiàn)在Tb上的好像也就這些功能,這個(gè)設(shè)計(jì)的資料以及打樣的板子小代打算等教程完了后免費(fèi)送給大家,所以第二部分的設(shè)計(jì)部分我們就考慮成本最小化了,大家見諒。

二、選型及原理設(shè)計(jì)

有了需求后,我們就可以根據(jù)需求去選擇所需的元件,設(shè)計(jì)整個(gè)產(chǎn)品了。這里我設(shè)計(jì)的是一個(gè)電子時(shí)候,首先得有時(shí)鐘來源,可以采用單片機(jī)定時(shí)器產(chǎn)生,或者用專門的時(shí)鐘芯片。定時(shí)器產(chǎn)生的缺點(diǎn)是斷電后時(shí)間需要重新調(diào)整,此方法舍去。我們用時(shí)鐘芯片DS3231、 PCF8563和DS1302。最便宜的是DS1302,優(yōu)點(diǎn)是芯片小,電路簡單,占用3個(gè)IO。DS3231和 PCF8563芯片大,占用PCB空間大(話說PCB空間就是金錢?。?,但是他們兩個(gè)芯片資源豐富。(網(wǎng)上說計(jì)時(shí)精準(zhǔn),小代沒測試過,不敢亂說。大家親測過的可以寫的文章發(fā)給小代,個(gè)人微信:dianzi126,QQ:2463515595,小代通過公眾號推送給大家,以后你寫的這文章的閱讀量可能會是我們送出板子的一個(gè)依據(jù)哦)DS1302芯片可以自動(dòng)產(chǎn)生年月日時(shí)分秒的時(shí)間數(shù)據(jù),時(shí)鐘來源其實(shí)是一個(gè)32.768K的晶振提供,后面我們會詳細(xì)的介紹這芯片DS1302①。

時(shí)鐘來源有了,那得顯示出來我們才能看到是吧,這就是我們需要設(shè)計(jì)的顯示部分,上面提到,數(shù)碼管、LCD和TFT彩屏。時(shí)鐘顯示的大多是0-9的數(shù)字,顯示信息量也不大,同樣從經(jīng)濟(jì)考慮我們選用數(shù)碼管②。

溫度采集我們采用模擬方式?,F(xiàn)在流行的是用DS18B20單總線數(shù)字式芯片和DHT11芯片來做溫度,DHT11還能檢測濕度,但是這兩個(gè)數(shù)字式的芯片價(jià)格都在5-9元,這成本放在這樣一個(gè)DIY的數(shù)字時(shí)鐘上有些浪費(fèi)了。所以,我們這里采用熱敏電阻③,通過簡單的電阻分壓方式測到溫度數(shù)據(jù),這樣一來我們選擇的單片機(jī)就需要帶有ADC了,這接下來說。

接下來就是鬧鐘功能后按鍵音提示,我們采用一個(gè)蜂鳴器④來完成兩個(gè)功能。顯示的亮度調(diào)節(jié),需要用光敏電阻來檢測環(huán)境光照才能得以實(shí)現(xiàn)。

最后我們的主角(單片機(jī))⑤登場了。它是整個(gè)設(shè)計(jì)的核心,后續(xù)的程序設(shè)計(jì)好后就需要下載到單片機(jī),它會按照我們程序設(shè)計(jì)的方式去控制剛才我們提到的這個(gè)芯片和外設(shè)來實(shí)現(xiàn)我們想要的功能。這樣的小設(shè)計(jì),我們一般用8位的51單片機(jī)就可以完成了,這里我們用STC15系列的單片機(jī)。有了這些,整個(gè)設(shè)計(jì)的能源(電源)哪來?我們所選用的都是DC 5V供電的元件,所以電源可以直接用5V直流供電,比如USB接口。在電路設(shè)計(jì)時(shí)我們可以考慮下功耗的問題,輔助元件的選用上做點(diǎn)文章。

現(xiàn)在我們來整理下,這個(gè)設(shè)計(jì)需要些什么:時(shí)鐘芯片DS1302、數(shù)碼管、熱敏電阻、光敏電阻、蜂鳴器、單片機(jī)。但是,單獨(dú)的這些芯片是沒法完成我們所需要的功能的,還需要一些輔助元件(電阻、電容等)。接下來就是把這些芯片和輔助元件按照一定的規(guī)則組合起來(電路設(shè)計(jì))。

三、電路設(shè)計(jì)及打樣

此部分這里我們不做詳細(xì)的介紹,后續(xù)會分模塊的詳細(xì)介紹。再此簡要介紹設(shè)計(jì)步驟。

電路設(shè)計(jì)需要專門的設(shè)計(jì)軟件,我們常用的是Protel 99SE。本軟件可以設(shè)計(jì)電路圖和PCB板圖,可以自動(dòng)把電路圖轉(zhuǎn)到PCB圖紙中,功能強(qiáng)大。99SE這個(gè)版本是比較老的了,但小代用下來感覺是比較穩(wěn)定,兼容性比較好的一個(gè)版本,設(shè)計(jì)我們這樣的小板足夠了。設(shè)計(jì)好電路,再轉(zhuǎn)換到PCB圖紙中排兵布陣(元件擺放),手動(dòng)布線,最終完成整個(gè)板子后就可以把PCB圖紙發(fā)給廠家打樣了。現(xiàn)在各大廠家都有活動(dòng),打樣板子都不算貴了,電子愛好者,學(xué)生黨都能自己做板子了。一般打樣時(shí)間為3-4天,快遞3-4天,這樣下來就是差不多一周的時(shí)間,這段時(shí)間我們也不會閑著,可以先把程序框架搭好為后續(xù)的程序設(shè)計(jì)做準(zhǔn)備。

四、樣板測試

等了一周,心癢癢啊。收到板子后大家肯定都是激動(dòng)的,那就開始測試吧。開箱先檢查板子外觀、絲印等直觀的有沒有問題(一般都沒問題的,除非小作坊的板);然后測試電源VCC和GND直接有沒有連接,也就是測他們之間的電阻,理論上是無窮大。這些都沒問題后就準(zhǔn)備元件焊接吧,焊接時(shí)一般的順序是:先矮后高。怎么說,就是元件在板子上的高度,現(xiàn)在從最矮的開始焊接,再焊接中等高度的,最后焊接最高的元件,注意,芯片一般采用底座焊接,芯片插底座上。注意:焊接完成后的板子在上電之前還得測量電源VCC和GND直接電阻,看是否有短路的情況,有短路問題需要排除問題后再上電。

五、程序設(shè)計(jì)及測試

程序設(shè)計(jì)說白了就是編程,編程需要編程軟件,大家都叫“開發(fā)環(huán)境”,是不是聽著就高大上了,其實(shí)就是一個(gè)軟件加上編譯器,不同的單片機(jī)的開發(fā)環(huán)境是不一樣的,這里我們用的51單片機(jī)的開發(fā)環(huán)境是keil 4。Keil 加上STM32的編輯器也可以做STM32的開發(fā)環(huán)境,相信大家都用過了。我們所有的程序都在keil 中編寫,完了編譯得到機(jī)器語言的16進(jìn)制文件,最后下載到單片機(jī)里去,這樣,給我們焊接好的板子上電就可以看到我們要的效果了。但是一般我們寫的程序不可能一次就能通過,需要我們反復(fù)的調(diào)試,編譯,下載,上電測試,最終實(shí)現(xiàn)我們想要的功能為止。

六、組裝

到這里一個(gè)產(chǎn)品離成功不遠(yuǎn)了,現(xiàn)在看到的還是我們的電路板,看著不美觀,一個(gè)產(chǎn)品我們還需要給他設(shè)計(jì)一個(gè)外殼。這個(gè)外殼需要和PCB板的大小,形狀合適。所以,在我們PCB板的時(shí)候就需要考慮到外殼的形狀,安裝孔等問題。對于我們電子愛好者來說,能看到電路板也許會感覺更帥些,所以小代再次就不考慮外殼的問題了。

到這里,用單片機(jī)設(shè)計(jì)一個(gè)產(chǎn)品的流程就完了,這里小代自己總結(jié)了6步,但是這六步之間不是獨(dú)立的,需要互相關(guān)聯(lián),比如剛才說的PCB板的形狀設(shè)計(jì)和外殼的挑選,比如數(shù)碼管電路設(shè)計(jì)與板子大小的選擇,比如布線難度和數(shù)碼管的選擇問題,比如按鍵的個(gè)數(shù)和程序設(shè)計(jì)的問題等等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44452

    瀏覽量

    630829
  • pcb
    pcb
    +關(guān)注

    關(guān)注

    4307

    文章

    22852

    瀏覽量

    394845
  • AVR
    AVR
    +關(guān)注

    關(guān)注

    11

    文章

    1122

    瀏覽量

    78503
收藏 人收藏

    評論

    相關(guān)推薦

    六大步驟防雷,Hold住雷擊不是問題

    導(dǎo)致被雷電損壞的設(shè)備量增加、IC隨著集成度增加越來越脆弱:雷擊似乎越來越顯示出它的可怕!雷擊確實(shí)很有破壞力,但是,采取正確步驟防雷,雷電原本不是問題!這里提出對抗雷擊的六大步驟和四大措施,Hold住雷擊,遠(yuǎn)離雷擊故障!步驟一:分
    發(fā)表于 03-16 17:28

    學(xué)習(xí)單片機(jī)8大步驟 (出處: 中國電子技術(shù)論壇)

    學(xué)習(xí)單片機(jī)8大步驟https://bbs.elecfans.com/jishu_949279_1_1.html(出處: 中國電子技術(shù)論壇)
    發(fā)表于 11-15 09:20

    學(xué)習(xí)單片機(jī)的八大步驟

    學(xué)習(xí)單片機(jī)的八大步驟    學(xué)習(xí)使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的應(yīng)用,在匯編或C語言中學(xué)會各種功能的初始化設(shè)置,以及實(shí)現(xiàn)各種功能的程序編制。    第一步:數(shù)字I/O
    發(fā)表于 09-07 12:07

    學(xué)習(xí)單片機(jī)步驟

    學(xué)習(xí)單片機(jī)必備的八大步驟
    發(fā)表于 02-01 06:30

    開關(guān)電源PCB設(shè)計(jì)六大步驟所需注意的事項(xiàng)進(jìn)行分析

    開關(guān)電源PCB設(shè)計(jì)六大步驟在任何開關(guān)電源設(shè)計(jì)中,PCB板的物理設(shè)計(jì)都是最后一個(gè)環(huán)節(jié),如果設(shè)計(jì)方法不當(dāng),PCB可能會輻射過多的電磁干擾,造成電源工作不穩(wěn)定,以下針對各個(gè)步驟中所需注意的事項(xiàng)進(jìn)行分析。01原理圖到PCB的設(shè)計(jì)流程02相關(guān)參數(shù)設(shè)置相鄰導(dǎo)線間距必須能滿足電氣安全要
    發(fā)表于 12-28 08:28

    提高LED固晶品質(zhì)六大步驟

    提高LED固晶品質(zhì)六大步驟  一、嚴(yán)格檢測固晶站的LED原物料1.芯片:主要表現(xiàn)為焊墊污染、芯片破損、芯片切割大小不一、芯片切割傾斜等
    發(fā)表于 11-13 09:51 ?1058次閱讀

    單片機(jī)學(xué)習(xí)六大要素

     單片機(jī)學(xué)習(xí)應(yīng)用的六大重要部分 一、總線:  我們知道,一個(gè)電路總是由元器件通過電線連接而成的,在模擬電路中,連線并不成為一個(gè)問題,因?yàn)楦髌骷g一般是串
    發(fā)表于 06-29 17:55 ?652次閱讀

    學(xué)習(xí)單片機(jī)不可欠缺的八大步驟

    學(xué)習(xí)單片機(jī)不可欠缺的八大步驟
    發(fā)表于 01-12 21:52 ?15次下載

    MES系統(tǒng)實(shí)行精細(xì)化管理的六大步驟

    本文主要介紹了MES系統(tǒng)實(shí)行精細(xì)化管理的六大步驟。
    發(fā)表于 06-04 08:00 ?4次下載

    使用51單片機(jī)設(shè)計(jì)的遙控紅外指紋鎖的程序和使用說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)設(shè)計(jì)的遙控紅外指紋鎖的程序和說明。
    發(fā)表于 01-21 08:00 ?4次下載
    使用51<b class='flag-5'>單片機(jī)設(shè)</b>計(jì)的遙控紅外指紋鎖的程序和使用<b class='flag-5'>說明</b>

    使用51單片機(jī)設(shè)計(jì)循跡智能小車的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)設(shè)計(jì)循跡智能小車的詳細(xì)資料說明。
    發(fā)表于 07-03 17:41 ?18次下載
    使用51<b class='flag-5'>單片機(jī)設(shè)</b>計(jì)循跡智能小車的詳細(xì)資料<b class='flag-5'>說明</b>

    使用51單片機(jī)設(shè)計(jì)足仿生機(jī)器人的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)設(shè)計(jì)足仿生機(jī)器人的詳細(xì)資料說明。
    發(fā)表于 07-03 17:42 ?12次下載
    使用51<b class='flag-5'>單片機(jī)設(shè)</b>計(jì)<b class='flag-5'>六</b>足仿生機(jī)器人的詳細(xì)資料<b class='flag-5'>說明</b>

    單片機(jī)設(shè)計(jì)電子產(chǎn)品的流程步驟

    現(xiàn)在的電子產(chǎn)品,功能稍微復(fù)雜一點(diǎn)的都會用到單片機(jī),單片機(jī)可以編程,所以大大簡化了硬件電路的設(shè)計(jì)。比如小米的掃地機(jī)器人使用的STM32單片機(jī)、小米的體脂秤用的是合泰的
    發(fā)表于 07-16 10:19 ?4746次閱讀

    開關(guān)電源PCB設(shè)計(jì)六大步驟

    開關(guān)電源PCB設(shè)計(jì)六大步驟在任何開關(guān)電源設(shè)計(jì)中,PCB板的物理設(shè)計(jì)都是最后一個(gè)環(huán)節(jié),如果設(shè)計(jì)方法不當(dāng),PCB可能會輻射過多的電磁干擾,造成電源工作不穩(wěn)定,以下針對各個(gè)步驟中所需注意的事項(xiàng)進(jìn)行分析。01原理圖到PCB的設(shè)計(jì)流程02相關(guān)參數(shù)設(shè)置相鄰導(dǎo)線間距必須能滿足電氣安全要
    發(fā)表于 01-06 12:41 ?30次下載
    開關(guān)電源PCB設(shè)計(jì)<b class='flag-5'>六大步驟</b>

    新手學(xué)習(xí)單片機(jī)最常見的六大誤區(qū)!

    最近看到臺私信要資料的同學(xué)比較多,想必大家都是對單片機(jī)有著濃厚的學(xué)習(xí)興趣,但是很多新手開始入門單片機(jī)的時(shí)候都會遇到一些學(xué)習(xí)的誤區(qū),今天就來整理一下大家可能會遇到的六大誤區(qū)。單片機(jī)作為嵌
    的頭像 發(fā)表于 03-28 08:03 ?646次閱讀
    新手學(xué)習(xí)<b class='flag-5'>單片機(jī)</b>最常見的<b class='flag-5'>六大</b>誤區(qū)!