سلام
در میکرو هایی که تعداد Timer 16 بیتی محدودی دارند برای تولید چند پالس PWM با دقت با چه روشی به کار گیریم ؟
مثلا ATMEGA32 که 4 خروجی PWM دارد ولی دو تای آن ها دقت هشت بیتی دارند.
برای کنترل سروو موتور لازم است پالسی با فرکانس کاری 50 هرتر و دیوتی سایکل 1 تا 2 میلی ثانیه تولید گردد
که میزان حداکثر و حداقل گردش را مشخص میکند.
حالا با این اختلاف 1 میلی ثانیه و استفاده از تایمر 8 بیتی میتوان به حداکثر دقت (256/20) که حدودا برابر 12 پله است رسید که مقدار زیادی نیست
ولی می توان با استفاده از Timer1 و خروجی های آن به دقت بالاتری رسید ، اما تعداد آن ها محدود است و خروجی بیشتری می خواهیم.
روشی به ذهن من میرسد این است از PWM نرم افزاری و مبنا قرار دادن TIMER1 استفاده کنیم و لی خوب میکرو به کار های زیاد دیگری مشغول است ،
کسی پیشنهاد دیگری دارد ؟ یا همین روش بالا را بهینه استفاده کنیم
در میکرو هایی که تعداد Timer 16 بیتی محدودی دارند برای تولید چند پالس PWM با دقت با چه روشی به کار گیریم ؟
مثلا ATMEGA32 که 4 خروجی PWM دارد ولی دو تای آن ها دقت هشت بیتی دارند.
برای کنترل سروو موتور لازم است پالسی با فرکانس کاری 50 هرتر و دیوتی سایکل 1 تا 2 میلی ثانیه تولید گردد
که میزان حداکثر و حداقل گردش را مشخص میکند.
حالا با این اختلاف 1 میلی ثانیه و استفاده از تایمر 8 بیتی میتوان به حداکثر دقت (256/20) که حدودا برابر 12 پله است رسید که مقدار زیادی نیست
ولی می توان با استفاده از Timer1 و خروجی های آن به دقت بالاتری رسید ، اما تعداد آن ها محدود است و خروجی بیشتری می خواهیم.
روشی به ذهن من میرسد این است از PWM نرم افزاری و مبنا قرار دادن TIMER1 استفاده کنیم و لی خوب میکرو به کار های زیاد دیگری مشغول است ،
کسی پیشنهاد دیگری دارد ؟ یا همین روش بالا را بهینه استفاده کنیم
دیدگاه