91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何使用Arduino微控制器和Hall-Effect位置傳感器實現(xiàn)BLDC的控制

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-18 10:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:準備

步驟2:工具和材料

工具

數(shù)字萬用表(DMM)-如果您的DMM具有頻率計示波器(最好具有至少2個通道)《

T8 Torx驅(qū)動程序(您需要其中之一來打開任何硬盤驅(qū)動器)。一個好的硬件商店就會有它們。

機器商店和Rapid Prototype Machine(這些工具非常有用,但是我有點機靈,我認為沒有它們就可以完成該項目)。

材料

計算機硬盤驅(qū)動器上的BLDC電機

另一個硬盤驅(qū)動器上的磁環(huán)(電機的一半)。

硬盤驅(qū)動器上的幾(3-6)個銀盤

一秒鐘小型電機(直流刷過OK)

橡皮筋或(最好是)皮帶,用另一臺電機轉(zhuǎn)動BLDC

電子面包板

實心線22 AWG用于面包板連接

一個Arduino Duemilanove微控制器

三個120 k歐姆電阻

六個?400歐姆電阻

線性或旋轉(zhuǎn)電位計100 k歐姆

ST Microelectronics L6234三相電動機驅(qū)動器IC

兩個100 uF電容器

一個10 nF電容

一個220 nF電容器

一個1 uF電容器

一個100 uF電容器

三個整流二極管

一個2.5安培保險絲

一個保險絲座

3 Honeywell SS411A雙極霍爾效應(yīng)數(shù)字正弦波在傳感器

三個1 K電阻器

注意:Mike Anton已設(shè)計并正在銷售一種產(chǎn)品,該產(chǎn)品將代替本使用說明中顯示的電力電子和霍爾傳感器電路(它使用反電動勢感應(yīng)控制)。規(guī)格和購買信息可在以下兩個鏈接中找到:https://www.tindie.com/stores/manton/http://manton.wikidot.com/open:bldc-motor-driver

12 V愛好型鉛酸電池

步驟3:了解BLDC控制

如果您要執(zhí)行此項目,我建議您花一些時間徹底了解BLDC的工作原理和控制方法。在線有大量參考資料可供參考(有關(guān)一些建議,請參見下文)。但是,我確實提供了一些來自我的項目的圖表和表格,這些圖表和表格可以幫助您理解。

這里列出了我認為對理解該項目最重要的概念:

MOSFET晶體管

三相半橋

三相電動機的六步換向《脈沖寬度調(diào)制(PWM)

霍爾效應(yīng)數(shù)字位置傳感器

Microchip無刷直流電動機基本原理AVR443:ATMEL的基于傳感器的三相無刷直流電動機控制

》 Microchip的無刷直流電動機控制輕松實現(xiàn),帶飛思卡爾霍爾傳感器的三相BLDC電動機控制

一個很好的視頻,展示了一個掃氣式硬盤電動機,但作者似乎將電動機作為步進電動機運行,不作為BLDC4上L6234電動機驅(qū)動器IC上的更詳細的參考資料

網(wǎng)頁,包括數(shù)據(jù)表,應(yīng)用筆記和購買信息。免費樣品http://www.st.com/stonline/domains/buy/samples/index.htm

用于混合動力電動汽車應(yīng)用的PM無刷電機驅(qū)動器的設(shè)計。這是我發(fā)現(xiàn)的唯一描述再生制動換向順序的論文。

這篇論文《電動汽車的再生制動》很有用,我從中借鑒了一些數(shù)據(jù),但我認為它錯誤地描述了再生的工作原理。

步驟4:電機

我使用打撈的磁盤驅(qū)動器電機完成了這個項目,因為它很容易實現(xiàn),而且我喜歡學習BLDC的繩索的想法使用小型低壓電動機進行控制,不會造成任何安全問題。另外,霍爾傳感器的磁體的配置也非常簡單,它使用了第二個電動機的磁環(huán)(轉(zhuǎn)子)(請參見步驟4)。

如果您不想全部在安裝和校準霍爾傳感器時遇到麻煩(步驟5-7),我知道至少有一些CD/DVD驅(qū)動器電機內(nèi)置了霍爾傳感器。

要在電動機上提供一些旋轉(zhuǎn)慣量并給它們一點點要承受的負載,我在電機上放了5個硬盤驅(qū)動器磁盤,輕輕地粘在一起,并用少許強力膠粘到了電機上(這使飛輪進入了我的原始項目)。

