PWM cikls problēmas

N

nadre25

Guest
Čau, Man ir problēma, veidojot šāda veida viļņiem ar PIC16F877A [url = http://images.elektroda.net/79_1308044622.jpg]
79_1308044622_thumb.jpg
[/url] mans kods tikai got vilnim līdz vertikālu līniju. šeit ir mans kods: while (1) {pwmplus = 10; attiecībā uz (lvl = 0; lvl
 
Pirmajā daļā, Tu palielināt PWM ar 10, nevis 20, kā 30 .... ar katru , lai atkārtošanas. Bet otrajā daļā tu atņem 80 pirmajā atkārtojuma, 70 otrajā, 60 trešais utt ... Mēģināt kaut kas līdzīgs šim otrajam daļa:
Code:
 pwmplus = 10; / / sākas no 10 (lvl = 0; lvl
 
Ne pārāk skaidrs, vai vajadzīgās jaudas viļņiem trīsstūra sinusoid. + + +
 
paldies par atbildēm @ bjuric: Esmu jau darīts, nekā, bet tomēr tas deva man kļūdas, izmantojot simulācijas Proteus. Vai ir vēl viens veids, kā radīt šādu viļņu formu? @ Andre_teprom: vēlamo produkciju PWM ciklu, kas pieaug līdz punktam pēc tam atgriežas atpakaļ uz orignal darba cikla. Esmu jau darīts arvien lielāku daļu, es esmu, kam problēmas samazinās. Es esmu mēģinājis izolēt funkcijas (pieaug / samazinās). Kad es palaist programmu ar arvien lielāku daļu bez mazāku daļu, tas darbojas arī ar mazāku daļu bez lielāku daļu. bet kad es mēģinājis rādīt to kopā, programma avarē.
 
... bet kad es mēģinājis rādīt to kopā, programma avarē ...
Vai Jūs esat, kas attiecas uz runtime kļūdas vai apkopošanu kļūda? + + +
 
runtime kļūdas. apkopošanai ir veiksmīga, bet, izmantojot simulators Proteus ir teikts, ka kļūda ir CALL kaudze.
 
Pwm1_Change_Duty (unsign_pwm-pwmplus)
Es vienmēr rakstīja montāžas tik man nav ne pārliecināts jausmas, ko "unsign_pwm" ir. Es domāju, tas ir nemainīgs. Tādā gadījumā virs līnijas jābūt: Pwm1_Change_Duty (unsign_pwm + pwmplus), es domāju, lai saglabātu + zīmi.
 
@ KerimF: im sorry man nav laidis visu kodu. unsign_pwm ir mainīgs izejas ADC. jūs varat man pateikt, kā es varu atgriezties pie sākotnējā maksājuma cycly ja im gatavojas glabāt + zīmi? paldies.
 
Nē. tas saglabāsies tāds pats. ļauj tikai teikt, ka unsign_pwm = 150;
 
ok ... tāpēc mums ir nepieciešams tikai, lai ļautu mainīgo pwmplus ... palielināt pēc tam samazināsies ... un nekas cits. Piemēram, jūs pārmaiņas - līdz + kā man ieteica, un jūs nevarētu iegūt rezultātu? Es domāju, ka jūs jau zināt, ka jūsu cilpas uzsvērts 9 reizes un nav 8 ... tiesības? Pievienots: Vai es drīkstu jautāt, kā summa "unsign_pwm + pwmplus" ir saistīts ar darba cikla? Es domāju kuriem ar mainīgu nosaka PWM periodu (intervāls, ja vēlaties) Lai būtu godīgi, jūsu tālruņa numurs 150, kā minimālo robežu un 150 80 = 230 nevar sniegt vispārējās formas signālu uz jūsu priekšstats par 1. Post.
 
Vai jūsu PWM 8bit, ar 0-255 vērtības? Kāpēc jūs izmantojat palielināsies par 10, un kāpēc jūs samazināties par 80 un tad 70 .. 60 .. utt 150 vērtībā kļūs 160.170.180.190.200.210.220.230 un tad 230-80, 150-70, 80-60 .. Vai tas, ko jūs vēlaties darīt? [Sintakse = c] pwmplus = 80; attiecībā uz (lvl = 0; lvl
 

Welcome to EDABoard.com

Sponsor

Back
Top