8-PIN STM8優秀設計集錦

原文鏈接:原文鏈接

1.顯示溫溼度檢測

 

作者:lisingch@lisingch

 

ST公司發佈了一款STM8_SO8_DISCO探索套件板,在這塊小巧的開發板上搭載了三顆SO8N封裝的微控制器:STM8S001J3M3、STM8L001J3M3以及STM8L050J3M3。通過型號可以看出其中的一顆STM8S001J3M3爲STM8通用系列;另外兩STM8L001J3M3、STM8L050J3M3爲低功耗系列。在這三顆當中最喜歡STM8L001J3M3、STM8L050J3M3,因爲不光是其低功耗的性能優秀更是因爲在僅有的8根引腳當中除電源外還有6根引腳可做爲IO供用戶使用,而STM8S001J3M3卻有一個引腳被“VCAP”佔用而少了一個可供用戶使用的引腳。這幾款低引腳芯片雖說體積小但各種常用的功能模塊卻不少,如ADC、UART、TIM、I2C、SPI等等,小身材、高性能。

 

下面就用這其中的一顆芯片STM8L001J3M3來製作一款小型的溫、溼度檢測及顯示設備。

 

一、硬件介紹

 

1、 主控芯片:STM8L001J3M3-沒啥說的,英明選擇;


 

2、溫、溼度傳感器:HTU21D,手上正好有這顆芯片就用上了;


 

3、OLED顯示:這是一片96*16、0.69的OLED,體積小巧、顯示清晰,只是要外加升壓電路;


 

4、其它:這裏主要包括LDO(XC6206P332MR)、升壓(SX1308)、8050、AO3401等;

 

5、主要一些硬件照片:圖中最小的四方體是HTU21D,模特是一隻PDIP8的芯片;


 

二、電路設計:

 

由於系統整體功能比較簡單,相應的電路也是比較簡單的。從下面的電路圖中可以看出,由STM8L001J3M3做爲主控利用其I2C模塊Pin7(I2C_SDA)Pin8(I2C_SCL)同時與OLED、HTU21D的I2C端口相連;SX1308與外圍器件組成升壓電路爲OLED提供10V電壓;8050與P-MOS(AO3401)組成簡單的控制開關,通過STM8L001J3M3的Pin2輸出電平控制OLED、HTU21D電源供給;接在STM8L001J3M3的Pin5開關(這裏使用的是按鍵開關,當然也可以考慮用觸摸或者水銀開關)用於系統喚醒。由於還沒有找到合適的外殼,還有電路部分還有待進一步驗證修改,所以這裏只有原理圖而沒有PCB。


 

三、軟件編程思路:

 

主控STM8L001J3M3微控制器工作於HALT模式,當需要檢測溫、溼度時通過STM8L001J3M3的Pin5外部中斷喚醒系統;同時STM8L001J3M3的Pin2發出控制信號接通OLED、HTU21D的工作電源;STM8L001J3M3通過I2C端口將HTU21D採集到的數據進行處理並送OLED進行實時顯示;溫溼度信息顯示3秒後STM8L001J3M3的Pin2發出控制信號切斷OLED、HTU21D的工作電源並再次進入HALT工作模式等待下一次喚醒。

 

四、後記

 

以上內容還只是紙上談兵,與實際功能的實現還有一段距離。STM8_SO8_DISCO探索套件板上的這幾顆芯片在ST天貓店有售並且價格也很便宜,只是運費有點小貴了,等着店裏再增加一些芯片型號(如新一代的STM32G0系列)一併弄一些回來。

 

另外,電路中可能還存在着一些錯誤,還請朋友們指教!


 

2.太陽跟蹤控制器

 

作者:tvb2058@tvb2058

 

衆所周知,目前光伏發電系統有着跟蹤支架,跟蹤太陽方位和角度可以減少遮擋,大大提高發電量。根據這個原理STM8-8-PIN可以用於太陽能發電極板的控制,提高發電效率。採用光控+時控相結合跟蹤模式,全天候跟蹤太陽。

具體方案:

•驅動24VDC電機

•驅動電路採用晶閘管取代繼電器,無觸點,大大提高了設備使用壽命和可靠性

•驅動模塊PWM無極調速,大風保護和大範圍搜索時可以快速跟蹤運行。

•極限位置保護

•陰影躲避功能:根據太陽方位角和高度角自動計算陰影躲避啓動時間,使電池板最大限度跟蹤太陽,並不互相遮擋

•夜晚復位功能:復位至水平。

•陰天閥值自動調整,光傳感器增加人眼感應器,實時檢測光照強度。

•手動模式

 

3.多功能智能魚缸

 

作者:goodbaiy@goodbaiy

 

通過觀察芯片的引腳,雖然有8個pin腳,但是有一個VCAP引腳只能接電容,所以用戶可用的引腳只有5pin。


 

可以利用STM8開發一個小型智能魚缸,集合水循環(加氧)、加熱,LED功能指示,功能選擇、溫度調節於一體。

 

由於引腳數量有限,只能一腳多用了。

 

一腳用於電動機控制,可同時控制水泵+氣泵,實現水循環+加氧,保證魚兒生存環境;

一腳用於電阻絲控制,可用於實現水體加熱,可保證水溫;

一腳用於溫度檢測,可使用AD測量熱電偶數據或使用18b20檢測溫度,用於加熱反饋控制;

一腳用於功能選擇,使用AD檢測單圈電位器數據實現,根據AD值分區實現不同功能組合,如單水循環(加氧)、單加熱(3級溫度分區),水循環+加熱等功能。

一腳用於燈光指示,推輓輸出,同時控制兩隻不同顏色LED,根據功能組合指示,類似如下電路:(如果引腳變成輸入模式,可實現第三色哦)


 

4.WIFI聯網換氣扇控制器

 

作者:brucewoo@brucewoo


 