如果要卸下電機從硬盤驅(qū)動器上,您將需要一個T8梅花形螺絲刀來擰開外殼(通常在中心有一兩個螺釘,這些螺釘隱藏在粘貼式標簽的后面),以及用于將電動機固定到位的內(nèi)部螺釘。您還需要卸下磁頭讀取器(音圈致動器),以便卸下存儲磁盤才能到達電機。

此外,您還需要另一臺相同的硬盤驅(qū)動器電動機,從中卸下轉(zhuǎn)子(內(nèi)部有一個磁鐵環(huán))。為了將電動機拉開,我用虎鉗夾住電動機的轉(zhuǎn)子(頂部),然后用兩把螺絲起子分開180度,在定子(底部)上撬動。將虎鉗固定在虎鉗中而不變形不會那么容易。為此,您可能需要構(gòu)建一組木制的V型塊。

我在車床上的磁環(huán)上鉆了一個孔,以便將其緊密地安裝在電動機的頂部。如果您無法使用車床,則可以使用強力膠將倒轉(zhuǎn)的轉(zhuǎn)子固定到電動機上。

下面的照片2和3顯示了我拉開的其中一個電動機的內(nèi)部。在上半部分(轉(zhuǎn)子)的內(nèi)部有8極(用塑料包裹的磁鐵)。在下半部分(定子)上有12個槽(繞組)。三相電動機的每一相都有4個串聯(lián)的插槽。

某些HD電動機的底部有三個觸點,每一相一個,還有一個是電動機的中心抽頭(其中三個相遇)。在此項目中,不需要中央分接頭,但在無傳感器控制中,它可以派上用場(我希望這些天之一可以發(fā)布有關(guān)無傳感器控制的說明)。如果您的電動機有四個觸點,則可以用歐姆表識別相。電阻位于中心抽頭和相位之間,是兩相電阻的一半。

關(guān)于BLDC電動機的大多數(shù)文獻都涉及梯形反電動勢波形,但硬盤驅(qū)動器似乎具有看起來為正弦的反電動勢(請參閱參考資料)。下圖)。據(jù)我所知,雖然效率可能會有所降低,但使用方波PWM驅(qū)動正弦電動機效果很好。

與所有BLDC電動機一樣,該電動機由三相半電動機驅(qū)動-晶體管橋(請參見下面的第二張照片)。我將ST Microelectronics(L6234)制造的IC用于電橋,也稱為電機驅(qū)動器。 L6234的電氣連接在步驟8中顯示。下面的第三張照片顯示了電動機驅(qū)動器和三個電動機相位的示意圖。

為了使電動機順時針運行,將按照以下順序進行切換(第一個字母為上方的晶體管,第二個字母為下方的晶體管):

第1步3 2 5 6 6順時針:CB ,AB,AC,BC,BA,CA

逆時針方向:BC,BA,CA,CB,AB,AC

此6步序列需要360度“電度”,但對于這些電機,僅90物理度。因此,該序列每電動機旋轉(zhuǎn)發(fā)生四次??磥磉@兩個序列是相同的,但它們卻不相同,因為對于6步序列中的每一步,通過相的電流對于CW而言是一個方向,而對于CCW而言是相反的方向。

您可以通過從電池或電源向任意兩個電機相施加電壓來親自查看。如果施加電壓,電機將向一個方向轉(zhuǎn)動一點,然后停止。如果您可以按照上述順序之一快速更改相電壓,則可以手動旋轉(zhuǎn)電動機。當電動機高速運行時,晶體管和微控制器非常迅速地完成所有這些切換,每秒每秒數(shù)百次。

另外,請注意,如果將電壓施加到兩相中,則電動機稍微移動然后停止。這是因為扭矩變?yōu)榱恪D梢栽谙旅娴牡谒膹堈掌锌吹竭@一點,該照片顯示了一對電機相位的反電動勢。這是一個正弦波。當波穿過x軸時,該相位提供的扭矩為零。在六步BLDC換向序列中,這永遠不會發(fā)生。在特定相位上的扭矩變低之前,將電源切換到另一相組合。

步驟5:霍爾傳感器機械設(shè)置

大型BLDC電機通常在電機內(nèi)部裝有霍爾傳感器。如果您有這樣的電動機,則可以跳過此步驟。另外,我了解到至少有一些CD/DVD驅(qū)動器電動機具有內(nèi)置霍爾傳感器。

