آموزش تبدیل مبنا ها


تبدیل مبنای ۱۰ به ۲


می بایست عدد در مبنای ۱۰ را مرتباْ تقسیم بر ۲ کنیم و باقیمانده ها را نگه

داریم . این عمل را آنقدر ادامه می دهیم تا خارج قسمت صفر شود.در آخر با

قیمانده ها را از راست به چپ کنار هم می نویسیم.

مبنای ۲ را باینری binary نیز می گویند.در مبنای ۲ فقط ارقام صفر و یک را داریم.


تبدیل مبنای ۲ به ۱۰


زیر عدد خط کشیده به هر رقم یک موقعیت می دهیم.موقعیتها از سمت

راست به چپ و از صفر شماره گذاری می شوند.هر رقم را ضرب در مبنا

(۲) به توان موقعیت می کنیم.نهایتاْ اعداد را با هم جمع می کنیم.


تبدیل مبنای ۱۰ به ۱۶


می بایست عدد در مبنای ۱۰ را مرتباْ بر ۱۶ تقسیم کنیم و باقیمانده ها را

نگه داریم.این عمل را آنقدر ادامه می دهیم تا خارج قسمت صفر شود.در آخر

باقیمانده ها را زا راست به چپ کنار هم می نویسیم.در مبنای ۱۶ به شانزده

نماد نیاز داریم ارقام صفر تا ۹ و نمادهای a,b,c,d,e,f که به ترتیب متناظر 

اعداد 10,11,12,13,14,15 هستند.

مبنای ۱۶ را هگزادسیمال (hex) نیز می گویند.


تبدیل مبنای ۱۶ به ۱۰


زیر عدد خط کشیده به هر رقم یک موقعیت می دهیم.موقعیت ها از سمت

راست به چپ و از صفر شماره گذاری می شوند.هر زقم را ضرب در مبنا (۱۶)

به توان موقعیت میکنیم.نهایتاْ اعداد حاصله را با هم جمع می کنیم.


تبدیل مبنای ۱۰ به 8


می بایست عدد در مبنای ۱۰ را مرتباْ تقسیم بر 8 کنیم و باقیمانده ها را نگه

داریم . این عمل را آنقدر ادامه می دهیم تا خارج قسمت صفر شود.در آخر با

قیمانده ها را از راست به چپ کنار هم می نویسیم.


تبدیل مبنای ۸ به ۱۰


زیر عدد خط کشیده به هر رقم یک موقعیت می دهیم.موقعیتها از سمت 

راستبه چپ و از صفر شماره گذاری می شوند.هر رقم را ضرب در مبنای

(۸) به توان موقعیت می کنیم.نهایتاْ اعداد حاصله را با هم جمع می کنیم.


تبدیل مبنای ۲ به ۸ و بالعکس


برای تبدیل مبنای ۸ به ۲ کافی است به جا هر رقم معادل ۳ بیتی آن را از

جدولدودهی قرار دهیم.

2(011 101 100)=2(?)=8(354)

برای تبدیل مبنای ۲ به ۸ از سمت راست ۳ بیت ۳ بیت جدا می کنیم.اگر

تعدادبیتها مضربی از ۳ نبوداز سمت چپ صفر اضافه می کنیم.آنگاه معادل

۳بیتی های جدا شده را از جدول زیر می نویسیم.

8(?) =2(1101111011)

8(1573)=2(001'101'111'011)

 

تبدیل مبنای ۲ به ۱۶ و بالعکس


برای تبدیل مبنای ۱۶ به ۲ کافی است به جای هر رقم مهادل ۴ بیتی آن را

از جدول زیر قرار دهیم.

B 5 7)16=(?)2=(1011 0101 0111)2)

برای تبدیل مبنای ۲ به ۱۶ از سمت راست۴ بیت ۴ بیت جدا می کنیم.اگر 

تعداد بیتها مضربی از ۴ نبود از سمت چپ صفر اضافه می کنیم.آنگاه معادل ۴

بیتی های جدا شده را از جدول فوق می نویسیم.

16(?)=2(10110110111010):A

A:(0010'1101'1011'1010'0001)2=(2DBA1)16


 تبدیل مبنای ۸ به ۱۶ و بالعکس


برای اینکار ساده تر این است که ابتدا عدد را به مبنای ۲ برده و سپس به

مبنای دیگر ببریم.

A:(A36)16=(?)8

