۰۴-فروردین-۱۳۹۳, ۱۰:۱۳:۵۵
سلام
یه ربات مسیریاب که خیلی وقت پیش ساخته بود و خوبم جواب میداد:)
فیلم عملکردش رو هم میتونید از پیوست دریافت کنید.
فایل شماتیک، شبیه ساز، برنامه به زبان بیسیک و pcb پیوست شد.
لیست و کاربرد قطعات ربات مسیریاب
_میکروکنترلر؛
میکروکنترلر یک حافظه قابل برنامه ریزی دارای امکانات بسیاری نظیر پروتکل های ارتباطی ، کانالPWM ، مبدل آنالوگ به دیجیتال ، تایمر و کانتر است.
در این پروژه از میکروکنترلر ATMEGA 16 از خانواده AVR جهت پردازش و برنامه نویسی ربات مسیریاب استفاده شده است.
_سنسور IR؛
سنسورها تنها یک انتقال دهنده ویا مبدل هستند که پدیده های فیزیکی را تبدیل به ولتاژ و جریان می کنند
در پروژه ساخت ربات مسیریاب از سنسورهای مادون قرمز، شامل فرستنده و گیرنده جهت تشخیص مسیر استفاده می شود.
در این سنسور نور از فرستنده به یک سطح فرستاده می شود که درصورت برگشت نور به گیرنده رسیده و سطح ولتاژ خروجی تغییر می کند و میکروکنترلر خروجی سنسور را دریافت و پردازش های لازم را انجام می دهد.
_مقایسه کننده؛
این قطعه یک مبدل آنالوگ به دیجیتال بوده که وظیفه آن مقایسه سطح ولتاژ دوپایه ورودی (وارونگرا و غیروارونگرا) است؛
درصورتی که ولتاژ پایه وارونگرا بیشتر از ولتاژ پایه غیروارونگرا باشد، خروجی یک منطقی و در حالت بالعکس صفر منطقی خواهد بود.
_درایور موتور؛
موتور در موقع راه اندازی جریان بالایی می کشد که معمولا بدون استفاده از درایور و مدار راه انداز این جریان تامین نمی شود؛
در این پروژه از درایور L298 با توانایی تامین جریان حداکثر 2 آمپر و دوپایه مجزا برای راه اندازی همزمان دو موتور استفاده شده است.
_موتور ؛
در این پروژه از موتور DC گیربکس دار با سرعت دور 300 دور بر دقیقه استفاده شده است.
_ولتاژ تغذیه؛
جهت تامین ولتاژ کاری مدار باید متناسب با نیاز از تغذیه DC استفاده کرد؛
که می توان از خروجی ثابت آی سی رگولاتور، منبع تغذیه یا باتری های مختلف استفاده کرد.
_پل دیود؛
موتور در موقع راه اندازی جریان بالایی می کشد که درصورت برگشت این جریان به مدار، می تواند به قطعات مدار آسیب برساند که برای جلوگیری از برگشت این جریان به داخل مدار و جلوگیری از ایجاد نویز از پل دیود و خازن بر روی موتور استفاده شده است.
موفق باشید.
یه ربات مسیریاب که خیلی وقت پیش ساخته بود و خوبم جواب میداد:)
فیلم عملکردش رو هم میتونید از پیوست دریافت کنید.
فایل شماتیک، شبیه ساز، برنامه به زبان بیسیک و pcb پیوست شد.
لیست و کاربرد قطعات ربات مسیریاب
_میکروکنترلر؛
میکروکنترلر یک حافظه قابل برنامه ریزی دارای امکانات بسیاری نظیر پروتکل های ارتباطی ، کانالPWM ، مبدل آنالوگ به دیجیتال ، تایمر و کانتر است.
در این پروژه از میکروکنترلر ATMEGA 16 از خانواده AVR جهت پردازش و برنامه نویسی ربات مسیریاب استفاده شده است.
_سنسور IR؛
سنسورها تنها یک انتقال دهنده ویا مبدل هستند که پدیده های فیزیکی را تبدیل به ولتاژ و جریان می کنند
در پروژه ساخت ربات مسیریاب از سنسورهای مادون قرمز، شامل فرستنده و گیرنده جهت تشخیص مسیر استفاده می شود.
در این سنسور نور از فرستنده به یک سطح فرستاده می شود که درصورت برگشت نور به گیرنده رسیده و سطح ولتاژ خروجی تغییر می کند و میکروکنترلر خروجی سنسور را دریافت و پردازش های لازم را انجام می دهد.
_مقایسه کننده؛
این قطعه یک مبدل آنالوگ به دیجیتال بوده که وظیفه آن مقایسه سطح ولتاژ دوپایه ورودی (وارونگرا و غیروارونگرا) است؛
درصورتی که ولتاژ پایه وارونگرا بیشتر از ولتاژ پایه غیروارونگرا باشد، خروجی یک منطقی و در حالت بالعکس صفر منطقی خواهد بود.
_درایور موتور؛
موتور در موقع راه اندازی جریان بالایی می کشد که معمولا بدون استفاده از درایور و مدار راه انداز این جریان تامین نمی شود؛
در این پروژه از درایور L298 با توانایی تامین جریان حداکثر 2 آمپر و دوپایه مجزا برای راه اندازی همزمان دو موتور استفاده شده است.
_موتور ؛
در این پروژه از موتور DC گیربکس دار با سرعت دور 300 دور بر دقیقه استفاده شده است.
_ولتاژ تغذیه؛
جهت تامین ولتاژ کاری مدار باید متناسب با نیاز از تغذیه DC استفاده کرد؛
که می توان از خروجی ثابت آی سی رگولاتور، منبع تغذیه یا باتری های مختلف استفاده کرد.
_پل دیود؛
موتور در موقع راه اندازی جریان بالایی می کشد که درصورت برگشت این جریان به مدار، می تواند به قطعات مدار آسیب برساند که برای جلوگیری از برگشت این جریان به داخل مدار و جلوگیری از ایجاد نویز از پل دیود و خازن بر روی موتور استفاده شده است.
کد:
$regfile = "m16def.dat"
$crystal = 1000000
'==============================================================================
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64
Config Portd = Output
Config Porta = Input
'==============================================================================
Dim A As Word
Dim B As Word
'==============================================================================
Do
A = Pwm1a
B = Pwm1b
'============================= jolo ===========================================
If Pina.2 = 1 And Pina.4 = 0 And Pina.0 = 0 Then
Portd = &B00000101
A = 1023
B = 1023
Elseif Pina.0 = 0 And Pina.2 = 0 And Pina.1 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
If Pina.1 = 1 And Pina.4 = 0 And Pina.0 = 0 Then
Portd = &B00000101
A = 1023
B = 1023
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
If Pina.3 = 1 And Pina.4 = 0 And Pina.0 = 0 Then
Portd = &B00000101
A = 1023
B = 1023
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
If Pina.2 = 1 And Pina.1 = 1 And Pina.4 = 0 And Pina.0 = 0 Then
Portd = &B00000101
A = 1023
B = 1023
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
If Pina.2 = 1 And Pina.3 = 1 And Pina.4 = 0 And Pina.0 = 0 Then
Portd = &B00000101
A = 1023
B = 1023
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
'=============================enheraf b chap===================================
If Pina.0 = 1 And Pina.1 = 1 Then
Portd = &B00000001
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
If Pina.0 = 1 Then
Portd = &B00000001
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
'=============================enheraf b rast===================================
If Pina.4 = 1 And Pina.3 = 1 Then
Portd = &B00000100
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
If Pina.4 = 1 Then
Portd = &B00000100
Elseif Pina.0 = 0 And Pina.1 = 0 And Pina.2 = 0 And Pina.3 = 0 And Pina.4 = 0 Then
Portd = &B00000000
End If
Loop
موفق باشید.