امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
كمك كمك كمك
نویسنده پیام
kendab آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 17
تاریخ عضویت: خرداد ۱۳۸۷

تشکرها : 37
( 14 تشکر در 11 ارسال )
ارسال: #1
كمك كمك كمك
سلام
من يه برنامه ميخواهم كه ولتاژ ورودي كه بين 4 تا 20ولت ميباشه بگيره و رو سه تا سون سگمنت نشون بده وقتي 4 هست عدد صفر وقتي 20 هست عدد 300 و اعداد بين را هم همينطور محاسبه كنه
ولي من يه برنامه دارم كه اعداد بين را درست نشون نميدهد برنامه را با مدار ميذارم
يكي كمك كنه


فایل‌(های) پیوست شده
.zip   4v ta 20v CodeVisionAVRAVR.zip (اندازه: 233.74 KB / تعداد دفعات دریافت: 49)
۱۲-مهر-۱۳۹۱, ۰۰:۵۵:۲۵
ارسال‌ها
پاسخ
student-p آفلاین
كاربر دو ستاره
**

ارسال‌ها: 168
موضوع‌ها: 24
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 18
( 125 تشکر در 76 ارسال )
ارسال: #2
RE: كمك كمك كمك
(۱۲-مهر-۱۳۹۱, ۰۰:۵۵:۲۵)kendab نوشته است: سلام
من يه برنامه ميخواهم كه ولتاژ ورودي كه بين 4 تا 20ولت ميباشه بگيره و رو سه تا سون سگمنت نشون بده وقتي 4 هست عدد صفر وقتي 20 هست عدد 300 و اعداد بين را هم همينطور محاسبه كنه
ولي من يه برنامه دارم كه اعداد بين را درست نشون نميدهد برنامه را با مدار ميذارم
يكي كمك كنه


این کار ک خیلی راحته!
با چندتا تناسب و عمل ریاضی شدنی هست ک
ولی بهترین راه استفاده از مدارات صفر وشیب (zero-span) هست،بدین دلیل ک شما میتونید بازه تغییراتتون روبین صفر تا 5 ولت با رزلوشن بیشتری اندازه گیری کنید.

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

بهترین لینک دنیا اینجا رو کلیک کن(هر چی بخوای هست)

(آخرین ویرایش در این ارسال: ۱۴-مهر-۱۳۹۱, ۰۱:۱۹:۲۵، توسط student-p.)
۱۴-مهر-۱۳۹۱, ۰۱:۱۴:۰۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : kendab
kendab آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 17
تاریخ عضویت: خرداد ۱۳۸۷

تشکرها : 37
( 14 تشکر در 11 ارسال )
ارسال: #3
RE: كمك كمك كمك
(۱۴-مهر-۱۳۹۱, ۰۱:۱۴:۰۹)student-p نوشته است:
(۱۲-مهر-۱۳۹۱, ۰۰:۵۵:۲۵)kendab نوشته است: سلام
من يه برنامه ميخواهم كه ولتاژ ورودي كه بين 4 تا 20ولت ميباشه بگيره و رو سه تا سون سگمنت نشون بده وقتي 4 هست عدد صفر وقتي 20 هست عدد 300 و اعداد بين را هم همينطور محاسبه كنه
ولي من يه برنامه دارم كه اعداد بين را درست نشون نميدهد برنامه را با مدار ميذارم
يكي كمك كنه



این کار ک خیلی راحته!
با چندتا تناسب و عمل ریاضی شدنی هست ک
ولی بهترین راه استفاده از مدارات صفر وشیب (zero-span) هست،بدین دلیل ک شما میتونید بازه تغییراتتون روبین صفر تا 5 ولت با رزلوشن بیشتری اندازه گیری کنید.
سلام
ميشه در مورد اين مدارات بيشتر توضيح بدهيد
ممنون
موفق باشيد
۱۴-مهر-۱۳۹۱, ۱۹:۰۷:۲۹
ارسال‌ها
پاسخ
student-p آفلاین
كاربر دو ستاره
**

ارسال‌ها: 168
موضوع‌ها: 24
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 18
( 125 تشکر در 76 ارسال )
ارسال: #4
RE: كمك كمك كمك
مدارات zero-span مداراتی هستند که سطح بازه تغییرات ورودی را به سطحی دلخواه مثلا 0 تا 5 ولت در خروجی تغیر میدهندغک برای مطالعه بیشتر میتونید به کتابهای کنترل مراجعه کنیدWink.

اما سعی میکنم ی برنامه ساده براتون بذارم ک کارتون بدون این مدارات راه بیافته!

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

بهترین لینک دنیا اینجا رو کلیک کن(هر چی بخوای هست)

۱۴-مهر-۱۳۹۱, ۲۳:۰۳:۵۳
وب سایت ارسال‌ها
پاسخ
apcog آفلاین
در حال پیشرفت
***

