ايران ويج

نسخه‌ی کامل: چگونگي تبديل از pic به avr
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام
چطور برنامه و مدار يه ميكروي pic رو به avr تبديل كنم براي ربات بولينگر؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
همین جوری که تبدیل نمی شه
باید خط به خط بخونی و دوباره بنویسی اگه یه زبان استاندارد مثل C باشه زیاد سخت نیست
ha_60 جان ميدونم چي ميگي.
منظورم بيشتر به مدارش بود چون يه كتاب دارم كه كلا بر اساس pic نوشته و طراحي كرده اما من ميكروم Atmega32
هست.
به زبان بسكام براش تعريف ميكنم همه ي برنامه هايي كه بلدم رو اجرا ميكنم و جواب ميده اما روي اين برنامه اصلا خروجي نميده.
موندم كه مدارم مشكل داره يا برنامه؟؟!!
من با pic ها کار نکردم ولی این روش خوندن سنسور فکر کنم فقط مخصوص PIC‌ هاست RB1 و RB2 رو می گم
atmega ها این امکان رو ندارن شما می تونی با ADC هاشون بخونیشون
سنسور رو با یه مقاومت به VCC وصل کن و یه طرفش رو هم زمین بعد ولتاژ وسط رو با ADC میکرو بخون
مقاوت روهم باید به دست بیاری حالا یا حساب کنی یا آزمون و خطا
اول اینکه کامپایلری که برای PIC استفاده میکنی با AVR فرق میکنه
دوم اینکه برای تبدیل مدار به avr کار خاصی نمی خواد فقط باید پورتهارو درست جابجا کنی و مثلا حسگر هارو به ADC میکرو بدی و موتورهارو هم همینطور چون از pwm استفاده نمیکنی پس فرق نداره
اون پایه ی MCLR هم همون پایه ی ریست خودمون توی AVR هستش
دوست عزيز ميدونم منظورت چيه
شما ميگي من سنسورها رو به يكي از port هاي ميكرو معرفي كنم و همين طور هم موتور هارو ... اما من ميخوام از دوتا پورت استفاده كنم ... آخه مگه ميشه مثلا portb رو براي سنسورها به عنوان input معرفي كني و همون port رو براي output براي موتور بگيري ؟؟!!! من portb و port d رو براي سنسورها و موتور در نظر گرفتم اما اصلا جواب نميده ..
تو پروتئوسم امتحان كردم نشد.
اينم برنامشه كه نوشتم بسكام خودم حس ميكنم يه جاي كار برنامه ميلنگه اما نميدونم كجا ؟!
البته بگم من رشتم مهندسي نرم افزاره و هيچ ربطي هم به رباتيك ندارم اما ميخوام از يه جايي شروع كنم..
لطفا اگه مشكلي تو برنامم هست بهم بگيد تا اصلاحش كنم.
بازم ممنون
خب این برنامه به بیسیک نوشته شده و گرچه من از بیسیک کم می دونم ولی باید بگم خیلی سادست و از نظر من مشکلی نداره و مطمئنا مشکل از مداره.
البته میشه از یک پورت برا انجام دو تا کار استفاده کرد ولی من منظورم این نبود خب بهتر همونه که سنسورها رو به یک پورت بدی که ADC باشه و موتورهارو هم به یک پورت دیگه. و اگه تو پروتئوس جواب نداده دیگه نمی دونم مشکل از چیه میخوای فایل پروتئوس و بذار شاید بیشتر تونستم کمک کنم
سلام.

شما چندتا سنسور داري ؟
هر پورت داراي 8 پين هست ، شما قابليت اين رو داريد كه هر كدام از پين هاي هر پورت رو به دلخواه خودتون ورودي و خروجي كنيد ...

اگر دوتا سنسور داريد ، 2 تا پين رو ورودي ...
و اگر دوتا موتور داريد ، 2 تا پين رو خروجي تعريف كنيد و هر 4 تاي اينها از يك پورت مي تونن باشن ...

با اين دستور ...
کد:
config pinX.Y = output/input

