28.10.10

Free Air Frequencies of Cordless Phones

In the United States, seven frequency bands have been allocated by the Federal Communications Commission for uses that include cordless phones. These are:
  • 1.7 MHz (1.64 MHz to 1.78 MHz & up to 5 Channels, AM System)
  • 43–50 MHz (Base: 43.72-46.97 MHz, Handset: 48.76-49.99 MHz, allocated in 1986 for 10 channels, and later 25 Channels, FM System)
  • 900 MHz (902–928 MHz) (allocated in 1990)
  • 1.9 GHz (1880–1900 MHz) (used for DECT communications outside the U.S.)
  • 1.9 GHz (1920-1930 MHz) (developed in 1993 and allocated U.S. in October 2005)
  • 2.4 GHz (allocated in 1998)
  • 5.8 GHz (allocated in 2003 due to crowding on the 2.4 GHz band).
1.7 MHz cordless phones were the earliest models available at retailers, generally identifiable by their large metal telescoping antennas. Channel selection had to be done manually by the user, and transmitted just above the AM broadcast band. These models are no longer in production, and are considered obsolete due to being very susceptible to eavesdropping and interference, especially from fluorescent lighting and automobile ignitions.
43-50 MHz cordless phones had a large installed base by the early 1990s, and featured shorter bendable antennas plus auto channel selection. Due to their popularity, an over crowding of the band led to an allocation of additional frequencies, thus manufacturers were able to sell models with 25 available channels instead of just 10 channels. Despite being less susceptible to interference, these models are no longer in production and are considered obsolete because these frequencies are easily heard on practically any radio scanner. Advanced models began to use voice inversion as a basic form of scrambling to help limit unauthorized eavesdropping.
900 MHz cordless phones are still sold today and have a huge installed base. Features include even shorter antennas, up to 30 auto selecting channels, and higher resistance to interference. Available in three varieties; analog, digital, and digital spread spectrum, with most being sold today as budget analog models. Analog models are still susceptible to eavesdropping, However, older used models can still be found that are fully capable of receiving this spectrum. Digital variants can still be scanned, but are received as a digital hiss and therefore are difficult to eavesdrop upon. Digital transmission is immune to static interference but can experience signal fade (brief silence) as the phone goes out of range of the base. Digital Spread Spectrum (DSS) variants spread their signal over a range of frequencies providing more resistance to signal fade. The FCC only allows DSS model phones to transmit at the full power of 1 watt, which allows increased range over analog and digital models.
Virtually all telephones sold in the US use the 900 MHz, 1.9 GHz, 2.4-GHz, or 5.8 GHz bands, though legacy phones can remain in use on the older bands. There is no specific requirement for any particular transmission mode on 900, 1.9, 2.4, and 5.8, but in practice, virtually all newer 900 MHz phones are inexpensive analog models with digital features such as DSSS and FHSS generally available only on the higher frequencies
Some cordless phones advertised as 5.8 GHz actually transmit from base to phone on 5.8 GHz and transmit from phone to base on 2.4 GHz or 900 MHz, to conserve battery life inside the phone.
The recently allocated 1.9 GHz band is used by the popular DECT phone standard and is considered more secure than the other shared frequencies

11.10.10

Building a simple USB Charger


A simple USB Charger

USB charging is currently the most universal method of charging an electronic device. This article details the process of construction of a cheap and simple USB charger which can be used to charge cell phones, iPods, mp3 players, cameras, etc and almost any device charges through an USB port of your computer.
USB normally contains 4 lines – Vcc(+5V), Data-(D-), Data+(D+) and Gnd(Ground) . The Vcc and the Gnd line are used to power a device and the D- and D+ line are used to transfer data between the host and the device. A USB standard compliant host is expected to maintain 5V within a range of ± 0.5V and provide current of 1 unit load (I unit load = 100mA of current), unless requested for more current. To build a USB charger all you need to do is build a circuit that outputs current within the USB specification.
The Power Source
Choosing a power source will be the first step in building the charger. There are quite a few options available here. One option is to use 2 AA or AAA size batteries that output 2.4V and boost up the voltage to 5V. These batteries are quite popular and easy to find and they occupy less space and contribute a lot in making the charger small and portable. But they have drawbacks – I have one such charger that really heats up within minutes of connecting it to any device and the worse still, the batteries don’t last longer than than 4-5 minutes.
Another option is to use a pack of 4 Ni-Mh batteries. 4 Ni-Mh batteries output something around 5V depending on their charge. Hence, they can be connected directly to the power pins of the USB port. But the drawback is that 4 Ni-Mh batteries occupy a lot of space and they output voltage based on the amount of charge remaining in them.
Note: If you are using Ni-Mh batteries I would suggest you to use batteries of capacity greater than 2000 mAh. Ni-Mh batteries, though rated at 1.2V, output something around 1.4V when fully charged and 1V when fully drained. This variation is most for Ni-Mh batteries of low capacity(less than 1000 mAh ) and least for batteries of high capacity(greater than 1500mAh). A 2000mAh battery will output 1.3V when fully charged and 1.1V when fully drained.
Another popular power source is a 9V battery. The advantage is it is easily available and cheap. The drawback though is - you will have to regulate the 9V to 5V and only then supply it to the device.
For my charger, I will be making use of a 9V battery and also provide an option for connecting 4 Ni-Mh battery pack to be used as the source.

Voltage Regulation
For voltage regulation, the popular linear LM7805 regulator can be used because – it outputs a constant of 5V, is widely available and comes cheap. The only problem is that there will be a lot of energy wastage if the 7805 is used. The 7805 regulates voltage by converting the input voltage to 5V and the rest to heat. In the process of charging a USB device at 5V by providing it a current of 100 mA, the 7805 will be wasting 0.1*(9 - 5)W =0.4W and have efficiency of( 5V/9V) 55% !(In reality the efficiency is much more because the 9V battery will provide 9V only for the first few minutes and then slowly over time drop down its output voltage to nearly 6.8V before draining completely).
But still I went ahead with using the 7805 because I wanted my charger to be a simple and cheap (efficiency was quite low in my list of priorities). Actually charging any battery with another battery is itself not efficient because you will have wasted energy in charging your source battery and again will be wasting some more energy when charging your USB device’s battery through the source battery!

What about the D- and the D+ lines?
Just providing a 5V across the Vcc and Gnd lines will charge almost most USB device but it is not the best way of charging the device. By just providing a 5V across Vcc and Gnd lines and leaving the D- and D+ lines unconnected (technically called floating) will charge the device at only 100 mA. Charging a battery at 100 mA is a slow process. Hence, we have to tell the device that it has been connected to a charger and that the charger can provide more current. Unfortunately, there is no standard way of doing this and what works for one device does not work for another. For most devices, connecting the D- and D+ lines to 5V through a 100K resistor works. For, charging iPods, the D- line has to connected to 5V through a 10K resistor and the D+ line has to be connected to Gnd through a 10K resistor.

The Circuit
Here is the circuit for charging any USB device –
A simple USB Charger

Here is the circuit for charging an iPod –
A simple USB iPod Charger


Construction
The pictures of the charger I built is shown below (I added a 8mm High Brightness White LED to the board as I had a little space left on the board and didn’t want to waste the space).
A simple USB Charger


A simple USB Charger

You will have to attach a heat sink to the 7805 if you want to charge your device with more than 500 mA of current. Optionally, you can place a 0.1uF capacitor across the power pins of the USB connector as close to it as possible to reduce any noise in the power lines.

25.9.10

