समय दो पिनों के बीच अंतर उच्च जा

H

hobby_85

Guest
हाय, मैं सही समय अंतर यह मेरी तस्वीर 16F690 पर दो पिनों के लिए ले जाने के लिए उच्च उपाय की आवश्यकता है.असल में मैं क्या करने का इरादा है समय के अंतर का उपयोग करने के दो अंक के बीच की दूरी को मापने.एक स्रोत एक आरएफ बाहर भेजता है और एक ही समय में एक अल्ट्रासोनिक नाड़ी, और क्योंकि अमेरिका के संकेत थोड़ा द्वारा आरएफ संकेत धीरे चलना, मैं एक बार फर्क मिलना चाहिए.

वैसे भी, मैं कोड लिखा है, लेकिन समस्या मैंने मैंने एक दूरी के लिए मूल्यों के दो सेट रख रही है.तो चलो IM 1.2m दूर कहा, मैं 11.6m या 19.05m.जब IM 2.4m, मैं 12.8m या 20.2m.मूल रूप से कोई दूर दूर के लिए, मैं दो जवाब हो रही रखो.अगर मैं सिर्फ एक ही है, मैं शायद एक 'ज में () सी.के.' मेरे कोड को जोड़ने के लिए इसे ठीक कर सकती है, लेकिन जब से IM दो जवाब हो, मैं नहीं जानता कि क्या करना है.मैं अपनी सटीक नहीं पता है, नहीं सटीक के पास वैसे भी, लेकिन सिर्फ अभी के लिए 2 जवाब समस्या को हल करने की कोशिश कर रहा IM.

ive जुड़ी मेरी कोड.कृपया, कृपया, कृपया कोई मदद / सुझाव / सलाह महान होगा.धन्यवाद सभी

कोड:# शामिल <16F690.h>

# INTRC, NOWDT, NOPROTECT, BROWNOUT, रखो, एच एस फ़्यूज़

देरी का उपयोग करें (= 4,000,000 घड़ी #)

rs232 का उपयोग करें # बॉड (19,200 =, xmit = PIN_B7, rcv = PIN_B5)int16 सीटीआर;

int फिसल गया;

int tripped1;

लंबे मूल्य;

int काउंटर;

दूरी फ्लोट;

int16 ctr1;int_CCP1 #

शून्य CCP1_isr शून्य ()

(

मूल्य CCP_1 =;

मूल्य मूल्य = (काउंटर * 65536);

= 1 फिसल गया;

disable_interrupts (INT_CCP1);

)int_TIMER1 #

शून्य TIMER1_isr शून्य ()

(

काउंटर काउंटर = 1 ;

)शून्य मुख्य ()

(setup_adc_ports (NO_ANALOGS | VSS_VDD);

setup_timer_1 (T1_INTERNAL | T1_DIV_BY_8);

enable_interrupts (अंतर्राष्ट्रीय);

setup_ccp1 (CCP_CAPTURE_RE);(;;){ के लिएcontact_slave3 (); / / इस के बाद, PINC1 उच्च जाओ, PINC5 द्वारा बारीकी से पालन होना चाहिए(सीटीआर = 0; सीटीआर <65,535; सीटीआर ) (PINC1 के लिए / रुको / के लिए उच्च मध्यांतर तक जाने के लिए

अगर (इनपुट (PIN_C1)) (

set_timer1 (0); / / 0 से टाइमर मूल्य निर्धारित करते हैं, गिनती शुरू

enable_interrupts (INT_TIMER1);

काउंटर = 0;

= 1 सीटीआर; / / PINC1 उच्च गया था, सीटीआर सेट = 0, तोड़

तोड़;

)

)(सीटीआर == 1) (/ तो / इस बिंदु पर, सी 1, उच्च शुरू टाइमर गया और C5 के लिए प्रतीक्षा को उच्च जानाenable_interrupts (INT_CCP1); / / मध्यांतर तक pinC5 की बढ़ती किनारे का इंतज़ार

(ctr1 = 0; ctr1 <10000; ctr1 ) के लिए (अगर (गच्चा) (delay_ms (200);

printf TDOA ( "है:% लू हमें \ r \ n" मूल्य,);

दूरी = (मूल्य) * 0.000008 () * 348.4 ();

printf दूरी ( "है:% च मीटर \ r \ n", दूरी);

= 0 फिसल गया;

= 0 दूरी;

0 = मूल्य;

tripped1 = 1;

तोड़;

)

)अगर (tripped1 == 0) (

printf ( "\ r \ nNO अमेरिका का पता \ r \ n");

tripped1 = 0;))

और (/ / PINC1, उच्च त्रुटि नहीं किया

printf ( "\ पाया r \ नहीं nSlave नोड 3 आरएफ हस्ताक्षर \ r \ n");)delay_ms (1000);

= 0 फिसल गया;

tripped1 = 0;

काउंटर = 0;))

 
क्या आपने पुष्टि की है कि प्रसारण उपकरण सच में एक ही समय में दोनों संकेत भेज रहा है?

इसके अलावा, क्या TDOA हैं मूल्यों आप इन दो माप दूरी के लिए देख रहे हैं?

 
ChrisC ने लिखा है:

क्या आपने पुष्टि की है कि प्रसारण उपकरण सच में एक ही समय में दोनों संकेत भेज रहा है?इसके अलावा, क्या TDOA हैं मूल्यों आप इन दो माप दूरी के लिए देख रहे हैं?
 
hobby_85 ने लिखा है:

अपने सवाल का जवाब हाँ, मैं अगर दो संकेत एक ही समय में ट्रांसमीटर छोड़ देख देख लिया है.
यह ऐसा लगता है.
हालांकि, यहां तक कि अगर वहाँ एक कुछ अन्य के बाद जा संकेत के संदर्भ में कुछ अंतराल है, उपकरण प्राप्त करने के लिए लगातार एक ही अंतराल अधिकार मिल जाना चाहिए?
 
यदि आप frequancy tym क्षेत्र में काम कर रहे हैं तो वें frewquancy tym incease स्वचालित रूप से कम हो जाएगा.

 
जवाब में देरी के बारे में क्षमा करें.बस क्रमांक बातें अलग रखा और उसे वापस आने लगा.दुर्भाग्य से चाल फ्लॉप काम करते हैं.

उद्धरण:क्या दोनों एक संकेत अनुरूप निर्धारित देरी (पर कोई नहीं सहित के साथ ट्रांसमीटर छोड़ सभी) के बीच उन्हें?

 
hobby_85 ने लिखा है:

usound संकेत से परिलक्षित होता है और फिर एक तुलनित्र के माध्यम से चला जाता है.
कि देरी की एक बिट की व्याख्या हो सकती है.
अभी यकीन है कि IM अगर यह वास्तव में है कि लंबे समय हालांकि लेता है.
(2 opamps और तुलनित्र 1)
 

Welcome to EDABoard.com

Sponsor

Back
Top