سلام
من دوتا مگا8 رو با ارتباط سریال (uart) به هم وصل کردم، وقتی منبع تغذیه این دو میکرو مشترک هست سیستم به خوبی کار می کنه، یعنی ارتباط برقرار هست و دیتا به خوبی ارسال و دریافت می شه.
مشکلی که من دارم اینه که وقتی از دو منبع تغذیه جداگانه واسه هر کدام از این ها میکروها(گیرنده،فرستنده) استفاده می کنم دیگه ارتباط به درستی برقرار نمی شه.
لطفا اساتید در این مورد راهنمایی کنن.
بايد زمين دو ميكرو مشترك باشه .
اگه فاصله بالاست شايد مجبور بشي يه بافر هم بذاري .
بعد تو برنامه ات چجوري ديتا رو مي فرستي . شايد تغذيه دو ميكرو هزمان وصل نمي شه و برنامه شما هم رو همزماني ديتا فرستاده و مي گيره . ( نمي دونم منظورمو رسوندم يا نه )
(۹-شهريور-۱۳۸۷ ۲۳:۲۳:۵۸)terip2008 نوشته : [ -> ]بايد زمين دو ميكرو مشترك باشه .
اگه فاصله بالاست شايد مجبور بشي يه بافر هم بذاري .
بعد تو برنامه ات چجوري ديتا رو مي فرستي . شايد تغذيه دو ميكرو هزمان وصل نمي شه و برنامه شما هم رو همزماني ديتا فرستاده و مي گيره . ( نمي دونم منظورمو رسوندم يا نه )
سلام
زمین مشترک رو هم تست کردم جواب نداد.(در ماژول های بیسیم که زمین مشترک نیست چی کار می کنن؟)
طول سیم همش 10 سانتی متر هست. یعنی می تونم از یه منبع تغذیه برای هردو استفاده کنم ولی می خوام منبع جداگانه رو هم یاد بگیرم.
برنامه رو با ساده ترین حالت تست کردم ولی باز هم جواب نگرفتم.(وقتی که تغذیه ها جداگانه هست)
این واسه فرستنده :
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
$hwstack = 32
$swstack = 8
$framesize = 24
Dim V As Byte
V = 80
Do
Printbin V
Loop
End
این هم واسه گیرنده :
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
$hwstack = 32
$swstack = 8
$framesize = 24
Dim Z As Byte
Do
Z = Udr
Cls
Lcd Z
Loop
End
سخت افزار هم که دوتا میکرو و ولتاژ رگوله شده با یه سیم ارسال و یک سیم زمین مشترک.
باز هم می گم وقتی منبع مشترک هست بدون هیچ مشکلی کار می کنه، ولی با منبع جداگانه یه سری عدد می فرسته که اعداد مشخصی هم هستند (254 ، 80 ، 65 ، 5 ، ...)
البته یه سری دستورهای دیگه رو هم تست کردم نتایج مثل هم بود. وققه ها رو هم تست کردم(واسه شروع از یه عدد خاص برای همزمانی، کلا تغذیه ها همزمان نیست) ولی نتونستم واسه این مورد جواب بگیرم.
باز هم اگه اشکالی در برنامه بالا هست لطفا اونوطور که خودتون ازش جواب گرفتین اصلاح کنین، یا یه نمونه برنامه در همین حد در اینجا قرار بدین.
با تشکر
تو گيرنده به جاي دستور
Z = Udr
از دستور :
z=waitkey()
استفاده كردي هم همينطوري بود .؟
(۱۰-شهريور-۱۳۸۷ ۰۰:۵۰:۲۳)terip2008 نوشته : [ -> ]تو گيرنده به جاي دستور
Z = Udr
از دستور :
z=waitkey()
استفاده كردي هم همينطوري بود .؟
آره، باز هم همینطوری بود.
سلام
اگه در حالتی که تغذیه ها یکی است جواب میده برنامه مشکل نداره ، امکان داره یکی از منابع تغذیه درست یکسو نشده باشه ...
(۱۰-شهريور-۱۳۸۷ ۱۴:۲۵:۴۶)1nafar نوشته : [ -> ]سلام
اگه در حالتی که تغذیه ها یکی است جواب میده برنامه مشکل نداره ، امکان داره یکی از منابع تغذیه درست یکسو نشده باشه ...
واسه اینکه همچین مشکلی پیش نیاد کلا از آداپتور استفاده نکرده بودم. هر طرف 5تا باطری 1.5 ولت هست با یه رگولاتور 5 ولت واسه هر کدوم، سر این آزمایش ها تا حالا 10تا باطری خالی کردم!
مطمئني
من اين قضيه رو امتحان كردم و مشكلي نداشت .
(۱۱-شهريور-۱۳۸۷ ۰۸:۳۵:۱۹)hamid.v نوشته : [ -> ]واسه اینکه همچین مشکلی پیش نیاد کلا از آداپتور استفاده نکرده بودم. هر طرف 5تا باطری 1.5 ولت هست با یه رگولاتور 5 ولت واسه هر کدوم، سر این آزمایش ها تا حالا 10تا باطری خالی کردم!
منم همینو البته بیسیم تا فاصله 20 یا 30 متری تست کردم جواب دادبا دو منبع تغذیه و دو زمین جدا(یکی 5.07 و دیگری5.16 ) .بایدولتاژها خیلی بهم نزدیک باشه تا جواب بده.همه ی رگولاتورها ولتاژ یکسان نمیدن خروجیشونو تست کن.برااینکه نخوای از باتری استفاده کنی در کیستو باز کن از پاور کامپیوتر اون سیمهای چهارتایی قرمز-مشکی-مشکی-زرد از سر قرمز و مشکی 5ولت را بگیر.حواستو جمع کن که این دو سر بهم تماس پیدا نکنن.(میگن پاور میسوزه،البته منکه ندیدم!!!)