# برنامه نویسی میکروکنترلر (MicroController) ها و MicroProcessor ها > برنامه نویسی سیستم های Embeded > AVR >  ارتباط مستقیم avr با usb

## abasfar

سلام
من میخوام یک میکرو کنترلی مثل mega8 را به usb وصل کنم و با کامپیوتر کنترل کنم

----------


## sharin

*سلام.*

اين كار كمي داستان دارهه ...
اگر بخوايد از ويژگي خود USB استفادهه كنيد ، بايد از پروتكل اش سر در بياريد كه كتاب در اين بارهه هست.
بعد با ميكرويي كه امكان USB رو در خودش دارهه كار كنيد كه كار راحت تر شه ... البته سمت PC درايور مي خواد و بسته به كارتون دارهه كه بزرگترين مشكل همينجاست ...
برنامه ي سمت PC هم كه كدش رو مي خوايد بنويسيد بايد اين امكان رو داشته باشه ... ، مثلا براي C#‎ يه كتابخونه براي كار با USB هست.
اگر بخوايد از atmega 8 براي اينكار استفاده كنيد بايد به صورت نرم افزاري اين امكان ارتباط USB رو براش تعريف كنيد كه تو نت كدش پيدا مي شه ...

و من كسي رو نديدم كه از روش بالا استفادهه كرده باشه ... ( كار سنگيني هست ! )
معمولا اين كار رو مي كنن كه زير مي گم ... راحت ترهه ...

اول اين كار رو براي پروتكل RS232 انجام مي دن و يه ارتباط سريال معمولي برقرار مي كنن. بعد با استفاده از FTDI سريال رو به USB تبديل مي كنن .
البته لازمه بگم كه اين ظاهرا USB هست و سرعت USB رو مشخصا ندارهه و مثل حالت قبل هست. با اين تفاوت كه به پورت RS232 نيازي ندارهه ...
خوب سمت PC بايد به عنوان يه پورت مجازي بشناسونيش . درايور هم دارهه كه بايد نصب بشه ...
براي ساخت برنامه هاي سمت PC هم از همون روش سريالشون براي ارتباط با سخت افزار استفادهه مي كني كه همشون دارن ...
من خودم هنوز از مبدل USB استفاده نكردم ، اما كسايي كه IC رو جدا گرفتن و مدار رو بستن ، اغلب جواب نگرفتن . بخاطر همين مي توني ماژول آمادش رو از فروشگاه هاي اينترتي بگيري كه خيالت از اين بابت راحت باشه ... قيمت IC حدود 5t و قيمت ماژول حدود 15t

كليات كار اينه.
جزئياتش با خودت ...

*موفق باشي.
يا علي.*

----------


## abasfar

> *سلام.*
> 
> اين كار كمي داستان دارهه ...
> اگر بخوايد از ويژگي خود USB استفادهه كنيد ، بايد از پروتكل اش سر در بياريد كه كتاب در اين بارهه هست.
> بعد با ميكرويي كه امكان USB رو در خودش دارهه كار كنيد كه كار راحت تر شه ... البته سمت PC درايور مي خواد و بسته به كارتون دارهه كه بزرگترين مشكل همينجاست ...
> برنامه ي سمت PC هم كه كدش رو مي خوايد بنويسيد بايد اين امكان رو داشته باشه ... ، مثلا براي C#‎‎ يه كتابخونه براي كار با USB هست.
> اگر بخوايد از atmega 8 براي اينكار استفاده كنيد بايد به صورت نرم افزاري اين امكان ارتباط USB رو براش تعريف كنيد كه تو نت كدش پيدا مي شه ...
> 
> و من كسي رو نديدم كه از روش بالا استفادهه كرده باشه ... ( كار سنگيني هست ! )
> ...


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

اما در روش دوم من نمی خوام با کام ارتباط برقرار کنم همون محدودیتهایش
  تقریبا یکسال پیش با هزار زحمت بستم مدار این روش دوم را من هم سوزاندم :لبخند گشاده!: 
 ft232

----------


## rahman22

من با یک میکرو mega8 به طور مستقیم با usb ارتباط برقرار میکنم. درصورتی که نیاز دارید به بنده ایمیل بزنید. rahman_h22@yahoo.com

----------


## abasfar

ممنون از پاسخ شما 

یکی از دوستان نیز یک سرورسی داد به من که با خواندنش یک همچین چیزی تونستم بسازم اما زیاد عمر نکرد

