رفتن به مطلب

ارسال های توصیه شده

استفاده از RF در طرحهایتان راه حل مناسبی است. ولی اگر شما نیز مانند من مبتدی باشید , ساختن موفقیت آمیز یک فرستنده-گیرنده Solid RF سخت است.

 

وقتی که من شروع به کار کردم ,نمی دانستم فلز برد بورد مانند خازنهای کوچکی عمل نموده و باعث اعوجاج سیگنال فراوانی شده ,که در نتیجه عملکرد و پویایی مدار تغییر میکند.

 

پس از تحقیق زیاد جفت فرستنده-گیرنده TWS 434 و RWS 434 از Reynolds Electronics را پیدا کردم.البته من تولیدات مشابهی از MING Microsystems و Radioshack را نیز امتحان کردم, اما محصول Reynolds Electronics از لحاظ قابلیت , قیمت و راحتی کار با آن بهتر از بقیه بود.بنابراین به کمک آن و نیز دو میکروکنترلر PIC16F84 کار کردن روی رابط سریال RF خود که واسط بین کنترل گر(جوی استیک) و روبوت بود را شروع کردم.شما می توانید این قطعات را در

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
بیابید.

لینک به دیدگاه

bot.jpg

 

RufBOT از سیستم TWS434RF استفاده می کند

overhead.jpg

نمای بالای ساختمان روبوت که روی یک برد بورد کوچک قرار دارد

rws434.gif

شماتیک مدار

لینک به دیدگاه

من متوجه شدم جفت مدار فرستنده-گیرنده و ارتباط سریال تعبیه شده در زبان برنامه نویسی های من,با یکدیگر به خوبی کار می کنند.من مطمئن نبودم , مدار با تبادل سریال غیرهمزمان و با نرخ (باود) 9600 خوب کار کند چون در سرعتهای بالا انتظار یک سری مشکلات را داشتم, اما در عمل به اشکالات اندکی برخورد کردم.من به سادگی موقعیت پتانسیومتر موجود در جوی استیک را با استفاده از دستور POT که از دستورات PICBasic است, خواندم و نتیجه را در موقعیت B0 قرار دادم. و از آنجا با دستور SEROUT محتوای B0 حافظه را به پایه 6 فرستنده TWS 434 ارسال نمودم تا داده دریافتی از پین 3 , RWS 434 را خوانده و حاصل را در B0 قرار دهدم.

مقادیر موجود در B0 با موقعیت جوی استیک رابطه مستقیم دارد.ورودی بالاتر از 150 نشانگر "راست" است , پایین تر از 106 علامت چرخش به "چپ" بوده و میان این دو , نشان دهنده "مرکز" است.با استفاده از این اعداد می توان یک محدوده تعریف کرد

لینک به دیدگاه

در این نقاط اشارات(جهت حرکت دسته بازی) به سادگی قابل مشاهده است.از طریق اعداد فرستاده شده می توانیم مسیر(راست ,چپ و غیره) و همچنین میزان انحراف به چپ و راست را تعریف کنیم. با این داده ها امکان تعریف "کنترل سرعت" وجود دارد.برای اعداد دورتر از 128 (مرکز) سرعت بیشتری اعمال شده است.در مورد این مدار , من از پایه های PORTA از PIC برای کنترل مسیر موتور استفاده کردم ولی کنترل سرعت نکردم.از آنجا که داده سریال ده بیتی است(یک بیت شروع ,هشت بیت داده و یک بیت پایانی) می توانیم در عرض یک ثانیه , 960 دستور را به PIC گیرنده بفرستیم که برای قطعات زیر 20 دلار بد نیست.با استفاده از آنتن هایی که برای تلفن های بیسیم 900 MHz ساخته شده است , توانستم در فضای آزاد به برد 350 فوت برسم و هنگامی که تغذیه گیرنده را کمی از 12 ولت بیشتر کردم به بورد 500 فوت نیز رسیدم(این کار توصیه نمی شود).

توجه:من از خروجی خطی برای گیرنده ام استفاده کردم چون می خواستم ببینم حداکثر نویزی که با وجود آن(که تولید اعوجاج در سیگنال می کند) مدار کار می کند چقدراست.در موردی که توان سیگنال به بورد 500 فوت رسید هر نوع نویز در فرکانس باعث بروز اشکال می شود.

قطعه کد زیر نشان می دهد که قطعات موجود در سیستم شما چقدر ساده کار می کنند.

لینک به دیدگاه

TX CODE:

symbol trisb = 134

symbol trisa = 133

symbol portb = 6

symbol porta = 5

poke trisa, 1

low 1 'use this line if enable pin on 245 is not grounded.

input 0

start:

B0 = 0

pot 0,25,B0

serout 1,n9600,(B0)

goto start

left:

serout 1,n2400,(255)

goto start

right:

serout 1,n2400,(1)

goto start

end

RX CODE:

symbol trisb = 134

symbol trisa = 133

symbol portb = 6

symbol porta = 5

poke trisa ,0

poke porta ,0

low 0

input 1

start:

B0 = 0

serin 1,n9600,B0

if B0 > 150 then right

if B0

goto stop

right:

poke porta, 6

goto start

left:

poke porta, 9

goto start

stop:

poke porta, 0

goto start

end

لینک به دیدگاه
×
×
  • اضافه کردن...