如上圖所示,此WIFI聯網換氣扇控制器是我之前是用ARDUINO做了出來的,用在我自己的工作室裏。

 

因爲周圍的空氣比較差,所以一組風機負責送入HEPA過濾後的空氣,另外一組在廁所排氣。

WIFI使用ESP8266模組,與MCU通過串口通訊。WIFI模組通過路由器,與工作室內的一臺WIN10平板連接,WIN10平板上運行的是自己用C#寫的TCPserver.

 

TCPserver通過自己定義的簡單通訊協議與MCU通訊,可以讀取當前速度以及設置新的速度。

 

所以,8條腿的STM8也能做,需要的外設:

一、1路PWM,控制風扇轉速。

二、1個UART,用來與ESP8266通訊。

三、2個IO做實體按鍵,就地設置速度。

四、用2個IO控制數碼管,顯示速度。

 

據我估計,熟悉STM8之後一個上午便可做出成品。

 

5.農業殺蟲燈控制器

 

作者:Li-ion@Li-ion

 

等STM的8-PIN單片機的確等了很久,這個項目最開始就考慮過ST的單片機,但是當時沒有,所以也一直在尋找一款可靠的芯片。

 

農業用殺蟲燈,主要是通過晚上亮燈,誘騙飛蟲過來,然後通過高壓網擊殺。因爲害蟲主要是活動在傍晚後的四五個小時,一般凌晨1,2點後並不是害蟲的活動區間,所以就需要一個定時器來控制開關機。

 

電路其實很簡單,但是這裏的主要問題就是高壓打火抗干擾,之前我們有用純數字電路搭建定時器,會碰到打火復位情況,用過好幾家單片機,也會出現此類問題。目前用的單片機,高壓打火不會受干擾,但是比較難買,且價格有點高。今天看到STM8出8腳的了,馬上過來看看,希望能弄一塊來測試。

 

注:害蟲的活動區間有相關科學依據的,剛黃昏的時候昆蟲應該是最多的。其實這個要關閉的另一個原因也是爲了省電,畢竟現在都是做太陽能+蓄電池的比較多。



 

6.藍牙防丟報警器&SPI液晶/彩屏驅動器&紅外控制器(智能遙控器)&氣象站

 

作者:abc9981@abc9981

 

8-PINSTM8,什麼鬼還有這麼小的單片機???

 

8-PINSTM8,顧名思義引腳只有8個,再出去電源/地,所以說能用的引腳只有6個了。

 

大家可別小看這6個引腳,可以說該有的都有了,你還要啥自行車啊。


 

雖然這些引腳功能強大,但是又能做什麼呢???

 

案例一:藍牙防丟報警器

 

當初大學的時候做的一個設計,報警器以藍牙方式連接手機,當藍牙斷開時,蜂鳴器報警,手機可主動觸發報警尋物,有沒有很高大上?

 

根據需求需要一個藍牙模塊UART接口,一個IO控制蜂鳴器,總共3個IO口,要什麼8-PIN,

請給我一個5pin的STM8。

 

案例二:SPI液晶/彩屏驅動器

 

大家有沒有發現一個祕密,這塊STM8引腳中UATR與SPI引腳是不衝突的。目前市場上有很多液晶/彩屏都是SPI接口,使用UART讀寫數據,SPI驅動液晶屏,你們覺得只能驅動液晶、彩屏了嗎?

 

錯!錯!錯!

 

我覺得可以驅動所有SPI外設

*

案例三:紅外控制器(智能遙控器)

 

突然發現這塊STM8有個IRTIM竟然是特有的紅外專用,之前寫STM32要是自己配置的定時器,既然有這引腳不用白不用,UART接一個無線通訊的模塊,藍牙/WIFI/GPRS,你就可以遠程控制家裏的所有紅外控制設備了。話說小米有賣這東西,還挺貴的。

 

案例四:氣象站

 

據我瞭解,目前環境傳感器大部分不是IIC接口,就是模擬量,正好這個STM8不僅有IIC,還有ADC,可以說夠用了。可以接溫溼度傳感器、光照度傳感器、PM2.5、PM10、CO2、CO

SO2等。UART對接一個通訊模塊,有一個產品搞定了

 

總結

 

我只是隨便舉了幾個案例,大家有什麼大膽想法也可以提出來交流交流。其實這個款STM8功能是挺強大的,我們只要根據需求,一般使用引腳在6個以內的小應用,我覺得這個快STM8都可以勝任。另外,還有一點,作爲單片機代碼量還是要控制的。現在發揮你們的頭腦風暴,看看還能做什麼好玩的東西。

 

7.顯示器加個紅外遙控

 

作者:Z赤心木QW@Z赤心木QW

 

作爲一個多年深漂,前兩年租房時房東留下了一條有線電視和機頂盒。既然有這東西,就物盡其用,買個AV裝VGA接口,把大學時用的顯示器搬出來當電視用,效果還不錯。但是這種方式存在一個問題,機頂盒可以通過遙控開關,顯示器沒辦法呀,每次開電視都要走多幾步到顯示器那開顯示器,看完又要關,很是麻煩。於是乎就想給顯示器加個遙控開關。遙控開關用什麼做呢?8-PINSTM8足夠了。


 

圖爲STM8S001J3的pin腳分佈,資源還是挺多的,主要通訊接口UART,SPI,IIC都有。

 

對應於遙控開關的應用,可以有兩種方案:

 

1.一個IO口連接紅外接收管,解析接收的紅外信號,當收到開關機信號時動作。

 

2.一個UART口連接到紅外接收模塊,通過串口的方式解析紅外信號,收到開關機信號時動作。

 

比較兩種方案,方案1效率更高,成本更低;方案2開發方便快捷。

 

另外,還需一個IO口並聯到顯示器的按鍵位置,模擬按鍵按下的效果,之所以並聯,是爲了保留顯示器原有的按鍵操作。

 

