Микросекундная пауза в ШИМ на таймере T0.

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
AlFedorov
Сообщения: 31

Сообщение AlFedorov » 04 июн 2014, 16:10

Здравствуйте, уважаемые форумчане! Помогите пожалуйста разобраться.

Запускаю микроконтроллер atmega8515 (в редакторе code vision avr) в режиме шим-модуляции.
Вывожу шим на ножку OC0/T0. Работаю на частоте 1 МГц.

Выставляю вручную число в регистре сравнения OCR0 и регулирую скважность шим-сигнала.
Программка простейшая:

#include <mega8515.h>

void main(void)
{
DDRB = 0b00000001; // Настраиваем 0-пин порта B на вывод сигнала (для ШИМа).

TCCR0 = 0b01111001; // TCCR0=0b01 11 1 001 - настраиваем таймер на режим Fast PWM.

while(1) // Бесконечный цикл.
{
OCR0 = 0; // Выставляем вручную значение в регистре сравнения. Чем ближе к 0, тем шире импульс и короче пауза.
}

}



При OCR0 = 0 скважность, по идее, должна отсутствовать, и должен идти сплошной сигнал (максимальная мощность).
Однако через каждые 254 микросекунды сплошной сигнал прерывается на 1 микросекунду (1 такт микроконтроллера).

Погонял программу в AVR Studio. Оказалось, при сбросе счетного регистра (который длится как раз 1 такт) порт почему-то отключается, и тут же включается снова.

Подскажите пожалуйста, отчего такое происходит? Может какие-то дополнительные настройки режима требуются?

Хочу использовать шим-модуляцию для управления киловаттными электродвигателями через мощные мосфет-транзисторы. Поэтому любые подобные провалы сигнала (на такой большой мощности и на такой высокой частоте) приведут к ненужному открыванию транзисторов и к дополнительному перегреву.

ИзображениеШИМ в режиме сравнения.JPG

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 04 июн 2014, 17:46

Так оно и будет. Где-то в эррате это написано и там предлагается решение - просто настраивать ножку как вывод и выдавать постоянно логическую 1.

AlFedorov
Сообщения: 31

Сообщение AlFedorov » 05 июн 2014, 19:46

Спасибо большущее, Сергей!
Решил проблему перенастройкой с режима Fast PWM на решим шима с коррекцией фазы Phase Correct PWM, вот так:
TCCR0 = 0b01110001;
У него проблем с выбросами нет.

yaachii
Сообщения: 39981

Сообщение yaachii » 19 апр 2025, 13:12


yaachii
Сообщения: 39981

Сообщение yaachii » 02 май 2025, 13:32

audiobookkeeper.rucottagenet.rueyesvision.rueyesvisions.comfactoringfee.rufilmzones.rugadwall.rugaffertape.rugageboard.rugagrule.rugallduct.rugalvanometric.rugangforeman.rugangwayplatform.rugarbagechute.rugardeningleave.rugascautery.rugashbucket.rugasreturn.rugatedsweep.rugaugemodel.rugaussianfilter.rugearpitchdiameter.ru
geartreating.rugeneralizedanalysis.rugeneralprovisions.rugeophysicalprobe.rugeriatricnurse.rugetintoaflap.rugetthebounce.ruhabeascorpus.ruhabituate.ruhackedbolt.ruhackworker.ruhadronicannihilation.ruhaemagglutinin.ruhailsquall.ruhairysphere.ruhalforderfringe.ruhalfsiblings.ruhallofresidence.ruhaltstate.ruhandcoding.ruhandportedhead.ruhandradar.ruhandsfreetelephone.ru
hangonpart.ruhaphazardwinding.ruhardalloyteeth.ruhardasiron.ruhardenedconcrete.ruharmonicinteraction.ruhartlaubgoose.ruhatchholddown.ruhaveafinetime.ruhazardousatmosphere.ruheadregulator.ruheartofgold.ruheatageingresistance.ruheatinggas.ruheavydutymetalcutting.rujacketedwall.rujapanesecedar.rujibtypecrane.rujobabandonment.rujobstress.rujogformation.rujointcapsule.rujointsealingmaterial.ru
journallubricator.rujuicecatcher.rujunctionofchannels.rujusticiablehomicide.rujuxtapositiontwin.rukaposidisease.rukeepagoodoffing.rukeepsmthinhand.rukentishglory.rukerbweight.rukerrrotation.rukeymanassurance.rukeyserum.rukickplate.rukillthefattedcalf.rukilowattsecond.rukingweakfish.rukinozones.rukleinbottle.rukneejoint.ruknifesethouse.ruknockonatom.ruknowledgestate.ru
kondoferromagnet.rulabeledgraph.rulaborracket.rulabourearnings.rulabourleasing.rulaburnumtree.rulacingcourse.rulacrimalpoint.rulactogenicfactor.rulacunarycoefficient.ruladletreatediron.rulaggingload.rulaissezaller.rulambdatransition.rulaminatedmaterial.rulammasshoot.rulamphouse.rulancecorporal.rulancingdie.rulandingdoor.rulandmarksensor.rulandreform.rulanduseratio.ru
languagelaboratory.rulargeheart.rulasercalibration.rulaserlens.rulaserpulse.rulaterevent.rulatrinesergeant.rulayabout.ruleadcoating.ruleadingfirm.rulearningcurve.ruleaveword.rumachinesensible.rumagneticequator.rumagnetotelluricfield.rumailinghouse.rumajorconcern.rumammasdarling.rumanagerialstaff.rumanipulatinghand.rumanualchoke.rumedinfobooks.rump3lists.ru
nameresolution.runaphtheneseries.runarrowmouthed.runationalcensus.runaturalfunctor.runavelseed.runeatplaster.runecroticcaries.runegativefibration.runeighbouringrights.ruobjectmodule.ruobservationballoon.ruobstructivepatent.ruoceanmining.ruoctupolephonon.ruofflinesystem.ruoffsetholder.ruolibanumresinoid.ruonesticket.rupackedspheres.rupagingterminal.rupalatinebones.rupalmberry.ru
papercoating.ruparaconvexgroup.ruparasolmonoplane.ruparkingbrake.rupartfamily.rupartialmajorant.ruquadrupleworm.ruqualitybooster.ruquasimoney.ruquenchedspark.ruquodrecuperet.rurabbetledge.ruradialchaser.ruradiationestimator.rurailwaybridge.rurandomcoloration.rurapidgrowth.rurattlesnakemaster.rureachthroughregion.rureadingmagnifier.rurearchain.rurecessioncone.rurecordedassignment.ru
rectifiersubstation.ruredemptionvalue.rureducingflange.rureferenceantigen.ruregeneratedprotein.rureinvestmentplan.rusafedrilling.rusagprofile.rusalestypelease.rusamplinginterval.rusatellitehydrology.ruscarcecommodity.ruscrapermat.ruscrewingunit.ruseawaterpump.rusecondaryblock.rusecularclergy.ruseismicefficiency.ruselectivediffuser.rusemiasphalticflux.rusemifinishmachining.ruspicetrade.ruspysale.ru
stungun.rutacticaldiameter.rutailstockcenter.rutamecurve.rutapecorrection.rutappingchuck.rutaskreasoning.rutechnicalgrade.rutelangiectaticlipoma.rutelescopicdamper.rutemperateclimate.rutemperedmeasure.rutenementbuilding.rutuchkasultramaficrock.ruultraviolettesting.ru

Вернуться в «Микроконтроллеры и ПЛИС»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя