Discussion in "PIC Microcontroller Discussion" started by    Max    Oct 27, 2014.
Mon Oct 27 2014, 01:30 PM
#1
Hi all , i am working with PSoC 5LP. I have continious changable Analog Signals. I convert it to Digital with help of ADC. From this Result i want to generate PWM (Output1 Forwards, Output2 Ruckwards). All in 16-Bits. So i have range upto 65536.

I have Analog Input 0,1 to 3,3v. So if i gave Input 1,6v than i have 50% Duty Cycle of generated PWM.

PWM Basic Configuration:
16-Bit UDB
PWM Mode: Two Outputs
Period: 65535
CMP Value1: 32767 CMP Value2: 32676
CMP Type 1: Less CMP Type 2: Greater
Dead Band: Disable
Interrupt: None

Clock with 12MHz freq.

Here is the code. In i have 12-bit ADC result. From this result i want to generate 2 PWM Outputs. I know that i have to use WritePeriod(), WriteCompare(), WriteDeadtime() APIs.
int32 ADC_Result;

uint16 i=0;
int pwmValue, pulseWidth;

int main()
{       
    // Start the components 
	Sys_Init(); 
		 
//	CyGlobalIntEnable;  // Uncomment this line to enable global interrupts.

   	// Start Clock & PWM
	Clock_Start();
	PWM_Start();						

    while(1)
    {						  			
	pwmValue = ADC_Result  // Which equation i have to use.
	PWM_WritePeriod(pwmValue);
	PWM_WriteCompare1(); 						
     }    
}

I read the PWM datasheet & also check the Example PWM Programms but still i am much confsed for this following questions.

1. Need i Dead Band?
2. Which equation for converting ADC result into PWM?
3. Need i Interrupt/Global Interrupt ?

Regards
Max

Get Social

Information

Powered by e107 Forum System

Conversation

No messages yet.

Downloads

Comments

Mirza123
Thu Jun 25 2020, 03:46 PM
eunicelove124
Mon Jun 22 2020, 03:03 PM
cerouno
Tue Jun 16 2020, 05:10 PM
Marce
Sat Jun 13 2020, 09:43 PM
Davidthils
Thu May 21 2020, 12:44 PM
Jakeror
Thu May 21 2020, 01:28 AM
motorCar
Wed May 20 2020, 07:05 PM
Vordrync
Wed May 20 2020, 11:52 AM

Online

Guests: 109, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 38215
Newest member: Mirza123