三個霍爾傳感器用于在電動機旋轉(zhuǎn)時進行位置檢測,因此換向發(fā)生在正確的瞬間。我的高清電機的運行速度高達9000 RPM(150 Hz)。由于每轉(zhuǎn)有24個換向,因此以9000 RPM的換向每280微秒發(fā)生一次。 Arduino微控制器以16 MHz運行,因此每個時鐘周期為0.06微秒。我不知道執(zhí)行換向需要多少個時鐘周期,但是即使花費100個時鐘,每個換向也需要5微秒。

HD電機沒有霍爾傳感器,因此有必要將其安裝到電機的外部。傳感器需要相對于電動機旋轉(zhuǎn)進行固定,并暴露于一系列隨電動機旋轉(zhuǎn)而變化的磁極。我的解決方案是從同一臺電動機上取下磁環(huán),然后將其倒置安裝在要控制的電動機上。將三個霍爾傳感器安裝在此磁環(huán)的正上方,彼此在電機軸上相距30度(電動機旋轉(zhuǎn)120度)。

我的霍爾傳感器安裝架由一個簡單的支架組成,該支架由三個鋁制部件組成我用快速原型機加工了三個塑料零件。如果您無權(quán)使用這些工具,那么尋找另一種制作支架的方法應(yīng)該不會太困難。為霍爾傳感器創(chuàng)建支架將更具挑戰(zhàn)性。這可能是一種方法:

1。找到一個適當大小的塑料盤,您可以在其上小心地為霍爾傳感器加環(huán)氧樹脂。

2。在紙張上打印出一個模板,該模板的圓與磁環(huán)的半徑相同,并且三個標記之間的距離為15度《3》。將模板粘到磁盤上,然后以模板為指導小心地將霍爾傳感器涂在適當?shù)奈恢谩?/p>

步驟6:霍爾傳感器電路

現(xiàn)在,您已將霍爾傳感器正確安裝在電動機上,將它們分別與下面所示的電路連接,并使用DMM或示波器對其進行測試,以確保輸出與輸出信號一樣高和低。電機旋轉(zhuǎn)。我使用Arduino的5V輸出以5V運行這些傳感器。

步驟7:校準霍爾傳感器

霍爾傳感器是數(shù)字設(shè)備,它們根據(jù)檢測到的是南磁極還是北磁極而輸出高電平或低電平(1或0)。由于它們的間隔為15度,并且磁體在其下方旋轉(zhuǎn),每45度改變一次極性,所以這三個傳感器永遠不會同時處于高電平或低電平狀態(tài)。隨著電機旋轉(zhuǎn),傳感器輸出以六步模式變化,如下表所示。傳感器必須與電動機的運動對齊,以便三個傳感器之一精確地在電動機換向位置改變。在這種情況下,第一霍爾傳感器(H1)的上升沿應(yīng)與相位C(高)和B(低)的組合的開啟相一致。這相當于在橋式電路中將晶體管3和5導通。我用示波器將傳感器與磁體對準。我必須使用示波器的三個通道來執(zhí)行此操作。我通過連接到第二個電動機的皮帶旋轉(zhuǎn)了電動機,并測量了兩個相組合(A和B,A和C)之間的反電動勢,這是下圖中的兩個正弦波。然后,在示波器的通道3上查看來自霍爾傳感器2之一的信號。旋轉(zhuǎn)霍爾傳感器底座,直到霍爾傳感器的上升沿與換向應(yīng)發(fā)生的點完全對準為止(請參見下圖)。我現(xiàn)在意識到,只需兩個通道即可進行相同的校準。如果使用相位組合B-C的BEMF,則H2的上升沿將與B-C曲線的零交叉重合。

此處應(yīng)進行換向的原因是要始終保持盡可能高的電動機轉(zhuǎn)矩。反電動勢與扭矩成正比,您會注意到,每次換向都會在反電動勢越過下一相曲線以下時發(fā)生。因此,實際扭矩由每個相組合的最高部分組成。