ارسال‌ها: 315
موضوع‌ها: 40
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 61
( 280 تشکر در 167 ارسال )
ارسال: #5
RE: كمك كمك كمك
به این میگن الافی.
بهترین کار اینه که:
یه شبکه مقاومتی ببند بره.بعد با میکرو یه چیزی شبیه یه فرمول کوچولو براش بنویس تموم.

کد:
#asm
.MOV Recycle_Bin,Life;
#end asm
به همین راحتی زندگی از این رو به آن رو میشود!
WinkWink
۱۶-مهر-۱۳۹۱, ۰۱:۱۰:۵۸
ارسال‌ها
پاسخ
تشکر شده توسط : kendab
kendab آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 17
تاریخ عضویت: خرداد ۱۳۸۷

تشکرها : 37
( 14 تشکر در 11 ارسال )
ارسال: #6
RE: كمك كمك كمك
(۱۶-مهر-۱۳۹۱, ۰۱:۱۰:۵۸)apcog نوشته است: به این میگن الافی.
بهترین کار اینه که:
یه شبکه مقاومتی ببند بره.بعد با میکرو یه چیزی شبیه یه فرمول کوچولو براش بنویس تموم.
امكان داره بيشتر توضيح بدهيد
ممنون
۱۶-مهر-۱۳۹۱, ۰۸:۴۵:۱۵
ارسال‌ها
پاسخ
apcog آفلاین
در حال پیشرفت
***

ارسال‌ها: 315
موضوع‌ها: 40
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 61
( 280 تشکر در 167 ارسال )
ارسال: #7
RE: كمك كمك كمك
حد اکثر ولتاژت 20 ولته. یه مقسم ولتاژ مقاومتی بساز با ضریب 25 درصد.حالا با مبدل آنالوگ به دیجیتال خروجی اون رو بخون.
به 20 ولت عدد 255 و به 0 ولت عدد 0 رو اختصاص میده.حالا کار های ریاضیش رو انجام بده و محدوده رو تبدیل کن به 51 تا 255.
بعد عددت رو بردار و با ضریبی که به دست اوردی،عدد نهایی رو در بیار. بعد بنویسش روی سون سگمنت.کار سختی نیست...

کد:
#asm
.MOV Recycle_Bin,Life;
#end asm
به همین راحتی زندگی از این رو به آن رو میشود!
WinkWink
۱۶-مهر-۱۳۹۱, ۲۳:۲۴:۰۹
ارسال‌ها
پاسخ
جلالی آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۹۰

تشکرها : 6
( 78 تشکر در 45 ارسال )
ارسال: #8
RE: كمك كمك كمك
دوست عزیز اولا افت ولتاژ دیودها را باید در نظر بگیری
با توجه به داده های مدارتان دامنه ولتاژ درمقاومت پایه میکرو از2.6 ولت تا 18.6 ولت متغیر است
چون از شبکه مقاومتی استفاده کرده ای اعداد در پایه میکرو از 0.65 تا 4.65 ولت متغییر است
لذا باید سوال ات اینطوری باشد 0.65 را صفر و4.65 را 300 نشان دهد اگر تبدیل یک بایتی انتخاب کنی
0.65 را 33 و4.65 را 238 خواهیم داشت پس نتیجه انتظارت بطور خلاصه می شود
33 را 0 ولت 238 را 300 نمایش دهد
اگر انتظارت خطی است فرمولش این می شود
y=1.46*x-48
برنامه مناسب هم می تواند استفاده از یک تابع برای خواندن داده انالوگ وتبدیل کردن ان به دیجیتال متناظر می باشد
;int data
;()data=readdata
;sadgan=data/100
;data=data%100
;dahgan=data/10
;ykan=data%10
وباقی قضایا
موفق باشی
۱۶-مهر-۱۳۹۱, ۲۳:۵۳:۰۷
ارسال‌ها
پاسخ
تشکر شده توسط : kendab
kendab آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 17
تاریخ عضویت: خرداد ۱۳۸۷

