吴忠躺衫网络科技有限公司

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

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

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

教你怎樣DIY一個(gè)磁懸浮裝置

Q4MP_gh_c472c21 ? 來源:小白白學(xué)電子 ? 作者:小白白學(xué)電子 ? 2022-10-26 11:41 ? 次閱讀

今天教大家做一個(gè)磁懸浮玩具,

1、磁懸浮的基本原理

磁懸浮有下推式和上拉式兩種基本形式。

所謂下推式,就是控制部分在底座上,懸浮的磁鐵在上面,依靠底座從下往上的排斥磁力推動(dòng)磁鐵懸浮;而上拉式,是控制部分在上面,懸浮的磁鐵在下面,依靠控制部分從上方的吸引力吸住磁鐵不會(huì)落下去。

本文實(shí)現(xiàn)的是下推式,僅講解推式磁懸浮的原理和實(shí)現(xiàn)方法。

如下圖,是一個(gè)環(huán)形磁鐵的磁力線:
pYYBAGNYrKuAD_idAABscOOUqE4254.jpg
如果在它上方放置另一個(gè)小磁鐵,N極向下S極向上,那么它會(huì)受到下面的環(huán)形磁鐵的斥力。越靠近下方的環(huán)形磁鐵,斥力就越大。當(dāng)距離合適時(shí),斥力與上方磁鐵的重力相等時(shí),就能實(shí)現(xiàn)懸浮:
pYYBAGNYrL-AQ_tbAACGt_vc-hQ069.jpg

但是,僅僅依靠兩個(gè)磁鐵的相互作用是不能保持穩(wěn)定的,因?yàn)閮蓚€(gè)磁鐵的斥力只要與重力的方向不在同一直線上,就不能保持平衡,上方的小磁鐵就會(huì)向旁邊飛出去。

而下推式磁懸浮的實(shí)現(xiàn)方法,就是在上述的系統(tǒng)里,再增加一個(gè)控制上方小磁鐵保持在中軸線位置的裝置。這樣,小磁鐵即不能往旁邊移動(dòng),垂直方向的重力又和磁鐵斥力相抵消,就能實(shí)現(xiàn)穩(wěn)定的懸浮了。

具體實(shí)現(xiàn)時(shí),如果沒有大環(huán)形磁鐵,可以使用一圈小磁鐵代替,效果是一樣,如本文效果圖里用的4個(gè)、8個(gè)都行,但是一定要排布在對稱位置。

控制小磁鐵位置的裝置,一般由霍爾元件和電磁鐵組成。用兩個(gè)霍爾元器件檢測磁場,兩個(gè)霍爾元件安裝在環(huán)形磁鐵的中心處,且互相垂直,檢測面都與鉛垂線平行。如果上方的小磁鐵在中軸線上,那么系統(tǒng)的磁力線也是鉛垂線方向的,兩個(gè)霍爾元件都無輸出;如果小磁鐵偏離了中軸線,那么系統(tǒng)的磁力線方向會(huì)偏離鉛垂線方向,霍爾元件就能檢測出往某個(gè)方向偏移了。此時(shí),由MCU采集霍爾元件的輸出,控制電磁鐵,產(chǎn)生一個(gè)水平方向相反的磁力,將小磁鐵拉回中軸線上就行了。

由于該系統(tǒng)是一個(gè)動(dòng)態(tài)平衡的系統(tǒng),需要不斷地采集、判斷、調(diào)整,最好使用PID控制。

了解完原理,下面就一起實(shí)現(xiàn)吧!

2、硬件電路圖及調(diào)試

由上述的原理講解,我們的硬件只需要處理好兩件事情就行了:一是采集兩個(gè)相互垂直安裝的霍爾元件的輸出,以獲取小磁鐵的偏移位置;二是控制兩組相互垂直的電磁鐵,產(chǎn)生水平的磁力。

主要的原理圖附在下面,完整的圖紙可以關(guān)注文末的公眾.號(hào),找到下載地址。

霍爾元件及其信號(hào)放大部分,UGN3503是霍爾元器件,電位器提供一個(gè)初始的零位電壓,霍爾的輸出信號(hào)通過反向放大后,輸出到STM32AD口采集:

pYYBAGNYrOCAJHH8AAGvvkZ4xXY953.jpg

電磁鐵驅(qū)動(dòng)部分,使用L293D電機(jī)驅(qū)動(dòng)芯片來驅(qū)動(dòng)電磁鐵,L293D由STM32輸出的PWM波來驅(qū)動(dòng):
poYBAGNYrSWAbklUAAFrcHDd_00595.jpg

電源部分,驅(qū)動(dòng)電磁鐵用9~12V的電壓比較合適,霍爾供電用5V:

pYYBAGNYrTaAb-_JAAD9HlHxvNk573.jpg

因?yàn)槲以?a target="_blank">DIY的時(shí)候STM32是外接的最小系統(tǒng),所以原理圖里沒畫STM32,只留了幾個(gè)接點(diǎn)。

注意布局時(shí),霍爾元件和電磁鐵的放置位置,有特殊要求。最終的PCB圖如下:

poYBAGNYrVKACrx0AAMSKr8hvQo650.jpg

U3和U4是兩個(gè)檢測磁鐵位置的霍爾元件,需要安裝在環(huán)形磁鐵中心附近,并且互相垂直;而且霍爾的平面要在相對角電磁鐵的連線上。

注意兩個(gè)霍爾U3和U4的位置:(U5也是個(gè)霍爾,本來是預(yù)留來檢測是否有磁鐵放在上面的,暫時(shí)沒有用上)

LL1~LL4是四個(gè)電磁鐵,LL1和LL2一組,LL3和LL4一組,安裝時(shí),同組的需要對角放置;而且要注意安裝時(shí)同名端相連,通電后,同組的兩個(gè)電磁鐵磁力線能相互連接產(chǎn)生閉合磁力線(也就是一個(gè)上方為N極時(shí)同組另一個(gè)上方為S極)。這樣才能保證同組的電磁鐵產(chǎn)生的磁力在水平方向是相同的。

在電路圖焊接完成后,與STM32F103C8T6最小系統(tǒng)相連,霍爾的輸出AD1、AD2連接到STM32的PA0和PA1;PWM1~4依次連接到STM32的PA15、PB4、PB3、PB5。其他供電部分的連接就不說了。

安裝好環(huán)形磁鐵,上電后,在空載狀態(tài)下調(diào)整U3、U4連接的電位器,使得AD1和AD2都在1.65V左右(也即AD采集時(shí)3.3V的中間值)。

到這里,硬件的設(shè)計(jì)工作就基本完成了。

3、軟件編程實(shí)現(xiàn)

軟件的實(shí)現(xiàn)也是大致分為兩大功能:一是通過AD采集,獲取磁鐵再水平方向X、Y軸的位置;二是通過兩個(gè)方向位置偏移的大小來計(jì)算驅(qū)動(dòng)兩個(gè)方向電磁鐵的PWM輸出值,這個(gè)計(jì)算過程使用了PID算法

程序架構(gòu)是:在主循環(huán)里不斷地采集霍爾元件的電壓,也就是AD1、AD2的值;在中斷里計(jì)算PID控制算法,設(shè)置PWM的輸出。

首先在cubemx里配置ADC,打開AD0、AD1和AD4(實(shí)際只用了AD0和AD1,AD4是預(yù)留的,采集了但是沒有用于計(jì)算),分別配置到圖中的rank1、rank2、rank3下:
pYYBAGNYrYmAKAfZAAG7Jf9Kepw776.jpg

定時(shí)器和PWM設(shè)置:

定時(shí)器分頻設(shè)置為36,計(jì)數(shù)到1000時(shí)溢出;主頻是72M,所以定時(shí)器中斷是2KHz。

設(shè)置CH1和CH2兩個(gè)通道PWM輸出,模式1(先高電平,匹配后拉低,初始值可以設(shè)置為任意值,圖中的初始值100和300對系統(tǒng)無影響):

poYBAGNYrZ2AKal_AAIswoAnixk937.jpg

設(shè)置完成后,PA15和PB3自動(dòng)被占用為PWM輸出引腳。

再手動(dòng)設(shè)置PB4和PB5為輸出引腳,這里設(shè)置PB4和PB5是為了配合PWM引腳來控制電機(jī)驅(qū)動(dòng)芯片來使電磁鐵改變正、反向。
pYYBAGNYrbOAJiGtAABY7JgOyM4770.jpg
使能定時(shí)器TIM2中斷:

pYYBAGNYrcSANf1NAAHHVrdv73A128.jpg

到這里,cubemx里的硬件主要配置就完成了。接下來可以生成keil工程,編寫軟件代碼。

由于整個(gè)工程源代碼比較長,這里只講解最核心的部分。完整的代碼可以關(guān)注文末的公 眾號(hào)后,找到下載地址。

在keil工程里,adc部分,使用如下函數(shù)進(jìn)行AD采集,采集了三個(gè)通道,即AD0、AD1、AD4:

pYYBAGNYreGAJHThAADRDFJKXjw807.jpg
然后進(jìn)行滑動(dòng)平均濾波,這里最終只保留了AD0和AD1兩路,10bit的精度,存放到了xPos和yPos中,作為兩個(gè)方向的位置值。
poYBAGNYrgCAd-lZAAFme6-ViGI541.jpg
filter_adc()函數(shù)需要放在主循環(huán)中循環(huán)調(diào)用,不斷更新位置值:
pYYBAGNYrhCAQrRgAABy6AW_EFM524.jpg

PID部分主要的實(shí)現(xiàn)代碼如下:

pYYBAGNYriiAG9cUAABkxUesXt8415.jpg
poYBAGNYrjCAY_7JAAGLuAJbql4387.jpg

注意,這里PID實(shí)現(xiàn)時(shí)對積分項(xiàng)的處理,當(dāng)誤差的累加值非常大時(shí)(也即積分項(xiàng)很大時(shí))不會(huì)再累加誤差項(xiàng),而是限制到一個(gè)最大值MAX_INTEGRATION_ERROR,這是一種避免積分飽和的方法。

接下來,講一下如何設(shè)置PWM輸出值,以及怎么控制電磁鐵磁場的正負(fù)向。

由于我們使用了L293D芯片來驅(qū)動(dòng)電磁鐵,以LL1和LL2這一路為例,當(dāng)PWM2設(shè)置為低電平,則PWM1輸出為高時(shí)就能驅(qū)動(dòng)電磁鐵;當(dāng)PWM2設(shè)置為高電平,則PWM1輸出為低時(shí),電流與前述狀態(tài)相反,就能反向驅(qū)動(dòng)電磁鐵。如下圖所示:
pYYBAGNYrkSAAiaGAABPVTBxtAs268.jpg

同時(shí),我們只需要改變PWM1的脈寬,就能實(shí)現(xiàn)電磁鐵的磁場強(qiáng)度控制。

另一路LL3和LL4電磁鐵也是一樣的原理,可以通過PWM3控制磁場強(qiáng)度,通過PWM4來控制磁場方向。

這部分的實(shí)現(xiàn)代碼如下,其中PWM1和PWM3的輸出值(也就是代碼中的xPWM和yPWM),是先通過調(diào)用PID計(jì)算函數(shù)得出值,再依據(jù)正負(fù)向設(shè)置到定時(shí)器的PWM輸出的,整個(gè)函數(shù)放在定時(shí)器中斷中調(diào)用。
poYBAGNYrmWAEiqwAAFjP7wE3lo634.jpg
poYBAGNYrmyADqFlAAIdHYWgTVM442.jpg

最后提醒一下,PID的參數(shù)值,是需要調(diào)整的,這些值與磁鐵大小、定時(shí)器的控制周期長短都是相關(guān)的,本文中的取值如下:

#define P_value 4

#define I_value 1

#define D_value 30

4、一些補(bǔ)充內(nèi)容