當然,這個方案也可以用STM8L系列來做,功耗更低,平時,遙控開關模塊也應工作在低功耗模式,不然,功耗太高,這和開着顯示器待機模式有什麼區別。

 

拓展開去,還可以增加多一個IIC設備,比如RTC,這樣可以做到定時開關機,比如OLED,這樣可以顯示一些文字留言信息等。

 

麻雀雖小,五臟俱全,少pin腳MCU在通訊接口,開關控制等領域應用還是非常廣泛的。

 

8.無線數據監測終端

 

作者:tlled@tlled

 

一、我想用8引腳的STM8來做什麼

 

我想用8引腳的STM8來做無線接收終端,使用STM8串口接收無線模塊的數據,通過I2C顯示屏,將接接收到的數據顯示在終端上,具體實現的思路:

 

1、 框圖:


 

2、 實現的功能:

 

433M無線模塊接收數據,通過串口將數據傳輸到STM8單片機,STM8處理數據後,通過LCD顯示屏將數據顯示到顯示屏上,外部有一個功能按鍵和運行狀態指示燈。終端使用鋰電池供電。

 

3、 STM8系列8引腳單片機資源:

 

STM8S0018KFLASH/1KRAM/128BEEPROM/工作電壓範圍:2.95V-5.5V

STM8L0018KFLASH/1.5KRAM/1.5KBEEPROM/工作電壓範圍:1.8V-3.6V

STM8L0508KFLASH/1KRAM/256BEEPROM/工作電壓範圍:1.8V-3.6V

 

使用STM8L低功耗單片機,內部資源8KFLASH,1KRAM的資源可以滿足使用要求。

 

二、我認爲現在哪個應用(或產品)使用8引腳的STM8來替換會更好

 

8引腳STM8系列單片機,我認爲在工業產品要求功能不復雜,空間有要求的產品上可以更好的使用,STM8L系列低功耗,使用溫度-40to125°C,這個溫度快達到汽車級溫度。

 

還有兒童玩具低功耗小體積的產品上使用。STM8片上資源有16位定時器,8位定時器,UART,SPI,I2C,ADC,這些資源,只要在6引腳範圍能可以控制的,都可以很好的應用。

 

9. 智能語音導盲柺杖

 

作者:hbzjt2011@hbzjt2011

 

首先看一下STM8芯片的片上資源:

 

內核和系統特性

• STM8內核,頻率爲16 MHz

• 2.95V到5.5V工作電壓

• 128kHz到16 MHz RC靈活的時鐘控制

• 多達5個I/O

• 8位和16位定時器(2 個)

 

存儲器

• 8 KBFlash

• 1 KBRAM

• 128字節EEPROM

 

連接和調試

• UART

• SPI

• I2C

• SWIM單線調試模塊

 

模擬外設

• 3通道10位ADC

 

需要注意的是雖然是8腳,但只有5個IO可用,而且SPI是單線SPI。

 

UART和I2C可以同時使用。

SPI和I2C可以同時使用。

UART和SPI不可同時使用。

 

導盲柺杖系統方案,主要由超聲波測距,採用IO觸發,語音模塊使用SPI+IO實現,另外加蜂鳴器和LED燈光報警提示,基本上可以佔用全部IO資源了。


 

該裝置可以把盲人前方道路上遇到的一定範圍內的障礙物進行距離探測並且可以將障礙物距離盲人多少米轉換成實時語音提示, 通過語音提示盲人可以知道前方是否有障礙物,從而進行危險躲避。

 

10. 鋰電BMS前端採樣i2c通訊和轉485應用

 

作者:paderboy@paderboy

 

STM8能幹啥,STM8可以使用內部晶振,簡化外圍電路。


 

使用I2CBMS 均衡ic進行通訊和設置。就可以得到電壓,電流,和各種保護狀態,然後通過串口轉RS485,用於跟上位機的通訊就可以做出性價比非常搞的BMS均衡系統。



 

11. 主從式6軸FAULHABER電機位置式驅動方案

 

作者:北斗stone@北斗stone

 

想要嚐嚐STM8-SO8-DISCO!!

 

主要是想做一個6軸的空心杯電機的位置控制方案。

 

之前已有的方案採用的是一塊48-PIN的STM32F411+3片20pin的STM32L011。411的三個普通定時器負責六個軸的H橋PWM給定(12路),每片L011負責兩個電機的正交編碼器的回採,主從間通信採用SPI通信。但是這樣的方案成本略貴,因此正在尋找替代方案。

 

這次正好看到了一塊板子上三個STM8,迫不及待地去翻參考手冊。發現可以用以下方案替代:從芯片換爲6片STM8。只看了一下STM8S001J3的PIN MAP,發現7,8腳可以用作TIIM2的ENCODER模式,用來捕獲一個電機的AB相正交脈衝,利用5號腳響應中斷請求+6號腳讀串口的方式去獲取從機的脈衝數。另外還有一個1號腳,可以用來作爲故障標誌位,當AB失效,內部產生失效事件時,可以通過此故障標誌位告知主芯片(F411)。

 

哈哈!IO資源榨得乾乾淨淨。(l050j3也可以,但l001j3貌似不行..)所以測評的時候我打算試驗1拖2進行上述的測試。

 

另外看了下這塊板子,有以下三種不同的芯片:STM8S001J3M3、STM8L001J3M3、STM8L050J3M3。

 

手冊也幫大家找好了:

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. 超聲波測距儀

 

作者:sky.sun.zz@sky.sun.zz

 

STM8L001J3M3的TIM2和TIM3具備了紅外線調製發射功能。


 

超聲波發射頻率與紅外線發射頻率非常接近,我會利用這個調製的38KHZ信號去驅動超聲波發射,然後接收回波達到測距功能。剩餘4條IO線用來驅動OLED顯示屏,顯示所測得的距離。


 

