PDA

View Full Version : درخواست کنترل دو موتور با پورت پارالل با زبان C



jahromy
جمعه 16 اسفند 1387, 12:13 عصر
با سلام

من قصد دارم یک ماشین که دارای 2 موتور DC ساده هست را با صفحه کلید به واسطه کامپیوتر از پورت پارالل کنترل کنم برای همین از کلیدهای جهت نما برای کنترل در سمت های مختلف
و از کلیدهای دیگر هم برای خواندن از ورودیهای پارالل و گرفتن خروجی از پورت پارالل به همان صورتیکه در این آدرس (http://barnamenevis.org/forum/showthread.php?t=150549) گفتم استفاده کنم

مشکل اصلی من اینه که اصلا از برنامه نویسی سر رشته ندارم چون رشتم الکترونیکه
ممنون میشم پاسخ فرمایید

SamaPic
جمعه 16 اسفند 1387, 22:01 عصر
با سلام خدمت دوست عزيز.
شما در صورتي كه قرار باشد از صفحه كليد كامپيوتر براي مقصود خود استفاده كنيد كار سختي در پيش داريد ، ولي اگر قرار باشد در خود صفحه كليد را طراحي كنيد كار در پيش روي شما بسيار ساده است.
البته ساخت و طراحي برد شايد سخت باشد.
دوست من شما بايد يك صفحه كليد بوسيله ي يك آي سي AVR تهيه كنيد.
مبناي فشرده شدن كليد ها را مقاوت مدار در نظر بگيريد و به فراخور نياز كليد بگذاريد.
اين يك راه.اگر باز هم مشكلي داشتيد سوال كنيد.
يك سوال : با كد ويژهن مي نو يسيد ؟
خدانگهدار.

اين مطالب قبلي كه در پست ديگر آمده.
اين كه شما مي گوييد از برنامه نويسي سر رشته نداريد خيلي كار را سخت كرد و شايد هم غير ممكن.
من تا جايي كه بتوانم به شما كمك مي كنم ولي كمك اصلي اينگونه نمي شود.كار اصلي با خود شماست.
اهل كجايي ؟ البته مشكلي را بر طرف نمي كند.
به هر حال من آماده ي كمك هستم.
خدانگهدار.

jahromy
یک شنبه 16 فروردین 1388, 21:27 عصر
اگه يكنفر ژاسخ بده ممنون ميشم

kernel
دوشنبه 17 فروردین 1388, 12:33 عصر
مشکل اینجاست که شما با یک پورت بسیار قدیمی و تقریبا بی استفاده می خواهین کار کنین

اگه تو پروژه تغییرات اساسی ایجاد کنین شاید بشه کاری کرد !

محمدامین شریفی
چهارشنبه 02 اردیبهشت 1388, 13:45 عصر
مشکل اینجاست که شما با یک پورت بسیار قدیمی و تقریبا بی استفاده می خواهین کار کنین

اگه تو پروژه تغییرات اساسی ایجاد کنین شاید بشه کاری کرد !
با سلام خدمت اساتید بزرگوار Kernel و SamaPic جان.
دوستان من هم ع (http://barnamenevis.org/forum/showthread.php?p=709546#post709546)لا (http://barnamenevis.org/forum/showthread.php?p=655711#post655711)قه مند (http://www.eca.ir/forum2/index.php?topic=22853.0) به مبحث "ارتباط با وسایل جانبی از طریق کامپیوتر هستم".یعنی در حقیقت چیزی که در مسابقات روباتیک میبینید.یعنی یک ربات بوسیله کامپیوتر اداره شود.در ابتدای کار قصد من اداره ربات نیست.روشن شدن یک LED هم کافیست.لطفا توضیح دهید که باید "دنبال چه مبحثی باشم".در رابطه با زبان برنامه نویسی رایانه و انتخاب میکرو هم نمیخواهد ریز شوید.اگر لازم باشد codevision یا bascom و حتی AIR برای ARM هم مطالعه میکنم و در سمت رایانه به سمت CPP میروم.
من میخواهم بدانم چگونه میتوانم بوسیله "زبان برنامه نویسی" که در ویندوز اجرایش کردم(بوسیله هر درگاهی که کامپیوتر را به میکرو وصل میکنم)میتوانم با "زبان برنامه نویسی" که در میکرو در حال کار است ارتباط برقرار کنم.
اگر مثال ساده ای با AVR دارید و یا "واژه ای" برای جستجو پیشنهاد کنید.از همه ممنون میشوم و تشکر میکنم.
بچه ها خیلی نیازمند کمکتون هستم.

jahromy
یک شنبه 06 اردیبهشت 1388, 21:20 عصر
خوب اگر بتونید در نوشتن برنامه ای که ارتباط با لوازم جانبی از طریق پورت usb به من کمک کنه ممنون میشم

محمدامین شریفی
دوشنبه 07 اردیبهشت 1388, 07:36 صبح
خوب اگر بتونید در نوشتن برنامه ای که ارتباط با لوازم جانبی از طریق پورت usb به من کمک کنه ممنون میشم
توی اینترنت دنبال USB Interface بگردی پیدا میکنی.هم برای زبان میکرو پیدا میشه هم برای زبان دسکتاب.
بچه ها ما داریم در فارم روی virtual Oscilloscope (http://barnamenevis.org/forum/showthread.php?p=709546#post709546) کار میکنیم.

jahromy
چهارشنبه 09 اردیبهشت 1388, 16:55 عصر
من یک usb interface پیدا کردم که از یک نرم افزار ساده و یک میکروی PIC 18F4550 استفاده میکنه و می تونه از طریق پورت میکرو ورودی/خروجی دیجیتال و انالوگ تا 24 پین داشته باشه
منتهی مشکل اینه که برنامه نرم افزاری همراهش فقط یک استپ موتور را روشن و خاموش و به چپ و راست کنترل میکنه درحالی که من می خوام برنامه ای داشته باشم تا بتونم به تک تک ورودی و خروجی ها دسترسی داشته باشم و با مثلا چک مارک کردن چکباکس هایی که به هر خروجی نسبت داده شده اون خروجی فعال بشه

** اگر هم کمی برنامه نوشته شده را تحلیل و موارد لازم که بایستی برای نوشتن یک نرم افزار کوچیک بدانم را بیان کنید ممنون میشم**

درایور و عکس شماتیک مربوط به مدار را در ضمیمه می گذارم

SamaPic
شنبه 12 اردیبهشت 1388, 21:43 عصر
:متعجب::افسرده:

jahromy
یک شنبه 13 اردیبهشت 1388, 19:11 عصر
سما جان منظرتون رو از این اسمایل ها متوجه نشدم
حالا می تونید کمکی بکنید یا حداقل راهی پیش پای من بگذارید؟؟

راستی زمانی در یکی از تاپیک ها فرموده بودین که پیغام خصوصی به یکی از مدیران انجمن جهت کمک گرفتن بفرستم ولی ظاهرا انجمن برای کاربرانی با شرایط من برای ارسال پیغام خصوصی جلوگیری میکنه و امکان ارسال نمیده.

SamaPic
یک شنبه 13 اردیبهشت 1388, 23:06 عصر
با سلام خدمت دوست عزیز.

:متعجب:
منظور از این شکلک : شما در پستی فرمودید که هیچ سر رشته ای از برنامه نویسی ندارید .و من واقعا از پشت کار شما برای فهمیدن راه حل تعجب کردم.
دوست من این کار ، هفت خوان دارد که هر خوان خودش هفت خوان دارد که هر کدام از خوان ها هر کدام .... .


:افسرده:
به حال خودم گریستم که پس از مدتی که در حال کار با این سیستم ها هستم هنوز از انجام چنین کاری ناتوانم.

دوست من ، من قصد بی احترامی و دل سرد کردن کسی را ندارم و امیدوارم ناراحت نشده باشی.ولی انجام چنین کاری بسیار سخت و وقت گیر است.
دوست من ، من نگفتم به یکی از مدیران پیغام خصوصی بفرست ، من گفتم برای دوست خوبم kernel (http://barnamenevis.org/forum/member.php?u=63671) یک پیغام خصوصی بفرست یا سوال خود را در وبلاگ ایشان مطرح کن ( البته ایشان از مدیریت چیزی کم ندارند.) زیرا ایشان از نظر عملی و عملی از من بسیار بالاتر هستند و هنوز هم فکر می کنم که اگر هم کسی بتواند به شما کمک کند آن کس خود ایشان است.
من با عقیده ی ایشان مبنی بر تغییر مدار و یک سری تغییرات کلی موافقم و نظرم این است (با توجه به دانسته ی های محدود خود ) که هیچ کدام از مادربرد های امروزی قادر به انجام چنین کاری نیستند.اگر این کار شدنی شود ، مادربرد به هوا خواهد رفت (به ملکوت می پیوندد.) زیرا فشاری را که موتور وارد می آورد حتی بهترین آی سی ها هم نمی توانند تحمل کنند و می سوزند (برای مثال درهیچ مداری استپ را مستقیما به آی سی وصل نمی کنند.).بنابراین شما نیازمند یک مدار واسط هستید که باید طراحی و اجرا کنید.
مبحث طولانی است و دانسته های من محدود بنابراین باید از دیگران هم در این مورد خاص کمک بگیرید.
خدانگهدار.

kernel
دوشنبه 14 اردیبهشت 1388, 00:56 صبح
جناب SamaPic خیلی لطف دارین
البته من قبلا بارها گفتم و الان هم میگم که اگه چیزی بدونم و کاری از دستم بر بیاد حتما انجامش میدم . و هر روز به این بخش سر می زنم !

اگه دوست عزیزمون بفرمایند که الان کجای کار هستند و چه تغییراتی دادن و یا دوست دارند اعمال کنند ، خیلی راحت تر و بهتر می تونیم نتیجه بگیریم و سریع این بحث و تموم کنیم .

در ضمن همونطور که دوست عزیز SamaPic فرمودند کار با پارالل هم منسوخ شده و هم اینکه ریسک بالایی میخواد و همیشه توصیه میشه تجهیزات پارالل رو وقتی سیستم خاموش شده بهش وصل کنیم چون نسبت به تغییرات ولتاژ و نویز خیلی خیلی حساس هست. و مادر بورد ...................

jahromy
دوشنبه 14 اردیبهشت 1388, 20:02 عصر
سمای عزیز

هنوز هم میگم که من هیچ سرشته ای از زبان های برنامه نویسی ندارم و فقط زبان بیسیک رو تا حد انجام پروژه های کوچیک AVR را بلدم
من برای انجام شدن اینکار و چند پروژه آیندم که حالا یا توسط avr هاست ویا مستقیما از پورت usb کامپیوتر کنترل خواهد شد هر زبان مورد لزومی رو بدنبال یادگرفتنش خواهم بود اصولا نمی دونم چه زبانی برای اینده کاری و حتی این کارها بهترین گزینه است.

2) این برنامه هم با یک جستجو از یک سایت خارجی یافتم (همون ضمیمه پست قبلیم)

3) نظر شما و هر شخصی برای من محترمه و من ناراحت نمیشم.
حداقل استفاده از این برنامه نوشته شده و تغییرش به نحو بهینه تر(از لحاظ نرم افزاری) یا تشریح عملکرد خط به خط برنامه نوشته شده برای این سخت افزار میکرویی امکان پذیر هست؟؟

4) اصلا از لحاظ سخت افزاری (جریانکشی استپ) و موارد دیگه مشکلی وجود نداره اگرم پیش بیاد خودم حلش میکنم و همینکه دیتای 0و1 یعنی ولتاژ 0و5 ولت از کامپیوتر خارج بشه
مثلا جهت کنترول استپ (که بایستی 4 خط دیتا باشه) توسط قطعات پیشرفته الکترونیکی می تونم ولتاژ و جریان لازم برای فعالیت استپ را جدا از مدار و از یک منبع دیگه تامین کنم (بهش میگن درایور) و هیچ مادربوردی به دلیل وجود آی سی بافر و درایور و 4تا مقاومت دیگر نخواهد سوخت (فکر کنم منظورتون رو درست فهمیده باشم) من قبلا این مدار رو ساختم

5) سما جان شکسته نفسی نفرمایید هرچی نباشه من در برنامه نویسی نسبت به شما بی ثوادم
------------------------------------------
کرنل عزیز