تشکرها : 37
( 14 تشکر در 11 ارسال )
ارسال: #9
RE: كمك كمك كمك
(۱۶-مهر-۱۳۹۱, ۲۳:۵۳:۰۷)جلالی نوشته است: دوست عزیز اولا افت ولتاژ دیودها را باید در نظر بگیری
با توجه به داده های مدارتان دامنه ولتاژ درمقاومت پایه میکرو از2.6 ولت تا 18.6 ولت متغیر است
چون از شبکه مقاومتی استفاده کرده ای اعداد در پایه میکرو از 0.65 تا 4.65 ولت متغییر است
لذا باید سوال ات اینطوری باشد 0.65 را صفر و4.65 را 300 نشان دهد اگر تبدیل یک بایتی انتخاب کنی
0.65 را 33 و4.65 را 238 خواهیم داشت پس نتیجه انتظارت بطور خلاصه می شود
33 را 0 ولت 238 را 300 نمایش دهد
اگر انتظارت خطی است فرمولش این می شود
y=1.46*x-48
برنامه مناسب هم می تواند استفاده از یک تابع برای خواندن داده انالوگ وتبدیل کردن ان به دیجیتال متناظر می باشد
;int data
;()data=readdata
;sadgan=data/100
;data=data%100
;dahgan=data/10
;ykan=data%10
وباقی قضایا
موفق باشی
سلام
ممنون
ميبخشيد منظورتون را متوجه نشدم
منظورتون اينه كه اين برنامه را رو ميكرو بريزم
دو تا سوال ديگه
ورودي ما جريان ميباشد بايد اينو رو سون سگمنت نشون بدم
اگه مداري باشه كه نيازي به اين مدار ديودي نباشه عاليست
از سون سگمنت بزرگ استفاده كنم جريان كشي در حدود 200ميلي ميباشه درايور يا مدار محافظ چي بايد بذارم
موفق باشيد
۱۷-مهر-۱۳۹۱, ۰۰:۲۳:۴۱
ارسال‌ها
پاسخ
student-p آفلاین
كاربر دو ستاره
**

ارسال‌ها: 168
موضوع‌ها: 24
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 18
( 125 تشکر در 76 ارسال )
ارسال: #10
RE: كمك كمك كمك
با سلام مجدد اگر سیگنال شما ی ولتاژ ؛بین بازه 4 تا 20 ولت میباشد، برای اندازه گیری و تبدیل اون بین بازه صفر تا 300 (بدون استفاده از مدارات ذکر شده) فقط کافی سیگنال مورد نظرتون رو به شبکه ی تقسیم مقاومتی زیر اعمال کنید (البته در صورتی که ولتاژ DC داشته باشد) و در نهایت خروجی رو توسط دستورات زیر از کانال ADC مورد نظرتون بخونید:

v=getadc(0)
v=v*5
v=v/1024

vdis=v*1.470588235
vdis=vdis-1.250588235
vdis=vdis*60

در نهایت کافیست که مقدار Vdis رو برای نمایش بر روی 7سگمنت آماده کنید،بدین ترتیب میتونید بدون استفاده از مدارات ذکر شده کارتون رو انجام بدین البته به دوشرط:
1- بخواین ی سیگنال ولتاژ رو اندازه گیری کنیدExclamation
2- دامنه در حد ولت باشه ن میلی ولتExclamation

و اما اگه سیگنال مورد نظر یه سیگنال جریانی بین این بازه است (البته در حد میلی آمپ) کار ی خورده مشکل میشه،مثل خروجی اکثر مبدل ها که چنین سیگنالی رو ارائه میدن!

موفق باشد.

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

بهترین لینک دنیا اینجا رو کلیک کن(هر چی بخوای هست)

۱۷-مهر-۱۳۹۱, ۱۲:۰۰:۵۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : kendab
kendab آفلاین
كاربر تک ستاره
*

ارسال‌ها: 44
موضوع‌ها: 17
تاریخ عضویت: خرداد ۱۳۸۷

تشکرها : 37
( 14 تشکر در 11 ارسال )
ارسال: #11
RE: كمك كمك كمك
(۱۷-مهر-۱۳۹۱, ۱۲:۰۰:۵۲)student-p نوشته است: با سلام مجدد اگر سیگنال شما ی ولتاژ ؛بین بازه 4 تا 20 ولت میباشد، برای اندازه گیری و تبدیل اون بین بازه صفر تا 300 (بدون استفاده از مدارات ذکر شده) فقط کافی سیگنال مورد نظرتون رو به شبکه ی تقسیم مقاومتی زیر اعمال کنید (البته در صورتی که ولتاژ DC داشته باشد) و در نهایت خروجی رو توسط دستورات زیر از کانال ADC مورد نظرتون بخونید:

v=getadc(0)
v=v*5
v=v/1024

vdis=v*1.470588235
vdis=vdis-1.250588235
vdis=vdis*60

در نهایت کافیست که مقدار Vdis رو برای نمایش بر روی 7سگمنت آماده کنید،بدین ترتیب میتونید بدون استفاده از مدارات ذکر شده کارتون رو انجام بدین البته به دوشرط:
1- بخواین ی سیگنال ولتاژ رو اندازه گیری کنیدExclamation
2- دامنه در حد ولت باشه ن میلی ولتExclamation

و اما اگه سیگنال مورد نظر یه سیگنال جریانی بین این بازه است (البته در حد میلی آمپ) کار ی خورده مشکل میشه،مثل خروجی اکثر مبدل ها که چنین سیگنالی رو ارائه میدن!

موفق باشد.
سلام مشكلم ينجاس ك ورودي جريان ميباَشه البته در رنج ميلي
ميخواهم با ميكرو كار كنم كه بعدا بتونم لازم شد تغيرش بدهم
اگه بتونيد كمك كنيد ممنون هستم
۱۷-مهر-۱۳۹۱, ۱۶:۲۲:۴۸
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 8 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS