找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1638|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

關(guān)于“STC51單片機(jī)四軸飛控開(kāi)源項(xiàng)目”的問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:975881 發(fā)表于 2021-12-26 17:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
背景:老師讓我們根據(jù)這個(gè)源碼和相關(guān)內(nèi)容實(shí)現(xiàn)和做出這個(gè)飛控,以下為出處。但是我遇到了問(wèn)題,一直解決不了。
http://www.torrancerestoration.com/bbs/dpj-99585-1.html
現(xiàn)狀:?jiǎn)?dòng)后,串口能夠打印出啟動(dòng)的狀態(tài)(自己設(shè)置 的串口信息),但是電機(jī)不會(huì)啟動(dòng)。偶爾有一到兩個(gè)電機(jī)會(huì)啟動(dòng),但是遙控器卻不能進(jìn)行控制
分析:我猜測(cè)是輸出的信號(hào)波形無(wú)法使電機(jī)啟動(dòng),同時(shí),一些值不會(huì)隨著遙控器的一些信號(hào)而發(fā)生變化。通過(guò)打印信息,發(fā)現(xiàn)
        EAXSFR();        //訪問(wèn)XFR
        PWM0T2 = (u16)(PWM0 * 2);
        PWM1T2 = (u16)(PWM1 * 2);
        PWM2T2 = (u16)(PWM2 * 2);        
        PWM3T2 = (u16)(PWM3 * 2);        //進(jìn)行輸出脈沖信號(hào)更新
        P_SW2  = SW2_tmp;        //恢復(fù)SW2設(shè)置

這樣的代碼沒(méi)有進(jìn)行更新,不知道什么
同時(shí)在初始化中一些賦值
        PWM0T1 = 4000;//第一個(gè)翻轉(zhuǎn)點(diǎn) 4000
        PWM1T1 = 4000;
        PWM2T1 = 4000;
        PWM3T1 = 4000;
//        PWM4T1 = 4000;
//        PWM5T1 = 4000;
//        PWM6T1 = 4000;
//        PWM7T1 = 4000;

        PWM0T2 = 2000;  //第二個(gè)翻轉(zhuǎn)點(diǎn) 2000
        PWM1T2 = 2000;
        PWM2T2 = 2000;
        PWM3T2 = 2000;
//        PWM4T2 = 2000;
//        PWM5T2 = 2000;
//        PWM6T2 = 2000;
//        PWM7T2 = 2000;


打印出來(lái)的信息確實(shí)差別很大,明明在別的地方?jīng)]有進(jìn)行賦值,就很奇怪為什么打印出來(lái)是這樣的。
0 4000 8000 12337(PWM0T1 PWM1T1PWM2T1 PWM3T1
但是打印出來(lái)這樣確實(shí)能夠解釋我的現(xiàn)象。
然而有的大佬能夠?qū)崿F(xiàn)最起碼能夠啟動(dòng)能夠控制呢能夠低速旋轉(zhuǎn)。
非常奇怪,不理解。各位走過(guò)的大佬可以解答下嗎?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:844772 發(fā)表于 2021-12-27 11:39 | 只看該作者
1.你程序要是抄的,要先配遙控器啊,確認(rèn)所有遙控操作一致,這個(gè)很簡(jiǎn)單用萬(wàn)用表就行了。
2.電調(diào)上電要解鎖,就是識(shí)別飛控的最大行程和最小行程,你要查一下你的電調(diào)解鎖是不是跟程序一致,一般XXD的電調(diào)要50Hz時(shí),分別給占空比10、5。都有BB聲的。
3.你第一段程序就貼出了賦值語(yǔ)句,怎么說(shuō)沒(méi)賦值?
這個(gè)難度的估計(jì)也就是本科小作業(yè)論文,搞懂幾個(gè)模塊怎么配合就夠了,玩真的就記得安全第一,千萬(wàn)別帶槳運(yùn)行。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:975881 發(fā)表于 2021-12-27 14:53 來(lái)自手機(jī) | 只看該作者
額,這個(gè)是直接用和學(xué)習(xí)他們的代碼,遙控是沒(méi)有問(wèn)題的,能夠改變其中PWM0的值(這個(gè)值是程序里的自定義變量),但是在對(duì)PWM0T2賦值過(guò)程中,我經(jīng)過(guò)在賦值語(yǔ)句下面加了向串口打印的語(yǔ)句,但是明明PWM0會(huì)變,PWM0T2卻不會(huì)變
回復(fù)

使用道具 舉報(bào)

地板
ID:975881 發(fā)表于 2021-12-27 14:54 來(lái)自手機(jī) | 只看該作者
PWM0T2的值會(huì)不會(huì)被自動(dòng)賦值呀?
回復(fù)

使用道具 舉報(bào)

5#
ID:844772 發(fā)表于 2021-12-27 15:42 | 只看該作者
putiz 發(fā)表于 2021-12-27 14:53
額,這個(gè)是直接用和學(xué)習(xí)他們的代碼,遙控是沒(méi)有問(wèn)題的,能夠改變其中PWM0的值(這個(gè)值是程序里的自定義變量 ...

遙控要每個(gè)搖桿都對(duì)應(yīng)準(zhǔn)確才行,不是有反應(yīng)就行,要拿示波器看波形對(duì)不對(duì),占空比不對(duì)也要調(diào);
另外,PWM中斷級(jí)別很低的,串口中斷會(huì)打斷它賦值,所以,即使程序沒(méi)問(wèn)題,但你的串口中斷就會(huì)導(dǎo)致PWM不對(duì),你覺(jué)得有問(wèn)題不如用示波器看看。我覺(jué)得沒(méi)準(zhǔn)把串口的輸出全注釋掉就能用了。
你現(xiàn)在主要問(wèn)題是電調(diào)沒(méi)開(kāi)鎖,它需要搖桿開(kāi)鎖。別管PWM0T2,沒(méi)聽(tīng)說(shuō)用它前不賦值的。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表