موفق باشيد.
يا علي.
من دو تا سنسور استفاده كردم كه هركدوم رو طبق برنامه اي گذاشتم و ديديد به يه پورت معرفي كردم.
دو تا هم موتور استفاده كردم و اونها رو هم مثل سنسورها به دوتا پورت ديگه به عنوان خروجي معرفي كردم .
مشكل اصلي تو proteus اينه كه اصلا خروجي رو به اون پورت هايي كه معرفي ميكنم نميده.
با چنتا از بچه هاي كارشناسي الكترونيك هم مشورت كردم كه هيچي سرشون نميشد... فقط ميخواستن از سر وا كنن.
(البته جسارت نشه خدمت دوستان ) گفتم كه بدونيد از طرف من تمام تلاشها صورت گرفته.
خداييش ديگه كلافه شدم.Angry
اينم فايل proteus :
سلام.

سبك كار حسگر ها چطوريه ؟
وقتي بهش نور مي رسه مقاومتشون كم يا زياد مي شه و در نتيجه ولتاژ پايه تغيير مي كنه و نهايت 0 ، 1 يا 1 ، 0 مي شه ...
درسته ؟

خوب ممكنه نور ضعيف باشه يا ... ، در نتيجه سطح منطقي 0 و يا 1 درست تشخيص داده نشه ...
نمي دونم سنسور چطوره ، اما يا از بافر استفاده كن و يا از اپ امپ ، كه اگر مثل ولتاژ دو سر سنسور 3 ولت بود ، اون رو تبديل به 5 ولت كنه و سطح منطقي تشخيص داده بشه و تغيير كنه ...

توي پروتوس هم احتمالا چون نور به سنسورها نمي رسوني و ضعيتشون تغيير نمي كنه ...
جاي سنسور ها پايه ها رو دستي 0 و 1 كن ببين موتور راه مي يفته يا نه ...
اگر راه افتاد بعد برو عملي با سنسور ببندشون و سنسورها رو هم بذار ...
شايد نيازي به استفاده از بافر و اپ امپ براي سنسورها هم نباشه ... ( امتحان كن )

اين از سنسور ها ...

در مدار موتور ها از سلف استفاده كردي !!
جاي اون سلف بايد مقاومت بذاري ...
همين.

بنظرم مدار موتور هم جالب نيست ، بهتره موتور رو در كلكتور ترانزيستور بذاري و ديود رو دو سر موتور و رو به منبع تغذيه بذاري و پايه ي اميتر رو هم زمين كني ... ( البته احتمالا فرقي نمي كنه ... )

بسته به مشخصات موتور از ترانزيستور مناسب استفاده كن كه بتونه جريان موتور رو تامين كنه و با جرياني كه پايه ي ميكرو مي ده بتونه تحريك بشه ...



موفق باشي.
يا علي.
ممنون از راهنماييت دوست من
يه مطلبي هست اونم اين كه ، من اين مدار رو روي bord پياده كردم اما بازم سنسورها كار نكرد.
اگه تو فايل پروتوس توجه كرده باشي دو تا Logic state گذاشتم و به صورت دستي 0و1 كردم اما مشكل اصلي اينه كه اصلا ميكرو برنامه اي كه بهش ميدم رو اجرا نميكنه ...
فقط اون پين هايي كه به عنوان ورودي 0و1 ميشه رو ميشناسه و اصلا به خروجي نميبره .
رو پورت هاي ديگم امتحان كردم اما نشد...
در مورد موتور هاهم اين كه ميگي مدارش مشكل داره بگم كه اين مدارو از توي يه كتاب برداشتم و نقشش تو تاپيك دومم هست
نميدونم شايدم مشكل داشته باشه ...
وقتي به vcc وصلش ميكنم مثل باد ميچرخه انگار نه انگار كه اصلا ميكروييم هست و بايد دستور بده!!!!!!!!!!!!!!
تموم كارهايي كه تا به امروز بلد بودم رو پياده سازي كردم.
ايكاش ميگفتي برنامش مشكل داره لااقل يه كاري ميتونستم بكنمش... اما توالكترونيك .....................................
صفحه‌ها: 1 2 3