In short the reason could be availability of programmable analog for signal processing and digital peripherals for intelligence on one single chip. Reduced component cost, and hence reduced failure rate. Give us more information about your project.
Interfacing PSoC with inverter and to a battery system.
We have generated the driving signal of 50Hz with your help.
Inverter circuit designing is completed. Now, the job of making the system intelligen is pending.
From the transformer output, signal is fedback to PSoC to pragram it. On the basis of some factors like over charge protection,under discharge protection,over load protection etc.
Can we do program in 8051 language on PSoC 3.
PSoC3 has 8051 based core, however the normal practice is to perform coding using C langauage which strengthened in PSoC Creator via APIs.
The intelligence that you intend to add to your project is easily achievalbe using PSoC3. There is an ADC, which can be coupled with Analog Mux to scan multiple channles. This way appropriate circuit can be built to monitor the conditions such as overcurrent, overvoltage/undervoltage protection etc. The conditions can be read out using ADC and AMUX APIs. The digitally read out values can be compared against standard values to verify occurance of a particular event(such as over current) and suitable actions can be taken(Ex: Turning of an external MOSFET using GPIO).
I hope this helps. Let us know if you need specific help related to PSoC3.
ADC and Analog MUX can be used for only the scanning, isn't?
Where is the comparison done and how can we do the action, that you mentioned.
Using ADC and MUX we can only evaluate only one parameter at a time, isn't it?
Can u just elabrate it?
The channels(input voltages) being monitored to can be connected to different Analog MUX inputs. The Analog MUX can then be routed to the ADC input. Note that ADC needs to be configured in multisample mode. Select a particular AMUX channel, Start ADC conversion, read the ADC data and store it in a buffer. Stop the ADC, Switch the AMUX channel, Start ADC conversion read the ADC data and store it as before. Repeat the same for all the analog input channels. Then you can perform the comparisons and calculations you intend to do. Since PSoC3 ADC will be running in few MHZ, you can have good amount of comparisons/calculations. I hope i have made it clear.
You told to save it to a buffer,in PSOC3 there is a tri state buffer BUFOE, can i use it.
And then I shud fed it to the comparator for comparison.
I need to interrupt the square wave output, follawing my comparison.
Wat can I do?
Can u send me if any particular changes have to b made on the configurations of used blocks.
By buffer, what i really meant was firmware buffer or an array in C program. The ADC data can be stored in an array. These digital values can then be compared against constant values and take necessary actions accordingly.
In your case the square characteristic can be changed based on the analog input. Hence the period or the compare value of the PWM component might have to be modified to get desired result.
In my project , now im dealing with overload protection. Ive done the circuit part and a voltage varying from 0V - 6V dc is to be fed to the PSOC.Input is then fed to Analog MUX+ ADC for conversion .
In the same project Iv done the PWM square wave of 50Hz.
I now need to monitor the dc input from the circuit.
As it reaches 6V, (ie; when overload occurs) the square wave output to the inverter circuit should be OFF. And the inverter is interrupted. Then as the the load is decreased, this 6V gets lowered and automatically the PWM shud deliver the square wave to ON the inverter.
One question can v program PSOC 3 and implement it in a particular circuit, like microcontrollers programmed to an IC and then used it in different circuits.
Plz rply to my prveous post too.
- First, you might want to step down the dc voltage from 6V to any voltage within PSoC's operating range using a resistor divider. Say you step down the voltage to 3 volts, connect this to negative(or positive) input terminal of a comparator on PSoC and connect the other terminal of comparator to an appropriate threshold level(in this case slightly less than 3 volts). The reference can be provided by programming the VDAC component appropriately and connecting it to the afore mentioned terminal.
- Once the dc voltage crosses the threshold, the comparator ouput level flips and this can be used to trigger an ISR. In the ISR the PWM can be disbaled. The comparator ouput can be monitored continuously and once the comparator output flips its state again, PWM output can be turned ON.
- Just like any other microcontroller, you can make your own custom PCB and program the chip tp provide necessary functionality. PSoC3 chips can be purchased by contacting the Cypress sales team. Samples of PSoC3 can be requested from cypress website.
As suggested by U2, you should use a voltage divider (like resistor divider) to bring down the voltage by a known factor (like half the voltage).
So, in this case your voltage threshold where you want to switch will be 3V.
In case you are planning to use an ADC, you can use the API which converts the ADC counts to milli volts, ADC_CountsTo_mVolts( ).
You can compare the value obtained with 3000mV. When it exceeds, then take necessary action.
This method will make the CPU continuously compare the two values hence it will not be available for other operation.
Also make sure that the value of reference voltage used is selected correctly in the 'Voltage Configuration' tab.
This can be found here: .cydwr file > System > Voltage Configuration
How can we use ISR to interrupt the PWM can u tell us the steps
As its only mentioned in the configuration as derived, rising edge etc only
Connect an ISR component to the comparator and build the project. Once the project is built, isr.c and isr.h files are generated. Insert PWM_Stop() API, inside the isr.c file. See this post to better understand where to insert the code.
Once PWM is stopped, now monitor the comparator output, based on your comparator output you can take decision(bring back the PWM to operational state )