Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
資深會員
|
參照:
nicecookie 大大說的很有道理,你可以先試試一組看動作正常否? 先確定硬體是OK的再來改軟體,超音波的硬體還蠻麻煩的,光那個偶合中周就不是那麼好調的. 先做好一組,再複製貼上5次就搞定了(中間還有很多問題要克服,加油 ^^~)
發表於: 2009/5/11 9:24
|
|||
|
Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
資深會員
|
參照:
嗯,5個seneor可以共用一個timer1就夠了,但input capture只有CCP1,CCP2應該是沒辨法共用的,所以用input capture的方式好像行不通哦... 不知道是不是我的認知錯誤,或是誤解了master的意思.
發表於: 2009/5/11 9:18
|
|||
|
Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
資深會員
|
參照:
1.超音波大多是40KHZ的規格,也就是說輸出脈波是12.5us hi/lo ,相對振盪頻率最小要用8M或16MHZ. 2.3 PIN式的超音波感應器,應該是一腳電源,一腳接地,一腳收發共用. 3.基本做法是送出信號後,等待一段時間(大約1MS),再把腳位切換到輸入(同時開啟timer1計時),等待LO信號,然後把時間存起來,然後再等待一段時間(看你自己的應用而定避免第一個sensor打出去的信號被第2顆sensor收到),依序做完所有的感應器 再來做距離的比較處理就可以了. 4.基本上可以把timer1設定成58US中斷一次(用來計算距離大約就是1公分) 5.我之前用16F72做的,距離上可以測到蠻準距的.
發表於: 2009/5/11 9:09
|
|||
|
Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
資深會員
|
參照:
先釐清一下 請問,按照你目前的線路 如果只做一個sensor的話 你實作結果(軟硬體)有甚麼問題嗎
發表於: 2009/5/10 12:53
|
|||
|
Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
初級會員
|
參照:
Hello Master, 謝謝你的回應. 我目前同時使用五個sensors 依序放在PIN_B3~PIN_B7腳上面, 外部電路作該怎麼去做? 請指點一下. 謝謝
發表於: 2009/5/10 11:13
|
|||
|
Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
資深會員
|
5個sensor並不是同時工作,Timer一個就夠了。其實用外部電路作一下變成5個Ultrsonic用input capture抓就好了。
發表於: 2009/5/9 14:04
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|
Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
初級會員
|
參照:
nicecookie, 謝謝你的回應, 我使用五個 Parallax的 3 pins ultrasonic 測距, 他接收跟發送訊號是同一個pin, 我是利用 timer1 的中斷去計算echo時間,然後計算距離. 我的問題是,我的timer只有三個可是如果我想要同時用五個該sensors 該怎麼做呢?? 之前我看到的那個程式,是對方讓他的sensor依序發送訊號,我想這是必要的,要不然可能會互相干擾,但是,我不知道該怎麼去轉換每個pin腳,就是說第一個sensor他發送接收完訊號之後,程式裡面要該怎麼做去達到,自動跳到下一個pin腳讓他去發送接收訊號呢??? 希望各位前輩指點一下........... 謝謝
發表於: 2009/5/9 1:43
|
|||
|
Re: 請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
資深會員
|
看半天,還是不了解你的sensor是需要怎樣的作動
方便再描述清楚點嗎 基本上PIC18做得到的,PIC16也都可以啦
發表於: 2009/5/8 17:41
|
|||
|
請教高手一個程式/硬體的問題
|
||||
---|---|---|---|---|
初級會員
|
哈囉 大家好,
我想請教一下不知道是程式還是硬體的問題. 我使用PIC 16F877. 加上 CCS C compiler 我目前同時使用五個sensors 依序放在PIN_B3~PIN_B7腳上面, 每一個sensor會先發出一個 high並且等待訊號變low, 等訊號一變low之後用 timer1作中斷,每中斷一次之後啟動下一個. 在這樣的情況下,程式該怎麼寫能夠做到PIN腳自動跳下一個呢?? 我看過有人寫 int32 pin =PIN_B3 output_high( pin); output_low(pin); while(!input(pin)) ......function code...... while(input(pin)) .......function code.......... 但是問題是,我的compiler 不接受 int16 pin =PIN_B3 這樣的寫法, 也不接受 output_low(pin); 對方使用的是 PIC 18F4520, 這是因為 單晶片 的功能上的限制嗎????? 有沒有辦法讓我的腳位自動換 請各位高手幫幫忙,指點一下
發表於: 2009/5/8 16:38
|
|||
|