A:(A36)=(1010 0011 0110)2=(101'000'110'110)2=(5066)8

یعنی عدد هگز را چهار بیت چهار بیت به مبنای ۲ برده سپس ۳ بیت ۳

 بیت از سمت راست جدا می کنیم.

A:(753)8=(?)16

A:(753)8=(111 101 011)=(1'1110'1011)=(1EB)16

یعنی عدد مبنای ۸  را ۳ بیت ۳بیت به مبنای ۲ برده سپس ۴ بیت ۴ بیت از 

سمت راست جدا می کنیم.


تبدیل اعداد ممیزی مبنای ۱۰ به ۲


قسمت صحیح آن طبق معمول تبدیل می شود(تفریق متوالی یا تقسیم

متوالی).برای تبدیل قسمت اعشاری آن را ضرب در ۲ می کنیم.سپس

قسمت صحیح عدد حاصله را بعنوان اولین رقم برای بعد از ممیز در مبنای

دو در نظر میگیریم.بخش اعشاری عدد حاصله را دوباره ضرب در ۲ می کنیم

و قسمت صحیح عدد حاصله را بعنوان رقم دوم بعد از ممیز در مبنای دو در 

نظر می گیریم.این عملیاترا آنقدر ادامه می دهیم تا قسمت اعشاری صفر

شود یا به دقت موردنظربرسیم.


A:(13)10=(1101)2


F:(13.75)10=(1101.11)2    


نمایش اعداد منفی در کامپیوتر


برای نمایش اعداد منفی سه روش وجود دارد.۱ـ روش علامت ـ مقدار

۲ـ روش متمم یک ۳ـ متمم دو

۱ـ در این روش اعداد منفی بصورت اعداد مثبت نمایش داده  می شوند

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

مثبت است و اگر یک باشد عدد منفی است.

این روش دو اشکال دارد : 

الف: برای صفر دو نماد وجود دارد(صفر مثبت و صفر منفی)

ب: عل تفریق در این سیستم مشکل است و نیاز به مدار جداگانه ای دارد.


۲ـ روش متمم یا مکمل ۱

در این روش نیز بیت سمت چپ علامت دد است.در این روش برای بدست

آوردن منفی یک عدد بیتهای آن معکوس می شود یعنی صفر به یک و یک

به صفر تبدیل می شود مثلاً ۱۲+ و ۱۲- در این سیستم در یک بایت بصورت 

زیر ذخیره می شود:


   11001111      < _______________   12-


  00001100      <________________    12


در این سستم هنوز صفر با ۲ نماد نشان داده می شود(۱۱۱۱۱۱۱۱،۰۰۰۰۰۰۰۰)

و این ایراد آن است.ولی در این سیستم می توا عمل تفریقرا تبدیل به جمع کرد

و لذا طراحی مارات ساده تر می شود.برای تفریه A-B کافی است A  را بعلاوه

متمم ۱ عدد B کنیم و بیت خروجی از بایت را بعلاوه حاصل جمه کنیم.


۳ـ روش متمم دو


برای بدست آوردن متمم ۲ می بایست ابتدا متمم ۱ را بدست آورده سپس

۱ واحد به آن اضافه  کنیم.

مثال. برای بدست آوردن مکمل2 عدد 56 ابتدا مکمل1 آن محاسبه سپس یک 

واحد به آن اضافه می شود.


 A:  56 = 00111000b

A:  1’s complement = 11000111

 11001000= A:  2’s Complement = 11000111+1

شمردن اجسام روی نوار نقاله توسط اشعه مادون قرمز:

شمارنده مادون قرمز(کاربرد صنعتی):

 

با سلام

شمارنده ای که در این پست آورده ام شمارنده ای  است که تا سقف (1000) را می شمارد وعلیرغم ظاهر ساده ای که دارد بسیار دقیق است  ودر برابر نویز های صنعتی  ( نویزهای مغناطیسی) مانند اثرات موتورهای  الکتریکی واثرات ترانسفورماتورها و.... مقاوم است . لازم به ذکر است برای پایین آوردن اثرات نویز حتما از منابع تغذیه سوییچینگ استفاده کنید . من خودم ازیک منبع تغذیه سوییچینگ 4.5 v استفاده کردم وبرای اطمینان از پایداری در مقابل نویزها کنار مدارم یک دریل دستی قوی راروشن کردم که مدار بخوبی کار کرد و واکنشی  به نویز نداد.

باز هم تاکیید می کنم حتما ازیک منبع تغذیه سوییچینگ برای تامین ولتاژهای  بایاس مدار استفاده کنید.

 

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

توضیح درباره مداروعملکرد:

همانطور که ازشکل مشاهده می کنید توسط کلیدSW2 میتوان مقدار شمارنده را صفر کرد در واقع مقدارشمارنده در حافظه EEPROM داخلی میکرو نگهداری می شود پس با قطع برق و RESET  کردن مدار مقدارآن تغییر نمی کند وفقط با فشار دادن کلید SW2 توسط اپراتور می توان مقدارآن را صفر نمود.

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

میکرو کنترلری که ازآن استفاده شده است میکروکنترلر ATMEGA8 میباشد که از خانواده AVR هاست

برای نشان دادن مقدار خروجی در این گونه طراحی ها استفاده از وسایلی مانند LCD ها زیاد جالب نیست زیرا اکثر کارگاهها وجاهاییکه درآنها از نوارهای نقاله استفاده می شود دارای نور مناسب نیستند ودرشت بودن ارقامی که شمارنده تولید می کند برای ما مهم است لذا استفاده از 7SEGMENT در این گونه پروژه ها کارآمد می باشد .

توضیح در مورد خروجی مدار:

                                    

همانطور که از شکل مدار پیداست 3عدد 7SEGMENT به یک پورت از میکرو کنترلرمتصل شده اند وبرای نمایش اعداد روی7SEGMENT ها از تکنیک  قدیمی و کارآمد اسکن کردن استفاده شده است . به اینصورت که هر7SEGMENT به میزان چند میلی ثانیه یا جند میکرو ثانیه روشن می شود سپس میکرو اطلا عات قابل نمایش را روی خط BUS  می ریزد سپس 7SEGMENT خاموش شده و7SEGMENT بعدی را اسکن می کند در نتیجه این امکان فراهم می شود چند 7SEGMENT رابه یک پورت اختصاص دهیم وازنظر پایه وپورت صرفه جویی کنیم .( نظیر این کار در صفحه کلیدها و تابلوهای روان می باشد که اطلاعات  را روی خط می ریزند وسپس صفر یا یک  را درآن سو فعال می کنند.) .

 

توضیح در مورد سنسورهای مادون قرمز(فرستنده - گیرنده):

در شکل زیر نمونه هایی از سنسورهای مادون قرمز را می بینید:

 

سنسورهای مادون قرمزی که در این پروژه از آنها استفاده شده است همان گیرنده – فرستنده هایی هستند که در ریموت کنترلر تلوزیون ها ودستگاههای صوتی -  تصویری استفاده می شود.

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

راه حل اساسی استفاده از روش مدولاسیون ونمونه برداری و راه کارهای مخابراتی است یعنی اطلاعات ارسالی را بوسیله پالس ارسال کنیم  ودر طرف گیرنده آنها را آشکار کنیم .

ازآنجایی که در این پست مجالی برای بحث وروش محاسبات های مخابراتی وبدست آوردن نرخ نایکیس و.....  نیست واز حوصله خواننده عزیز خارج است بصورت خیلی خلاصه وجکیده مطالب ونکته های بدرد بخور را  می آورم درصورت علاقمند بودن به روش مدولاسیون مادون قرمزونکات آن می توانید در قسمت نظرات , ایده های خود را مطرح کنید ویا به قسمت پست الکترونیک ویا به قسمت ارتباط با ما مراجعه کنید .  (خوشحال می شوم با شما دوستان عزیزتبادل اطلاعات داشته باشم.

 قسمت مخابراتی (چکیده مطلب):

قسمت فرستنده:

 برای نمونه برداری وعمل ضرب می توانید از گیت های AND  ویا  NANDاستفاده کنید .فرکانس سیگنال حامل یا کریری که من ازآن استفاده کرده ام (38 khz) می باشد دقت کنید اگر سیگنالی که می خواهید روی فرستنده بفرستید بصورت پالس باشد حداقل فرکانس نمونه برداری باید دو برابر سیگنال نمونه بردارشونده باشد.( به قضیه نرخ نایکیس دقت کنید ).

در شکل زیریک مدولاتورمادون قرمز را می بینید که اطلاعات را با فرکانس کریر 38 khz بصورت سیگنال مادون قرمز منتشرمی کند وبرای ساختن فرکانس سیگنال حامل آن از کریستال  38 khz استفاده شده است.

 

 نکته1:

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

 نکته2:

همانطور که در ابتدای پروژه گفتم این پروژه حالت صنعتی دارد وعلاقمند به ورود نویز به سیستم نیستیم پس میتوان بجای تولید فرکانس سیگنال حامل توسط اسیلاتور کریستالی بالا توسط خود میکروکنترلر یک سیگنال 38 khz با دیوتی سایکل 50 درصد تولید کنیم به اینصورت مدار اسیلاتور رابه داخل میکروبرده ایم وحفاظت در برابر نویز بیشتر می شود.

دراینصورت مستقیما سیگنال کریر تولید شده توسط میکروکنترلر را به ورودی A می دهیم ودیگر احتیاجی به مدارات قبل از نقطه A  درشکل بالا نخوا هیم داشت.( به شکل زیر توجه کنید).

                                          

 نکته3:

خروجی سنسورهای TSOP به صورت NOT می باشد که هنگام کار با آن به این مساله دقت شود.

 برای تولید سیگنال کریر با فرکانس 38 khz روی پایه شماره (15) میکرو کنترلر Atmega8 لازم است رجیسترهای زیر را بترتیب ذیل مقدار دهی کنید:

      DDRB=0X02

    TCNT1=0

    SFIOR=0X01

    OCR1A=13

    TCCR1A=0B01000000

                                                                                                     TCCR1B=0B00001010

 قسمت گیرنده:

 بزای سنسور گیرنده از دیودهای مادون قرمز معمولی استفاده نکنید ویا اگر هم استفاده می کنید ازنوع مشکی رنگ آن که دارای برد بیشتری نسبت به نوع شفاف آن است استفاده کنید. من خودم از سنسورهای 3 پایه ای که در بازار با نام TSOP مشهورند استفاده کرده ام این سنسورها دارای فیلترودمدولاتور و تقویت کننده داخلی هستند مثلا سنسورTSOP1138 سنسوری است که امواج مادون قرمزتا حداکثر فرکانس 38 کیلو هرتز را قبول می کند (هنگام خرید این سنسورها به محدوده رنج فرکانسی آنها دقت شود)..شکل زیر نمای ظاهری این المان به همراه مدارداخلی آنرا را نشان می دهد..

                               

برای دانلود پروژه اینجا کلیک کنید:

PROGEH INFRA RED

درپایان لیست قطعات والمانهای الکتریکی را می آورم:

 

1)---------------  ATMEGA8  

2)---------------  3عدد7SEGMENT ازنوع کاتدمشترک

3)---------------  4 عدد مقاومت 100  اهم

4)---------------  یک کریستال 8 مگاهرتز بهمراه 2عدد خازن 30PF برای مدار اسیلاتور میکرو

5)---------------  2عددمیکروسوییچ

6)---------------  2عددمقاومت 4.7K ویک مقاومت1K

7)---------------  یک خازن 10NF بهمراه یک دیود1N4001 ویک ترانزیستور BC107

8)---------------  یک عدد دیود فرستنده امواج مادون قرمز

9)---------------   سنسور گیرنده امواج مادون قرمز بانام تجاریTSOP1138   

 10)-------------  منبع تغذیه سوییچینگ DC( 5V).

گیرنده ریموت کنترلر تلوزیون های سامسونگ (SAMSUNG)

RECIVER IR SAMSUNG

 

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

برای اطلاعات بیشتر در مورد پروتکل های ارسال مادون قرمز به پست قبل که لینک آن در زیر موجود است می توانید مراجعه کنید:

                                           پروتکلهای ارسال امواج مادون قرمز


         

اولین چیزی که احتیاج داریم یک ریموت کنترل با مارک SAMSUNG می باشد که برای نمونه ریموت کنترل سامسونگ  زیر با نام تجاری AA59-00104K یابطور اختصاری 00104K راانتخاب کرده ایم:

 

 

