全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3481
推到 Plurk!
推到 Facebook!

使用無線模組(類似tg11)與rs232連接,做無線單向的資料傳輸遇到的問題

缺席
allenc
一般會員


發表:1
回覆:1
積分:0
註冊:2005-02-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-25 20:18:54 IP:219.84.xxx.xxx 未訂閱
我是利用rs232連接無線模組來做簡單的單行資料傳輸(只傳過去別台電腦,不接收) 大概的架構是降的 pc->RS232->無線模組(傳送) (接收)無線模組->RS232->pc 不過我直接降子接行不通。 我寫的程式是參考下面的文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=37427 不過像上面降子接,問題很可能出現在很多地方。 為了簡化問題。我先用一台電腦的rs232(公接頭),將pin2跟pin3短路(連接), 用降的連接來測試程式是否可以work,結果是可以的 所以應該代表我寫的程式是ok的 接著用同台電腦、同樣程式,我將rs232(公接頭)的pin3接上無線模組的傳送模組,pin2接上無線模組。結果還是不行 後來想想,以為是電壓位準的問題。我就用hin232這個chip來調整電壓位準。 還是不行 想請問一下大家我那裡有可能出問題。不管是小是大的可能的問題。 都可以提出來。因為我本身是唸資工的,在硬體方面有滿多的觀念都不大清楚。 麻煩一下大家 謝謝 這下面有幾個地方是相關的資料 1. 我接地都有接在同一個接地 2. 使用BCB 3. 我設的baud rate為2400 4. 在電腦的硬體管理員也將port com1的baud rate設成2400了
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-26 02:42:10 IP:140.124.xxx.xxx 未訂閱
TG11模組..基本上是用來傳送簡單的命令而已..類似機車的遙控發動器... 加上編解碼IC,可以傳送的距離非常遠..我有測試過..可達到50幾公尺..再遠沒測過了..    至於你說的這個架構.. 基本上我也是有嘗試過... 只不過我的架構是... PC->RS-232->HIN232(電壓準位轉換)->無線發射模組  ~~  無線接收模組->8051的RS-232埠 但是..可以傳送的距離很短..二~三公尺左右..    因此..基本上你的架構應該是可行的.. 只是有些地方可能你可以嘗試一下... 我傳送資料時..大概每秒要傳送30幾筆左右...每筆大約10Byte左右.. 8051才能穩定的接收到資料... 我的Baud Rate = 4800 bps...8N1... 給你參考...希望對你有幫助...^^    另外..你可以到Google用"RWS-434" 關鍵字應該可以查到很多資料.. 還有..元智大學也有相關的文件.. http://designer.mech.yzu.edu.tw/article/articles/technical/(2001-08-30) 無線電收發模組電路製作介紹.htm 發表人 - fnk 於 2005/02/26 05:04:14 發表人 - fnk 於 2005/02/26 05:05:06
2bod
一般會員


發表:0
回覆:5
積分:1
註冊:2005-02-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-26 10:53:23 IP:218.174.xxx.xxx 未訂閱
鮑率設1200看看 灣岸競速
------
灣岸競速
allenc
一般會員


發表:1
回覆:1
積分:0
註冊:2005-02-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-26 14:35:33 IP:140.122.xxx.xxx 未訂閱
我後來的架構也是類似像fnk大那樣的,只是接收端也有hin232然後接pc PC->RS-232->HIN232(電壓準位轉換)->無線發射模組 ~~ 無線接收模組->hin232->rs232->pc fnk大介紹的文章,在做之前的架構時,已經有參考過了。就可以了解的觀念應該是有用進去。 謝謝2bod大,baud rate設1200還是不行。 喔 而且只要我一接上電源,接收端就開始一直收到很多的雜訊,是本來就會降的嗎? 發表人 - allenc 於 2005/02/26 15:16:51
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-27 11:39:27 IP:140.124.xxx.xxx 未訂閱
你可能要嘗試著將傳送資料的"頻率"提高... 例如..每秒傳送字串"123456789"...30-40次... 也就是說..每隔30ms左右..就將字串"123456789"傳送過去... 這樣可以提高資料傳送時的穩定度... 另外..二個模組不要擺太遠..一開始最好離近一點... 模組需要加上天線..會比較好.. 嗯..是的..接收端會一直接收到雜訊.. 若要排除接收到雜訊..則可以自定接收的格式... 例如..若你要傳送"ABC"這三個字元過去... 則你的格式可能可以類似寫成這樣子... $ABCk@ $-->表示前導符號... ABC-->表示欲傳送的資料.. k-->表示檢查碼..Check Sum @-->表示結束符號... 程式可以寫成... 當接收到的字元..是 '$' 時.. 則開始接收資料..並同時儲入Buffer.. 一直接收到..結束字元 '@' 出現...或資料長度大於某個值..才結束接收.. 當字串接收完成後, 再比對Check Sum與傳送的資料是否符合.. 若符合..則表示資料接收正確... 給你參考..希望有幫助..^^ =========== 有興趣,就能進步 =========== 發表人 - fnk 於 2005/02/27 11:44:46
48932005
初階會員


發表:3
回覆:42
積分:29
註冊:2003-09-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-12 18:54:03 IP:61.66.xxx.xxx 未訂閱
呵呵~~~看來有人碰到跟我一樣的問題喔~~我之前有做一個題目,其中也是需要無線傳輸,於是我用的架構跟你們討論的一樣(因為這是最方便的),但是我發現,這需要將傳送的包率達到115200才能夠比較容易接收到,而且為了增加傳輸的可信度,使用了handshake boardbast packet的protocol,因為我這是一個server對很多的client做控制,但都是使用一樣的頻率,所以我是用TDM方式來做,但還是不穩,有時不到1秒就可以控制有時要等一分鐘?!@@a....這種通訊系統實在是太爛了....當下我也找不出方法可以解決就畢業了....但是現在我知道問題所在了 原因是0","1"分別要用不同的狀態來表示,不能直接把"O"當成電位0V送給模組,這樣會變成接收段無法判斷現在是什麼狀態,這麼說好了,如果是送1出來的話還沒什麼錯誤,但rs232是狀態0就是0電位,這時接收端就會接收到雜訊,運氣好的話若雜訊是在TTL的0準位以下,就收到0,但雜訊一個過大,就變成1了,那這時就會出錯 所以很不幸的...不能直接送RS232訊號給模組....所以別偷懶了~~~自己寫個protocol來傳吧,我建議可以遵循紅外線的傳送方式來送,因為PT2262這個無線遙控器IC就是用這樣的方式來傳,大家可以去GOOGLE找這個SPEC.裡面有PROTOCOL的詳細解說或是使用Manchester編碼也是可以的~~不管是用什麼方法,反正原則就是千萬不要用電位0來代表有意義的資料送到無線模組~~說完了>_<||
系統時間:2024-05-07 21:02:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!