همونطور که در بالا گفتم من از لحاظ سخت افزاری مشکلی ندارم و فقط تنها مشکل من همین کنترول از طریق کامپیوتر هستش برای همین یک مدار کنترول استپ از طریق usb پیدا و در اینجا ضمیمه کردم. منتها با برنامه ای که پس از اتصال سخت افزار (طبق عکس موجود در ضمیمه) انرا شناسایی و استپ ما را فعال و امکان گردش به جهات مختلف را به آن می دهد در حالیکه من در سخت افزار 24 پایه ورودی و خروجی دجیتال و انالوگ میبینم که می خواهم برنامه ای داشته باشم تا جداگانه در سیستم عامل به این ورودی و خروجی ها ارتباط پیدا کرده و با یک شیوه ای مثلا «فرضا» : نوشتن برنامه های بیسیک در اون محیط نرم افزاری و اجراش تا عملیات مورد نظر بر روی پین و پورت ها پیاده بشه و اینطوری به ورودی و خروجی ها دسترسی پیدا کنم
مثل پورت پارالل که با یک ادرس دهی به پین مورد نظر دستوری ارسال میکردیم یا انرا می خواندیم

من با پیدا کردن این سخت افزار اگر مشکلم حل بشه دیگه بدنبال پورت پارالل نیستم و می خواهم با همون USB کار کنم (جدا از منسوخ شدن کابل اتصالی به پورت پارالل نمی تونه بیشتر از 3 متر باشه که این یک نقطه ضعفه)