این مداری که شما صحبتش رو میکنید !!خودتان ساختید؟ از چه روشی استفاده کدید ؟


ممنون میشم بیشتر توضیح بدین

یا اینجا اپلود کنید تا همگی استفاده کنیم


با تشکر

----------


## firststep

چرا این کار رو با کابل تبدیل rs232 به usb استفاده نمی  کنی بی دردسره  بی دردسرهههههه
به من جواب داده

----------


## abasfar

نگاه کنید به پستهاس قبلیم جوابش رو دادم

در ضمن دیگه rs232 رو سیستم ها کم یاب شده مثلا تو لب تاپ اصلا من ندیدم قبلا 7الی 8 سال پیش یک چیزی شبیه این پورت بود ان همه دیگه نیست
حالا مشکلات پورت rs232 + مشکلات Com کن ببین چه شود

اما usb الان تو هر دستگاه هوشمندی هست از موبایل ،تبلت ، سیستم دسکتاپ و....
مصرف کم ، قابلیت توسعه و هزاران چیز دیگه

----------


## morrning

برای این کار باید از مبدل ها استفاده کنید. یکی از اونا استفاده از آی سی ft232 هست که برای شما یک پورت کام مجازی ایجاد میکنه که روی خروجی usb ست شده. یعنی دستورات سریال رو به یو اس بی هدایت میکنه!
لینک زیر آموزش ساخت مدار مبدل با ft232 هست.
http://yazdkit.com/usb-to-uart-bridge-ft232rl-3173.html
البته میشه با خود میکرو هم این کار رو کرد. که برای استفاده از این روش لینک زیر رو دنبال کنید که خودم تستش کردم و جواب گرفتم.
http://www.iranled.com/forum/thread-25376.html

----------


## یه آدم

سلام 
کار با ft232 خیلی خیلی سادس چون مشکل ساخت درایور هم نداره و فقط با نصب یه درایور برد مارو میشناسه . 
ولی یه مشکل دارم :؟
من میخوام از سمت کامپیوتر با پورت سریال کار کنم . حتما باید تو محیط Visual C++‎ باشه  . کسی میتونه کمکم کنه ؟ تو نت گشتم چیز درشت حسابی پیدا نشد !

----------


## abasfar

> برای این کار باید از مبدل ها استفاده کنید. یکی از اونا استفاده از آی سی ft232 هست که برای شما یک پورت کام مجازی ایجاد میکنه که روی خروجی usb ست شده. یعنی دستورات سریال رو به یو اس بی هدایت میکنه!
> لینک زیر آموزش ساخت مدار مبدل با ft232 هست.
> http://yazdkit.com/usb-to-uart-bridge-ft232rl-3173.html
> البته میشه با خود میکرو هم این کار رو کرد. که برای استفاده از این روش لینک زیر رو دنبال کنید که خودم تستش کردم و جواب گرفتم.
> http://www.iranled.com/forum/thread-25376.html


ممنون اما من با com و سریال مشکل دارم اصلاانها رو بکار نمیبرم 
و دلیلش رو هم قبلا گفتم و اینترنت نیز پر از دلایل استفاده نکردن از کام و سریال




> سلام 
> کار با ft232 خیلی خیلی سادس چون مشکل ساخت درایور هم نداره و فقط با نصب یه درایور برد مارو میشناسه . 
> ولی یه مشکل دارم :؟
> من میخوام از سمت کامپیوتر با پورت سریال کار کنم . حتما باید تو محیط Visual C++‎ باشه  . کسی میتونه کمکم کنه ؟ تو نت گشتم چیز درشت حسابی پیدا نشد !


نه اصلا بحث زبان برنامه نویسی نیست
شما میتونید  تو دات نت و ویبی6 و.... هم استفاده کنی

تو دات نت برو از تولبار serialPort را بردار و باهاش کار کن

موفق باشی

----------


## یه آدم

> نه اصلا بحث زبان برنامه نویسی نیست
> شما میتونید  تو دات نت و ویبی6 و.... هم استفاده کنی
> 
> تو دات نت برو از تولبار serialPort را بردار و باهاش کار کن


توی وی بی که راحته اما یه کاریه که حتما باید تو C++‎ باشه . نمی دونم ویژوال سی هم مثل وی بیه ؟

----------


## kernel

http://www.obdev.at/products/vusb/prjall.html

----------