在調(diào)試時(shí),可以先拿住小磁鐵從上往下移動(dòng),當(dāng)感覺重力被磁力抵消時(shí),再向水平的X、Y方向移動(dòng),如果感覺有水平的阻力,那么就成功了一大半了,后面只需要微調(diào)參數(shù)即可。要注意保護(hù)強(qiáng)磁鐵,如果兩個(gè)磁鐵不加保護(hù)直接吸到一起很可能會(huì)被撞碎。

到這里,磁懸浮最基本的功能就做好了,但是還有很多可以優(yōu)化的地方。

比如現(xiàn)在計(jì)算周期用的是2KHz,正好在人的聽覺范圍內(nèi),這在使用時(shí),電磁鐵可能會(huì)產(chǎn)生一些噪音,可以考慮把控制周期改到20KHz以上,但是要注意PID的參數(shù)需要調(diào)整。

再比如,多利用一個(gè)霍爾元件,可以增加檢測載荷的功能,如果沒有載荷,可以關(guān)閉PWM省電。





審核編輯:劉清

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

    關(guān)注

    2272

    文章

    10923

    瀏覽量

    357550
  • PID算法
    +關(guān)注

    關(guān)注

    2

    文章

    172

    瀏覽量

    24398
  • 磁懸浮
    +關(guān)注

    關(guān)注

    10

    文章

    99

    瀏覽量

    19960
  • PWM波
    +關(guān)注

    關(guān)注

    0

    文章

    99

    瀏覽量

    16947