13. 鎳氫電池充電器

 

作者:cruelfox@cruelfox

 

STM8L050J3是 SOP8 封裝的MCU,具備12-bit ADC和三個定時器,可以實現一個低成本的單節(5號/7號)鎳氫電池充電器。

 

12-bitADC用兩個輸入通道,一個採集電池電壓,一個採集電流取樣電阻上的電壓(換算得出充電電流)。因爲鎳氫電池的充電除了需要過壓保護之外,必須要依靠電壓斜率檢測來判斷電池狀態是否充滿,及時停止充電。電壓監測要MCU參與計算,並需要比較好的電壓測量分辨率。12-bit ADC比10-bit的更合適。

 

充電器電源用最容易獲得的5V直流供給,例如USB電源。通過PWM開關降壓器變換爲較低的電壓給電池,開關降壓用PMOS管控制,MCU的定時器產生PWM波形,驅動MOS管。將ADC採集的取樣電阻電壓與預設值比較,根據誤差調節PWM佔空比,形成一個反饋環路,實現對電池的恆流充電。

 

MCU 6個I/O口餘下的可以用來做LED指示燈。

 

14. 環境監測儀器/定時開關

 

作者:cruelfox@cruelfox

 

STM8L050J3雖然只有 8 個引腳(除去電源相關僅6個),但是還有支持 32kHz 晶振的RTC,帶有日曆,而且支持數字校準。

因此,在需要長時間準確定時的場合,它可以做一些簡單的事情,又長時間保持低功耗。

 

例如:環境監測儀器,在一天當中的固定時間點採集一個環境傳感器的測量值,保存在片上 EEPROM 中(當然256字節只能存少量,需要管理人員過一段時間取走數據;SRAM也可以存一些數據。若需要長期保存,也可以擴展片外的EEPROM, FRAM等)。MCU的GPIO可以控制傳感器的電源,在採集完成後就關閉。如果是模擬傳感器,則片上12-bit ADC用來轉換模擬量。如果是數字傳感器,用SPI或者GPIO模擬時序進行訪問。

 

例如:定時開關。相當於不帶顯示功能的鬧鐘,只保留RTC運行,到定時時間翻轉GPIO,控制其它的設備。

 

例如:異常記錄器。當異常事件發生時,用外部中斷喚醒MCU,記錄下當前時間。比如可用水銀開關檢測傾倒,用幹簧管+磁鐵檢測位置變化,用帶中斷輸出功能的加速度計檢測跌落……

 

以上這幾種應用都需要保留一兩個GPIO,用於初始化、設置和數據讀回等維護功能。因除去RTC晶振之後只有4個GPIO,需要精打細算。

 

15. 其它器件的上電初始化

 

作者:cruelfox@cruelfox

 

上電初始化,這個功能看似經常是多餘的,用一個MCU大材小用,有點浪費了。不過,如果足夠便宜的話……

 

許多芯片有內部寄存器,或者是通過一些外部引腳來設定工作模式。如果不能夠在PCB上接死,需要改變配置的話,需要有一個用戶可操作的切換方式。

 

8腳的 MCU 有6個I/O可以用,而且有SPI/I2C接口,就很適合配置帶內部寄存器的芯片。只要板子上沒有其它MCU適合來做這個事情,單用一個8腳STM8從成本上是合理的。

 

上電時,STM8可以先復位目標芯片,然後通過SPI/I2C進行目標芯片的寄存器設置; 若不是寄存器配置,而是外部引腳設定,那麼就用GPIO去控制。完成以後STM8進入最省電的模式即可。

 

修改配置只需要修改STM8的程序,不用改PCB板。如果有多種配置(寄存器設置/引腳狀態),可以保存多套,用STM8一個GPIO(按鈕形式)進行用戶可操作的切換,重新執行目標芯片的初始化。

 

16. 簡易峯值記錄器

 

作者:紀國聖@紀國聖

 

平常峯值記錄通過使用模擬電路搭建。這種方法不僅對使用者要求較高,物料成本也較高。可以使用STM8S001做一個簡易的峯值記錄器,用於信號頻率不高的場合。具體想法見下圖所示:


 

以上是使用STM8S001J3。

 

不過更推薦使用STM8L050J3,因爲其AD爲12bit,採樣率可達1 Msps,而且帶有DMA,方便使用。具體如下:


 

簡單畫出ADC前的信號處理電路:


 

峯值如何檢測?現成的程序沒有。簡單的講個思路:先通過PB5的狀態決定是否開啓ADC採集。在PB5引腳被觸發後先將峯值變量清零,然後開啓ADC和DMA。單片機在等到DMA送來的數據後,判斷是否大於現有的峯值變量並決定是否改變峯值變量。在PB5引腳恢復原先的狀態後通過UART+DMA將峯值數據發送出去。程序還是比較好寫的,關鍵是內存使用的把握。還有爲了省內存和程序運行時間,在尋找峯值時直接用ADC輸出的數據而不用轉換,在發送數據時決定是否轉換爲電壓值。

 

這個方案的侷限在於AD採集速率和處理速度上,結果肯定是有誤差的,被採集波形的頻率也要受到限制。但是對於硬件搭建的峯值保持電路,受限於開關管的泄漏電流,電容的損耗角、運放的建立時間等因素,輸出也不可能完全準確,而且隨時間推移輸出必然會下降。最重要溫飄會很麻煩。

 

峯峯值能達到多少?如果超過了怎麼分壓呢?這個取決於你的輸入範圍和要求的精度。比如用如下的分壓電路:


 

可以達到輸入-10~+10V,輸出爲0~3.3V(視選取的電阻比例決定)。


 

使用STM8L050J3的12bit的ADC,ADC參考電壓即電源電壓爲3.3V時,分辨率爲(V這一端)0.0049V。

 

如果V超過-10~+10V,則可以在u端加上下拉二極管限幅。之後加一個跟隨器和RC電路連接至單片機的AD即可。

 

爲什麼暫未考慮濾波?因爲單片機內存太小,做簡單的濾波算法很容易RAM不夠用。在這個方案上只能不濾波。後期加隔離看情況,如果直接接在同一個板子上的放大電路,加個跟隨器和RC電路就可以了。大信號的話分壓和保護是要做的。如果外接信號(不同地),隔離肯定是要加的。


 

17. 自行車(更準確是摩托車)胎壓報警模塊

 

作者:紀國聖@紀國聖

 

對於自行車胎壓報警,可以說有很多很成熟的方案。這裏在此使用STM8L001J3+MPL3115A2測量自行車胎壓與輪胎溫度,當測量的結果大於程序預設的報警值,則通過PD0的TIM3_CH2輸出的方波驅動蜂鳴器報警。方案圖如下:


 

18. 替代按鍵掃描芯片

作者:紀國聖@紀國聖

 

這個方案在STC的手冊上就有了。可以將這個方案借鑑到STM8上。在STC12C5A60S2的手冊P343上按鍵檢測圖如下:


 

將該電路連接至STM8L050的AD口上,就可以在固定時間內掃描電壓,從而得知按鍵情況。通過UART或I2C可以實時的發送按鍵值。

 

算法上事先計算好理論值,並規定一個誤差範圍,將其作爲一個表寫入單片機的flash中,程序運行時直接AD採集並查表就可以知道按鍵值了。

 

19. 在電源上的應用

 

作者:weijinke@weijinke

 

8-PIN能做什麼?在開關電源設計上,有時候就需要用兩個MCU分別做原邊和副邊的相關參數採樣,假如我的主控MCU放到副邊,肯定會用一個引腳比較多、性能強大的MCU,那麼和原邊由於有高壓隔離的要求,我沒法用副邊MCU去直接採集電壓、電流等相關參數,如果原邊再放一個同樣的MCU,那麼會造成成本增加,現在有8腳的MCU,就可以在原邊放一個8-PIN的MCU把採集參數通過通訊發送到副邊MCU,徹底解決這個難題,在成本和性能上都能做到平衡。

 

20. 室內環境監測儀

 

作者:sylar^z@sylar^z

 

用來做室內環境監測儀。通過IIC環境傳感器(溫度溼度等)採集環境數據,再通過IIC接口OLED顯示數據,同時還可以通過串口外掛一個GPRS/WIFI模塊,實現數據的遠程傳輸。剩下的一個引腳可以用來做運動檢測或則按鈕,用來控制點亮屏幕,平時關閉屏幕,可以有效的節能。

 

21. 無線門鈴

 

作者:小小電子愛好者@小小電子愛好者

 

之前,論壇有個活動ohy老師送了塊stm8小開發板,接觸了一下,然後最近很閒,臨時決定做個小東西,把之前想做那個無線門鈴做出來,順便學習一下STM8的使用,入門幾天出現很多問題,我是用寄存器編寫的,可能用庫的話就沒這麼曲折了,下面簡單寫一下遇到的問題,分享一下後來改做的小東西。

 

你問爲啥改做牀頭小萬年曆?

 

DIY過程中發現433 發碼 解碼 還挺不簡單 一頭麻,STM8s003最小系統也不小心搞壞了一個,索性就先做個小東西吧,目的只是瞭解stm8的基本操作。

 

後來發現論壇【公開課】有STM8 433M 開發無線檯燈  真的啥視頻都有啊!!很全面  待我學會433 再來裝逼。

 

硬件:(STM8S003F3P6最小系統 DHT11 LCD1602[IIC] 1838紅外 DS1302 )

基本功能:

日期 溫溼度 顯示。

紅外遙控設置修改日期。



 

1.    創建工程  基本操作:https://mp.weixin.qq.com/s/GgDlZ5faYCOXLhITJw89_Q

 

2.    寄存器編寫基礎代碼+網上找驅動修改使用(DS1302 紅外 DHT11 LCD1602[IIC])

 

自己做的內容就只有蜂鳴器 和 修改外來驅動。調試

 

3.    功能模塊化 然後編寫處理邏輯  完事!

 

第一次使用最頭疼的是io功能 ,剛開始不知道就找問題花了半天時間,後來頓悟。

比如 移植DHT11它的時序要求 先寫後讀,IO就要配置輸出的 按時序要求拉高拉低,然後再改輸入讀取,因爲這個驅動我在51上用過的,很完美的驅動。所有問題都排除了之後我就很頭疼,翻了手冊發現我只配置了輸出IO操作也只操作了輸出數據寄存器,這才明白沒有通用模式,只能輸入或者輸出。太傻了哈哈!低級錯誤。

 

然後還有中斷問題(用庫開發因爲中斷向量表都很完善,一般不會出現中斷卡死情況,寄存器寫的話就要多注意IO外部中斷)。

 

因爲每個IO都有中斷功能,寄存器操作配置IO容易寫錯就進入中斷,最後程序會卡死,我把定時器 串口通通關閉最後才查到IO外部中斷,因爲沒有使用,直接仿真也能看到卡死在什麼位置。


 

這種情況就是中斷問題,沒有找到中斷入口,可能就是開啓了中斷,沒有正確給出入口函數,系統找不到就卡死了。

 

還有個特奇怪的問題,我移植之前用得好好的DS1302 讀數據驅動 數據老是錯的 秒也跳了 就是數據相差太大,看了波形發現數據對的,單片機讀取出錯,查讀取驅動        我搞不懂這咋回事,咋還就慢一拍  。


 

22. 燈帶控制器、充電寶電量顯示

 

作者:偏偏一葉扁舟@偏偏一葉扁舟

 