ریموت کنترل یاد شده برای اینکه یک ریموت کنترل رایج در تلوزیون هایCRT سامسونگ ازقبیل تلوزیون سامسونگ مدل CS-5392TS یا CS-5392T8 است انتخاب شده است لازم به ذکر است این ریموت کنترل قابلیت همخوانی با اکثر تلوزیونهای رنگی با ساختمان لامپ تصویر(CRT) ساخت این شرکت را داراست ودربازار به وفور و با قیمت خیلی خوب (درحدود 2000تومان) قابل تهیه است.

 اما می رویم سراغ طراحی گیرنده امواج مادون قرمز ریموت کنترل تلوزیون سامسونگ (SAMSUNG):

 سنسور گیرنده امواج مادون قرمز:

 

سنسوری که ازآن استفاده کرده ایم در حقیقت یک IC می باشد که شامل مدار تفویت کننده مدار فیلتر مدار AGC ومدار آشکارساز امواج مادون قرمز می باشد وبا نام تجاری TSOP1138 ویا سنسور گیرنده مادون قرمز تلوزیون پارس در بازار فروش قطعات الکترونیک قابل تهیه است نکته ای که قابل توجه است فرکانس ورودی قابل اندازه گیری این سنسور است سنسورTSOP1138 ورودی هایی با حداکثرفرکانس 38Khz را ساپورت می کند این سنسور ساخت شرکتVISHAY می باشد این شرکت سنسورهای دیگری با رنج فرکانسی مختلف تولید می کند من باب مثال سنسور TSOP1140این شرکت ورودی هایی تا حداکثرفرکانس 40Khz را ساپورت می کند. درشکل زیر نمای ظاهری به همراه بلوک دیاگرام این سنسور را می بینید کاتالوگ و دیتا شیت این سنسور را در فایل دانلود این پروژه قرار داده ام.

 سخت افزار:

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

میکروکنترلر استفاده شده در این پروژه PIC16F84 می باشد که یک میکروکنترلر قدیمی وپرقدرت ودر ضمن نماینده خانواده PIC ها است

درمورد استفاده از پایه های این میکرو لازم به ذکر است که پورت PORTB این میکرو مشترکا به ورودی سنسور مادون قرمز واتصال به 7-SEGMENT اختصاص داده شده است  .

پایه 13(PORTB.7) به سنسور مادون قرمز وپایه های6 تا 12 به 7-SEGMENT اختصاص داده شده است.همچنین پورتPORTA به کانال های خروجی اختصاص دارد.

 خروجیهای مدار:

 مدار زیر دو نوع خروجی تولید می کند

 1) خروجی جهت نمایش بر روی 7-SEGMENT:

 که اعداد 0 تا 9 که متناظر با دکمه های 0 تا 9 ریموت کنترل است را نمایش می دهد.

2) خروجی های کانال:

 می توان بیش از 15 کانال را داشته باشیم به این طریق که کدهای باینری وهگز معادل را روی PORTA تولید می کنیم.

مثلا اگر دکمه شماره 7 ریموت کنترلر را فشار دهیم عدد 7 بر روی7-SEGMENT نمایش داده شود ومعادل باینری عدد 7 روی PORTA تولید می کند .

شاید این سوال در ذهن خواننده تداعی گردد که چرا معادل باینری عدد 7 یعنی (0111) ؟

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

 جدول زیراعداد نمایش داده شده بر روی7-SEGMENT وعدد باینری نشان داده شده روی PORTA را نمایش می دهد

 

PORTA

7Segment

PLAY   

PORTB

دکمه ریموت کنترل

00001

1

0000110

1

00010

2    

1011011

2

00011

3     

1001111

3

00100

4   

1100110

4

00101

5     

1101101

5

00110

6     

1111101

6

00111

7      

0101010

7

01000

8     

1111111

8

01001

9   

1101111

9

01010

0

0111111

0

00000

 -

0110100

Stand

by

 

 نرم افزار مدار:

برنامه این پروژه به زبان بیسیک نوشته شده است  وبرای کامپایل آن از نرم افزار Micro Code Studio (MC Studio) استفاده شده است ازآنجاییکه زبان بیسیک در طبقه بندی زبا نهای برنامه سازی جز زبانهای سطح بالا طبقه بندی  می گردد ودارای توابع کتابخانه ای بسیار است از اینرو حجم نوشتاری وتایپی برنامه پایین است وبه قول معروف برنامه در10 الی 15 خط نوشته شده است.

 نکات ویژه وفابل تامل در طراحی پروژه :

1-     خروجی سنسورTSOP1138 بصورت منفی می باشد

2-     سرعت انتقال اطلاعات (Bude Rate) را در گیرنده (میکروکنترلر) برابر نرخ N300 درنظر

       بگیرید.

3-     فرکانس کلاک پالس اعمالی به میکروکنترلر باید برابر 8Mhz انتخاب گردد.

4-     از یک منبع تغذیه سوییچینگ 5 ولت (مثلا شارژر موبایل) برای تامین ولتاژ بایاس مدار استفاده کنید.

5-    سون سگمنت استفاده شده در این پروژه از نوع آند مشترک می باشد

6-     دراین گیرنده از 8 بیت پایانی کدهای عملگر ریموت کنترلر استفاده شده است .

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

برای دانلود اینجا کلیک کنید:

IR_RECIVER_SAMSUNG

آموزش استفاده از حافظه eeprom خارجی در میکروکنترلر avr

مقدمه:
گاهی موارد یک سری کد و DATA داریم که علاقمندیم آنها را در حافظه eeprom ذخیره کنیم ولی بدلیل عواملی مثل عدم گنجایش آنها در حافظه  eeprom داخلی و یا اینکه نمی خواهیم ظرفیت حافظه eeprom داخلی میکرو را بیهوده اشغال کنیم وعوامل دیگر ... دوست داریم از یک حافظه eeprom خارجی استفاده کنیم.

ic های eeprom انواع مختلفی دارند که از نظر ظرفیت و گنجایش data و همچنین نحوه آدرس دهی در طبقه بندی های مختلف قرار می گیرند و معمولا از رنج 1kb شروع می شوند.
خیلی از دوستان وکسانی که تازه کار با میکروکنترلرهای avr را شروع کرده اند در زمینه استفاده از این نوع حافظه دچار اشکال هستند و محور اشکالات آنها موارد زیر است:

1- ازچه پروتکلی برای اتصال میکرو به حافظه خارجی استفاده کنیم؟
2- ساپورت نشدن بعضی از حافظه ها توسط avr .
3- ذخیره شدن دیتای جدید بر روی دیتای قبلی.
4- عدم خواندن دیتای صحیح از حافظه eeprom .

در این پست که جنبه آموزشی دارد من توضیحات مفصل و کارگشایی رادر این باره آموزش می دهم و به عنوان مثال یک حافظه eeprom را به یکی از تراشه های خانواده avr متصل می کنیم و یک برنامه هم می نویسم که تمام معایب بالا را برطرف کند.
برای اتصال avr به ادوات و تراشه ها و حافظه ها یک سری پروتکل ارتباطی نظیر: spi,usart.twi,i2c,... وجود دارد که پروتکل I2C یکی از بهترین این پروتکلها برای این کار است.
این پروتکل (I2C)  در اوایل سال 1980 میلادی توسط شرکت فیلیپس ابداع شد و بسرعت معروف شد برای کسب اطلاعات بیشتر درباره این پروتکل میتوانید به دانشنامه ویکیپدیا ویا سرچ در موتورهای جستجو گربپردازید.