如果您無法使用示波器,這是我進行對準的一個想法。對于任何想了解BLDC電機工作原理的人來說,這實際上都是一個有趣的練習。如果將電動機A相(正相)和B相(負相)連接到電源并打開電源,則電動機將旋轉(zhuǎn)一小段然后停止。然后,如果將負極電源線移至C相并打開電源,則電動機將轉(zhuǎn)動一點然后停止。序列的下一部分將是將正極引線移至B相,依此類推。執(zhí)行此操作時,電動機將始終在轉(zhuǎn)矩為零的點處停止,該點在圖形上與圖形與x軸交叉的位置之一相對應(yīng)。注意,第三相組合的零對應(yīng)于前兩個組合的換向位置。因此,B-C組合的零扭矩位置是您要定位H2上升沿的位置。用細標記或鋒利的刀片標記該位置,然后使用DMM調(diào)整霍爾傳感器安裝座,直到H2的輸出準確地在該標記上變高。即使您在此校準中稍有偏離,電動機也應(yīng)能正常工作。

步驟8:電力電子設(shè)備

三個電機相將從L6234三相電動機驅(qū)動器。我發(fā)現(xiàn)它是經(jīng)受時間考驗的好產(chǎn)品。使用電力電子設(shè)備,有很多方法可以無意間炸炸您的組件,而我不是電氣工程師,所以我并不總是完全了解發(fā)生了什么。在我的學校項目中,我們還用6個MOSFET晶體管和6個二極管制成了自己的三相半橋。我們將它與另一個驅(qū)動程序(Intersil的HIP4086)一起使用,但是在設(shè)置時遇到了很多問題-我們燒壞了一堆晶體管和芯片。

我運行L6234(從而運行了電動機)在12V

L6234具有一組不尋常的輸入來控制6晶體管半橋。而不是為每個晶體管提供一個輸入,而是為三相的每一個提供一個使能(EN)輸入,然后通過另一個輸入(IN)選擇該相中的哪個晶體管導通(上或下)。例如,要導通晶體管1(上部)和6(下部),EN1和EN3都為高電平(EN2為低電平以保持該相截止),IN1為高電平,IN3為低電平。

盡管L6234應(yīng)用筆記建議將用于控制電機速度的PWM應(yīng)用于IN引腳,但我還是決定在EN引腳上使用它,因為認為將一個相位的上,下晶體管交替導通將是“怪異的”。實際上,同時打開兩個相的低晶體管似乎沒有錯,因為它們處于相同的電勢,因此任何一個都不會流過電流。用我的方法,在PWM頻率上交替啟用和禁用高相,而在整個換向期間保持低相導通。

下面是電機驅(qū)動器的示意圖,我已經(jīng)在其中添加了與Arduino開發(fā)板的引腳連接。我還在電池正極和電路之間加了一個2.5 Amp的保險絲,在電源和接地之間加了一個100 uF的電容,以減少再生電流的紋波。該圖有點小,因此請查看L6234的文檔以獲取較大版本。

注意:Mike Anton為L6234制作了PCB,(我相信)可以代替

http://manton.wikidot.com/open:bldc-motor-driver

https://www.tindie.com/stores/manton/

第9步:再生制動

因為到目前為止我還沒有找到很多有關(guān)三相電動機再生制動的信息,所以我將描述我對它的工作原理的理解。請注意,我不是電氣工程師,因此請對我的解釋進行任何更正。

在進行電動機驅(qū)動時,控制系統(tǒng)以使轉(zhuǎn)矩最大的方式將電流發(fā)送到電動機的三個相中。在再生制動中,控制系統(tǒng)也會使轉(zhuǎn)矩最大化,但這一次是負轉(zhuǎn)矩,這會導致電動機減速,同時將電流傳回電池。

我使用的再生制動方法來了摘自美國政府Oakridge國家實驗室的論文。這個實驗室對汽車的電動機做了很多研究。下圖來自另一篇論文,有助于說明其工作原理(但是,我認為第二篇論文中的解釋部分不正確)。請記住,電動機相位中的BEMF電壓會隨著電動機旋轉(zhuǎn)而上升和下降。在該圖中,顯示了一個瞬間,其中B相的BEMF高,而A相的低。在這種情況下,電流有可能從B流到A。

再生制動的關(guān)鍵是低端晶體管正在快速導通和關(guān)斷(PWM每秒切換數(shù)千次)。當高端晶體管開關(guān)為OFF時;當?shù)途w管導通時,電流如第一幅圖所示流動。用電力電子學的術(shù)語來說,電路就像一個稱為升壓轉(zhuǎn)換器的設(shè)備,能量存儲在電機相中(維基百科上有一篇很好的文章解釋了升壓轉(zhuǎn)換器的工作原理)。當?shù)投司w管截止時,該能量被釋放,但電壓更高,電流瞬間流過每個晶體管旁邊的“反激”二極管,然后流回電池。二極管可防止電流從電池流向電動機。同時,沿該方向(與電動機相反)的電流與磁鐵環(huán)相互作用,產(chǎn)生負轉(zhuǎn)矩,使電動機減速。低側(cè)晶體管通過PWM進行開關(guān),PWM的占空比控制制動量。

在進行電動機驅(qū)動時,電動機的換向在適當?shù)臅r候從一個相組合切換到下一個相組合,以保持較高的轉(zhuǎn)矩。盡可能。再生制動的換向非常相似,因為一定的切換模式可以使電動機產(chǎn)生最大可能的負轉(zhuǎn)矩。

如果您在第1步中觀看視頻,則可以看到再生制動有效,但是不能很好地工作。我認為主要原因是我使用的硬盤驅(qū)動器馬達是一個低扭矩的馬達,因此除了最高速度外,它不會產(chǎn)生太多的BEMF。在較低的速度下,幾乎沒有再生制動。另外,我的系統(tǒng)在相對較低的電壓(12 V)下運行,并且由于通過反激二極管的每條路徑都會使電壓下降幾伏,因此效率也大大降低了。我使用普通的整流二極管,如果使用一些具有較低壓降的特殊二極管,則可能會獲得更好的性能。

步驟10:與Arduino的連接

下面是arduino上的輸入和輸出列表。還包括我的電路板的圖和照片。

2-霍爾1數(shù)字輸入-還將120 K電阻連接到gnd

3-霍爾2數(shù)字輸入-也將120 K電阻器連接到gnd

4-霍爾3個數(shù)字輸入-同樣是120 K電阻至接地5-IN 1數(shù)字輸出與400歐姆電阻串聯(lián)

6-IN 2數(shù)字輸出與400歐姆電阻

7串聯(lián)-IN 3數(shù)字輸出與400歐姆電阻串聯(lián)的電阻

9-EN 1與400歐姆電阻串聯(lián)的數(shù)字輸出

10-EN 2與400歐姆電阻串聯(lián)的數(shù)字輸出

11-EN 3與400歐姆電阻串聯(lián)的數(shù)字輸出

100 k歐姆電位計連接到+ 5V,兩端接地,中間為模擬引腳0。該電位器用于控制電動機速度和制動量。

+ 5V電源也用于運行霍爾傳感器(請參見步驟5)。

步驟11 :用于Arduino的控制軟件

下面是我為Ardjuino編寫的整個程序,并帶有注釋:

/*

* BLDC_congroller 3.1。 1

* by David Glaser

*

* 3.x系列程序適用于ST L6234三相電動機驅(qū)動器IC

*

*順時針運行磁盤驅(qū)動器電動機

*帶再生制動

*電機速度和制動由單個電位器控制

*電機位置由三個霍爾效應(yīng)傳感器確定

* Arduino接收來自3個霍爾傳感器的輸出(引腳2,3 ,4)*并將它們的組合轉(zhuǎn)換為6個不同的換相步長

*在引腳9,10,11上以32 kHz的PWM輸出(分別對應(yīng)于EN 1,2,3

* 3 DO引腳5,6,7(IN 1,2,3)

*模擬輸入0連接到電位計以更改PWM占空比并更改

*電動和再生制動。

* 0-499:制動

* 500-523:滑行

* 524-1023:電動

*注釋了很多行,這些行用于

*將各種值打印到串行連接。

*/

int HallState1;//三個霍爾傳感器(3,2,1)的變量

int HallState2;

int HallState3;

int HallVal = 1;//所有3個霍爾傳感器的二進制值

int mSpeed = 0;//電動機的轉(zhuǎn)速等級

int bSpeed = 0;//制動水平

int油門= 0;//此變量與模擬輸入一起使用,以測量油門電位器的位置。

void setup(){

pinMode(2,INPUT);//Hall 1

pinMode(3,INPUT);//Hall 2

pinMode(4,INPUT);//Hall 3

//L6234電動機驅(qū)動器的輸出

pinMode(5,OUTPUT);//IN 1

pinMode(6,OUTPUT);//IN 2

pinMode(7,OUTPUT);//IN 3

pinMode(9,OUTPUT);//EN 1

pinMode(10,OUTPUT);//EN 2

pinMode(11,OUTPUT);//EN 3

//Serial.begin(9600);//如果要使用串行連接,請取消注釋此行

//還要在程序末尾取消注釋Serial.flush命令。

/*在引腳9,10和11

上設(shè)置PWM頻率//一部分代碼來自

http://usethearduino.blogspot.com/2008/11/changing-pwm-frequency-on-arduino.html

*/

//為引腳9,10設(shè)置PWM至32 kHz

//首先清除所有三個預(yù)分頻器位:

int prescalerVal = 0x07;//創(chuàng)建一個名為prescalerVal的變量,并將其設(shè)置為等于二進制數(shù)“ 00000111”數(shù)字“ 00000111”數(shù)字“ 00000111”

TCCR1B&=?prescalerVal;//并用二進制數(shù)“ 11111000”將TCCR0B中的值與

//現(xiàn)在設(shè)置適當?shù)念A(yù)分頻器位:

int prescalerVal2 = 1;//將prescalerVal設(shè)置為等于二進制數(shù)“ 00000001”

TCCR1B | = prescalerVal2;//或用二進制數(shù)“ 00000001”對TCCR0B中的值進行操作

//將引腳3,11設(shè)置為32 kHz至32 kHz(此程序僅使用引腳11)

//首先清除所有三個預(yù)分頻器位:

TCCR2B&=?prescalerVal;//與TCCR0B中的值一起使用二進制數(shù)“ 11111000”

//現(xiàn)在設(shè)置適當?shù)念A(yù)分頻器位:

TCCR2B | = prescalerVal2;//或用二進制數(shù)“ 00000001”對TCCR0B中的值進行////首先清除所有三個預(yù)分頻器位:

}

//PRGROM的主循環(huán)

void loop(){

//time = millis();

//打印自程序啟動以來的時間

//Serial.println(time);

//Serial.print(“ ”);

節(jié)氣門= AnalogRead(0);//油門電位器的值

mSpeed = map(throttle,512,1023,0,255);//電機映射到電位計的上半部

bSpeed = map(throttle,0,511,255,0);//鍋底一半的再生制動

//mSpeed = 100;//用于調(diào)試

HallState1 = digitalRead(2);//從1號大廳讀取輸入值

HallState2 = digitalRead(3);//從2號大廳讀取輸入值

HallState3 = digitalRead(4);//從3號大廳讀取輸入值

//digitalWrite(8,HallState1);//當對應(yīng)的傳感器為高電平時LED點亮-最初用于調(diào)試

//digitalWrite(9,HallState2);

//digitalWrite(10,HallState3);

HallVal =(HallState1) +(2 * HallState2)+(4 * HallState3);//計算3個霍爾傳感器的二進制值

/*Serial.print(“H 1:“);//用于調(diào)試

Serial.println(HallState1);

Serial.print(“ H 2:”);

Serial.println(HallState2);

Serial.print(“ H 3: “);

Serial.println(HallState3);

Serial.println(”“);

*/

//Serial.println(mSpeed);

//Serial.println(HallVal);

//Serial.print(” “);

//監(jiān)視晶體管輸出

//delay(1000);

/* T1 = digitalRead(2);

//T1 =?T1;

T2 = digitalRead(4);

//T2 =?T2;

T3 = digitalRead(5 );

//T3 =?T3;

Serial.print(T1);

Serial.print(“ t”);

Serial.print(T2);

串行。 print(“ t”);

Serial.print(T3);

Serial.print(“ n”);

Serial.print(“ n”);

Serial.print (digitalRead(3));

Serial.print(“ t”);

Serial.print(digitalRead(9));

Serial.print(“ t”);

串行.println(digitalRead(10));

Serial.print(“ n”);

Serial.print(“ n”);

//延遲(500);

*/

//電機換向

//每個二進制數(shù)都有一個對應(yīng)于打開的不同晶體管的情況

//位數(shù)學用于更改輸出的值

//對于本教程在Arduino的位上:http://www.arduino.cc/playground/Code/BitMath

//PORTD包含L6234驅(qū)動器上的IN引腳的輸出

//,該輸出確定是高位還是低位使用各相的晶體管

//EN引腳的輸出由Ard控制uino命令A(yù)nalogWrite,其中

//設(shè)置PWM的占空比(0 = OFF,255 = ON或由電位計控制的油門值)。

if(throttle》 511){

開關(guān)( HallVal)

{

案例3:

//PORTD = B011xxx00;//引腳0-7 xxx的所需輸出是霍爾輸入,不應(yīng)更改。

PORTD&= B00011111;

PORTD | = B01100000;//

AnalogWrite(9,mSpeed);//A相上的PWM(高端晶體管)

AnalogWrite(10,0);//關(guān)閉B相(占空比= 0)

AnalogWrite(11,255);//C相導通-占空比= 100%(低壓晶體管)

斷開;

情況1:

//PORTD = B001xxx00;//引腳0-7

的所需輸出PORTD&= B00011111;//

PORTD | = B00100000;//

AnalogWrite(9,mSpeed);//A相上的PWM(高端晶體管)

AnalogWrite(10,255);//(低端晶體管)上的B相

analogWrite(11,0);//關(guān)閉階段B(占空比= 0)

中斷;

情況5:

//PORTD = B101xxx00;//引腳0-7

的所需輸出PORTD&= B00011111;//

PORTD | = B10100000;

模擬寫(9,0);

模擬寫(10,255);

模擬寫(11,mSpeed);

中斷;

情況4:

//PORTD = B100xxx00;//引腳0-7所需的輸出

PORTD&= B00011111;

PORTD | = B10000000;//

模擬寫(9,255);

模擬寫(10,0);

模擬寫(11,mSpeed);

中斷;

情況6:

//PORTD = B110xxx00;//引腳0-7所需的輸出

PORTD&= B00011111;

PORTD = B11000000;
責任編輯:wv

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

    關(guān)注

    48

    文章

    8416

    瀏覽量

    164828
  • BLDC
    +關(guān)注

    關(guān)注

    219

    文章

    929

    瀏覽量

    100465
  • 位置傳感器
    +關(guān)注

    關(guān)注

    3

    文章

    306

    瀏覽量

    28655
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    197068
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TMAG5213 Hall-Effect Latch:低成本磁性傳感的理想選擇

    TMAG5213 Hall-Effect Latch:低成本磁性傳感的理想選擇 作為電子工程師,在設(shè)計項目中挑選合適的傳感器至關(guān)重要。TI的TMAG5213 Hall-Effect L
    的頭像 發(fā)表于 02-11 10:20 ?196次閱讀

    基于靈動MM32F0140微控制器的汽車傳感控制

    在現(xiàn)代汽車電子系統(tǒng)中,各類傳感器模塊需要通過高效可靠的車身總線與主控單元進行通信,以實現(xiàn)整車狀態(tài)的實時監(jiān)控與智能控制微控制器作為傳感
    的頭像 發(fā)表于 02-06 16:51 ?946次閱讀
    基于靈動MM32F0140<b class='flag-5'>微控制器</b>的汽車<b class='flag-5'>傳感</b><b class='flag-5'>控制</b>

    MCF8329A:助力無傳感器FOC控制的高效解決方案

    )推出的MCF8329A便是一款專注于無傳感器FOC控制的三相BLDC柵極驅(qū)動,為眾多應(yīng)用提供了強大而靈活的解決方案。 文件下載: mcf8329a.pdf 特性亮點解析 集成算法與
    的頭像 發(fā)表于 01-07 10:40 ?2273次閱讀

    BLDC位置傳感器控制方式介紹

    BLDC根據(jù)轉(zhuǎn)子的位置進行換向控制,而轉(zhuǎn)子位置要靠位置傳感器獲取,那么這期就為大家介紹
    的頭像 發(fā)表于 12-30 07:55 ?1.1w次閱讀
    <b class='flag-5'>BLDC</b>無<b class='flag-5'>位置</b><b class='flag-5'>傳感器</b><b class='flag-5'>控制</b>方式介紹

    MOTIX? TLE989x/TLE988x:適用于BLDC應(yīng)用的微控制器解決方案

    MOTIX? TLE989x/TLE988x:適用于BLDC應(yīng)用的微控制器解決方案 在電子工程領(lǐng)域,為BLDC(無刷直流)電機控制尋找一款性能卓越、功能豐富且安全可靠的
    的頭像 發(fā)表于 12-20 10:25 ?971次閱讀

    MOTIX? TLE994x/TLE995x:適用于BLDC應(yīng)用的微控制器

    MOTIX? TLE994x/TLE995x:適用于BLDC應(yīng)用的微控制器 在電子工程領(lǐng)域,對于BLDC(無刷直流電機)應(yīng)用的開發(fā),一款性能出色且功能豐富的微控制器至關(guān)重要。今天,我們
    的頭像 發(fā)表于 12-18 11:50 ?827次閱讀

    BLDC與PMSM電機控制算法的聯(lián)系與區(qū)別

    的獨立、精確控制。 l特點: 控制精度高、運行平穩(wěn)、效率高。但實現(xiàn)FOC的前提是需要實時獲取精確的轉(zhuǎn)子位置,這必須依賴高精度的位置
    發(fā)表于 10-27 09:23

    CW32電機控制基礎(chǔ)--BLDC轉(zhuǎn)子位置傳感器介紹

    轉(zhuǎn)子位置傳感器是檢測電機轉(zhuǎn)子位置傳感器,它是換相的重要依據(jù),前面文章說到的轉(zhuǎn)子與定子主磁場的夾角為120°或60°就是通過轉(zhuǎn)子位置
    的頭像 發(fā)表于 09-29 17:55 ?7495次閱讀
    CW32電機<b class='flag-5'>控制</b>基礎(chǔ)--<b class='flag-5'>BLDC</b>轉(zhuǎn)子<b class='flag-5'>位置</b><b class='flag-5'>傳感器</b>介紹

    使用位置傳感器進行無刷電機控制

    刷直流電機或場定向控制 (FOC) 無刷交流電機,確實可以實現(xiàn)無需任何旋轉(zhuǎn)角度傳感器即可工作。但實際情況是,工業(yè)和人形機器人、自主移動機器人和直線電機運輸系統(tǒng)等終端設(shè)備,旋轉(zhuǎn)角度傳感器
    的頭像 發(fā)表于 08-07 14:25 ?5952次閱讀
    使用<b class='flag-5'>位置</b><b class='flag-5'>傳感器</b>進行無刷電機<b class='flag-5'>控制</b>

    用擇多函數(shù)實現(xiàn)反電動勢濾波的無傳感器BLDC

    傳感器控制與無傳感器控制的對比由于 BLDC 電機具有尺寸小、可控制性好、效率高的特點,常用于
    發(fā)表于 08-05 14:25

    帶霍爾式位置傳感器BLDCM控制器設(shè)計

    位置傳感器的無刷直流電機一般采用霍爾式位置傳感器測定轉(zhuǎn)子磁極位置,為電子換相提供依據(jù),非常便于實現(xiàn)
    發(fā)表于 07-24 11:47

    BLDC無感控制與有感控制

    帶動轉(zhuǎn)子同步轉(zhuǎn)動的控制方式。而檢測轉(zhuǎn)子磁極位置又可分為電機帶霍爾傳感器(有感)以及不帶霍爾傳感器方法,檢測轉(zhuǎn)子磁極位置的方法不同,會直接
    的頭像 發(fā)表于 06-11 15:04 ?4767次閱讀
    <b class='flag-5'>BLDC</b>無感<b class='flag-5'>控制</b>與有感<b class='flag-5'>控制</b>

    ADUCM356集成化學傳感器接口的精密模擬微控制器技術(shù)手冊

    ADuCM356是一款片內(nèi)系統(tǒng),可控制和測量電化學傳感器和生物傳感器。ADuCM356是一款基于Arm^?^ Cortex ^?^ -M3處理的超低功耗混合信號
    的頭像 發(fā)表于 05-08 09:55 ?1043次閱讀
    ADUCM356集成化學<b class='flag-5'>傳感器</b>接口的精密模擬<b class='flag-5'>微控制器</b>技術(shù)手冊

    BLDC位置傳感器控制的關(guān)鍵技術(shù)問題剖析(可下載)

    一、概述在無刷直流電機控制系統(tǒng)中,位置傳感器(如霍爾傳感器等)雖然為轉(zhuǎn)子位置提供了最直接最有效 的檢測方法,但是它們也使電機的體積變大,需要
    發(fā)表于 04-08 15:27 ?1次下載

    電機技術(shù)資料—BLDC 電機控制算法

    了更多線的使用和更高的成本。 無傳感器 BLDC控制省去了對于霍爾傳感器的需要,而是采用電機的反電動勢(電動勢)來預(yù)測轉(zhuǎn)子位置。無
    發(fā)表于 04-01 16:43