سلام عزیزان من برا یه پروژه نیاز به یک attiny13 دارم که ولتاژ یک پایه خود را دائم اندازه گرفته اگر بین 2.22 ولت تا 2.96 ولت بود یک پایه را صفر و پایه دیگر تو خروجی را یک کند و اگر خارج این رنج بود پایه ها معکوس شوند دستورش به چه صورتی می شه؟
اطلاعیه
Collapse
No announcement yet.
حلقه adc
Collapse
X
-
پاسخ : حلقه adc
نوشته اصلی توسط mohsen74 نمایش پست هاسلام عزیزان من برا یه پروژه نیاز به یک attiny13 دارم که ولتاژ یک پایه خود را دائم اندازه گرفته اگر بین 2.22 ولت تا 2.96 ولت بود یک پایه را صفر و پایه دیگر تو خروجی را یک کند و اگر خارج این رنج بود پایه ها معکوس شوند دستورش به چه صورتی می شه؟
روی پایه میکرو میشهقصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....
دیدگاه
-
Re: حلقه adc
نوشته اصلی توسط mohsen74 نمایش پست هاسلام عزیزان من برا یه پروژه نیاز به یک attiny13 دارم که ولتاژ یک پایه خود را دائم اندازه گرفته اگر بین 2.22 ولت تا 2.96 ولت بود یک پایه را صفر و پایه دیگر تو خروجی را یک کند و اگر خارج این رنج بود پایه ها معکوس شوند دستورش به چه صورتی می شه؟
برای تنظیم مقدار دقیق در دستور های case باید ولتاژ مورد نظر رو به ADCداد و مقدارش رو از آیسی خوند و بر اساس اون یک معادله قبل DO گذاشت
این برنامه ای که من نوشتم کلی هست ببخشید که کامل نیست
[FONT=Yekan]$regfile= "attiny13.dat"[/FONT]$crystal=1000000
$hwstack = 32
$swstack = 8
$framesize = 16
dim A as Byte
dim B as Byte
Dim C as Byte
CONFIG ADC = single, PRESCALER = AUTO, REFERENCE = INTERNAL
start ADC
config PORTB.0=INPUT,portb.1=OUTPUT
set portb.0
reset portb.1
print A
do
A= getadc(1)
select case A
case is <2 :gosub label
case 2 to 3 : gosub label1
case is > 3 :gosub label
end select
loop
end
label:
set portb.0
reset portb.1
return
label1:
set portb.1
reset portb.0
return
این مشکل رو تجربه کردم
یا اینکه از نزدیک دیدم و دارم نظر میدم
بعضی ها به اشتباه فکر میکنن من تعمیر کارم و دارم راه حل میگم
- تشکرها 1
دیدگاه
-
پاسخ : Re: حلقه adc
نوشته اصلی توسط maziar ashouri نمایش پست هامن کد ها رو نوشتم اما چون تا الان با این خانواده و این ایسی کار نکردم برنامه من همراه ارور هست و به دلیل عدم آگاهی من درباره این آیسی رفع ارور ها با خود شما
برای تنظیم مقدار دقیق در دستور های case باید ولتاژ مورد نظر رو به ADCداد و مقدارش رو از آیسی خوند و بر اساس اون یک معادله قبل DO گذاشت
این برنامه ای که من نوشتم کلی هست ببخشید که کامل نیست
[FONT=Yekan]$regfile= "attiny13.dat"[/FONT]$crystal=1000000
$hwstack = 32
$swstack = 8
$framesize = 16
dim A as Byte
dim B as Byte
Dim C as Byte
CONFIG ADC = single, PRESCALER = AUTO, REFERENCE = INTERNAL
start ADC
config PORTB.0=INPUT,portb.1=OUTPUT
set portb.0
reset portb.1
print A
do
A= getadc(1)
select case A
case is <2 :gosub label
case 2 to 3 : gosub label1
case is > 3 :gosub label
end select
loop
end
label:
set portb.0
reset portb.1
return
label1:
set portb.1
reset portb.0
return
دلیل: ادغام دو پست برای جلوگیری از اسپم
نوشته اصلی توسط خلبان نمایش پست هاسلام اگه فضولی نباشه می تونید بگید چه عاملی باعث این تغییر ولتاژ
روی پایه میکرو میشهجدیدترین ویرایش توسط mohsen74; ۲۱:۵۹ ۱۳۹۷/۱۰/۲۲.
دیدگاه
-
پاسخ : Re: حلقه adc
نوشته اصلی توسط maziar ashouri نمایش پست هامن کد ها رو نوشتم اما چون تا الان با این خانواده و این ایسی کار نکردم برنامه من همراه ارور هست و به دلیل عدم آگاهی من درباره این آیسی رفع ارور ها با خود شما
برای تنظیم مقدار دقیق در دستور های case باید ولتاژ مورد نظر رو به ADCداد و مقدارش رو از آیسی خوند و بر اساس اون یک معادله قبل DO گذاشت
این برنامه ای که من نوشتم کلی هست ببخشید که کامل نیست
[FONT=Yekan]$regfile= "attiny13.dat"[/FONT]$crystal=1000000
$hwstack = 32
$swstack = 8
$framesize = 16
dim A as Byte
dim B as Byte
Dim C as Byte
CONFIG ADC = single, PRESCALER = AUTO, REFERENCE = INTERNAL
start ADC
config PORTB.0=INPUT,portb.1=OUTPUT
set portb.0
reset portb.1
print A
do
A= getadc(1)
select case A
case is <2 :gosub label
case 2 to 3 : gosub label1
case is > 3 :gosub label
end select
loop
end
label:
set portb.0
reset portb.1
return
label1:
set portb.1
reset portb.0
return
dim c کجاست پاکش کن از دستور if بجای case استفاده کن
ببین چطور میشهقصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....
دیدگاه
-
Re: پاسخ : Re: حلقه adc
نوشته اصلی توسط خلبان نمایش پست هاسلام برنامه ای که نوشتی portb.0 رو output کن بعد dim b
dim c کجاست پاکش کن از دستور if بجای case استفاده کن
ببین چطور میشه
این رو کلی دادم و اگه بخوای همین رو روی مگا 8 بریزی عالی کار میکنه (البته باید پایه ها رو درست کرد)این مشکل رو تجربه کردم
یا اینکه از نزدیک دیدم و دارم نظر میدم
بعضی ها به اشتباه فکر میکنن من تعمیر کارم و دارم راه حل میگم
دیدگاه
-
پاسخ : Re: حلقه adc
نوشته اصلی توسط mohsen74 نمایش پست هادمت گرم برادر ولی من کامپایلر اتمل منظورم بود یا کد ویژن
دلیل: ادغام دو پست برای جلوگیری از اسپم
نه مشکلی نداره برادر خلبانم عامل تغییر یه سنسور دست ساز برق ac هست شما می تونی به ما کمک کنی؟
بعد این ولتاژ وارد adc میکرو بشه این ولتاژ معادل دیجیتال داره
که شما این مقدار رو با مقدار مورد نظرت مقایسه میکنی و با توجه
به اون پایه هات رو صفر و یک میکنی که اگه از یک رله استفاده
کنی یک پایه بیشتر احتیاج نداری دوست ما عجله کرد من هم
متاسفانه کدویژن و اتملم خوب نیست ولی روال کار رو این طوری
میبینمقصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....
- تشکرها 1
دیدگاه
-
پاسخ : Re: حلقه adc
نوشته اصلی توسط خلبان نمایش پست هاسلام تغییرات سنسور باید به صفر تا پنج ولت دی سی تبدیل بشه
بعد این ولتاژ وارد adc میکرو بشه این ولتاژ معادل دیجیتال داره
که شما این مقدار رو با مقدار مورد نظرت مقایسه میکنی و با توجه
به اون پایه هات رو صفر و یک میکنی که اگه از یک رله استفاده
کنی یک پایه بیشتر احتیاج نداری دوست ما عجله کرد من هم
متاسفانه کدویژن و اتملم خوب نیست ولی روال کار رو این طوری
میبینم
دیدگاه
-
پاسخ : حلقه adc
نوشته اصلی توسط mohsen74 نمایش پست هااز دوستان کسی نمی دونه چکار بایدئ کرد؟قصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....
دیدگاه
-
پاسخ : Re: حلقه adc
نوشته اصلی توسط mohsen74 نمایش پست هااز نظر حداکثر ولتاژ مشکلی نیست چون با زنر تا 5 ولت محدودش کردم خروجی پایه دیجیتال هم براهمین رله که فرمودی می خوام که رله رو قطع و وصل کنم مقدار استاندارد ولتاژ سنسور بعد از یکسوسازی و کاهش ریپل هم بدست اوردم که بین 2.22 تا 2.96 هست اما الان تو برنامه بخش adc مشکل دارم...
فک کنم باشه بعد از اون چند خط برنامه اضافه کنی فکر کنم مشکلت
حل شهقصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....
دیدگاه
-
پاسخ : Re: حلقه adc
نوشته اصلی توسط خلبان نمایش پست هاراستی یک کاری بکن توی نت بگرد پروژه ولت متر با avr رو پیدا کن
فک کنم باشه بعد از اون چند خط برنامه اضافه کنی فکر کنم مشکلت
حل شه
دیدگاه
-
پاسخ : Re: حلقه adc
نوشته اصلی توسط mohsen74 نمایش پست هامهندس ممنون با کمکی که کردی مشکلم برطرف شدقصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....
- تشکرها 1
دیدگاه
دیدگاه