ویژگی های این پروتکل (I2C) در میکرو کنترلر avr بشرح زیر است:

1- اطلاعات به صورت سریال ارسال می گردد.
2- سنکرون بودن اطلاعات ارسالی (یعنی به همراه اطلاعات پالس ساعت هم فرستاده می شود).
3- کانال ارتباطی 2 سیمه (برای اتصال بین میکرو و حافظه eeprom از دو تکه سیم استفاده می شود) دو پایه ای از avr که برای اینکار استفاده می شود در اصطلاح فنی SDA , SCL نام می گیرند.
4- حداکثر سرعت نرخ ارسال اطلاعات در این پروتکل برابر 400kb/sec (کیلو بایت بر ثانیه) می باشد.
5- خطوط SDA , SCL میکرکنترلر avr به صورت open drain ساخته شده اند پس باید از دو مقاومت بالا کشنده ولتاژ یا در اصطلاح pull up در خروجی این پایه ها استفاده شود. در ضمن مقدار این مقاومتها وابسته به دو پارامتر " سرعت تبادل (نرخ ارسال) و طول گذرگاه " است.


برای وابستگی مقاومت pull up به سرعت اطلاعات شرکت سازنده میکروکنترلرavr یک جدول داده که من آنرا از کاتالوگ اش استخراج کردم که به صورت زیر است:

400KB/SEC 100KB/SEC 100KB/SEC> Speed
1.0K 2.2K 4.7K Resistor

همانطور که مشاهده می کنید با افزایش سر عت تبادل اطلاعات از مقدار مقاومت های pull up کاسته می شود.
از آنجاییکه استفاده از پروتکل i2c دارای پیچیدگی های زیادی است و استفاده مستقیم با رجیسترهای این واحد قدری مشکل است از توابع کتابخانه که نرم افزار Code vision برای این واحد قرار داده است استفاده خواهیم نمود. و این تابع باید در ابتدای برنامه ودر فسمت فایل های سرآیند ( header ) معرفی شود.

تراشه 24C04 :

شکل زیر پایه های این آی سی را نشان می دهد:


درمورد استفاده از این تراشه باید بگویم یک سری تنظیمات و ریزه کاری دارد که برای اتصال به میکرو باید در نظر گرفته شوند :
پایه های ۴ و  ۸ به زمین و vcc متصل می شوند.پایه های شماره 2 و 3 پایه های فعال ساز تراشه هستند که با توجه به جدول زیر عملکرد تراشه را تحت تاثیر قرار می دهند:
 

RW

Bloak Select

Chip Enable

Device Code

 

b0

b1

b2

b3

b4

b5

b6

b7

Bit

RW

A8

E1

E2

0

1

0

1

Device Selec


همان طور که از جدول پیداست ورودی های توانا ساز E1 و E2 به پایه RW (پایه7) نیز بستگی دارند که این پایه را با مقدار VL یا VH باید تعریف کنیم به عبارت دیگر میتوان با 0 و 1 کردن این بیت  به همراه ورودی های تواناساز (b3,b2) عملکرد تراشه را تعریف کرد.
پایه شماره 7 : این پایه مربوط به PROTECT تراشه هست با این تراشه می توانیم عمل نوشتن در تراشه را کنترل کنیم.
بیت های b4 تا b7 در اختیار ما نیستند و با مقدار 1010 برنامه ریزی شذه اند.
پایه های 5 و 6 بترتیب پایه های SDA و SCL هستند که جهت اتصال به میکرو استفاده می شوند. باز هم تاکید می کنم توسط دو مقاومت باید PULL UP شوند.

برای آشنایی با این تراشه بهتر است datasheet آن را مطالعه کنید. آنجا بطور کامل و مفصل در این باره صحبت شده است.

سخت افزار:

شکل زیر نحوه اتصال میکرو کنترلر AVR - Atmega8 را به یک حافظه eeprom خارجی نشان میدهد:


همان طور که از شکل پیداست  توسط دو مقاومت 1 کیلو اهم pull up گذرگاه i2c را آماده بهره برداری کرده ایم و برای نمایش اطلاعات در خروجی از یک سری LED در PORTD استفاده کرده ایم وبرای کنترل جریان LED ها از 8 مقاومت 100 اهم استفاده کرده ایم .در ضمن کلاک پالس بصورت خارجی و توسط کریستال 8MHZ به مدار تزریق می شود.
حافظه EEPROM مورد ااستفاده آی سی 24C04 می باشد که یک حافظه باظرفیت 4KB  می باشد دقت کنید از آی سی 24C01 هم می توانید استفاده کنید که ظرفیت آن 1KB می باشد.
در ضمن پایه شماره 1 تراشه 24c04 هم بصورت(nc) و بدون استفاده است.
اما در مورد نرم افزار وکدهای برنامه که با نرم افزار Code vision  وبرنامه نویسی به زبان C نوشته شده اند.در این برنامه از دو زیر برنامه یا تابع استفاده شده است که عملیات خواندن و نوشتن از حافظه EEPROM خارجی را بر عهده دارند بهتر است ابتدا برنامه را ببینیم .
 