1.生活中好多地方會用到燈帶,電腦機箱(好多人喜歡的光污染)、家庭裝飾、飯館理髮店等門臉裝飾,WS2812B燈帶用SPI控制,STM8支持SPI,價格便宜,開發方便。


 

2.STM8支持ADC、IIC、SPI,可通過OLED屏或單純的幾顆LED,顯示充電寶電量。


 

23. 溫度採集 OLED顯示

 

作者:做人要專業@做人要專業

 

STM8作爲一款8位的單片機,在之前沒有多少了解,總覺得現在的32位產品線如此豐富;STM32什麼芯片鬥有。但是接觸到整體方案設計後,就發現,電路空間、產品成本、性能過剩這些問題都要考慮。不是一顆144腳芯片打天下了,產品必須有差異化,對成本、功耗控制都必須要有規劃。

 

之前沒用過STM8,如果可以打算用來做一款溫度傳感器,在體積、功耗、成本上都進一步控制下,還能帶顯示,8個腳就夠了,將引腳幾戶都用掉,這很有一番不一樣的成就感,強迫症的滿足啊。通過利用DS18B20數字溫度傳感器、I2C接口的OLED屏做個家庭溫度計用。

 

工作上做過並正在銷售一款工業無線溫度傳感器產品,不過用的是STM32方案,就一個採集溫度、無線發送的小東西,用了64引腳的芯片,真是罪過。如果可行,打算用STM8試試。

 

總結:8條腿的MCU也可以很優秀,做東西一樣有戲。

 

24. 小型燈帶控制器

 

作者:weiwei4dk@weiwei4dk

 

8-PINSTM8能幹啥?        

 

有很多的小型控制器/功能模塊就不需要有很多引腳,有個5、6個引腳其實就已經足夠了,比如說什麼呢?簡單的燈條控制器,對燈條進行調色調亮度,還能進行遙控控制進行模塊切換,或者說使用按鍵或旋鈕電阻進行模式/亮度調節,這些都不需要很多引腳就能輕鬆完成。

 

來看下8-PIN引腳都有些什麼功能引腳,都能完成那些對應的功能:

 

1、Internal 16 MHz factory-trimmed RC & Internal 38 kHz lowconsumption RC

 

無需外部晶振直接玩起來

 

2、UART, SmartCard, IrDA, LIN master mode  

 

串口通信、紅外遙控接收解碼毫無壓力,輕鬆完成遙控接收功能

 

3、12-bit ADC/10-bit ADC

 

輕鬆完成按鍵或旋鈕電阻的檢測

 

4、16-bit timers 可用於PWM生成

 

完成亮度PWM控制也毫無壓力

 

5、SPI、I2C接口

 

輕鬆連接外部傳感器接口

 

8-PIN 小身材但功能多,其實不止是小型燈條控制器的應用,還有如指尖陀螺等,也有用8-PIN單片機做的。在很多模塊化的應用,如某一些只需要串口通信和完成簡單的引腳開關控制的部件/模塊中,已經完成足夠,PIN腳再多也是浪費。

 

25. SPI<===>UART互轉工具

 

作者:dirtwillfly@dirtwillfly

 

借網友的截圖,節省論壇資源


 

看到沒,這貨SPI和UART互不衝突,天生是SPI<===>UART互轉工具的料。

當然,也能用來驅動spi器件,全部變成uart接口的模塊。

然後,就是UART接口統一江湖的時候了

 

26. 多功能電池充電器

 

作者:fangsir1996@fangsir1996

 

8-PINSTM8具有ADC、PWM、定時器、內部EEPROM、GPIO和UART,用來做一個多功能電池充電器不錯。

 

首先,用ADC可以檢測電池電壓和充電電流,這時需要有兩路ADC輸入,同時把電池電壓、充電電流存儲於內部EEPROM。其次,STM8的PWM可以驅動一個PMOS,調整充電電壓。

 

UART可以和PC通訊,把存儲在內部EEPROM的電池電壓、充電電流送給PC,顯示充電曲線。GPIO可以接顯示狀態的LED,另外設置一個GPIO讀取電池種類設置(鋰電池或鎳氫電池),由此確定充電方式和充電電壓。

 

27. 物聯網設備輔助處理器&物聯網數據採集節點

 

作者:chen000000009、dql2015@chen000000009 @dql2015

 

看了一下三款STM8,感覺還是挺不錯的,拿來做物聯網設備的輔助處理器,因爲很多物聯網設備現在都有低功耗的要求,CPU耗電太嚴重,在低功耗狀態下最好就是關掉CPU,留着一顆MCU供電,當檢測到外部觸發信號,或者有定時喚醒的需求的時候,可以靠這顆MCU拉起CPU的電源。

 

這種情況下用這個STM8L050J3就挺不錯的,這款MCU明顯優勢在於

 

1、 集成了EEPROM,省了一塊24C02的空間和成本,用來保存設備唯一識別號什麼的,甚至還可以在單片機程序裏面加一段加密的算法,這樣人家很難破解的

 

2、 集成了RTC,ST的RTC精度還是可以接受了,這樣就省了一個DS1302的空間和成本,用來做定時喚醒

 

3、 帶了UART通信接口,可以跟CPU進行通信,滿足軟件關機的需求,CPU發一條指令就可以控制這個MCU拉掉CPU的電源

 

4、 便宜,才2.1 RMB,估計大批量會更低

 

現在的方案是用STM32F030F4P6這個片子,這個片子還是有點貴,而且不是所有GPIO都有用,像這種應用,除去串口,其實只需要一個GPIO去控制電源就行,這款STM8L050J3正好。

 

另外,物聯網現在是越來越火了,很多相關的產品也已經落地,許多場景下,都要用到數據採集功能,通常都是連接幾個傳感器,然後通過無線蜂窩網絡將數據發送出去,這個時候一顆引腳少的MCU是十分實用的,因爲它不需要高性能的運算,功耗也低,往往是電池供電,就是簡單的傳感器數據採集和傳輸。

 

