Friday, November 16, 2012

NorCal20 - Cute CW box

Hello Everyone,





We have successfully tested the receiver of the NorCal 20 and have sent it for field test or rather get it live on the band to hear some stations.

We are waiting for the results.........Stay Tuned...........(To be Continued).

Tuesday, November 13, 2012

35W Solar Charge Controller

Hello Everyone!!!!!!!!!!

This project is focused and contributed to all the students all over the world who face serious power failure issues. Hence, we have great news for all the students around the world facing great power failures. 

RnD Labs have designed a 35W Solar Charge Controller to be integrated with online inverters of 300VA capacity running with single 12V Battery and one 35W Standard Solar Panel. This 300VA UPS will light up one table lamp and one table fan of total capacity 65W for 4 hours. Generally, we have 2 hours power(E.B.) minimum in the night and that should allow children/students to get up early morning 4am and study well. 

The Charge specifications are 12V, 3A capacity, enough to charge a battery for UPS Systems. Thus, giving a suitable time of power backup during failures.

Few technical details and as generous as always we have provided the Schematic and the Program. Please feel free to copy, copy-left ©

(Note: The copyleft symbol may not be supported in Internet Explorer)

Functionally this Charge Controller does:

1. Generally keep the battery on full voltage condition. 
2. Prevent the battery from over-charging. 
3. Prevent the battery from supplying power to solar panels during nights.   

Electrical Specifications:
Battery Voltage: 12V DC
Charge Voltage: 13.7 V DC
Charge current: 3A 


The prototype is under construction and once the construction is fully completed, we shall upload the tested working development board and pictures.
 

 Downloads:

Schematic: Click Here(PDF)
Main Program: Click Here(main.c)

Complete Program:

#include<htc.h>
#define _XTAL_FREQ 8000000

__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_OFF & IESO_OFF & FCMEN_OFF );


#define Battery PORTAbits.RA2
#define Switch PORTCbits.RC2
#define Voltage_level 0x00            //Set the threshold value here

unsigned int adc_value,adc_value1,adc_value2=0;


void main()
{
OSCCON=0b01110101;            //Setting internal oscillator in 8MHz
CMCON0=0x00;                //Disable the comparators

ANSEL=0b00000100;            //Set RA2 as Analog
TRISA=0b00000100;            //Set RA2 as input
TRISC=0b00000000;            //Set port C as output

ADCON1=0b00100000;            //select analog clock as FOSC/32
ADCON0=0b10001000;            //Select analog input channel as RA2

while(1)
    {
    ADON=1;                    //Start ADC
    __delay_us(100);        //Wait for acquisition time
    GO_nDONE=1;                //Start conversion
    while(GO_nDONE);        //wait until conversion to be done
    ADON=0;                    //Stop ADC

    adc_value1=ADRESL;                      //Read Lower 8bit registers
    adc_value2=(ADRESH<<8);                 //Read the higher 2 bits and shift it in to 8th and 9th position using shift function
    adc_value=adc_value2|adc_value1;        //OR both after reading to make a 10bit value
       
    if(adc_value>=Voltage_level)            //Compare with the voltage level and switch On/OFF the charging
    Switch=1;
    else
    Switch=0;


    }


}

Friday, November 9, 2012

Intelligent Load Management and Alarm monitoring System for 10KW Solar Charge Controller

Greetings,

We would like to reveal the secret behind Intelligent Load management and Alarm monitoring Algorithm for 10 KW Solar charge controller.
First of all thanks to the beautiful compiler HIGH TECH C. This  algorithm is developed with the help of HIGH TECH C PRO for mid range MCU  evaluation version.

The major purpose of this algorithm to manage the load in 15 Amperes per hour.The rated discharge given by customer is 360AH per day. So for 5 days its around 1800 Amperes . We need to limit the discharge in this range so it can work continuously for 5 sunless days.

According to the requirements of our customer we need to develop an algorithm in order to sense the battery voltage  and switch the load ON/OFF  with the level of voltage from battery.There are so many visible alarms that are present in our system, so its mandatory to produce a warning audible sound for each alarm. This algorithm is capable for doing that also.


