سلام . به نظرتون استفاده از 5 تا cny70 در مسیر یاب برای یه سرعت زیاد کافیه ؟
قیمت این دوسنسور رو هم اگه بدین ممنون میشم
TCRT5000
cny70
اما سوال اصلیم
یه توضیحی در مورد pwm برای کنترل سرعت توی ربات میدین . برنامش و طرز کارش
خوشم میاد کلی تایپیک و مقاله در مورد PWM تو فروم موجوده و فقط
یه سرچ کوچولو می خواد !!!!
قیمت ها رو هم برو تو روبوکیو ببین :
http://roboeq.com/modules.php?op=modload...link&cid=8
5 تا سنسور میشه ولی بیشتر بشه بهتره !!
این مقاله رو هم در مورد pwm بگیر :
http://forum.iranled.com/attachment.php?aid=1695
این تایپیک ها رو هم ببین :
http://forum.iranled.com/showthread.php?tid=11453
http://forum.iranled.com/showthread.php?tid=15969
اینم از
کتاب سعید یه نفر
> پیکر بندی تایمر/کانتر یک در مد PWM :
pwm یا مدولاسین پهنای پالس یکی از امکانات پرکاربرد در avr میباشد ، از این موج برای کنترل دور موتور ساخت پالس مربعی و دیگر پالس ها و ... استفاده میشود
در این نوع مدولاسیون دامنه پالس ثابت است و نسبت زمان صفر به یک ان تغییر میکند برای درک بیشتر موضوع بهتر است کلیه مثالها را اجراکنید.
راه اندازی تایمر/کانتر 1 در مد pwm با دستورات زیر انجام میشود :
کد php:
Config Timer1 = Pwm,Pwm = 8|9|10 , Compare A Pwm=Clear Up |Clear Down |Disconnect ,Compare B Pwm =Clear Up |Clear Down |Disconnect , Prescale=1|8|64|256|1024
Pwm = 8|9|10
pwm میتواند 8 یا 9 یا 10 بیتی باشد که مقدار بیت هرچه بیشتر یاشد دقت موج بیشتر است (تعدا پله بیشتر است )
pwm 8 بیتی تا 256 سرریز میشود (شما میتوانید 256 واحد ان را کم یا زیاد کنید) pwm 9 بیتی تا 512 و pwm 10 بیتی تا 1024 سرریز میشود.
Compare A Pwm=Clear Up |Clear Down |Disconnect:
در صورت استفاده از گزینه Clear Up، موج pwm از سطح 1 شروع میشود و در صورت انتخاب Clear Down ، موج pwm از سطح صفر شروع میشود و در صورت انتخاب Disconnect ، هنگامی که مقدار pwm با pwm1a که در برنامه مشخص میشود برابر شد ، ارتباط پالس با پایه ی oc1a قطع میشود .
Compare b Pwm=Clear Up |Clear Down |Disconnect:
در صورت استفاده از گزینه Clear Up، موج pwm از سطح 1 شروع میشود و در صورت انتخاب Clear Down ، موج pwm از سطح صفر شروع میشود و در صورت انتخاب Disconnect ، هنگامی که مقدار pwm با pwm1b که در برنامه مشخص میشود برابر شد ، ارتباط پالس با پایه ی oc1b قطع میشود .
Prescale :
این گزینه و مقدار کریستال در تعیین فرکانس pwm نقش دارند . برای تولید PWM با فرکانس های متفاوت از این گزینه ها استفاده می شود.
با استفاده از دو دستور زیر میتوان یک عدد ثابت یا متغییر را در ریجیستر pwm قرار داد تا مقدار pwm با انها مقایسه شود:
یا
کد php:
COMPARE1A = x
COMPARE1B = x
مثال:
کد php:
$regfile = "m16def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
Dim A As Byte
Dim B As Byte
Config portd = output
Do
Pwm1a = A
Pwm1b = B
Incr A
Incr B
Waitms 500
Loop
End
در مثال بالا مقدار دو متغییر a و b در ریجیستر pwm قرار داده شده اند ، مقدار انها هر یک میلی ثانیه افزایش میابد .
زمان تناوب پالس pwm از رابطه ی زیر بدست میاید:
زمان / 1 = فرکانس
فکر میکردم tcrt گرون تر باشه .دوتاش هم قیمت بود ! خودت کدومشو پیشنهاد میدی ؟
TCRT5000 گزینه خوبیه ولی ON2179 از همشون بهتره !!!
معمولي يام درست راه بندازي بهتر .جرا پول اضافه بذي؟؟
چرا سی ان وای از LTH1550استفاده کن من یه 45سنسورش رو ساختم با موتور1200RPM همه مسخرم می کردن ولی اول کشور شدم
اامتحان کن جواب می ده