kernel
چهارشنبه 16 اردیبهشت 1388, 19:42 عصر
خوب حالا که با کار کردن با پورت USB مشکل ندارین اول شروع میکنیم به بررسی پورت و نحوه برنامه نویسیش تو کامپیوتر ! بعد هم سیستم بیرونی رو تحلیل میکنیم !

نگران نباش با یه MEGA8 هم میشه با USB ارتباط برقرار کرد !

فقط ممکنه این مدت به خاطر مشغله کاری دیر به دیر مطالب رو بزارم که از همین حالا پوزش می طلبم !

در ضمن از دوست خوبم جناب samapic هم می خوام که کمک کنن !

jahromy
پنج شنبه 17 اردیبهشت 1388, 16:46 عصر
کرنل عزیز
از اینکه به یاری این تاپیک شتافتید از شما قدردانی می کنم
در ضمن من فکر کنم که بتونیم با الهام گرفتن از برنامه نوشته شده برای ارتباط به کمک PIC با USB برنامه ای بنویسید که به کمک AVR به USB متصل شده تا توسط کامپیوتر یک دستگاه جانبی را کنترل کنیم اگر بشه کار را با یک میکروی AVR شروع کنیم و توسعه دهیم خیلی بهتر هست

اگر مراحل انجام کار برنامه نویسی را هم به نحوی توضیح دهید تا من و دوستان بازدید کننده ای که به دنبال این هدف هستیم با منوال کار برنامه نویسی اشنا شویم ممنون میشم