Main goals of this algorithm

Part 1.Sense the battery voltage and manage the Load
Part 2.Sense the visible alarms from the system and activate audible alarm and Switch off the audible alarm if reset button is pressed. (Here the audible alarm will be turned off, irrespective of the status of visible alarm)

Check points for Part 1.
1.If the battery voltage is above -51.6 Volts switch On the load.
2.If the battery voltage is below -44.4 Volts switch Off the Load

This is very simple, but need to form a hysteresis loop because when ever it is below -48 Volts it need to shut down the load and need to connect it only after -55.2 Volts. In the same way it can connect load up to a voltage of  -48 Volts.
Here we are utilizing the 10bit Analog to digital converter module of PIC16F88 (18 pins) for doing this task.

Check points for Part 2.
1.If the visible alarm is ON, the sensing digital input of MCU will be high. If the alarm is OFF ,then it will be LOW .So according to this sensing I/O pin's status switch ON and OFF alarm. But the tricky thing over here is if user resets the Alarm , audio will be OFF, but still the sensing I/O pin status will be same as the visible alarm status. So here literally we need to sense a transition from LOW state to HIGH state and switch on the alarm.

The algorithm is having 3 functions mainly,
1.For sensing the battery voltage and switching the load- ADC_Function
2.For sensing the LOW to HIGH transition and switch on Audible Alarm-Alarm_Function
3.For Sensing the Reset button press and switch off Audible Alarm-Reset_Function


PROGRAM:-



/*********************************************************************************
*        Program for 10KW charge controller                                                         
*        Intelligent Load Management and Alarm monitoring System                                                                                           *
*        Author: Ravi M.D.                                                                                                                                                        *
*        R&D Engineer, Miconova Impex PVT LTD                                                                                                        *
*        Date 10/30/2012                                                                                                                                                                                         *
********************************************************************************/


#include <htc.h>
#define _XTAL_FREQ 8000000                   //Set frequency as 8MHz

#define Alarm PORTAbits.RA7                 //Assign I/O Pins
#define Signal PORTAbits.RA6
#define Reset PORTAbits.RA0 
#define Load PORTBbits.RB4
#define Lower_Voltage 0x015E               //Set the voltage ranges here. No need to change in program
#define Upper_Voltage 0x0101

//Internal Clock used at 8MHz

__CONFIG (FOSC_INTOSCIO & WDTE_OFF & PWRTE_OFF & MCLRE_ON & BOREN_OFF & LVP_OFF & CPD_OFF
                        & WRT_OFF & DEBUG_OFF &CCPMX_RB0 & CP_OFF);

__CONFIG (FCMEN_OFF & IESO_OFF);

unsigned int adc_value,adc_value1;adc_value2=0;      //Reading variables for adc higher and lower    registers
int i=0;                                                       //Variable for switch function
bit out_bit=0;                                                 //Bit used for Load ON and off


void Alarm_Function(void);                //function to rise alarm
void Reset_Function(void);                //function to reset alarm