這個8-PIN的mcu開發板做一個物聯網邊緣數據採集終端的應用,使用太陽能電池供電,通過連接溫溼度、CO2、環境光等傳感器和GPRS,將環境數據無線傳輸到物聯網雲服務平臺,實現遠程監控功能。需要用到幾個IO和串口,8-PIN的MCU恰到好處。

 

28. 可編程數字控制或智能IO(AI/AO/DI/DO)

 

作者:zhoupxa@zhoupxa

 

8-PINSTM8的特點是pin數很少而片內存儲、外設資源豐富,可軟件編程、數據存儲,因此最適合的應用場景是使用IO較少(1路或2路)、功能單一的數字控制或模擬/數字IO應用。可使用多。

 

片小尺寸的8-PINSTM8與主處理器構成大規模採集控制系統,所有STM8與主處理器之間通過串行通信進行信息交互,實現功能分散的數字控制或IO應用。

 

數字控制譬如簡單的開關控制,使用片內定時器的時序控制、PWM控制等;智能IO包括使用片內ADC的模擬量輸入(AI)、使用片內定時器的PWM輸出(經外電路濾波可實現模擬量輸出AO)以及數字量輸入DI、數字量輸出DO等。

 

使用STM8做智能IO的優勢顯而易見:由於可軟件編程,因此可以實現普通IO電路難以實現的自檢、自診斷功能,提高了系統可靠性。可以實現很多高級功能,爲主處理器減輕任務開銷,這在大規模系統中尤爲有用。比如藉助STM8片內ADC功能做智能AI不僅可以實現模擬量採集,還可通過軟件編程實現普通ADC電路難以實現的靈活多樣的數字濾波等數據預處理功能;使用STM8做智能DI時可以利用片內定時器實現消抖抗干擾並捕獲外部事件發生的時間信息,做智能DO時可以通過軟件編程實現複雜的時序邏輯控制等,這些都是普通功能電路不可比擬的。當然,使用STM8取代普通功能電路增大了系統複雜度,提高了開發難度和成本,設計時是否採用需要統籌考慮。

 

29. 驅動繼電器

 

作者:full_stack@full_stack

 

簡單的應用就是串口與上位機通信控制軌道交通中DCJ, FCJ, SJ繼電器,採集DBJ, FBJ繼電器,8腳夠用了,多了也用不到,放着多餘。在軌道交通行業會經常用到這樣的,之前都是用的PLC或者40腳的單片機,費力不討好。

 

30.讀卡器

 

射頻讀卡器

 

作者:yangjiaxu@yangjiaxu

 

最近在公司熟悉STM8的產品,很有意思,其開發方式與STM32有這出奇的相似,所以開發起來也很方便。之前使用STM8S105做了一個髮卡器(讀寫IC/ID卡)模式比較多,這次覺得8個管腳的STM8。

 

也可以做個髮卡器。雖然不能通過撥碼開關設置讀什麼卡,讀卡的模式,但是可以做成一個簡單的讀卡器的功能。用起來也十分的小巧,而且成本也降低了很多。

 

ID卡的讀寫卡器

 

作者:@yang_alex

 

小區的門禁是ID卡,之前看到有網友用AVR和LGT單片機做ID卡讀卡器和模擬器,正好這次ST的stm8活動,看看能不能用STM8也做一個。

 

從STM8的資源上看,可以有一個UART和PC通訊,一個IIC接外部OLED屏,傳輸或顯示ID卡號;定時器加中斷輸出125kHz的載波,解碼使用外部中斷加定時器加LM358、二極管、阻容解決。

 

卡模擬器採用類似方案,可以把外部OLED屏和解碼部分去掉,通過PC寫入ID卡號(存儲在STM8內部的EEPROM裏),在加定時器加中斷輸出125kHz的載波調製輸出。

 

外部IO需求不多,用8-PIN的STM8足夠了。

 

31. 開發Micro:bit擴展板

 

作者:xscc@xscc

 

Micro:bit是專門面對少年兒童學習的開發板,開發板本身搭載的傳感器不多,可以使用STM8開發各種擴展板,擴展Micro:bit的功能完成不同應用,如光照、溫度、土壤水分、破碎、溼度等傳感器,擴展舵機、直流電機、LED點陣顯示等驅動板。8腳的STM8MCU很適合做此類簡單應用,能有效降低成本,加快開發進度。

 

32. 音樂燈光

 

作者:WoodData@WoodData

 

8-PIN的STM8很適合做單一功能的小物件。各種常用接口功能都有。我想到的就是用2個ADC採集音樂左右聲道的聲音,然後加上RGB燈驅動做個隨音樂變化的燈光顯示。RGB燈可以用WS2811驅動的數字燈,也可以用74HC595、DM134或者TLC5940串行4線驅動的,6個IO端口足夠了。也可以玩很多花樣了。

 

類似這個很早以前做過,以前單片機選型到是沒考慮那麼多,現在感覺以前做的選型單片機資源太浪費了。現在如果重新做,可以做的更小巧,成本更低。

 

33. 電子積木終端控制

 

作者:jinyi7016@jinyi7016

 

電子積木就是將導線、燈泡 、二極管、三極管、電阻、電容、各種開關、電錶、電機、喇叭、集成塊等電子元器件固定在塑料片(塊)上,用獨特的子母扣做成獨立可拼裝的配件,在產品配置的安裝底板上像拼積木一樣拼裝電路組合。先看看都有什麼外設:


 

有串口,有IIC,還有SPI,這樣豐富的接口,其實做什麼功能都是可以的,由於封裝很小 ,功能強大,所以,在電子積木中,可以做爲從機的控制,通過串口通訊與其他的模塊進行數據交換來形成不同的功能。

 