原文標(biāo)題:手把手教你:用STM32與PID算法,DIY一個(gè)磁懸浮裝置

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    磁懸浮列車

    地心引力的能力,使車體完全脫離軌道,懸浮在距離軌道約1厘米處,騰空行駛,創(chuàng)造了近乎“零高度”空間飛行的奇跡。由于磁鐵有同性相斥和異性相吸兩種形式,故磁懸浮列車也有兩種相應(yīng)的形式:種是利用磁鐵同性相斥
    發(fā)表于 06-18 16:17

    手工DIY創(chuàng)意磁懸浮陀螺的制作方法圖解

    相投的手工達(dá)人們聚焦在這里來探索和發(fā)現(xiàn)你的靈感!下面給各位手工達(dá)人專門分享這教你手工DIY創(chuàng)意磁懸浮陀螺的制作方法圖解,喜歡DIY創(chuàng)意
    發(fā)表于 12-29 15:01

    我想做一個(gè)簡易的電磁懸浮裝置

    如題 想做一個(gè)簡易的磁懸浮裝置 百度的資料有些電子元件淘寶上沒有 有沒有高人 教我下 非常感謝 QQ:112355766
    發(fā)表于 03-22 11:04

    磁懸浮用線性霍爾元件 磁懸浮霍爾應(yīng)用

    磁懸浮技術(shù)是指利用磁力克服重力使物體懸浮種技術(shù)。現(xiàn)在隨著磁懸浮技術(shù)的成熟,磁懸浮產(chǎn)品的廣泛應(yīng)用。讓我們不禁感嘆
    發(fā)表于 01-24 16:01

    需要磁懸浮高度可以達(dá)到20cm,載重2kg以上的磁懸浮裝置,誰能做?

    需要磁懸浮高度可以達(dá)到20cm,載重2kg以上的磁懸浮裝置,誰能做?
    發(fā)表于 09-11 06:52

    磁懸浮技術(shù)基本原理是什么?

    磁懸浮技術(shù)基本原理是什么?磁懸浮列車是什么?
    發(fā)表于 03-18 08:14

    STM32下推式磁懸浮裝置介紹

    接下來幾篇文章里我將介紹并開源近期完成的STM32下推式磁懸浮裝置。這個(gè)項(xiàng)目做的時(shí)間不長(主要是在等PCB),但是坑非常多。而且網(wǎng)上關(guān)于STM32磁懸浮的資料基本都是演示視頻。接下來我將從懸浮
    發(fā)表于 07-20 06:33

    磁懸浮科普介紹

    磁懸浮科普介紹磁懸浮技術(shù)(簡稱EML技術(shù)或EMS技術(shù))是指利用磁力克服重力使物體懸浮種技術(shù)。磁懸浮列車是由無接觸的磁力支承、磁力導(dǎo)向和驅(qū)
    發(fā)表于 08-31 06:49

    介紹STM32下推式磁懸浮裝置的PCB設(shè)計(jì)思路

    前言這是STM32下推式磁懸浮裝置的第二篇文章,接下來將介紹磁懸浮裝置的原理圖、PCB、設(shè)計(jì)思路。
    發(fā)表于 01-14 07:37

    磁懸浮diy

    磁懸浮pcb 磁懸浮電路圖
    發(fā)表于 12-16 15:40 ?59次下載

    如何制作個(gè)簡易的磁懸浮

    在折騰數(shù)字的PID電機(jī)控制之前,我想再弄個(gè)模擬電路的磁懸浮東東,來加深對PID的理解。這個(gè)磁懸浮,就是讓塊磁鐵
    的頭像 發(fā)表于 08-06 16:40 ?8.2w次閱讀

    磁懸浮陀螺制作方法

    下面給各位手工達(dá)人專門分享這教你手工DIY創(chuàng)意磁懸浮陀螺的制作方法圖解,喜歡DIY創(chuàng)意磁懸浮
    的頭像 發(fā)表于 09-07 15:04 ?2.1w次閱讀

    如何實(shí)現(xiàn)常導(dǎo)和超導(dǎo)磁懸浮演示試驗(yàn)裝置的控制論文資料概述

    本文目的是通過磁懸浮技術(shù)的理論研究,讓跟多的人認(rèn)識(shí)磁懸浮,了解磁懸浮。通過本文的理論知識(shí)的介紹,我自己設(shè)計(jì)制作了個(gè)簡單的
    發(fā)表于 07-03 08:00 ?17次下載
    如何實(shí)現(xiàn)常導(dǎo)和超導(dǎo)<b class='flag-5'>磁懸浮</b>演示試驗(yàn)<b class='flag-5'>裝置</b>的控制論文資料概述

    DIY個(gè)磁懸浮裝置

    這個(gè)DIY磁懸浮電路的主要部件是霍爾效應(yīng)傳感器和 MOSFET 晶體管和個(gè)電磁線圈。我們之前使用電磁線圈構(gòu)建了其他有趣的項(xiàng)目,例如迷你特斯拉線圈、電磁線圈槍等。
    的頭像 發(fā)表于 08-10 16:35 ?1.1w次閱讀
    <b class='flag-5'>DIY</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>電<b class='flag-5'>磁懸浮</b><b class='flag-5'>裝置</b>

    基于Arduino的磁懸浮排斥裝置

    幾年前,我試圖制造種用于排斥磁懸浮裝置,但我擁有的所有電路都很復(fù)雜,而且設(shè)置非常困難。
    發(fā)表于 12-02 15:21 ?12次下載
    菲利宾太阳城娱乐网| 威尼斯人娱乐城是骗子| 百家乐官网过滤软件| 美高梅百家乐官网娱乐城| 红桃k娱乐城备用网址| 百家乐3式打法微笑心法| 百家乐牌数计算法| 乐天堂百家乐官网娱乐场| 邯郸市| 大发888老虎机网页版| 百家乐那里玩| 饿火命适合做生意吗| 百家乐官网服务区| 百家乐官网如何投注法| 天上人间娱乐城| 属狗与属鸡做生意| 百家乐官网直揽经验| 澳门百家乐官网赢钱窍门| 博彩通天上人间| 大发888真人娱乐场网址官网| 狮威百家乐赌场娱乐网规则| 百家乐二人视频麻将| 大佬百家乐官网的玩法技巧和规则 | 百家乐官网连线游戏下载| 泾川县| 69棋牌游戏| 大发888娱乐场解码器| 百家乐直揽经验| 机械手百家乐官网的玩法技巧和规则 | 百家乐官网庄闲| 松溪县| 网络投注| 网球比赛直播| 德州扑克底牌| 大发888娱乐场客户端下载| 百家乐技巧心| 百家乐套路| 百家乐破解的办法| 免费百家乐官网缩水工具| 路虎百家乐官网的玩法技巧和规则 | 24葬书-葬法|