Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 5374|回復: 7

使用rb100的GPIO輸入時遇到的電壓問題。。。

[複製鏈接]
發表於 2011-5-11 18:53:33 | 顯示全部樓層 |閱讀模式
我是用roboard100做無刷電機和無刷電調控制的啦。。。最近想測量一下電機的轉速,於是搞來一個霍爾器件,這個器件輸出是5v,測到電機轉一圈的話會輸出一個低電平。

可是把這個輸出端接到rb100的GPIO上時,電壓編程了2.5左右,只有原來的一半!而且GPIO函數也無法得到輸入。我又把自家產生的PWM信號接到GPIO中,3.3v的脈衝峰值電壓也變成了1.75v!難道GPIO是用來吃電的嗎。。。
想發mail給roboard的技術,可是不曉得是不是要寫全英的mail哦。。。


各位高人使用時有無遇到這種事情啊。。。
發表於 2011-5-12 01:26:36 | 顯示全部樓層
要量這個使用A/D腳才對吧
GPIO專責處理開關最好
 樓主| 發表於 2011-5-12 10:12:53 | 顯示全部樓層
回復 2# mzw2008

因為以前做STM32單片機時這種情況就是用GPIO中斷計數實現的啦所以就慣性思維了一下


換AD試一下再來跟大家講結果吧


還是覺得電壓被吃掉這事情很奇怪。。。我給roboard的tech寫郵件問了。。。
發表於 2011-5-12 13:10:43 | 顯示全部樓層
本帖最後由 acen2008 於 2011-5-12 13:44 編輯

Hi

你用GPIO函數也無法得到輸入...
我想是因為你指定的 pin 腳仍是做 PWM 輸出用(0V 與 5V 輸出接在一起, 才出現 2.5V)
你看一下 rcservo_Init(RCSERVO_USEPINSXX) 中的 RCSERVO_USEPINSXX
是否包含用來量測霍爾 sensor 的 pin, 如果有, 那它是做為 PWM 輸出, 如果沒有則是 GPIO

例如:
    (1) rcservo_Init(RCSERVO_USEPINS1); // Pin S1 為 PWM 輸出, Pin S2 ~ S24
                                                            // 是 GPIO
    (2) rcservo_Init(RCSERVO_USEPINS3 + RCSERVO_USEPINS9);
         // Pin S3 & S9 為 PWM 輸出, 其他 Pin 是 GPIO

是 GPIO pin 的, 使用 rcservo_InPin() 與 rcservo_OutPin() 就能正常 work 了
發表於 2011-5-12 15:34:12 | 顯示全部樓層
更白話的說
roboard 的PWM訊號要使用的時候需要initialize初始化
rcservo_Init(RCSERVO_USEPINSXX)  這行裡面有包含到的通通會便成PWM規格
沒包含到的都自動變為GPIO
官網的文件也有詳細提到喔
 樓主| 發表於 2011-5-16 20:36:41 | 顯示全部樓層
首先多謝樓上二位指點~~~鞠躬~~~~

gpio的輸入和輸出都搞定了。。。可是。。。還有個怪現象忘記講了

是這樣的,不論是一開始PWM的產生,還是現在gpio的輸入輸出,都只在pwm17-24針上能夠實現!
那顆圓圓的電池邊上那8個gpio啦

而同樣的代碼,不論怎麼調試,在1-16通道上都是毫無反應。。。gpio輸入輸出沒信號,pwm產生不了。。。詭異啊詭異、、、、
發表於 2011-5-16 23:44:57 | 顯示全部樓層
咦?
這... 建議開機後用電錶量1~16的電壓
看是否有過電

另外... 要確認不管是哪一邊, 訊號線的位置都是朝向主機板中心
外圍都是GND, 中間那條是VCC, 千萬別搞錯了
 樓主| 發表於 2011-5-18 20:10:18 | 顯示全部樓層
ok啦~~~多些斑竹熱情答覆~~~

但我發現每天都會有新問題。。。

努力努力吧!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-4-18 12:06 , Processed in 0.207773 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表