8條腿(pin)、8位、8k flash...不少人聽(tīng)到這些參數(shù)可能會(huì)嗤之以鼻,當(dāng)MCU的CoreMark跑分已經(jīng)動(dòng)輒2000多分,像這種“簡(jiǎn)陋”的單片機(jī)已經(jīng)處在了鄙視鏈的底端。
但是真的是這樣的嗎?“鄙視鏈”往往是鍵盤(pán)俠外行充內(nèi)行的表現(xiàn),聰明的人則會(huì)在選型時(shí)候選擇成本、功耗和性能最平衡的器件;每個(gè)大神都是處女座,多一絲一毫的資源浪費(fèi),都會(huì)覺(jué)得渾身不舒服。
還記得小MU嗎??jī)H使用STM32F103就可以提供基本的視覺(jué)傳感功能,可以實(shí)現(xiàn)球、線(xiàn)、人、臉、移動(dòng)物體檢測(cè),為Arduino,樹(shù)莓派,PC端,手機(jī)端等開(kāi)發(fā)平臺(tái)提供視覺(jué)處理能力。檢測(cè)結(jié)果通過(guò)UART,SPI,USB以報(bào)文的形式輸出,同時(shí)提供了4路標(biāo)準(zhǔn)舵機(jī)控制接口,可以直接應(yīng)用于舵機(jī)云臺(tái)。
有點(diǎn)扯遠(yuǎn)了...小MU很好地說(shuō)明了一個(gè)問(wèn)題——不是性能最強(qiáng)的才是最好的,硬件過(guò)剩同樣是一種浪費(fèi)行為。每一個(gè)工程師都應(yīng)該是處女座,精雕細(xì)琢才是真美?;蛟SSTM8就是真正適合你的那顆芯!
早在2011年,在21ic的STMCU的論壇就已經(jīng)有人期待過(guò)8-PIN的STM8,而今年,8條腿的STM8已經(jīng)觸手可及啦~ST已經(jīng)發(fā)布了最新的8-PIN STM8S,某寶即可直接購(gòu)買(mǎi)。
8-PIN著實(shí)讓人腦洞大開(kāi),不得不讓人天馬行空地構(gòu)思充滿(mǎn)8-PIN STM8的世界,原來(lái)玲瓏精巧的它有這么多的功用!說(shuō)到百花齊放我就想到文體兩開(kāi)花,今年時(shí)尚價(jià)廉的STM8上市了……
回歸正題,此次8-PIN STM8以超低廉的價(jià)格和獨(dú)特的八腳讓STM8又熱了一把,之前也提及過(guò)不是性能最強(qiáng)的才是最好的,硬件過(guò)剩同樣是一種浪費(fèi)行為,其實(shí)不僅如此,8-PIN的STM8對(duì)于設(shè)計(jì)更加嚴(yán)苛的情境下也是至關(guān)重要的,網(wǎng)友也為我們分享了這種經(jīng)驗(yàn):
據(jù)了解,之前器件選型,一般只考慮價(jià)格和資源,直到之前一次改版,產(chǎn)品上的一個(gè)前端模塊是純模擬器件,要再進(jìn)一步縮小體積,于是乎只能上單片機(jī)了。找來(lái)找去,換了國(guó)產(chǎn)的增強(qiáng)型51,但實(shí)際只用了4個(gè)腳,一個(gè)外部中斷+三個(gè)輸出腳,內(nèi)部用到兩個(gè)定時(shí)器,就全部搞定了,國(guó)產(chǎn)的雖然也有個(gè)別的SOP8,但是資源性能遠(yuǎn)不如STM8優(yōu)勢(shì)明顯啊。
因此對(duì)于很多體積要求很高的情況,可以說(shuō)是最好的選擇。如溫度和電壓監(jiān)控模塊上,其內(nèi)置了12位的AD,對(duì)于這些應(yīng)用完全夠了,SPI和I2C可以用來(lái)掛載溫度節(jié)點(diǎn)和oled顯示屏。
他也表示之前從來(lái)沒(méi)用過(guò)STM8系列,了解了一下該芯片(如下圖)真的可以用一個(gè)詞來(lái)形容,麻雀雖小,五臟俱全。
我們已經(jīng)了解到8-PIN STM8究竟有何優(yōu)勢(shì),讓我們來(lái)看看大佬們對(duì)他有何腦洞:
1.顯示溫濕度檢測(cè)
ST公司發(fā)布了一款STM8_SO8_DISCO探索套件板,在這塊小巧的開(kāi)發(fā)板上搭載了三顆SO8N封裝的微控制器:STM8S001J3M3、STM8L001J3M3以及STM8L050J3M3。通過(guò)型號(hào)可以看出其中的一顆STM8S001J3M3為STM8通用系列;另外兩STM8L001J3M3、STM8L050J3M3為低功耗系列。在這三顆當(dāng)中最喜歡STM8L001J3M3、STM8L050J3M3,因?yàn)椴还馐瞧涞凸牡男阅軆?yōu)秀更是因?yàn)樵趦H有的8根引腳當(dāng)中除電源外還有6根引腳可做為IO供用戶(hù)使用,而STM8S001J3M3卻有一個(gè)引腳被“VCAP”占用而少了一個(gè)可供用戶(hù)使用的引腳。這幾款低引腳芯片雖說(shuō)體積小但各種常用的功能模塊卻不少,如ADC、UART、TIM、I2C、SPI等等,小身材、高性能。
下面就用這其中的一顆芯片STM8L001J3M3來(lái)制作一款小型的溫、濕度檢測(cè)及顯示設(shè)備。
一、硬件介紹
1、 主控芯片:STM8L001J3M3-沒(méi)啥說(shuō)的,英明選擇;
2、溫、濕度傳感器:HTU21D,手上正好有這顆芯片就用上了;
3、OLED顯示:這是一片96*16、0.69的OLED,體積小巧、顯示清晰,只是要外加升壓電路;
4、其它:這里主要包括LDO(XC6206P332MR)、升壓(SX1308)、8050、AO3401等;
5、主要一些硬件照片:圖中最小的四方體是HTU21D,模特是一只PDIP8的芯片;
由于系統(tǒng)整體功能比較簡(jiǎn)單,相應(yīng)的電路也是比較簡(jiǎn)單的。從下面的電路圖中可以看出,由STM8L001J3M3做為主控利用其I2C模塊Pin7(I2C_SDA)Pin8(I2C_SCL)同時(shí)與OLED、HTU21D的I2C端口相連;SX1308與外圍器件組成升壓電路為OLED提供10V電壓;8050與P-MOS(AO3401)組成簡(jiǎn)單的控制開(kāi)關(guān),通過(guò)STM8L001J3M3的Pin2輸出電平控制OLED、HTU21D電源供給;接在STM8L001J3M3的Pin5開(kāi)關(guān)(這里使用的是按鍵開(kāi)關(guān),當(dāng)然也可以考慮用觸摸或者水銀開(kāi)關(guān))用于系統(tǒng)喚醒。由于還沒(méi)有找到合適的外殼,還有電路部分還有待進(jìn)一步驗(yàn)證修改,所以這里只有原理圖而沒(méi)有PCB。
三、軟件編程思路:
主控STM8L001J3M3微控制器工作于HALT模式,當(dāng)需要檢測(cè)溫、濕度時(shí)通過(guò)STM8L001J3M3的Pin5外部中斷喚醒系統(tǒng);同時(shí)STM8L001J3M3的Pin2發(fā)出控制信號(hào)接通OLED、HTU21D的工作電源;STM8L001J3M3通過(guò)I2C端口將HTU21D采集到的數(shù)據(jù)進(jìn)行處理并送OLED進(jìn)行實(shí)時(shí)顯示;溫濕度信息顯示3秒后STM8L001J3M3的Pin2發(fā)出控制信號(hào)切斷OLED、HTU21D的工作電源并再次進(jìn)入HALT工作模式等待下一次喚醒。
四、后記
以上內(nèi)容還只是紙上談兵,與實(shí)際功能的實(shí)現(xiàn)還有一段距離。STM8_SO8_DISCO探索套件板上的這幾顆芯片在ST天貓店有售并且價(jià)格也很便宜,只是運(yùn)費(fèi)有點(diǎn)小貴了,等著店里再增加一些芯片型號(hào)(如新一代的STM32G0系列)一并弄一些回來(lái)。
另外,電路中可能還存在著一些錯(cuò)誤,還請(qǐng)朋友們指教!
2.太陽(yáng)跟蹤控制器
眾所周知,目前光伏發(fā)電系統(tǒng)有著跟蹤支架,跟蹤太陽(yáng)方位和角度可以減少遮擋,大大提高發(fā)電量。根據(jù)這個(gè)原理STM8-8-PIN可以用于太陽(yáng)能發(fā)電極板的控制,提高發(fā)電效率。采用光控+時(shí)控相結(jié)合跟蹤模式,全天候跟蹤太陽(yáng)。
具體方案:
?驅(qū)動(dòng)電路采用晶閘管取代繼電器,無(wú)觸點(diǎn),大大提高了設(shè)備使用壽命和可靠性
?驅(qū)動(dòng)模塊PWM無(wú)極調(diào)速,大風(fēng)保護(hù)和大范圍搜索時(shí)可以快速跟蹤運(yùn)行。
?極限位置保護(hù)
?陰影躲避功能:根據(jù)太陽(yáng)方位角和高度角自動(dòng)計(jì)算陰影躲避啟動(dòng)時(shí)間,使電池板最大限度跟蹤太陽(yáng),并不互相遮擋
?夜晚復(fù)位功能:復(fù)位至水平。
?陰天閥值自動(dòng)調(diào)整,光傳感器增加人眼感應(yīng)器,實(shí)時(shí)檢測(cè)光照強(qiáng)度。
?手動(dòng)模式
3.多功能智能魚(yú)缸
通過(guò)觀(guān)察芯片的引腳,雖然有8個(gè)pin腳,但是有一個(gè)VCAP引腳只能接電容,所以用戶(hù)可用的引腳只有5pin。
可以利用STM8開(kāi)發(fā)一個(gè)小型智能魚(yú)缸,集合水循環(huán)(加氧)、加熱,LED功能指示,功能選擇、溫度調(diào)節(jié)于一體。
由于引腳數(shù)量有限,只能一腳多用了。
一腳用于電動(dòng)機(jī)控制,可同時(shí)控制水泵+氣泵,實(shí)現(xiàn)水循環(huán)+加氧,保證魚(yú)兒生存環(huán)境;
一腳用于電阻絲控制,可用于實(shí)現(xiàn)水體加熱,可保證水溫;
一腳用于溫度檢測(cè),可使用AD測(cè)量熱電偶數(shù)據(jù)或使用18b20檢測(cè)溫度,用于加熱反饋控制;
一腳用于功能選擇,使用AD檢測(cè)單圈電位器數(shù)據(jù)實(shí)現(xiàn),根據(jù)AD值分區(qū)實(shí)現(xiàn)不同功能組合,如單水循環(huán)(加氧)、單加熱(3級(jí)溫度分區(qū)),水循環(huán)+加熱等功能。
一腳用于燈光指示,推挽輸出,同時(shí)控制兩只不同顏色LED,根據(jù)功能組合指示,類(lèi)似如下電路:(如果引腳變成輸入模式,可實(shí)現(xiàn)第三色哦)
4.WIFI聯(lián)網(wǎng)換氣扇控制器
如上圖所示,此WIFI聯(lián)網(wǎng)換氣扇控制器是我之前是用ARDUINO做了出來(lái)的,用在我自己的工作室里。
因?yàn)橹車(chē)目諝獗容^差,所以一組風(fēng)機(jī)負(fù)責(zé)送入HEPA過(guò)濾后的空氣,另外一組在廁所排氣。
WIFI使用ESP8266模組,與MCU通過(guò)串口通訊。WIFI模組通過(guò)路由器,與工作室內(nèi)的一臺(tái)WIN10平板連接,WIN10平板上運(yùn)行的是自己用C#寫(xiě)的TCPserver.
TCPserver通過(guò)自己定義的簡(jiǎn)單通訊協(xié)議與MCU通訊,可以讀取當(dāng)前速度以及設(shè)置新的速度。
所以,8條腿的STM8也能做,需要的外設(shè):
一、1路PWM,控制風(fēng)扇轉(zhuǎn)速。
二、1個(gè)UART,用來(lái)與ESP8266通訊。
三、2個(gè)IO做實(shí)體按鍵,就地設(shè)置速度。
四、用2個(gè)IO控制數(shù)碼管,顯示速度。
據(jù)我估計(jì),熟悉STM8之后一個(gè)上午便可做出成品。
5.農(nóng)業(yè)殺蟲(chóng)燈控制器
等STM的8-PIN單片機(jī)的確等了很久,這個(gè)項(xiàng)目最開(kāi)始就考慮過(guò)ST的單片機(jī),但是當(dāng)時(shí)沒(méi)有,所以也一直在尋找一款可靠的芯片。
農(nóng)業(yè)用殺蟲(chóng)燈,主要是通過(guò)晚上亮燈,誘騙飛蟲(chóng)過(guò)來(lái),然后通過(guò)高壓網(wǎng)擊殺。因?yàn)楹οx(chóng)主要是活動(dòng)在傍晚后的四五個(gè)小時(shí),一般凌晨1,2點(diǎn)后并不是害蟲(chóng)的活動(dòng)區(qū)間,所以就需要一個(gè)定時(shí)器來(lái)控制開(kāi)關(guān)機(jī)。
電路其實(shí)很簡(jiǎn)單,但是這里的主要問(wèn)題就是高壓打火抗干擾,之前我們有用純數(shù)字電路搭建定時(shí)器,會(huì)碰到打火復(fù)位情況,用過(guò)好幾家單片機(jī),也會(huì)出現(xiàn)此類(lèi)問(wèn)題。目前用的單片機(jī),高壓打火不會(huì)受干擾,但是比較難買(mǎi),且價(jià)格有點(diǎn)高。今天看到STM8出8腳的了,馬上過(guò)來(lái)看看,希望能弄一塊來(lái)測(cè)試。
注:害蟲(chóng)的活動(dòng)區(qū)間有相關(guān)科學(xué)依據(jù)的,剛黃昏的時(shí)候昆蟲(chóng)應(yīng)該是最多的。其實(shí)這個(gè)要關(guān)閉的另一個(gè)原因也是為了省電,畢竟現(xiàn)在都是做太陽(yáng)能+蓄電池的比較多。
6.藍(lán)牙防丟報(bào)警器&SPI液晶/彩屏驅(qū)動(dòng)器&紅外控制器(智能遙控器)&氣象站
8-PINSTM8,什么鬼還有這么小的單片機(jī)???
8-PINSTM8,顧名思義引腳只有8個(gè),再出去電源/地,所以說(shuō)能用的引腳只有6個(gè)了。
大家可別小看這6個(gè)引腳,可以說(shuō)該有的都有了,你還要啥自行車(chē)啊。
雖然這些引腳功能強(qiáng)大,但是又能做什么呢???
案例一:藍(lán)牙防丟報(bào)警器
當(dāng)初大學(xué)的時(shí)候做的一個(gè)設(shè)計(jì),報(bào)警器以藍(lán)牙方式連接手機(jī),當(dāng)藍(lán)牙斷開(kāi)時(shí),蜂鳴器報(bào)警,手機(jī)可主動(dòng)觸發(fā)報(bào)警尋物,有沒(méi)有很高大上?
根據(jù)需求需要一個(gè)藍(lán)牙模塊UART接口,一個(gè)IO控制蜂鳴器,總共3個(gè)IO口,要什么8-PIN,
請(qǐng)給我一個(gè)5pin的STM8。
案例二:SPI液晶/彩屏驅(qū)動(dòng)器
大家有沒(méi)有發(fā)現(xiàn)一個(gè)秘密,這塊STM8引腳中UATR與SPI引腳是不沖突的。目前市場(chǎng)上有很多液晶/彩屏都是SPI接口,使用UART讀寫(xiě)數(shù)據(jù),SPI驅(qū)動(dòng)液晶屏,你們覺(jué)得只能驅(qū)動(dòng)液晶、彩屏了嗎?
錯(cuò)!錯(cuò)!錯(cuò)!
我覺(jué)得可以驅(qū)動(dòng)所有SPI外設(shè)
*
案例三:紅外控制器(智能遙控器)
突然發(fā)現(xiàn)這塊STM8有個(gè)IRTIM竟然是特有的紅外專(zhuān)用,之前寫(xiě)STM32要是自己配置的定時(shí)器,既然有這引腳不用白不用,UART接一個(gè)無(wú)線(xiàn)通訊的模塊,藍(lán)牙/WIFI/GPRS,你就可以遠(yuǎn)程控制家里的所有紅外控制設(shè)備了。話(huà)說(shuō)小米有賣(mài)這東西,還挺貴的。
案例四:氣象站
據(jù)我了解,目前環(huán)境傳感器大部分不是IIC接口,就是模擬量,正好這個(gè)STM8不僅有IIC,還有ADC,可以說(shuō)夠用了??梢越訙貪穸葌鞲衅?、光照度傳感器、PM2.5、PM10、CO2、CO
SO2等。UART對(duì)接一個(gè)通訊模塊,有一個(gè)產(chǎn)品搞定了
總結(jié)
我只是隨便舉了幾個(gè)案例,大家有什么大膽想法也可以提出來(lái)交流交流。其實(shí)這個(gè)款STM8功能是挺強(qiáng)大的,我們只要根據(jù)需求,一般使用引腳在6個(gè)以?xún)?nèi)的小應(yīng)用,我覺(jué)得這個(gè)快STM8都可以勝任。另外,還有一點(diǎn),作為單片機(jī)代碼量還是要控制的?,F(xiàn)在發(fā)揮你們的頭腦風(fēng)暴,看看還能做什么好玩的東西。
7.顯示器加個(gè)紅外遙控
作為一個(gè)多年深漂,前兩年租房時(shí)房東留下了一條有線(xiàn)電視和機(jī)頂盒。既然有這東西,就物盡其用,買(mǎi)個(gè)AV裝VGA接口,把大學(xué)時(shí)用的顯示器搬出來(lái)當(dāng)電視用,效果還不錯(cuò)。但是這種方式存在一個(gè)問(wèn)題,機(jī)頂盒可以通過(guò)遙控開(kāi)關(guān),顯示器沒(méi)辦法呀,每次開(kāi)電視都要走多幾步到顯示器那開(kāi)顯示器,看完又要關(guān),很是麻煩。于是乎就想給顯示器加個(gè)遙控開(kāi)關(guān)。遙控開(kāi)關(guān)用什么做呢?8-PINSTM8足夠了。
圖為STM8S001J3的pin腳分布,資源還是挺多的,主要通訊接口UART,SPI,IIC都有。
對(duì)應(yīng)于遙控開(kāi)關(guān)的應(yīng)用,可以有兩種方案:
1.一個(gè)IO口連接紅外接收管,解析接收的紅外信號(hào),當(dāng)收到開(kāi)關(guān)機(jī)信號(hào)時(shí)動(dòng)作。
2.一個(gè)UART口連接到紅外接收模塊,通過(guò)串口的方式解析紅外信號(hào),收到開(kāi)關(guān)機(jī)信號(hào)時(shí)動(dòng)作。
比較兩種方案,方案1效率更高,成本更低;方案2開(kāi)發(fā)方便快捷。
另外,還需一個(gè)IO口并聯(lián)到顯示器的按鍵位置,模擬按鍵按下的效果,之所以并聯(lián),是為了保留顯示器原有的按鍵操作。
當(dāng)然,這個(gè)方案也可以用STM8L系列來(lái)做,功耗更低,平時(shí),遙控開(kāi)關(guān)模塊也應(yīng)工作在低功耗模式,不然,功耗太高,這和開(kāi)著顯示器待機(jī)模式有什么區(qū)別。
拓展開(kāi)去,還可以增加多一個(gè)IIC設(shè)備,比如RTC,這樣可以做到定時(shí)開(kāi)關(guān)機(jī),比如OLED,這樣可以顯示一些文字留言信息等。
麻雀雖小,五臟俱全,少pin腳MCU在通訊接口,開(kāi)關(guān)控制等領(lǐng)域應(yīng)用還是非常廣泛的。
8.無(wú)線(xiàn)數(shù)據(jù)監(jiān)測(cè)終端
一、我想用8引腳的STM8來(lái)做什么
我想用8引腳的STM8來(lái)做無(wú)線(xiàn)接收終端,使用STM8串口接收無(wú)線(xiàn)模塊的數(shù)據(jù),通過(guò)I2C顯示屏,將接接收到的數(shù)據(jù)顯示在終端上,具體實(shí)現(xiàn)的思路:
1、 框圖:
2、 實(shí)現(xiàn)的功能:
433M無(wú)線(xiàn)模塊接收數(shù)據(jù),通過(guò)串口將數(shù)據(jù)傳輸?shù)絊TM8單片機(jī),STM8處理數(shù)據(jù)后,通過(guò)LCD顯示屏將數(shù)據(jù)顯示到顯示屏上,外部有一個(gè)功能按鍵和運(yùn)行狀態(tài)指示燈。終端使用鋰電池供電。
3、 STM8系列8引腳單片機(jī)資源:
STM8S0018KFLASH/1KRAM/128BEEPROM/工作電壓范圍:2.95V-5.5V
STM8L0018KFLASH/1.5KRAM/1.5KBEEPROM/工作電壓范圍:1.8V-3.6V
STM8L0508KFLASH/1KRAM/256BEEPROM/工作電壓范圍:1.8V-3.6V
使用STM8L低功耗單片機(jī),內(nèi)部資源8KFLASH,1KRAM的資源可以滿(mǎn)足使用要求。
二、我認(rèn)為現(xiàn)在哪個(gè)應(yīng)用(或產(chǎn)品)使用8引腳的STM8來(lái)替換會(huì)更好
8引腳STM8系列單片機(jī),我認(rèn)為在工業(yè)產(chǎn)品要求功能不復(fù)雜,空間有要求的產(chǎn)品上可以更好的使用,STM8L系列低功耗,使用溫度-40to125°C,這個(gè)溫度快達(dá)到汽車(chē)級(jí)溫度。
還有兒童玩具低功耗小體積的產(chǎn)品上使用。STM8片上資源有16位定時(shí)器,8位定時(shí)器,UART,SPI,I2C,ADC,這些資源,只要在6引腳范圍能可以控制的,都可以很好的應(yīng)用。
9. 智能語(yǔ)音導(dǎo)盲拐杖
首先看一下STM8芯片的片上資源:
內(nèi)核和系統(tǒng)特性
? STM8內(nèi)核,頻率為16 MHz
? 2.95V到5.5V工作電壓
? 128kHz到16 MHz RC靈活的時(shí)鐘控制
? 多達(dá)5個(gè)I/O
? 8位和16位定時(shí)器(2 個(gè))
存儲(chǔ)器
? 8 KBFlash
? 1 KBRAM
? 128字節(jié)EEPROM
連接和調(diào)試
? UART
? SPI
? I2C
? SWIM單線(xiàn)調(diào)試模塊
模擬外設(shè)
? 3通道10位ADC
需要注意的是雖然是8腳,但只有5個(gè)IO可用,而且SPI是單線(xiàn)SPI。
UART和I2C可以同時(shí)使用。
SPI和I2C可以同時(shí)使用。
UART和SPI不可同時(shí)使用。
導(dǎo)盲拐杖系統(tǒng)方案,主要由超聲波測(cè)距,采用IO觸發(fā),語(yǔ)音模塊使用SPI+IO實(shí)現(xiàn),另外加蜂鳴器和LED燈光報(bào)警提示,基本上可以占用全部IO資源了。
該裝置可以把盲人前方道路上遇到的一定范圍內(nèi)的障礙物進(jìn)行距離探測(cè)并且可以將障礙物距離盲人多少米轉(zhuǎn)換成實(shí)時(shí)語(yǔ)音提示,?通過(guò)語(yǔ)音提示盲人可以知道前方是否有障礙物,從而進(jìn)行危險(xiǎn)躲避。
10. 鋰電BMS前端采樣i2c通訊和轉(zhuǎn)485應(yīng)用
STM8能干啥,STM8可以使用內(nèi)部晶振,簡(jiǎn)化外圍電路。
使用I2CBMS 均衡ic進(jìn)行通訊和設(shè)置。就可以得到電壓,電流,和各種保護(hù)狀態(tài),然后通過(guò)串口轉(zhuǎn)RS485,用于跟上位機(jī)的通訊就可以做出性?xún)r(jià)比非常搞的BMS均衡系統(tǒng)。
11. 主從式6軸FAULHABER電機(jī)位置式驅(qū)動(dòng)方案
想要嘗嘗STM8-SO8-DISCO!!
主要是想做一個(gè)6軸的空心杯電機(jī)的位置控制方案。
之前已有的方案采用的是一塊48-PIN的STM32F411+3片20pin的STM32L011。411的三個(gè)普通定時(shí)器負(fù)責(zé)六個(gè)軸的H橋PWM給定(12路),每片L011負(fù)責(zé)兩個(gè)電機(jī)的正交編碼器的回采,主從間通信采用SPI通信。但是這樣的方案成本略貴,因此正在尋找替代方案。
這次正好看到了一塊板子上三個(gè)STM8,迫不及待地去翻參考手冊(cè)。發(fā)現(xiàn)可以用以下方案替代:從芯片換為6片STM8。只看了一下STM8S001J3的PIN MAP,發(fā)現(xiàn)7,8腳可以用作TIIM2的ENCODER模式,用來(lái)捕獲一個(gè)電機(jī)的AB相正交脈沖,利用5號(hào)腳響應(yīng)中斷請(qǐng)求+6號(hào)腳讀串口的方式去獲取從機(jī)的脈沖數(shù)。另外還有一個(gè)1號(hào)腳,可以用來(lái)作為故障標(biāo)志位,當(dāng)AB失效,內(nèi)部產(chǎn)生失效事件時(shí),可以通過(guò)此故障標(biāo)志位告知主芯片(F411)。
哈哈!IO資源榨得干干凈凈。(l050j3也可以,但l001j3貌似不行..)所以測(cè)評(píng)的時(shí)候我打算試驗(yàn)1拖2進(jìn)行上述的測(cè)試。
另外看了下這塊板子,有以下三種不同的芯片:STM8S001J3M3、STM8L001J3M3、STM8L050J3M3。
手冊(cè)也幫大家找好了:
https://www.st.com/resource/en/datasheet/stm8s001j3.pdf
https://www.st.com/resource/en/datasheet/stm8l050j3.pdf
https://www.st.com/resource/en/datasheet/stm8l001j3.pdf
12. 超聲波測(cè)距儀
STM8L001J3M3的TIM2和TIM3具備了紅外線(xiàn)調(diào)制發(fā)射功能。
超聲波發(fā)射頻率與紅外線(xiàn)發(fā)射頻率非常接近,我會(huì)利用這個(gè)調(diào)制的38KHZ信號(hào)去驅(qū)動(dòng)超聲波發(fā)射,然后接收回波達(dá)到測(cè)距功能。剩余4條IO線(xiàn)用來(lái)驅(qū)動(dòng)OLED顯示屏,顯示所測(cè)得的距離。
13. 鎳氫電池充電器
STM8L050J3是 SOP8 封裝的MCU,具備12-bit ADC和三個(gè)定時(shí)器,可以實(shí)現(xiàn)一個(gè)低成本的單節(jié)(5號(hào)/7號(hào))鎳氫電池充電器。
12-bitADC用兩個(gè)輸入通道,一個(gè)采集電池電壓,一個(gè)采集電流取樣電阻上的電壓(換算得出充電電流)。因?yàn)殒嚉潆姵氐某潆姵诵枰^(guò)壓保護(hù)之外,必須要依靠電壓斜率檢測(cè)來(lái)判斷電池狀態(tài)是否充滿(mǎn),及時(shí)停止充電。電壓監(jiān)測(cè)要MCU參與計(jì)算,并需要比較好的電壓測(cè)量分辨率。12-bit ADC比10-bit的更合適。
充電器電源用最容易獲得的5V直流供給,例如USB電源。通過(guò)PWM開(kāi)關(guān)降壓器變換為較低的電壓給電池,開(kāi)關(guān)降壓用PMOS管控制,MCU的定時(shí)器產(chǎn)生PWM波形,驅(qū)動(dòng)MOS管。將ADC采集的取樣電阻電壓與預(yù)設(shè)值比較,根據(jù)誤差調(diào)節(jié)PWM占空比,形成一個(gè)反饋環(huán)路,實(shí)現(xiàn)對(duì)電池的恒流充電。
MCU 6個(gè)I/O口余下的可以用來(lái)做LED指示燈。
14. 環(huán)境監(jiān)測(cè)儀器/定時(shí)開(kāi)關(guān)
STM8L050J3雖然只有 8 個(gè)引腳(除去電源相關(guān)僅6個(gè)),但是還有支持 32kHz 晶振的RTC,帶有日歷,而且支持?jǐn)?shù)字校準(zhǔn)。
因此,在需要長(zhǎng)時(shí)間準(zhǔn)確定時(shí)的場(chǎng)合,它可以做一些簡(jiǎn)單的事情,又長(zhǎng)時(shí)間保持低功耗。
例如:環(huán)境監(jiān)測(cè)儀器,在一天當(dāng)中的固定時(shí)間點(diǎn)采集一個(gè)環(huán)境傳感器的測(cè)量值,保存在片上 EEPROM 中(當(dāng)然256字節(jié)只能存少量,需要管理人員過(guò)一段時(shí)間取走數(shù)據(jù);SRAM也可以存一些數(shù)據(jù)。若需要長(zhǎng)期保存,也可以擴(kuò)展片外的EEPROM, FRAM等)。MCU的GPIO可以控制傳感器的電源,在采集完成后就關(guān)閉。如果是模擬傳感器,則片上12-bit ADC用來(lái)轉(zhuǎn)換模擬量。如果是數(shù)字傳感器,用SPI或者GPIO模擬時(shí)序進(jìn)行訪(fǎng)問(wèn)。
例如:定時(shí)開(kāi)關(guān)。相當(dāng)于不帶顯示功能的鬧鐘,只保留RTC運(yùn)行,到定時(shí)時(shí)間翻轉(zhuǎn)GPIO,控制其它的設(shè)備。
例如:異常記錄器。當(dāng)異常事件發(fā)生時(shí),用外部中斷喚醒MCU,記錄下當(dāng)前時(shí)間。比如可用水銀開(kāi)關(guān)檢測(cè)傾倒,用干簧管+磁鐵檢測(cè)位置變化,用帶中斷輸出功能的加速度計(jì)檢測(cè)跌落……
以上這幾種應(yīng)用都需要保留一兩個(gè)GPIO,用于初始化、設(shè)置和數(shù)據(jù)讀回等維護(hù)功能。因除去RTC晶振之后只有4個(gè)GPIO,需要精打細(xì)算。
15. 其它器件的上電初始化
上電初始化,這個(gè)功能看似經(jīng)常是多余的,用一個(gè)MCU大材小用,有點(diǎn)浪費(fèi)了。不過(guò),如果足夠便宜的話(huà)……
許多芯片有內(nèi)部寄存器,或者是通過(guò)一些外部引腳來(lái)設(shè)定工作模式。如果不能夠在PCB上接死,需要改變配置的話(huà),需要有一個(gè)用戶(hù)可操作的切換方式。
8腳的 MCU 有6個(gè)I/O可以用,而且有SPI/I2C接口,就很適合配置帶內(nèi)部寄存器的芯片。只要板子上沒(méi)有其它MCU適合來(lái)做這個(gè)事情,單用一個(gè)8腳STM8從成本上是合理的。
上電時(shí),STM8可以先復(fù)位目標(biāo)芯片,然后通過(guò)SPI/I2C進(jìn)行目標(biāo)芯片的寄存器設(shè)置; 若不是寄存器配置,而是外部引腳設(shè)定,那么就用GPIO去控制。完成以后STM8進(jìn)入最省電的模式即可。
修改配置只需要修改STM8的程序,不用改PCB板。如果有多種配置(寄存器設(shè)置/引腳狀態(tài)),可以保存多套,用STM8一個(gè)GPIO(按鈕形式)進(jìn)行用戶(hù)可操作的切換,重新執(zhí)行目標(biāo)芯片的初始化。
16. 簡(jiǎn)易峰值記錄器
平常峰值記錄通過(guò)使用模擬電路搭建。這種方法不僅對(duì)使用者要求較高,物料成本也較高??梢允褂肧TM8S001做一個(gè)簡(jiǎn)易的峰值記錄器,用于信號(hào)頻率不高的場(chǎng)合。具體想法見(jiàn)下圖所示:
以上是使用STM8S001J3。
不過(guò)更推薦使用STM8L050J3,因?yàn)槠銩D為12bit,采樣率可達(dá)1 Msps,而且?guī)в?a href="http://www.delux-kingway.cn/tags/dma/" target="_blank">DMA,方便使用。具體如下:
簡(jiǎn)單畫(huà)出ADC前的信號(hào)處理電路:
峰值如何檢測(cè)?現(xiàn)成的程序沒(méi)有。簡(jiǎn)單的講個(gè)思路:先通過(guò)PB5的狀態(tài)決定是否開(kāi)啟ADC采集。在PB5引腳被觸發(fā)后先將峰值變量清零,然后開(kāi)啟ADC和DMA。單片機(jī)在等到DMA送來(lái)的數(shù)據(jù)后,判斷是否大于現(xiàn)有的峰值變量并決定是否改變峰值變量。在PB5引腳恢復(fù)原先的狀態(tài)后通過(guò)UART+DMA將峰值數(shù)據(jù)發(fā)送出去。程序還是比較好寫(xiě)的,關(guān)鍵是內(nèi)存使用的把握。還有為了省內(nèi)存和程序運(yùn)行時(shí)間,在尋找峰值時(shí)直接用ADC輸出的數(shù)據(jù)而不用轉(zhuǎn)換,在發(fā)送數(shù)據(jù)時(shí)決定是否轉(zhuǎn)換為電壓值。
這個(gè)方案的局限在于AD采集速率和處理速度上,結(jié)果肯定是有誤差的,被采集波形的頻率也要受到限制。但是對(duì)于硬件搭建的峰值保持電路,受限于開(kāi)關(guān)管的泄漏電流,電容的損耗角、運(yùn)放的建立時(shí)間等因素,輸出也不可能完全準(zhǔn)確,而且隨時(shí)間推移輸出必然會(huì)下降。最重要溫飄會(huì)很麻煩。
峰峰值能達(dá)到多少?如果超過(guò)了怎么分壓呢?這個(gè)取決于你的輸入范圍和要求的精度。比如用如下的分壓電路:
可以達(dá)到輸入-10~+10V,輸出為0~3.3V(視選取的電阻比例決定)。
使用STM8L050J3的12bit的ADC,ADC參考電壓即電源電壓為3.3V時(shí),分辨率為(V這一端)0.0049V。
如果V超過(guò)-10~+10V,則可以在u端加上下拉二極管限幅。之后加一個(gè)跟隨器和RC電路連接至單片機(jī)的AD即可。
為什么暫未考慮濾波?因?yàn)閱纹瑱C(jī)內(nèi)存太小,做簡(jiǎn)單的濾波算法很容易R(shí)AM不夠用。在這個(gè)方案上只能不濾波。后期加隔離看情況,如果直接接在同一個(gè)板子上的放大電路,加個(gè)跟隨器和RC電路就可以了。大信號(hào)的話(huà)分壓和保護(hù)是要做的。如果外接信號(hào)(不同地),隔離肯定是要加的。
17. 自行車(chē)(更準(zhǔn)確是摩托車(chē))胎壓報(bào)警模塊
對(duì)于自行車(chē)胎壓報(bào)警,可以說(shuō)有很多很成熟的方案。這里在此使用STM8L001J3+MPL3115A2測(cè)量自行車(chē)胎壓與輪胎溫度,當(dāng)測(cè)量的結(jié)果大于程序預(yù)設(shè)的報(bào)警值,則通過(guò)PD0的TIM3_CH2輸出的方波驅(qū)動(dòng)蜂鳴器報(bào)警。方案圖如下:
18.替代按鍵掃描芯片
這個(gè)方案在STC的手冊(cè)上就有了。可以將這個(gè)方案借鑒到STM8上。在STC12C5A60S2的手冊(cè)P343上按鍵檢測(cè)圖如下:
將該電路連接至STM8L050的AD口上,就可以在固定時(shí)間內(nèi)掃描電壓,從而得知按鍵情況。通過(guò)UART或I2C可以實(shí)時(shí)的發(fā)送按鍵值。
算法上事先計(jì)算好理論值,并規(guī)定一個(gè)誤差范圍,將其作為一個(gè)表寫(xiě)入單片機(jī)的flash中,程序運(yùn)行時(shí)直接AD采集并查表就可以知道按鍵值了。
19. 在電源上的應(yīng)用
8-PIN能做什么?在開(kāi)關(guān)電源設(shè)計(jì)上,有時(shí)候就需要用兩個(gè)MCU分別做原邊和副邊的相關(guān)參數(shù)采樣,假如我的主控MCU放到副邊,肯定會(huì)用一個(gè)引腳比較多、性能強(qiáng)大的MCU,那么和原邊由于有高壓隔離的要求,我沒(méi)法用副邊MCU去直接采集電壓、電流等相關(guān)參數(shù),如果原邊再放一個(gè)同樣的MCU,那么會(huì)造成成本增加,現(xiàn)在有8腳的MCU,就可以在原邊放一個(gè)8-PIN的MCU把采集參數(shù)通過(guò)通訊發(fā)送到副邊MCU,徹底解決這個(gè)難題,在成本和性能上都能做到平衡。
20. 室內(nèi)環(huán)境監(jiān)測(cè)儀
用來(lái)做室內(nèi)環(huán)境監(jiān)測(cè)儀。通過(guò)IIC環(huán)境傳感器(溫度濕度等)采集環(huán)境數(shù)據(jù),再通過(guò)IIC接口OLED顯示數(shù)據(jù),同時(shí)還可以通過(guò)串口外掛一個(gè)GPRS/WIFI模塊,實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸。剩下的一個(gè)引腳可以用來(lái)做運(yùn)動(dòng)檢測(cè)或則按鈕,用來(lái)控制點(diǎn)亮屏幕,平時(shí)關(guān)閉屏幕,可以有效的節(jié)能。
21. 無(wú)線(xiàn)門(mén)鈴
之前,論壇有個(gè)活動(dòng)ohy老師送了塊stm8小開(kāi)發(fā)板,接觸了一下,然后最近很閑,臨時(shí)決定做個(gè)小東西,把之前想做那個(gè)無(wú)線(xiàn)門(mén)鈴做出來(lái),順便學(xué)習(xí)一下STM8的使用,入門(mén)幾天出現(xiàn)很多問(wèn)題,我是用寄存器編寫(xiě)的,可能用庫(kù)的話(huà)就沒(méi)這么曲折了,下面簡(jiǎn)單寫(xiě)一下遇到的問(wèn)題,分享一下后來(lái)改做的小東西。
你問(wèn)為啥改做床頭小萬(wàn)年歷?
DIY過(guò)程中發(fā)現(xiàn)433 發(fā)碼 解碼 還挺不簡(jiǎn)單 一頭麻,STM8s003最小系統(tǒng)也不小心搞壞了一個(gè),索性就先做個(gè)小東西吧,目的只是了解stm8的基本操作。
后來(lái)發(fā)現(xiàn)論壇【公開(kāi)課】有STM8 433M 開(kāi)發(fā)無(wú)線(xiàn)臺(tái)燈真的啥視頻都有?。?!很全面待我學(xué)會(huì)433 再來(lái)裝逼。
硬件:(STM8S003F3P6最小系統(tǒng) DHT11 LCD1602[IIC] 1838紅外 DS1302 )
基本功能:
日期 溫濕度 顯示。
紅外遙控設(shè)置修改日期。
1. 創(chuàng)建工程
2. 寄存器編寫(xiě)基礎(chǔ)代碼+網(wǎng)上找驅(qū)動(dòng)修改使用(DS1302 紅外 DHT11 LCD1602[IIC])
自己做的內(nèi)容就只有蜂鳴器 和 修改外來(lái)驅(qū)動(dòng)。調(diào)試
3. 功能模塊化 然后編寫(xiě)處理邏輯完事!
第一次使用最頭疼的是io功能 ,剛開(kāi)始不知道就找問(wèn)題花了半天時(shí)間,后來(lái)頓悟。
比如 移植DHT11它的時(shí)序要求 先寫(xiě)后讀,IO就要配置輸出的 按時(shí)序要求拉高拉低,然后再改輸入讀取,因?yàn)檫@個(gè)驅(qū)動(dòng)我在51上用過(guò)的,很完美的驅(qū)動(dòng)。所有問(wèn)題都排除了之后我就很頭疼,翻了手冊(cè)發(fā)現(xiàn)我只配置了輸出IO操作也只操作了輸出數(shù)據(jù)寄存器,這才明白沒(méi)有通用模式,只能輸入或者輸出。太傻了哈哈!低級(jí)錯(cuò)誤。
然后還有中斷問(wèn)題(用庫(kù)開(kāi)發(fā)因?yàn)橹袛嘞蛄勘矶己芡晟?,一般不?huì)出現(xiàn)中斷卡死情況,寄存器寫(xiě)的話(huà)就要多注意IO外部中斷)。
因?yàn)槊總€(gè)IO都有中斷功能,寄存器操作配置IO容易寫(xiě)錯(cuò)就進(jìn)入中斷,最后程序會(huì)卡死,我把定時(shí)器 串口通通關(guān)閉最后才查到IO外部中斷,因?yàn)闆](méi)有使用,直接仿真也能看到卡死在什么位置。
這種情況就是中斷問(wèn)題,沒(méi)有找到中斷入口,可能就是開(kāi)啟了中斷,沒(méi)有正確給出入口函數(shù),系統(tǒng)找不到就卡死了。
還有個(gè)特奇怪的問(wèn)題,我移植之前用得好好的DS1302 讀數(shù)據(jù)驅(qū)動(dòng) 數(shù)據(jù)老是錯(cuò)的 秒也跳了 就是數(shù)據(jù)相差太大,看了波形發(fā)現(xiàn)數(shù)據(jù)對(duì)的,單片機(jī)讀取出錯(cuò),查讀取驅(qū)動(dòng) 我搞不懂這咋回事,咋還就慢一拍。
22. 燈帶控制器、充電寶電量顯示
1.生活中好多地方會(huì)用到燈帶,電腦機(jī)箱(好多人喜歡的光污染)、家庭裝飾、飯館理發(fā)店等門(mén)臉裝飾,WS2812B燈帶用SPI控制,STM8支持SPI,價(jià)格便宜,開(kāi)發(fā)方便。
2.STM8支持ADC、IIC、SPI,可通過(guò)OLED屏或單純的幾顆LED,顯示充電寶電量。
23. 溫度采集 OLED顯示
STM8作為一款8位的單片機(jī),在之前沒(méi)有多少了解,總覺(jué)得現(xiàn)在的32位產(chǎn)品線(xiàn)如此豐富;STM32什么芯片斗有。但是接觸到整體方案設(shè)計(jì)后,就發(fā)現(xiàn),電路空間、產(chǎn)品成本、性能過(guò)剩這些問(wèn)題都要考慮。不是一顆144腳芯片打天下了,產(chǎn)品必須有差異化,對(duì)成本、功耗控制都必須要有規(guī)劃。
之前沒(méi)用過(guò)STM8,如果可以打算用來(lái)做一款溫度傳感器,在體積、功耗、成本上都進(jìn)一步控制下,還能帶顯示,8個(gè)腳就夠了,將引腳幾戶(hù)都用掉,這很有一番不一樣的成就感,強(qiáng)迫癥的滿(mǎn)足啊。通過(guò)利用DS18B20數(shù)字溫度傳感器、I2C接口的OLED屏做個(gè)家庭溫度計(jì)用。
工作上做過(guò)并正在銷(xiāo)售一款工業(yè)無(wú)線(xiàn)溫度傳感器產(chǎn)品,不過(guò)用的是STM32方案,就一個(gè)采集溫度、無(wú)線(xiàn)發(fā)送的小東西,用了64引腳的芯片,真是罪過(guò)。如果可行,打算用STM8試試。
總結(jié):8條腿的MCU也可以很優(yōu)秀,做東西一樣有戲。
24. 小型燈帶控制器
8-PINSTM8能干啥?
有很多的小型控制器/功能模塊就不需要有很多引腳,有個(gè)5、6個(gè)引腳其實(shí)就已經(jīng)足夠了,比如說(shuō)什么呢?簡(jiǎn)單的燈條控制器,對(duì)燈條進(jìn)行調(diào)色調(diào)亮度,還能進(jìn)行遙控控制進(jìn)行模塊切換,或者說(shuō)使用按鍵或旋鈕電阻進(jìn)行模式/亮度調(diào)節(jié),這些都不需要很多引腳就能輕松完成。
來(lái)看下8-PIN引腳都有些什么功能引腳,都能完成那些對(duì)應(yīng)的功能:
1、Internal 16 MHz factory-trimmed RC & Internal 38 kHz lowconsumption RC
無(wú)需外部晶振直接玩起來(lái)
2、UART, SmartCard, IrDA, LIN master mode
串口通信、紅外遙控接收解碼毫無(wú)壓力,輕松完成遙控接收功能
3、12-bit ADC/10-bit ADC
輕松完成按鍵或旋鈕電阻的檢測(cè)
4、16-bit timers 可用于PWM生成
完成亮度PWM控制也毫無(wú)壓力
5、SPI、I2C接口
輕松連接外部傳感器接口
8-PIN 小身材但功能多,其實(shí)不止是小型燈條控制器的應(yīng)用,還有如指尖陀螺等,也有用8-PIN單片機(jī)做的。在很多模塊化的應(yīng)用,如某一些只需要串口通信和完成簡(jiǎn)單的引腳開(kāi)關(guān)控制的部件/模塊中,已經(jīng)完成足夠,PIN腳再多也是浪費(fèi)。
25.SPI<===>UART互轉(zhuǎn)工具
借網(wǎng)友的截圖,節(jié)省論壇資源
看到?jīng)],這貨SPI和UART互不沖突,天生是SPI<===>UART互轉(zhuǎn)工具的料。
當(dāng)然,也能用來(lái)驅(qū)動(dòng)spi器件,全部變成uart接口的模塊。
然后,就是UART接口統(tǒng)一江湖的時(shí)候了
26. 多功能電池充電器
8-PINSTM8具有ADC、PWM、定時(shí)器、內(nèi)部EEPROM、GPIO和UART,用來(lái)做一個(gè)多功能電池充電器不錯(cuò)。
首先,用ADC可以檢測(cè)電池電壓和充電電流,這時(shí)需要有兩路ADC輸入,同時(shí)把電池電壓、充電電流存儲(chǔ)于內(nèi)部EEPROM。其次,STM8的PWM可以驅(qū)動(dòng)一個(gè)PMOS,調(diào)整充電電壓。
UART可以和PC通訊,把存儲(chǔ)在內(nèi)部EEPROM的電池電壓、充電電流送給PC,顯示充電曲線(xiàn)。GPIO可以接顯示狀態(tài)的LED,另外設(shè)置一個(gè)GPIO讀取電池種類(lèi)設(shè)置(鋰電池或鎳氫電池),由此確定充電方式和充電電壓。
27. 物聯(lián)網(wǎng)設(shè)備輔助處理器&物聯(lián)網(wǎng)數(shù)據(jù)采集節(jié)點(diǎn)
看了一下三款STM8,感覺(jué)還是挺不錯(cuò)的,拿來(lái)做物聯(lián)網(wǎng)設(shè)備的輔助處理器,因?yàn)楹芏辔锫?lián)網(wǎng)設(shè)備現(xiàn)在都有低功耗的要求,CPU耗電太嚴(yán)重,在低功耗狀態(tài)下最好就是關(guān)掉CPU,留著一顆MCU供電,當(dāng)檢測(cè)到外部觸發(fā)信號(hào),或者有定時(shí)喚醒的需求的時(shí)候,可以靠這顆MCU拉起CPU的電源。
這種情況下用這個(gè)STM8L050J3就挺不錯(cuò)的,這款MCU明顯優(yōu)勢(shì)在于
1、 集成了EEPROM,省了一塊24C02的空間和成本,用來(lái)保存設(shè)備唯一識(shí)別號(hào)什么的,甚至還可以在單片機(jī)程序里面加一段加密的算法,這樣人家很難破解的
2、 集成了RTC,ST的RTC精度還是可以接受了,這樣就省了一個(gè)DS1302的空間和成本,用來(lái)做定時(shí)喚醒
3、 帶了UART通信接口,可以跟CPU進(jìn)行通信,滿(mǎn)足軟件關(guān)機(jī)的需求,CPU發(fā)一條指令就可以控制這個(gè)MCU拉掉CPU的電源
4、 便宜,才2.1 RMB,估計(jì)大批量會(huì)更低
現(xiàn)在的方案是用STM32F030F4P6這個(gè)片子,這個(gè)片子還是有點(diǎn)貴,而且不是所有GPIO都有用,像這種應(yīng)用,除去串口,其實(shí)只需要一個(gè)GPIO去控制電源就行,這款STM8L050J3正好。
另外,物聯(lián)網(wǎng)現(xiàn)在是越來(lái)越火了,很多相關(guān)的產(chǎn)品也已經(jīng)落地,許多場(chǎng)景下,都要用到數(shù)據(jù)采集功能,通常都是連接幾個(gè)傳感器,然后通過(guò)無(wú)線(xiàn)蜂窩網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送出去,這個(gè)時(shí)候一顆引腳少的MCU是十分實(shí)用的,因?yàn)樗恍枰咝阅艿倪\(yùn)算,功耗也低,往往是電池供電,就是簡(jiǎn)單的傳感器數(shù)據(jù)采集和傳輸。
這個(gè)8-PIN的mcu開(kāi)發(fā)板做一個(gè)物聯(lián)網(wǎng)邊緣數(shù)據(jù)采集終端的應(yīng)用,使用太陽(yáng)能電池供電,通過(guò)連接溫濕度、CO2、環(huán)境光等傳感器和GPRS,將環(huán)境數(shù)據(jù)無(wú)線(xiàn)傳輸?shù)轿锫?lián)網(wǎng)云服務(wù)平臺(tái),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控功能。需要用到幾個(gè)IO和串口,8-PIN的MCU恰到好處。
28. 可編程數(shù)字控制或智能IO(AI/AO/DI/DO)
8-PINSTM8的特點(diǎn)是pin數(shù)很少而片內(nèi)存儲(chǔ)、外設(shè)資源豐富,可軟件編程、數(shù)據(jù)存儲(chǔ),因此最適合的應(yīng)用場(chǎng)景是使用IO較少(1路或2路)、功能單一的數(shù)字控制或模擬/數(shù)字IO應(yīng)用??墒褂枚?。
片小尺寸的8-PINSTM8與主處理器構(gòu)成大規(guī)模采集控制系統(tǒng),所有STM8與主處理器之間通過(guò)串行通信進(jìn)行信息交互,實(shí)現(xiàn)功能分散的數(shù)字控制或IO應(yīng)用。
數(shù)字控制譬如簡(jiǎn)單的開(kāi)關(guān)控制,使用片內(nèi)定時(shí)器的時(shí)序控制、PWM控制等;智能IO包括使用片內(nèi)ADC的模擬量輸入(AI)、使用片內(nèi)定時(shí)器的PWM輸出(經(jīng)外電路濾波可實(shí)現(xiàn)模擬量輸出AO)以及數(shù)字量輸入DI、數(shù)字量輸出DO等。
使用STM8做智能IO的優(yōu)勢(shì)顯而易見(jiàn):由于可軟件編程,因此可以實(shí)現(xiàn)普通IO電路難以實(shí)現(xiàn)的自檢、自診斷功能,提高了系統(tǒng)可靠性??梢詫?shí)現(xiàn)很多高級(jí)功能,為主處理器減輕任務(wù)開(kāi)銷(xiāo),這在大規(guī)模系統(tǒng)中尤為有用。比如借助STM8片內(nèi)ADC功能做智能AI不僅可以實(shí)現(xiàn)模擬量采集,還可通過(guò)軟件編程實(shí)現(xiàn)普通ADC電路難以實(shí)現(xiàn)的靈活多樣的數(shù)字濾波等數(shù)據(jù)預(yù)處理功能;使用STM8做智能DI時(shí)可以利用片內(nèi)定時(shí)器實(shí)現(xiàn)消抖抗干擾并捕獲外部事件發(fā)生的時(shí)間信息,做智能DO時(shí)可以通過(guò)軟件編程實(shí)現(xiàn)復(fù)雜的時(shí)序邏輯控制等,這些都是普通功能電路不可比擬的。當(dāng)然,使用STM8取代普通功能電路增大了系統(tǒng)復(fù)雜度,提高了開(kāi)發(fā)難度和成本,設(shè)計(jì)時(shí)是否采用需要統(tǒng)籌考慮。
29. 驅(qū)動(dòng)繼電器
簡(jiǎn)單的應(yīng)用就是串口與上位機(jī)通信控制軌道交通中DCJ, FCJ, SJ繼電器,采集DBJ, FBJ繼電器,8腳夠用了,多了也用不到,放著多余。在軌道交通行業(yè)會(huì)經(jīng)常用到這樣的,之前都是用的PLC或者40腳的單片機(jī),費(fèi)力不討好。
30.讀卡器
射頻讀卡器
最近在公司熟悉STM8的產(chǎn)品,很有意思,其開(kāi)發(fā)方式與STM32有這出奇的相似,所以開(kāi)發(fā)起來(lái)也很方便。之前使用STM8S105做了一個(gè)發(fā)卡器(讀寫(xiě)IC/ID卡)模式比較多,這次覺(jué)得8個(gè)管腳的STM8。
也可以做個(gè)發(fā)卡器。雖然不能通過(guò)撥碼開(kāi)關(guān)設(shè)置讀什么卡,讀卡的模式,但是可以做成一個(gè)簡(jiǎn)單的讀卡器的功能。用起來(lái)也十分的小巧,而且成本也降低了很多。
ID卡的讀寫(xiě)卡器
小區(qū)的門(mén)禁是ID卡,之前看到有網(wǎng)友用AVR和LGT單片機(jī)做ID卡讀卡器和模擬器,正好這次ST的stm8活動(dòng),看看能不能用STM8也做一個(gè)。
從STM8的資源上看,可以有一個(gè)UART和PC通訊,一個(gè)IIC接外部OLED屏,傳輸或顯示ID卡號(hào);定時(shí)器加中斷輸出125kHz的載波,解碼使用外部中斷加定時(shí)器加LM358、二極管、阻容解決。
卡模擬器采用類(lèi)似方案,可以把外部OLED屏和解碼部分去掉,通過(guò)PC寫(xiě)入ID卡號(hào)(存儲(chǔ)在STM8內(nèi)部的EEPROM里),在加定時(shí)器加中斷輸出125kHz的載波調(diào)制輸出。
外部IO需求不多,用8-PIN的STM8足夠了。
31. 開(kāi)發(fā)Micro:bit擴(kuò)展板
Micro:bit是專(zhuān)門(mén)面對(duì)少年兒童學(xué)習(xí)的開(kāi)發(fā)板,開(kāi)發(fā)板本身搭載的傳感器不多,可以使用STM8開(kāi)發(fā)各種擴(kuò)展板,擴(kuò)展Micro:bit的功能完成不同應(yīng)用,如光照、溫度、土壤水分、破碎、濕度等傳感器,擴(kuò)展舵機(jī)、直流電機(jī)、LED點(diǎn)陣顯示等驅(qū)動(dòng)板。8腳的STM8MCU很適合做此類(lèi)簡(jiǎn)單應(yīng)用,能有效降低成本,加快開(kāi)發(fā)進(jìn)度。
32. 音樂(lè)燈光
8-PIN的STM8很適合做單一功能的小物件。各種常用接口功能都有。我想到的就是用2個(gè)ADC采集音樂(lè)左右聲道的聲音,然后加上RGB燈驅(qū)動(dòng)做個(gè)隨音樂(lè)變化的燈光顯示。RGB燈可以用WS2811驅(qū)動(dòng)的數(shù)字燈,也可以用74HC595、DM134或者TLC5940串行4線(xiàn)驅(qū)動(dòng)的,6個(gè)IO端口足夠了。也可以玩很多花樣了。
類(lèi)似這個(gè)很早以前做過(guò),以前單片機(jī)選型到是沒(méi)考慮那么多,現(xiàn)在感覺(jué)以前做的選型單片機(jī)資源太浪費(fèi)了?,F(xiàn)在如果重新做,可以做的更小巧,成本更低。
33. 電子積木終端控制
電子積木就是將導(dǎo)線(xiàn)、燈泡 、二極管、三極管、電阻、電容、各種開(kāi)關(guān)、電表、電機(jī)、喇叭、集成塊等電子元器件固定在塑料片(塊)上,用獨(dú)特的子母扣做成獨(dú)立可拼裝的配件,在產(chǎn)品配置的安裝底板上像拼積木一樣拼裝電路組合。先看看都有什么外設(shè):
有串口,有IIC,還有SPI,這樣豐富的接口,其實(shí)做什么功能都是可以的,由于封裝很小 ,功能強(qiáng)大,所以,在電子積木中,可以做為從機(jī)的控制,通過(guò)串口通訊與其他的模塊進(jìn)行數(shù)據(jù)交換來(lái)形成不同的功能。
每一塊積木中有一片STM8的芯片,并設(shè)置成一種特定的功能,當(dāng)與其他的積木插在一起時(shí),會(huì)形成新的功能,就像是裝備的合成一樣。
34. 多彩智能家居采集點(diǎn)
8-PIN的STM8能干啥,使用在功能簡(jiǎn)單單一的場(chǎng)合還是不錯(cuò)的。兩三個(gè)IO配合上一個(gè)I2C或者TIMER,也能完成不少功能了,至少做一個(gè)警號(hào),一個(gè)閃燈玩具之類(lèi)的,一點(diǎn)問(wèn)題沒(méi)有。如果使用低功耗的STM8,用于智能家居里做為單個(gè)的信號(hào)采集點(diǎn),那也是相當(dāng)不錯(cuò)的。
比如STM8L050,用電池供電,再配上個(gè)無(wú)線(xiàn)模塊,可以做成各種信號(hào)采集點(diǎn),水浸,門(mén)窗感應(yīng),各類(lèi)氣感,火警,抽屜移動(dòng)感應(yīng)等等。再配個(gè)中控類(lèi)的網(wǎng)關(guān),內(nèi)置上個(gè)WIFI模塊,一個(gè)簡(jiǎn)易版的智能家居就出來(lái)了。
STM8雖然只有8-PIN封裝,但從另一個(gè)角度說(shuō)明它的集成度高,開(kāi)發(fā)出來(lái)的產(chǎn)品IC占用的空間也比較少,在智能家居領(lǐng)域有許多小產(chǎn)品都要求穩(wěn)定,功耗低,易散熱。
1、我們可以用STM8做室內(nèi)溫濕度監(jiān)控?cái)?shù)字表,采用OLED的小屏顯示,溫濕度傳感器通過(guò)GPIO接口將采集的模擬量給到我們的STM8主控,再由它的AD轉(zhuǎn)換,將數(shù)據(jù)通過(guò)I2C接口輸出給OLED顯示屏。
2、我們也可以做一個(gè)數(shù)字時(shí)鐘機(jī),采用外部32.768KHz的晶振電路,搭建成一個(gè)精準(zhǔn)穩(wěn)定工作的數(shù)字時(shí)鐘機(jī)。
3、可以用STM8做一款紅外遠(yuǎn)程遙控器,既能調(diào)節(jié)控制家里面的熱水器設(shè)定的溫度值,又能控制開(kāi)關(guān)電源的開(kāi)啟與斷開(kāi)。
4、可以用STM8做一個(gè)智能光感控制家用臺(tái)燈,將光敏傳感器采集的數(shù)據(jù)經(jīng)過(guò)STM8處理,而后PWM輸出控制臺(tái)燈光照強(qiáng)度等
綜上所述,STM8是有很大的使用價(jià)值的,IC封裝小,開(kāi)發(fā)起來(lái)簡(jiǎn)潔明了,完全符合功能產(chǎn)品的設(shè)計(jì)要求,成本較STM32或其它型號(hào)的IC有明顯的優(yōu)勢(shì),采用STM8開(kāi)發(fā)上述例舉的智能家居產(chǎn)品恰到好處。小IC有小IC的用法,使用得當(dāng),那也是多姿多彩的。
35. 簡(jiǎn)易溫控器
1、你選擇STM8的理由(吸引你的地方)這幾年用STM8做了好多個(gè)項(xiàng)目了,主要用了STM8L052,STM8S003。用STM8L052做了好幾款溫控器,這個(gè)MCU主要用它的段碼LCD驅(qū)動(dòng)宮功能,不用另外加驅(qū)動(dòng)芯片,用起來(lái)比較方便。用STM8S003做過(guò)數(shù)碼顯示溫控器,管道溫控器,各種閥門(mén)控制??傊隽擞?0多個(gè)小東西了,感覺(jué)芯片還是很不錯(cuò)的,用起來(lái)也比較方便,也有現(xiàn)成的庫(kù)。
全新的STM8S001,STM8L001,STM8L050 采用小型工業(yè)標(biāo)準(zhǔn)的 SO8 封裝,這幾款的封裝比較小,8個(gè)管腳的MCU還是比較少的,有一定的市場(chǎng)。做些小東西比較方便。
2、STM8L001 / STM8S001 / STM8L050 這三款芯片各自的特性、優(yōu)勢(shì)以及適用場(chǎng)景
這三款最吸引人的還是封裝管教比較少。L系列對(duì)應(yīng)低功耗,可以做電池供電的場(chǎng)合,基本的復(fù)合功能都有,可以實(shí)現(xiàn)很多小項(xiàng)目。
3、STM8創(chuàng)意測(cè)試(方向不限)
可以用來(lái)做些傳感器的檢測(cè)顯示,8個(gè)管教足夠了。也可以做簡(jiǎn)單的溫控器,一路溫度采集,一個(gè)按鍵,一個(gè)輸出,再可以加點(diǎn)顯示。
a.傳感器檢測(cè),手上有各種傳感器有模擬量輸入的,有IIC總線(xiàn)的,有SPI總線(xiàn)的,可以用STM8來(lái)檢測(cè)處理各種傳感器,然后通過(guò)串口發(fā)送到PC機(jī)處理,或者UART轉(zhuǎn)無(wú)線(xiàn)發(fā)送到控制板處理等,也可以直接顯示處理。我手上各種外設(shè)都比較齊全,玩起來(lái)比較方便。
b.做個(gè)溫控器,一路溫度采集,一個(gè)按鍵,一個(gè)輸出,再可以加點(diǎn)顯示。這樣就搞成一個(gè)溫控器了,雖然簡(jiǎn)單,但可以實(shí)際使用,放在家里控制個(gè)加熱器什么的妥妥的。
36. 溫度、濕度計(jì)
8腳的STM8單片機(jī)體積小,功能全,價(jià)格便宜,可以做成溫度計(jì)主控,既能測(cè)量溫度,又能驅(qū)動(dòng)oled或者斷碼屏顯示溫度。
讀取傳感器數(shù)據(jù)并通過(guò)LCD顯示;可以實(shí)時(shí)顯示外界溫濕度值。
(1)STM8L001配備多達(dá)6個(gè)用戶(hù)I/O引腳,內(nèi)置ADC;可外接數(shù)字或者模擬溫濕度傳感器,可采用IIC接口LCD屏;
(2)STM8工作電壓1.8V至3.6V,可采用電池供電;
(3)單片機(jī)停止模式工作電流可降至300nA,最大限度地延長(zhǎng)電池供電設(shè)備的使用壽命。
37.電池供電的無(wú)線(xiàn)設(shè)備
STM8L001這芯片好,低功耗+低引腳+FLASH+RAM+EEPROM,當(dāng)然適合電池供電的場(chǎng)合的設(shè)備。
1, 設(shè)計(jì)成無(wú)線(xiàn)門(mén)鈴也是不錯(cuò)的。
STM8L001+433模塊+喇叭驅(qū)動(dòng)+喇叭之類(lèi)的。就構(gòu)成了無(wú)線(xiàn)門(mén)鈴。
2, 家用無(wú)線(xiàn)報(bào)警設(shè)備(智能家居網(wǎng)絡(luò)里)
無(wú)線(xiàn)報(bào)警設(shè)備包括窗門(mén)報(bào)警(這個(gè)可以電池供電也可以不是電池供電)。
無(wú)線(xiàn)通訊,電池供典型的煤氣泄漏報(bào)警。(電池供電)。
無(wú)線(xiàn)通訊的環(huán)境空氣質(zhì)量檢測(cè)設(shè)備。
無(wú)線(xiàn)通訊的輸入檢測(cè)設(shè)備,可以用STM8L050(帶ADC 可檢測(cè)模擬電平高低)。
無(wú)線(xiàn)通訊的輸出設(shè)備(繼電器輸出驅(qū)動(dòng)外部設(shè)備)
3, 燈光控制
可調(diào)LED臺(tái)燈,無(wú)線(xiàn)可調(diào)LED壁燈,吊頂?shù)鹊取?/p>
從上面的一個(gè)個(gè)鮮活又頗賦創(chuàng)意的例子下,原來(lái)STM8無(wú)處不在,當(dāng)然,也正印證了8-PIN的STM8究竟有多重要。
-
mcu
+關(guān)注
關(guān)注
146文章
17362瀏覽量
352843 -
STM
+關(guān)注
關(guān)注
1文章
557瀏覽量
42599
原文標(biāo)題:8條腿的MCU能干啥?基于最新8-PIN STM8S大佬們的腦洞
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
ADS1298R PACE_OUT1和PACE_OUT2這兩條引腿究竟是輸入還是輸出?有什么用?怎樣使用?
ADS1248有8個(gè)輸入引腳,手冊(cè)說(shuō)有7路單端輸入指的的是哪7個(gè)腿?
TAS5805M為什么在沒(méi)有負(fù)載的情況下有這么大的功耗?
英銳恩科技引領(lǐng)微控制器MCU技術(shù)創(chuàng)新,賦能多元化應(yīng)用!
國(guó)產(chǎn)MCU有推薦嗎?最好是經(jīng)過(guò)市場(chǎng)驗(yàn)證的!
國(guó)產(chǎn)8位MCU為什么能被國(guó)內(nèi)的電子工程師大量應(yīng)用?
電機(jī)控制器mcu的作用 電機(jī)控制器mcu的功用是什么
sak-tc397xp這些電流都分別指的是什么?在實(shí)際應(yīng)用中會(huì)有這么大的電流嗎?
中微半導(dǎo)體推出8位RISC架構(gòu)IO型OTP MCU SC8P05x系列
選用8位和32位MCU的關(guān)鍵考量
精通8位MCU模擬外設(shè):高手的進(jìn)階指南
![精通<b class='flag-5'>8</b>位<b class='flag-5'>MCU</b>模擬外設(shè):高手的進(jìn)階指南](https://file1.elecfans.com/web2/M00/C2/17/wKgZomXgIneAb1Z1AAAq4aUH2Kg526.png)
評(píng)論