jahromy
جمعه 06 شهریور 1388, 15:52 عصر
کرنل عزیز منتظریم.

farzadsw
شنبه 07 شهریور 1388, 20:11 عصر
ببخشید اگه پابرهنه پریدم وسط!:لبخند:
اگه قبلا جواب ندادم به این دلیل بود که من تاپیک هایی رو که از آخرین پستش 1 ماه گذشته رو نمیخونم .
برای ارتباط با کامپیوتر 2 تا راه هست : USB , Serial ( پورت موازی رو بی خیال!)
میکرو های avr , pic , 8051 نمیتونن مستقیم به پورت usb وصل بشن . البته برای avr یه فریم ور نوشتن که بشه با usb کار کنه ولی من انقدر از این ور اونور شندیدم سخته ، با اینکه برنامه و خود میکرو رو هم دارم تا حالا تمایلی به امتحانش نداشته ام!
اما یه راه ساده و بدون احتیاج به نوشتن درایور برای کامپیوتر ، استفاده از پورت سریال هست. حتی اگه کامپیوتر شما پورت سریال نداره با یه تبدیل 12 تومنی مشکل کامل برطرف میشه.
من 3-4 تا پروژه انجام دادم که توشون میکرو باید با کامپیوتر ارتباط برقرار میکرد. یکیش 2ترم پیش بود . تو اون پروژه یه بورد که 25 تا LED داشت که هر 200 میلی ثانیه توسط کامپیوتر کنترل میشد . یعنی تو یه فایل همه ترتیبهایی که led ها بر اساس اون تو هر مرحله باید روشن میشدن نوشته میشد(مثلا 1و4و2و15و.. بعد 2و9و23و.... بعد ...) بعد اون فایل به برنامه طرف کامپیوتر داده میشد و اون برنامه هم به میکرو میگفت که الان کدوم led ها روشن بشن. اما چیزی که منو تو اون پروژه اذیت میکرد این بود که اینهمه کار داره میشه که نهایتش چند تا led روشن خاموش بشه .در صورتی که میشد مثلا دور موتور کنترل بشه :گریه: . (هی من به استاد گفتم این قسمتش مایه شرم ساریه ، گفت نه:عصبانی++:).
حالا شما بگید با کدوم قسمت مشکل دارید؟