用機智雲做PWM占空比控制電機,物聯網智慧型家居應用

2021-09-25 17:36:30 字數 2874 閱讀 4313

因為是新申請的部落格,所以申請了總想往裡面加點東西,所以把我之前在機智雲寫的帖子複製了過來

(各位抱歉,由於之前上傳的檔案可能有錯誤,之前上傳的檔案pwm不能用,那麼我又重新上傳了乙個檔案,這個檔案的pwm載入到電機上了,之前的電機正反轉功能沒有了,有錯誤的檔案我也沒刪除大家對照著看下吧!)

本人qq 522414928  (void loop)

phone 13473465975   (

打廣告了哈,其實我也不是啥名人,就是分享一下我的開發過程,希望對看過我的帖子的人有幫助

)廢話不多說,下面開始 我的分享

需要的東西  gokit 2.0  stm32底板 (

其他的開發板使用者也可以看看我的程式及過程,然後看看能不能移植,c語言好的話沒問題的

)1 首先第一步  建立新產品  (我的是建好的哈,大家應該都明白,方案選的是wifi,產品分類產品名稱都自己看著弄就行)

這是我建好的那個   看下圖

2 第二部  就比較關鍵了建立資料點,我建了很多哈,因為我把 12個外部引用的引腳都開發了,雖然不知道接什麼裝置  好了,看下圖就明白了

這個也是我之前建好的,大家看明白

3 第三部 本來應該是手機端軟體「機智雲」掃碼檢視虛擬裝置有沒有錯誤,(其實這是不必要的,因為我認為是不會出錯的,***雲端一定是對應的)

具體如下:

4 第四部  用keil 5軟體 開啟project 資料夾下的

這個是project 資料夾

開啟之後,是這樣的,看圖   ok,就是這樣

首先,我們新建兩個檔案,pwm1.c 和pwm2.h (叫什麼你隨意,學過stm32的都懂)儲存在hal資料夾下的hal_pwm1資料夾下,下面這樣

然後往裡面新增程式,看圖吧(裡程式不全,具體程式我就複製在這兩個程式下邊)

pwm1.c裡的

#include

#include "hal_pwm1/pwm1.h"

void 

tim3gpioconfig(void) 

void tim3modeconfig(void)

void pwm1init(void)

void pwm1control(uint8_t m1,uint8_t m2)

void pwm1status(motor_t status)

else

else

}  }

pwm1.h裡的

7這一步就是新增程式初始化到  main.c 看圖更詳細  在main.c裡面  包含檔案

#include "hal_pwm1/pwm1.h" 

然後在void userinit(void) 

這個函式裡面新增

pwm1init()

(按照我的來就可以了,不懂得再問我)

8 這一步可以算改程式的最後一步了,在gizwits_product.c  這個程式裡面找到case event_pwm1:      然後在//user handle  前面加上一句程式  pwm1status(pwm1value); (警告,你的程式可能沒有

event_pwm1,這是根據你之前在資料點那起的名字所決定的

這是帖子原位址

二次開發點亮乙個led詳細過程:

STM32 PWM占空比和訊號週期的控制因素分析

博文基於stm32f103zet6晶元,標準韌體庫3.5.0和mdk5編寫 博文並不討論pwm的基礎知識,而是直接去談對pwm靈活的控制問題 想全面了解的可以看看我寫的專門針對pwm的部落格 如有不足之處還行多多指教 占空比 0 100 訊號週期 pwm訊號裡乙個高電平和乙個低電平的時間和 對這兩個...

控制led 用pwm的方法控制LED亮度

在本課程中,您將學習如何通過電位計來更改led的亮度。電位器實際上是乙個可調的電阻,阻值隨意手柄的轉動而變化,模擬電路中,我們可以將電位器串聯在電路中,改變led亮度。本次實驗,電位器只提供乙個訊號,實際燈的亮度由arduino控制。二 材料準備 1 arduino uno開發板 1 麵包板 若干杜...

PWM 用按鍵控制 LED 的亮度

以前寫過一篇關於 pwm 的博文,已經有一年了,鏈結如下 文中使用了示波器來顯示不同占空比的波形。其實,利用 led 也能通過亮度來表現出 pwm 引數的變化,用實物進行測試,效果很好,但是用 proteus 進行 試驗,卻只是看到閃爍的厲害,基本上看不出亮度的變化。近來發現,加上乙個大電容,就可以...