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

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

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

基于PWM的樹莓派控制電機(jī)調(diào)速

要長高 ? 來源:SegmentFault思否社區(qū) ? 作者:kumfo ? 2022-06-24 12:23 ? 次閱讀

最近在尋思用樹莓派控制電機(jī)速度,電機(jī)預(yù)估電壓是24V,電流是10A,以這樣的配置需要個無極調(diào)速控制器控制電機(jī)轉(zhuǎn)速,看了下相關(guān)的控制器價格也不貴,十多塊錢就能整一塊。然后,相關(guān)的無極調(diào)速有提供PWM控制的。

然后說到調(diào)速控制這一塊,一般來說,低功率電路,比如5V/1A,3V/1A這樣的電路,通常直接接個電位器進(jìn)行控制就行了,而對于大功率電路,比如100W,200W這樣的,通常來說就需要個通過低電壓控制高電壓電路了。一般來說,直接通過一個大功率三極管就能通過低電壓的無極電壓電流調(diào)節(jié)從而控制高電壓電流的電路。但是實際上的放大電路還是比較復(fù)雜的,我非科班出身,關(guān)于這塊目前也沒有做過深入研究其根本原因和原理,暫且不談。另外就是數(shù)字電路來控制大功率電器,那么也需要低電壓通過放大電路來進(jìn)行控制。

以此為前提,那么就問題來了,數(shù)字電路怎么能做到控制電壓電流大小。首先看物理電位器的調(diào)節(jié)原理就是控制電路中的電阻來控制整個電路中的電流和電壓大小,這個好理解。而在數(shù)字電路中,則是通過PWM(Pulse width modulation),中文意思是脈沖寬度調(diào)制。

PWM

從字面理解PWM,一開始看到其實是不太好理解的,我一開始也是弄得云里霧里的,這里用我自己所理解的方式進(jìn)行梳理一下。

首先:

數(shù)字電路輸出都是高/低電平,高電平可以假定為1,低電平假定為0,也就是低電平情況電路中沒有電流電壓流動。至于具體的這個高電平,對應(yīng)的是多少電壓,那么我這以樹莓派為例,樹莓派有好幾個引腳,有的引腳輸出的是3.3V電壓,有的引腳輸出的是5V,那么對應(yīng)的相關(guān)高低電平就是:3.3:0,5:0。

數(shù)字電路是有頻率的,這個以我的理解,就是一個時鐘周期(1秒)內(nèi)電流分成多少次流動,也就是一個時鐘周期內(nèi)電流分成多少次傳遞,如10MHZ,那么就是一個時鐘周期內(nèi)把電流分成10M次進(jìn)行傳遞。

然亦有以上兩點(diǎn)基礎(chǔ)知識之后,那么就很容易理解PWM了。理解PWM之前,還需要理解個叫做空占比的概念??照急鹊囊馑际窃趩挝粫r間內(nèi)輸出的低電平次數(shù)占所有電平次數(shù)(高電平輸出次數(shù)+低電平輸出次數(shù))的比率,如10MHZ的電路,如果空占比為0.1,那么就有1M次是輸出低電平的,9M次是輸出高電平的。

PWM的理念就是,本來是5V/16MA的電路,那么,我在單位時間內(nèi),本來10M次都是輸出高電平,但是假設(shè)空占比為0.8,也就是說,相當(dāng)于這10M次其中有8M=10M*0.8次是輸出低電平。然后就顯而易見的可知,單位時間內(nèi)流過的電流為2M=10M-8M次,也就是實際在單位時間內(nèi)傳送電流的時間只占了0.2。也就是說,原本的5V/16MA的電路如今在單位時間內(nèi)就傳送了5V/16MA*0.2=1V/3.2MA,從而達(dá)到了降壓限流的目的了。

程序控制空占比

如果說樹莓派的話,本身是有幾個接口可以調(diào)用系統(tǒng)提供的庫來直接輸出PWM的,拋開這點(diǎn)不談,如果說自己來處理的話,用程序來控制,類似于如下偽代碼:

頻率 = 10MHZ

一個電平在單位時間內(nèi)的傳送時間 = 1 / 頻率

空占比 = 0.8

while True:

輸出高電平()

持續(xù)等到高電平輸出時間 = 一個電平在單位時間內(nèi)的傳送時間 * (1-空占比)

輸出低電平()

持續(xù)等到低電平輸出時間 = 一個電平在單位時間內(nèi)的傳送時間 * 空占比

實際上PWM的算法有很多,而在不同的電路控制中可能會有不同的限制,如最簡單的例子,如LED燈控制,如果空占比為0.5,那么1秒內(nèi),如果前面0.5秒輸出高電平,后面0.5秒輸出低電平。雖然來說,單位時間內(nèi)平均電壓和電流為實際電壓電流的一半,但是,人眼就非常明顯的能感受到LED在閃爍,因為人眼要能感受到畫面不閃爍,畫面刷新率最起碼要達(dá)到24HZ。所以,需要把高低電平在單位時間內(nèi)最起碼還要拆分成24份,然后每一份時間內(nèi),再按照空占比進(jìn)行時間拆分,再在自己的時間內(nèi)輸出高電平和低電平。也就是說,把按照空占比輸出的高/低電平作為一個基礎(chǔ)操作的話,單位時間內(nèi)能做越多操作,電壓和電流也就越穩(wěn)定,當(dāng)然,這里我也只是在樹莓派上做了實際驗證,對于實際的相關(guān)數(shù)學(xué)驗證沒有做過。

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

    關(guān)注

    114

    文章

    5195

    瀏覽量

    214358
  • 樹莓派
    +關(guān)注

    關(guān)注

    117

    文章

    1710

    瀏覽量

    105755