Processing explanation of Ultrasonic Range Meter

    This range meter detects a reflected wave from the object after sending out a ultrasonic pulse.
    By measuring the time which returns after emitting a sound wave, a distance to the object is measured.
    The operation of the following figure is repeatedly executed.
    LED display processing is executed in parallel with this operation.
    Label definition
    ;**************** Label Definition ********************        cblock  h'20's_count                         ;Send-out pulse count adr
    endc
    I used CBLOCK directive for the definition of the workarea.
    When using this directive, workareas which were defined between CBLOCK and ENDC are automatically allocated in the order from the address which was specified by the operand of CBLOCK. It is convenient because it is possible to prevent the double allocation of the area. To confirm an allocated address, you confirm it by the assembly result.
    Lighting-up segment data for 7 segments LED are designated by EQU.
    The data from 0 to 9 is used for digital display. However, the 10th is used for the detection error display.
    At first, I make light up only center segment. But I turned off all segments because the display was confusing.
    The 11th is used for the interruption error display. It is for the debugging.
    Environment designating and others
    The following specification is done as configuration word.
    Oscillator
    :
    HS
    Watchdog Timer
    :
    OFF
    Power-up Timer
    :
    enabled
    Low Voltage ICSP
    :
    OFF
    (RB3 can not be used for the input/output port when not making this OFF).
    The result is 3F72h.
    Initialization process
    ;****************  Initial Process  *********************
    Port initialization
    Because the RA0/AN0 port is used for input of A/D converter, it is set to input mode. Other A ports are set to the output. All B ports are set to output because it is used for the LED segment control.
    RC2/CCP1 of C port is set to the input mode because it is used for input of capture.
    Ultrasonic transmission period timer(TMR0) initialization
    The transmission period of the ultrasonic is controlled using timer0. Because timer0 is a timer with byte, the count value is up to 256. However, it is making count 65535 by setting the prescaler to 256. (256 x 256 = 65535) This time, because it is using 4 MHz for the oscillator, 1 count is 1 microsecond. (1/(4 x 106))x4=10-6 seconds
    So, the time-out time of timer0 is about 65 milliseconds.
    Capture mode initialization
    Timer1 is used for capture. Timer1 is initialized.
    At the time of the initialization, it makes CCP1 OFF to prevent from a malfunction.
    A/D converter initialization
    Channel 0 is set as the converter input. Because the clock to use this time is 4 MHz, Fosc/8 is set to A/D conversion clock.
    Because the higher rank side of the A/D converted result are used, the storage of the result is made right justification (ADFM=0).
    Because A porta are used for the output of the digit specification of the LED, ports except RA0/AN0 are made digital specification.
    LED display period timer(TMR2) initialization
    Display data for 7 segments LED are set to workarea. The initial value of the display is "the error code".
    The time-out of timer2 is about 10 milliseconds.
    The interruption eable bits of the capture and timer2 are set.
    Interruption initialization
    It makes timer0 interruption, peripheral device interruption, global interruption possible.
    The interruption of the capture and timer2 doesn't occur when not making peripheral device interruption possible.
    By this process, interruption operation is started.
    When the initialization process ends, the interruption is waited for. It executes same address repeatedly.
    Interruption process
    ;***************  Interruption Process  *****************
    Capture interruption, timer2 interruption, timer0 interruption are checked. The kind of the interruption is judged by each interruption flag. After that, it jumps to the corresponding interruption process.
    When the kind of the interruption is unsettled, processing is stopped. To confirm illegal interruption with the actual circuit, an in-circuit simulator is needed. There is a way of resetting but it isn't improved because it does the same operation even if it resets.
    A global interruption enable bit (the GIE bit) is automatically cleared when the interruption occurs. So, the interruption never occurs while processing in the interruption.
    Illegal interruption process
    ;*************** Illegal interruption *****************
    It displays an interruption error to the LED when the illegal interruption occurs.
    This process is the process for debugging and is usable with the other checking, too.
    Interruption ending process
    ;************  END of Interruption Process **************
    As for the software this time, all processing is done by the interruption except the initialization processing. The common registers(W register, Status register) are not used in the interrupted process (Main process). So, the saving and resaving process for them isn't need.
    In the interruption ending process, GIE bit is set by RETFIE instruction to enable interruption.
    Ultrasonic pulse sending-out process
    ;***************  Pulse send-out Process ****************
    In the pulse sending-out process, the following process is done.
    Clear the interruption display
    The interruption flag of TMR0 is cleared. When not clearing this flag, the interruption occurs at once when interruption processing is ended without waiting a regular time-out.
    I clear the count area of timer0 because of the sure operation.
    Check the detection error
    When the detection of the reflected wave isn't done from the pulse sending-out in the last time until the pulse sending-out this time, it means measurement impossible and display is turned off. The previous data is displayed in the measurement impossible condition when not doing this process and the mistake occurs to the measurement.
    Stop the reflected wave detector
    Immediately after letting out a transmission pulse, the influence occurs to the receiver circuit and there is possibility to do wrong detection. To prevent from this, the operation of the reflected wave detector is stopped. The RA4 port is an open type and an external resistor is needed. So, I used RA5.
    Start the capture operation
    The count area of timer1 and the contents of the capture register are cleared. the rising edge detection mode capture is set and a capture interruption enable bit is set. And an interruption flag is cleared because of the sure operation.
    Send-out the 40KHz pulse
    The 40KHz pulse is the pulse which has 12.5 µ-sec as ON time and 12.5 µ-sec as OFF time in 1 cycle.
    Because 4-MHz clock is used at the circuit this time, the instruction execution time is 1 microsecond. So, correct 40KHz can not be sent out. When doing ON, OFF respectively with the 12 µ-sec, it is 41.7KHz. In case of 13 µ-sec, it is 38.5KHz. This time is adjusted by changing the number of the steps in the pulse sending-out processing.
    It is 0.5 milliseconds when sending out 20 pulses. (20pulses x 0.025milliseconds/pulse)
    Take-in the display revision data
    To make operate A/D converter, the GO bit of the ADCON0 register is set. When switching the input channel of A/D converter, after switching the input, about 20 microseconds waiting time is needed. This time, because the input channel is fixed on 0, waiting time isn't necessary. The completion of the A/D conversion is judged by the checking the GO bit. When GO bit is cleared, the conversion is completion. The upper 3 bits is picked up and add 54 as the conversion value.
    Error detection prevention
    A detector is stopped until the influence ends to the receiver after sending out a pulse. I set this time to about 1 millisecond. When few influences occur, it is to be OK even if it is shorter. When many influences occur, it is necessary to make longer.
    Start the reflected wave detection
    After the wrong detection prevention time elapse, it is made a enable condition in the reflected wave detection.
    Capture interruption process
    ;******************  Capture Process ********************
    In the capture interruption process, the following process is done.
    Clear the interruption display
    Capture interruption flag is cleared.
    Distance conversion processing
    The count value of the timer0 which was stopped by the capture operation is proportional to the propagation time of the sound wave. It isn't possible to use for the display just as it is. In the processing this time, division by some value is done and is converted into the distance numerical value.
    For example, I will explaine in case to have been reflected from the 1-m distance.
    In the time that the sound wave goes and returns in 1 m, it is 2m/343m/sec=5831 microseconds in case of 20°C. Because the clock of timer0 is 1µ-sec/count, the value of the timer0 when a capture is done is 5831. It is to be OK if using 58 as the divisor to make display this value as 100(It displays 1 m). The value to take in by the A/D converter is used for a divisor. So, when the temperature is different, the display can be revised if changing the input voltage to the A/D converter. But, because it is changed in the digital, it isn't possible to do fine adjustment.
    Display setting processing
    Because the type of distance value which is converted is binary, it can not be displayed on the LED just as it is.
    Binary number is converted into the decimal number and is set to each workarea(100th, 10th, 1st).
    When 100th digit exceeds 9, it makes error display.
    LED display process
    ;****************  LED display control  *****************
    This is the process to display the distance numerical value which was gotten by the capture to the LED.
    One LED is controlled at each period. So, only 1 digit is displayed at the same time.
    Display is done every 10 milliseconds using timer2. When the display flickers, you should make the set value of timer2 more little and it quickens a period.