void main(void)
{
 OSCCON=0b01110110;                                //Oscillator Setting  for 8MHz
 TRISA=0b01000011;                                //PORTA configuration
 ANSEL=0b00000010;                                //Only RA1 as analog input
 TRISB=0b00000000;                                //All pins are digital out


 ADCON1=0b10000000;                                //References are VDD and Vss and right justified
 ADCON0=0b10001000;                                //A/D clock as Fosc/2 and channel 1

 while(1)                                          //Check infinitely
 {
 switch (i)
            {

/*ADC_Reading for battery management*/

                case 0:                                                
                ADON=1;                                 //Start ADC Module
                __delay_us(100);                        //wait for acquisition time
                GO_nDONE=1;                             //Start conversion
                while(GO_nDONE);                        //Wait for conversion to be done
                ADON=0;                                 //Turn OFF ADC
        
                /*Reading the 10 bit ADC values*/
                
                adc_value1=ADRESL;                      //Read Lower 8bit registers
                adc_value2=(ADRESH<<8);                 //Read the higher 2 bits and shift it in to 8th and 9th position using shift function
                adc_value=adc_value2|adc_value1;        //OR both after reading to make a 10bit value
        
        
        /*Switch ON and OFF load according to the condition*/
        
                if(adc_value>=Lower_Voltage)            //Compare with lower voltage range
                out_bit=0;                              //If less than the (here negative voltage so thats why used greater than or equal) lover voltage level, switch OFF load
                
                if(adc_value<=Upper_Voltage)            //If greater than the (here negative voltage so that's why used less than or equal) upper voltage level, switch ON load
                out_bit=1; 
                
        Load=out_bit;                                    //Assign the decision to load.(Important, Its done here to resolve a fluctuation problem)
        break;


        /*Checking alarm conditions*/        
                
                case 1:
                ADON=0;                                  //taking precaution by switching OFF ADC and setting the same value as above to the load
                Load=out_bit;
                Alarm_Function();                        //check for alarm condition
                Reset_Function();                        //Check for reset condition
                
        break;
                
                }
 i++;                //Iteration variable to exit the switch case and repeat the process
        if(i>1)
        {
        i=0;
        }
 }
        

}



Sub Routines:-

1.Alarm_Function:-



#include <htc.h>

#define Alarm PORTAbits.RA7
#define Signal PORTAbits.RA6
#define Reset PORTAbits.RA0 

bit flag=0;                        //flag for identifying the signal transition from 0 to 1

void Alarm_Function(void)
{

if(!Signal)
        {
        flag=1;
        Alarm=0;
        }
        if(flag&&Signal)                //Check whether there is a signal change from 0 to 1 is happening
        {
        
                Alarm=1;
                flag=0;
        }
        
}     


2.Reset_Function:-


#include <htc.h>

#define Alarm PORTAbits.RA7
#define Signal PORTAbits.RA6
#define Reset PORTAbits.RA0 

void Reset_Function(void)
{

        if(!Reset)
        
        Alarm=0;

}

  

Friday, November 2, 2012

NorCal20 - Updates

Greetings,


Great news. We tested the NorCal20 receiver side today. The receiver IF was tested by feeding a RF Gen signal for the RCT of 8.998Mhz. A blasting crisp noise was heard.....PASSED.

The audio amplifier was also tested during the process.....PASSED

More updates awaiting.

10KW Solar Charge Controller - Tested and Parceled

Hello Everyone,


The above picture is the final stage of the 10KW Solar Charge Controller. This product has been sent to the customer for testing and reviews. We have already tested the unit in a Bangalore test facility (Our previous post has the history).

Saturday, October 27, 2012

10KW Solar Charge Controller

Season Greeting Everyone,

Front Panel


Finally, the 10KW Solar Charge Controller was tested in a facility in Bangalore. Honestly, the facility in Bangalore did not have a proper 10KW system. So, we were restricted to only test upto 8KW.

Our Solar Charge Controller is designed with the mentioned specifications: -48V, 200A (yes, it is negative 48 Volts). The facility in Bangalore had a capacity to only run the system at 160A and was refusing to go beyond the ampere rate.

Few observations of the system during testing: the temperature rise was quite moderate for the power components used. The max. temperature recorded was about 60 degree Celsius. The temperature was recorders using Thermal Sensor with Fluke system which was connected to a PC through Serial Port.The Hyrda Software designed for Fluke Company was recording the temperature of all the power components in the Charge Controller for interval of 600 seconds.

Second key observation is the the wires that were used to the interconnect the whole Charge Controller. The theoretical knowledge generally around is that for 1 sq. mm of copper wire, we can use it for 10A rating. Well, that was quite false and proven by the test. We approximated the rating to 3A-4A per sq. mm of copper wire.

Well, we are already on the move to construct the next system with better enhanced heat-sinks to dissipate the heat faster and better, improved looks and far better design.

We are welcome to accept commercial requests as this Charge Controller is designed for Telecomm products and may not be suitable to all. Please feel free and send us requests or suggestions.



     

Saturday, October 13, 2012