收藏 人收藏

    評論

    相關(guān)推薦

    玩轉(zhuǎn)樹莓樹莓 3 + L298N模塊控制直流電機(jī)

    腳低電平,電機(jī)就會正轉(zhuǎn)。1、接線原理圖:將L298的ENA與ENB分別接到樹莓的Pin16,Pin18接口。ENA與ENB分別為左右電機(jī)的使能接口,通過
    發(fā)表于 10-21 13:51

    樹莓學(xué)習(xí)筆記之PWM控制直流電機(jī)轉(zhuǎn)速介紹 相關(guān)資料分享

    樹莓控制PWM控制電機(jī)轉(zhuǎn)速一、硬件二、連線三、樹莓
    發(fā)表于 06-29 08:47

    樹莓pwm是如何去控制無刷電機(jī)的?

    樹莓pwm是如何去控制無刷電機(jī)的?其實現(xiàn)代碼是怎樣去編寫的?
    發(fā)表于 07-21 06:46

    樹莓電機(jī)

    樹莓電機(jī) 到了 L298N搜索 樹莓 L298N,得到 似乎L298N是控制直流
    發(fā)表于 09-13 06:12

    如何利用樹莓控制步進(jìn)電機(jī)?

    如何利用樹莓控制步進(jìn)電機(jī)?
    發(fā)表于 10-27 07:13

    基于Labview的PWM電機(jī)調(diào)速

    基于Labview的PWM電機(jī)調(diào)速,選用VISA串口,實現(xiàn)直流電機(jī)PWM調(diào)速
    發(fā)表于 06-24 14:35 ?30次下載

    樹莓驅(qū)動電機(jī)

    樹莓驅(qū)動電機(jī) 設(shè)備: 1.樹莓3b+2.若干杜邦線3.電機(jī)驅(qū)動模塊tb6612fng4.
    發(fā)表于 03-17 14:39 ?2次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動<b class='flag-5'>電機(jī)</b>

    樹莓驅(qū)動步進(jìn)電機(jī)

    步進(jìn)電機(jī)一般由電機(jī)、驅(qū)動器構(gòu)成,樹莓連接驅(qū)動器控制電機(jī)。 一、接線 DIR+/- 用于
    發(fā)表于 03-20 14:40 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動步進(jìn)<b class='flag-5'>電機(jī)</b>

    樹莓驅(qū)動無刷電機(jī)全攻略(三)無刷電機(jī)控制

    由于本人只有3天時間來完成這個項目,所以很多知識都不是特別了解,只能用自己的理解表述了。利用樹莓輸出的PWM波可以實現(xiàn)對無刷電機(jī)轉(zhuǎn)速的控制
    發(fā)表于 03-21 14:40 ?3次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動無刷<b class='flag-5'>電機(jī)</b>全攻略(三)無刷<b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>

    樹莓驅(qū)動步進(jìn)電機(jī)

    ?閑了無聊,想用樹莓驅(qū)動步進(jìn)電機(jī)。 測試了兩天終于OK了 下圖是DM422C接步進(jìn)電機(jī)樹莓
    發(fā)表于 03-21 14:26 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動步進(jìn)<b class='flag-5'>電機(jī)</b>

    樹莓控制步進(jìn)電機(jī)

    樹莓控制步進(jìn)電機(jī) 前言 設(shè)備 連接 源碼 前言 測試步進(jìn)電機(jī) 設(shè)備 名稱 型號 樹莓
    發(fā)表于 03-21 11:39 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b>步進(jìn)<b class='flag-5'>電機(jī)</b>

    樹莓通過pwm控制電機(jī)速度

    樹莓通過脈沖寬度調(diào)制可以控制電機(jī)的速度。實際上在精度要求不是非常高的情況下,普通引腳也可以通過軟件模擬來控制
    發(fā)表于 03-21 10:19 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>通過<b class='flag-5'>pwm</b><b class='flag-5'>控制</b><b class='flag-5'>電機(jī)</b>速度

    樹莓使用Python控制步進(jìn)電機(jī)

    步進(jìn)電機(jī)和普通電機(jī)最大的不同是步進(jìn)電機(jī)可以更加精確地旋轉(zhuǎn),這個特性使得它們在各種樹莓項目中得到廣泛運(yùn)用。 步進(jìn)
    發(fā)表于 03-22 11:36 ?3次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>使用Python<b class='flag-5'>控制</b>步進(jìn)<b class='flag-5'>電機(jī)</b>

    樹莓PWM模式介紹

    樹莓可以同時產(chǎn)生兩路獨(dú)立的pwm。
    的頭像 發(fā)表于 03-24 11:30 ?5719次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的<b class='flag-5'>PWM</b>模式介紹

    樹莓控制PWM控制電機(jī)轉(zhuǎn)速

    樹莓控制PWM控制電機(jī)轉(zhuǎn)速 一、硬件 樹莓
    發(fā)表于 03-31 10:59 ?3次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b><b class='flag-5'>PWM</b><b class='flag-5'>控制</b><b class='flag-5'>電機(jī)</b>轉(zhuǎn)速