برنامه:
 


در ابتدای برنامه و در قسمت HEADER ها نوع تراشه و پایه هایی از میکروکنترلر که قرار است به حافظه متصل شوند (SDA , SCL) را معلوم می کنیم همچنین توابع کتابخانه ای مورد استفاده را در این قسمت معرفی می کنیم .
سپس یک ثابت به نام EEPROM_BUS_ADDRESS تعریف می کنیم و مقدار آنرا 0XA0 قرار می دهیم دقت کنید این ثابت برنامه است و مقدار آن تغییر نمی یابد همانطور که در فسمت معرفی تراشه 24C04 گفتیم این حافظه دارای 8 بیت کنترلی است(b0  تا b7) که باید برنامه ریزی شوند با ارسال عدد هگز 0XA0 به تراشه می توان این بیت های کنترلی را بر نامه ریزی کرد.
سپس دو تابع با نامهای eeprom_read و eeprom_write تعریف کرده ایم که مخصوص خواندن و نوشتن اطلاعات در EEPROM خارجی هستند دقت شود این توابع از آن دسته توابعی هستند که یک مقدار و عدد را دریافت و ارسال می کنند.
سپس به بدنه اصلی برنامه می رسیم که مخصوص پیکر بندی تراشه AVR است و رجیسترها و پارامترها را در این قسمت مقدار دهی می کنیم و سپس یک حلقه با تکرا بی نهایت برای انجام متوالی دستورات ایجاد می کنیم.

طرز کار برنامه :

در این برنامه مقدار عدی هگز 0XAA را ابتدا در آدرس 0X00 از حافظه خارجی می نویسیم سپس با مراجعه به آدرس 0X00 از حافظه خارجی اطلاعات ذخیره شده را می خوانیم (که باید همان مقدار هگز 0XAA باشد) ونتیجه را در خروجی PORTD  نمایش می دهیم در حقیقت یک برنامه برای تست عملکرد میکروکنترلر و تراشه 24C04 نوشته ایم شما می توانید هر مقدار و هر آدرسی که دلخواهتان هست را انتخاب کنید.


در انتها ذکر یک نکته فنی باقی می ماند که بسیار مهم است و من هنگام کار با AVR آن را بصورت تجربی نیز درک کرده ام و آن حالت گذرا و لحظه اولیه در مدارات میکرو کنترلی است زمانی که تجهیزاتی مثل تراشه های حافظه به آن ها متصل است اگر حالت گذرا پیش آید باعث می شود آنها درست مقدار دهی و ساپورت نشوند بهتر است از مدار RESET شکل زیر استفاده کنید و توضیحات زیر آن را هم بخوانید:

مدار RESET :

مدارRESET علاوه بر اینکه عمل راه اندازی مجدد را برعهده دارد مزایا یی نیز دارد که عبارت است از:

۱) در هنگام اتصال برق باعث می شود تا برای چندمیلی ثانیه مبکرو کنترلر RESET گردد( همان طورکه می دانیم میکرو کنترلر دارای پارامترها و ثبات ها وشمارنده هاو....میباشد ومقدار آنها ممکن است در لحظه اولیه تغییریابد مدار RESET از این پدیده جلوگیری می کند.)

۲) ممکن است در مدارهایی که طراحی می کنیم برای نویز گیری در کنارخطوط تغذیه از خازنهایی استفاذه کنیم که باعث می شوند ظرفیت خازنی خط افزایش یابد وزمان لازم برای پر شدن این خازن ها بیشترشود مدار RESET باعث می شود زمان لازم برای پر شدن این خازن ها فراهم گردد.

۳) در صورتیکه از تراشه ها و حافظه های جانبی استفاده کنیم ممکن است درلحظه اولیه تغذیه میکرو کنترلر فراهم شود ولی ممکن است تغذیه کافی برای تراشه های جانبی فراهم نشده باشد ومواردی که گفتیم برای آنها پیش آید مدار RESET از این حالت جلوگیری می کند.

به صورت جمع بندی مدار RESET باعث می شود لحظه اول وگذرا سپری شود وبه حالت پایدار برسیم.

باتوجه به مطالب گفته شده در تمامی سخت افزارهای میکرو کنترلری از مدار RESET حتما استفاده کنید!!!!!!

گیت های منطقی

دروازه منطقی:

ماشین حساب حرفه ای مهندسی DreamCalc Professional 4.8.0

DreamCalc Professional یک ماشین حساب فوق حرفه ای جهت انجام محاسبات پیچیده و تخصصی ریاضی و مهندسی می باشد. این نرم توانایی محاسبه معدلات پیچیده که بیش از ۲۶۰ تابع می باشد را دارا بوده و علاوه بر سرعت دارای دقت بسیار بالایی می باشد. نرم افزار DreamCalc Professional را در ادامه می توانید به صورت رایگان از وب سایت دانلودها دریافت کنید.

 

