Most embedded systems are designed to perform an continued action at a low cost. In the design of embedded systems it is often necessary to make two parts of the circuit communicate between each others. Most of these systems also have constraints on the performance in terms of communications, power management and software, such as high speed operating. To minimize the number of connections, wireless communication system is the best solution. Wireless technoology provides freedom to move around the laboratory without wiring solution. The goal of the project is to design a simple wireless temperature measurement system using by CC1101 chip of Texas Instrument for radio communication. All schematics and firmware codes are described and can be downloaded by web link.
Step 1: Hardware Design
The hardware project is composed of two parts: the sensor and the base. The sensor is the part that performs the actual measurement of temperature and sends the data to the base that is equipped of a 2×16 display on which the data received from the sensor are visualized. The micro controller used is PIC16F1518 with at least 2 ADC and an internal Reference Voltage, which is useful to measure the battery voltage. The CC1101 transceiver from Texas Instrument allows to realize radio communication on a frequency of work about 868 MHz and with a reduced power consumption. In the electrical layout of the sensor is visualized the PIC micro, the push button for programming of the firmware and the connector for the external antenna. On the hardware base, it is noted the presence of the display with the HITACHI standard, which communicates with the microcontroller with only 4 bits. Also in this case the circuit will contain the PIC1 microcontroller, the CC1101 and a button to set the programming mode.
Step 2: Firmware Design
The firmware was developed with MPLAB X with the compiler XC8 as well. The functionalities of the sensor are few, in fact it only reads the temperature, the battery voltage and sends it to the base. After an initial phase of device initialization, the sensor first performs the measurement of the temperature and voltage of the battery and then it sends a packet containing temperature and battery voltage; when data sending is finished if a response is received by the base, it sets integrated CC1101 and the micro in sleep, or tries again to send the same data for 5 times per second, after that it goes again in the sleep state. To wake the microcontroller from sleep by the watchdog timer of the micro (appropriately set), a wake of the CC1101 and then a new submission are run. This process takes place only if the sensor has been previously programmed to a base. The base is set in reception and awaits the arrival of a data item or the action of a user on the key. If a packet is received from the programmed sensor, it sends a response packet to the data, it revises the data and then updates the value on the display. If a user presses thekey on the circuit, the base enters programming mode by updating the value on the display to indicate that programming mode is active.
Step 3: Conclusion
The project developed is a simple system for temperature measuring that obviously does not have any pretension but can be the starting point for an understanding of the CC1101, as well as for the realization of more complex systems that may require a wireless communication. Full documentation can be found on the following link: http://dev.emcelettronica.com/wifi-temperature-measurement-full-design