每一塊積木中有一片STM8的芯片,並設置成一種特定的功能,當與其他的積木插在一起時,會形成新的功能,就像是裝備的合成一樣。

 

34. 多彩智能家居採集點

 

作者:qiangtech、yinwuqing110@qiangtech @yinwuqing110

 

8-PIN的STM8能幹啥,使用在功能簡單單一的場合還是不錯的。兩三個IO配合上一個I2C或者TIMER,也能完成不少功能了,至少做一個警號,一個閃燈玩具之類的,一點問題沒有。如果使用低功耗的STM8,用於智能家居里做爲單個的信號採集點,那也是相當不錯的。

 

比如STM8L050,用電池供電,再配上個無線模塊,可以做成各種信號採集點,水浸,門窗感應,各類氣感,火警,抽屜移動感應等等。再配箇中控類的網關,內置上個WIFI模塊,一個簡易版的智能家居就出來了。

 

STM8雖然只有8-PIN封裝,但從另一個角度說明它的集成度高,開發出來的產品IC佔用的空間也比較少,在智能家居領域有許多小產品都要求穩定,功耗低,易散熱。

 

1、我們可以用STM8做室內溫溼度監控數字表,採用OLED的小屏顯示,溫溼度傳感器通過GPIO接口將採集的模擬量給到我們的STM8主控,再由它的AD轉換,將數據通過I2C接口輸出給OLED顯示屏。

 

2、我們也可以做一個數字時鐘機,採用外部32.768KHz的晶振電路,搭建成一個精準穩定工作的數字時鐘機。

 

3、可以用STM8做一款紅外遠程遙控器,既能調節控制家裏面的熱水器設定的溫度值,又能控制開關電源的開啓與斷開。

 

4、可以用STM8做一個智能光感控制家用檯燈,將光敏傳感器採集的數據經過STM8處理,而後PWM輸出控制檯燈光照強度等

 

綜上所述,STM8是有很大的使用價值的,IC封裝小,開發起來簡潔明瞭,完全符合功能產品的設計要求,成本較STM32或其它型號的IC有明顯的優勢,採用STM8開發上述例舉的智能家居產品恰到好處。小IC有小IC的用法,使用得當,那也是多姿多彩的。

 

35. 簡易溫控器

 

作者:wudianjun@wudianjun

 

1、你選擇STM8的理由(吸引你的地方)這幾年用STM8做了好多個項目了,主要用了STM8L052,STM8S003。用STM8L052做了好幾款溫控器,這個MCU主要用它的段碼LCD驅動宮功能,不用另外加驅動芯片,用起來比較方便。用STM8S003做過數碼顯示溫控器,管道溫控器,各種閥門控制。總之做了有10多個小東西了,感覺芯片還是很不錯的,用起來也比較方便,也有現成的庫。

 

全新的STM8S001,STM8L001,STM8L050 採用小型工業標準的 SO8 封裝,這幾款的封裝比較小,8個管腳的MCU還是比較少的,有一定的市場。做些小東西比較方便。

 

2、STM8L001 / STM8S001 / STM8L050 這三款芯片各自的特性、優勢以及適用場景

這三款最吸引人的還是封裝管教比較少。L系列對應低功耗,可以做電池供電的場合,基本的複合功能都有,可以實現很多小項目。

 

3、STM8創意測試(方向不限)

 

可以用來做些傳感器的檢測顯示,8個管教足夠了。也可以做簡單的溫控器,一路溫度採集,一個按鍵,一個輸出,再可以加點顯示。

 

a.傳感器檢測,手上有各種傳感器有模擬量輸入的,有IIC總線的,有SPI總線的,可以用STM8來檢測處理各種傳感器,然後通過串口發送到PC機處理,或者UART轉無線發送到控制板處理等,也可以直接顯示處理。我手上各種外設都比較齊全,玩起來比較方便。

 

b.做個溫控器,一路溫度採集,一個按鍵,一個輸出,再可以加點顯示。這樣就搞成一個溫控器了,雖然簡單,但可以實際使用,放在家裏控制個加熱器什麼的妥妥的。

 

36. 溫度、溼度計

 

作者:關小西、zhangbtj@關小西 @zhangbtj

 

8腳的STM8單片機體積小,功能全,價格便宜,可以做成溫度計主控,既能測量溫度,又能驅動oled或者斷碼屏顯示溫度。

 

讀取傳感器數據並通過LCD顯示;可以實時顯示外界溫溼度值。

 

(1)STM8L001配備多達6個用戶I/O引腳,內置ADC;可外接數字或者模擬溫溼度傳感器,可採用IIC接口LCD屏;

 

(2)STM8工作電壓1.8V至3.6V,可採用電池供電;

 

(3)單片機停止模式工作電流可降至300nA,最大限度地延長電池供電設備的使用壽命。

 

37.電池供電的無線設備

 

作者:dami@dami

 

STM8L001這芯片好,低功耗+低引腳+FLASH+RAM+EEPROM,當然適合電池供電的場合的設備。

 

1, 設計成無線門鈴也是不錯的。

 

STM8L001+433模塊+喇叭驅動+喇叭之類的。就構成了無線門鈴。

 

2, 家用無線報警設備(智能家居網絡裏)

 

無線報警設備包括窗門報警(這個可以電池供電也可以不是電池供電)。

無線通訊,電池供典型的煤氣泄漏報警。(電池供電)。

無線通訊的環境空氣質量檢測設備。

無線通訊的輸入檢測設備,可以用STM8L050(帶ADC 可檢測模擬電平高低)。

無線通訊的輸出設備(繼電器輸出驅動外部設備)

 

3, 燈光控制

 

可調LED檯燈,無線可調LED壁燈,吊頂等等。


看完上面大佬們的創意後又有了什麼新的感悟嗎?

yuan

迎網友踊躍留言,我們將會從回帖的人中,抽選兩位送出STM8開發板一塊

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章