NorCal 20 - 99.90% Construction

Hello Everyone,



We have finished 99.90% construction of the NorCal 20. The remaining 0.10% is the testing of the NorCal 20 on air. The previous post had only the receiver unit assembled, now the transmitter unit is also constructed.

Soon, the test results will be posted. Stay tuned in......

Friday, October 12, 2012

Digital Ammeter using IC7107

Hello Everyone,

We have another great success to share with our readers and well wishers.

Digital Voltmeter using IC7107 was posted quite recently and we had made beautiful double sided PCB for the DVM's. Well we have managed to use the same PCB to display the Current too.

The formula is quite simple and it is not a new discovery as such. Refer to the diagram below:

We know that to measure voltage we connect the voltmeter in parallel and to measure current in a circuit we connect it in series. Now we all are aware of the famous Ohm's Law:

V = I * R

If we select the Shunt value or the R value to be 1, then the formula above reduces to:

V = I

So, keeping the points above in mind, I can effectively say that if R = 1 ohm or in orders of 1 milliohm, then when I measure the voltage it is as good as getting the current reading as V = I.

Hence the selection of the shunt value is quite crucial and the there is a a small change in the circuit. Refer the circuit below: Click Here


How did we test our Digital Ammeter?

We have selected a shunt of the specification 200A, 200 mV. So, that gets us R = 1 Milli-ohm.

Hence, by measuring the voltage across the shunt will be equivalent to calculating the current. That is, measuring 1 mV is like measuring 1A and 200mV is like measuring 200A.

Please note that the only difference in the PCB would to replace the 1Mohm used in the DVM by a 10K and the 1K resistance is removed.

In summary, we are just measuring the voltage and displaying it as current. Old school trick.


Thursday, October 11, 2012

NorCal 20 - Under Construction




Hello Everyone,

We always had and will have a soft corner for HAM Radio Community and are willing to extend our helping hands to reach out.

A very Senior HAM operator and a well wisher approached us to help him build the famous NorCal 20 Transceiver kit.

What is NorCal 20?
It is a QRP CW Transceiver for 20 meters. (More details in depth coming soon!!)

In less than 2 weeks, our RnD Engineer has already finished the receiver part of the NorCal 20 and we are presently testing the receiver. Once we receive a few stations in the NorCal 20 Receiver, we shall progress to the Transmitter. Receiving a few stations on the receiver will give us confidence that the construction is fine to proceed to the transmitter.

Soon we shall have more updated of the famous NorCal transceiver.

Keep checking!!!!

Tuesday, October 9, 2012

Final Digital Voltmeter using IC7107

Hello Everyone,

It has been quite sometime since our last visit to the blog. Well the excuse would still be the same, we are busy with Secret X Project. Well the commercial project we are attacking at the moment requires the use of DVM to display voltages and also polarity.

PIC Microcontroller would be a good option but then to simply display voltage a microcontroller will be an overkill or under-utilized.

Hence, we choose a popular IC used in multimeters for a very long time. IC7107 is manufactured by Intersil and 3-1/2 Digit, LED Display, A/D Converter. It is purely dedicated to just drive 7-Segment LED Common Anode Display units and has built-in A/D Converter.

The beauty of the DVM is that it displays +/- voltages. The circuit is quite straight forward with the datasheet having the circuit and various modes of configuration. After building the DVM, the Reference Voltage has to be set to Calibrate the DVM to display the right voltage. This Calibration is achieved by setting the 10K pot. to either 100mV or 1V depending on the number of decimal places required. Also the DVM works on 5V only. The IC7660 is a voltage converter to generate -5V as negative reference in order to show us negative readings.

IC7107 Datasheet: Click Here
DVM Schematic: Click Here

Our previous post had the GPB (General Purpose Board) model. We got the PCB made to have the professional edge. Have a look at the pictures. Circuit is provided below.

Front and Back of the DVM (Quiz: which is the Front and Back ?)
DVM displaying Positive Voltage

DVM displaying Negative Voltage
 We would like to provide the schematic though the datasheet has provided which has a lot of ambiguity.