DreamCalc Professional 4.8.0 ماشین حساب حرفه ای مهندسی DreamCalc Professional 4.8.0

 

 

password ماشین حساب حرفه ای مهندسی DreamCalc Professional 4.8.0رمز فایل: www.downloadha.com

download ماشین حساب حرفه ای مهندسی DreamCalc Professional 4.8.0 لینک دانلود – 4.2 مگابایت | لینک کمکی

 

تبدیل لپ تاپ به مودم وایرلس Connectify Pro 3.7.0.25374

Connectify Pro نرم افزاری بسیار عالی و کارآمد برای به اشتراک گذاری اینترنت و اطلاعات از طریق مودم وای-فای (wi-fi) داخلی لپ تاپ است. یعنی به وسیله این نرم افزار میتوانید از طریق مودم داخلی لپ تاپ اینترنت را برای دیگران به اشتراک بگذارید و در واقع لپ تاپ خودتان را به مودم وایرلس تبدیل کنید تا دیگران برای وصل شدن به اینترنت از لپ تاپ شما به عنوان مودم بی سیم وایرلس استفاده کنند. استفاده اصلی این نرم افزار در محیط کار و دانشگاه ها و خوابگاه ها است که دارای مودم وایرلس نبوده و بدون کابل دسترسی به اینترنت ناممکن است. به این ترتیب کافی است یک لپ تاپ به اینترنت وصل شود و با استفاده از این نرم افزار آن لپ تاپ اینترنت را با دیگران به اشتراک بگذارد. همچنین این نرم افزار میتواند به عنوان اتصال دهنده شبکه کننده نیز مورد استفاده قرار گیرد ، به طوری که در حالت آفلاین و بدون اینترنت میتوانید اطلاعات را از طریق شبکه ایجاد شده منتقل کنید و در واقع به ترانسفر دیتا مشغول شوید. برای دسترسی افراد به اینترنت میتوانید یوزرنیم و پسورد تعریف نمایید و به آنها ارائه دهید. بنابراین با این نرم افزار لپ تاپ شما به یک مودم وای-فای بدون هیچ سخت افزار اضافی تبدیل خواهد شد و سپس افراد دیگر میتوانند با یوزرنیم و پسورد اهدایی شما با لپ تاپ شما به اینترنت متصل شوند و شما نیز افراد متصل شده را مشاهده کنید. 

 

Connectify Pro تبدیل لپ تاپ به مودم وایرلس Connectify Pro 3.7.0.25374

 

 

 

 

password تبدیل لپ تاپ به مودم وایرلس Connectify Pro 3.7.0.25374رمز فایل: www.downloadha.com

download تبدیل لپ تاپ به مودم وایرلس Connectify Pro 3.7.0.25374 لینک دانلود – 9 مگابایت لینک کمکی

 

اصول پايه و ساختمان موتورهاي اسپ و درايوها

اصول پايه و ساختمان موتورهاي اسپ و درايوها

Fundamental of stepper motors and drivers

ادامه نوشته

جزوه  آموزش لوگو به زبان فارسي

با سلام يه جزوه ديگه از آموزش لوگو به زبان فارسي به صورت PDF رو ميخوام معرفي كنم ، يه جزوه بسيار كامل شامل مقدمه اي بر ديجيتال ، معرفي لوگو ، سخت افزار و نرم افزار و آموزش برنامه نويسي و . . . در ادامه اين جزوه 190 صفحه اي به S5 پرداخته شده كه شامل معرفي نرم افزار و برنامه نويسي مي باشد به همه دوستان توصيه ميكنم حتما اين جزوه مفيد رو دانلود كنن ، با حجم 6.5 مگابايت.

 جزوه 100 صفحه اي در رابطه با نحوه استفاده و آشنایی با PLC خانواده زيمنس و نرم افزار مربوطه تحت عنوان  كه جزئيات رو در ادامه توضيح دادم رو دانلود كنيد.

چكيده مطالب جزوه :

آشنايي با S7 و نرم افزار مربوطه ، انواع بلوك در S7 ، فرم هاي نمايش در S7 ، معرفي تايمر ها ، شمارنده ها و مقايسه كننده ها ، تبديل كننده ها و شيفت دهنده ها و سخت افزار در S7 .

گردآورنده : محمد يادگار - كارشناس فني مونتاژ يك شركت ايران خودرو

Simatic S7 Siemens Industrial Automation  

 

جزوه آموزشيlogo به زبان فارسي،تهيه و تدوين : مركز تحقيق و توسعه شركت نيكوپتروپرداز

Download 

شرکت زیمنس

نگاهی به شرکت زیمنس آلمان 



لطفا به ادامه مطلب مراجعه کنید...
ادامه نوشته