ربات امدادگر با ردیاب خورشیدی _ قسمت اول
شرح مدار Tracer :
چهار مقاومت نوري ( با اسم تجاري فتوسل يا فتو رزيستور ) که در چهار وجه يک مکعب قرار گرفته اند قلب دستگاه را تشکيل مي دهند!
اين مقاومت هاي نوري دقيقا همانند يک مقاومت رفتار مي کنند، زماني که نور به آنها نتابد مقاومت آنها در حدود بي نهايت است ولي چنانچه نور به آنها تابانده شود مقاومت آنها بسته به شدت نور تابيده شده کاهش مي يابد و حتي مقدار آن به حدود چند صد اهم هم مي رسد.
بدين ترتيب مي توان از اين تغيير مقاومت بر اثر تغيير شدت تابشي نور خورشيد استفاده کرده و به کمک چهار عدد از اين مقاومت هاي نوري مي توانيم در هر لحظه جهت تابش نور خورشيد را مشخص کنيم.
چهار مقاومت نوري در مداري قرار گرفته اند تا به کمک آنها در هر لحظه شدت نور خورشيد در چهار جهت مختلف اندازه گيري شود.بدين ترتيب که هر کدام که شدت نور بيشتري را دريافت مي کند، در خروجي مربوطه ولتاژ بيشتري ظاهر مي شود. سپس اين ولتاژ ها بوسيله يک مبدل آنالوگ به ديجيتال (از مبدل داخلی میکرو استفاده شده است) به اعداد باينري تبديل مي شوند.
اين اعداد که مقدار آن ها از صفر تا 1023 تغيير مي کند متناسب با شدت نور تابشي مقدار متفاوتي دارند. هر چه نور بيشتري به مقاومت نوري بتابد، عدد مربوطه بزرگتر است. بنا بر اين با مقايسه اين چهار عدد مي توان به مکان دقيق خورشيد پي برد.
سپس در یک حلقه بصورت پیوسته این اعداد مقایسه می شوند و در صورتی که عدد مربوط به LDR جلو بزرگتر بود به این معنی است که جهت سلول خورشیدی رو به خورشید است ، در غیر این صورت متناسب با اینکه کدام LDR نور بیشتری را دریافت می کند موتور را در جهت مناسب حرکت می دهیم.
لازم به ذکر است که دقت اين سنسور ها بسيار بالا ميباشد به طوري که از تکنيک نرم افزاري براي کاهش دقت آنها استفاده شده، در غير اين صورت صفحات خورشيدي دچار يک حرکت نوساني ناخواسته مي شد.

برنامه مدار ردیاب به زبان بیسیک :
$regfile = "m8def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto
Config Portc = Input
Config Portb = Output
Dim Ldr_j As Word
Dim Ldr_a As Word
Dim Ldr_r As Word
Dim Ldr_ch As Word
Dim A As Byte
Dim R As Byte
Dim Ch As Byte
M_1 Alias Portb.0
M_2 Alias Portb.1
Do
First:
Start Adc
Ldr_j = Getadc(0)
Ldr_a = Getadc(1)
Ldr_r = Getadc(2)
Ldr_ch = Getadc(3)
Stop Adc
A = Ldr_j - Ldr_a
R = Ldr_j - Ldr_r
Ch = Ldr_j - Ldr_ch
If Ldr_j > Ldr_a Then
If Ldr_j > Ldr_r Then
If Ldr_j > Ldr_ch Then
Reset M_1
Reset M_2
End If
End If
End If
If Ldr_a > Ldr_j Then
Set M_1
Reset M_2
Waitms 100
goto first
End If
If Ldr_r > Ldr_j Then
Set M_1
Reset M_2
Waitms 50
goto first
End If
If Ldr_ch > Ldr_j Then
Reset M_1
Set M_2
Waitms 50
goto first
End If
Loop
End 'end program
همونطور که دیدید نوشتن این قسمت از برنامه کار دشواری نبود و توضیح خاصی نمی مونه بجز قسمت مکانیک ردیاب که اونم با کمی ابتکار میتونید انجامش بدین.
سخن نویسنده : به تارنمای تخصصی دنیای میکروالکترونیک خوش آمدید . این تارنما با هدف افزایش سطح علمی دانشجویان رشته مهندسی برق راه اندازی شده است . دراین وبلاگ مطالب گوناگونی همچون مقالات علمی ، مطالب آموزشی ، تحلیل و بررسی سوالات کنکور مهندسی برق ، جزوات دانشگاهی ، جزوات کنکوری، فناوری های نوین در این رشته و ... قرار گرفته است امیدوارم با قرار دادن این مطالب سهم کوچکی در پیشرفت هرچه بیشتر دانشجویان در این رشته داشته باشم . شما می توانید نظرات خود را برای بهبود هرچه بیشتر این وبلاگ در قسمت نظرات درج کنید با تشکر