This device is intended for monitoring the ambient temperature and relative air humidity in a bathroom and is used to control the ventilation fan accordingly. The device has two operation modes – manual and auto.
In the manual mode the device can be power up by a switch located close to the light switch of the bathroom. Right upon powering up it turns the fan on and starts a timer. After expiration of the timer period the fan is turned off. The fan also turns off if the device is powered down. If the fan is off and the device is powered up (which happens after expiration of the timer period), the only way to turn the fan on again in this mode is to flip the device power (turn it off and on again). The timer period can be set by users and is saved in microcontroller’s non-volatile memory. The same period will be applied over and over unless it is modified by the user.
In the auto mode the device is supposed to be powered up all the time. It measures the relative humidity in the bathroom every second and computes its deviation within a certain time interval T, which can be set via the menu by the user. As soon as the current humidity value exceeds the one measured T seconds earlier on a certain value Thon (say, 3% within 5 seconds), the device turns the fan on and sets the current humidity value Ht as the target value for turning the fan off. After this it waits for humidity to drop down on a certain value Thoff within the time period T (say, 2% within 5 seconds). This happens when the user completes taking the shower and turns the water off. Once this event is detected, the device starts a timer that turns the fan off after its expiration or if the humidity falls below the target value Ht, whatever happens first. If the shower would be used again before the expiration of the timeout, the latter is cancelled and the device starts waiting for a drop of humidity to reset the timeout from the beginning.
This way in the auto mode the device actually monitors variation of the humidity over certain time interval rather than its absolute value. Therefore, the fan control does not depend on the ambient humidity value and, in particular, is independent on the year season. Current values of temperature and humidity are displayed on a 128×32 graphic LCD. These values are updated every second. The temperature measurements are also used for thermo-compensation of the capacitive humidity sensor.
The main PCB is assembled in a fan box which is mounted at the ceiling in a bathroom. Bold LCD fonts make it easy to read the LCD from the floor. Besides of current values of temperature and humidity the device also shows some auxiliary information. As soon as the fan is turned on, the number shown in the red circle below is the corresponding humidity value at this moment and is used as the target value for turning the fan off. Also, when the timeout starts (in the auto mode only), the number shown in the green circle is the remaining amount of minutes for the fan to work. As mentioned above, the fan can be turned off earlier once the humidity reaches the target value in the red circle. As soon as this happens both circled numbers are erased from the screen.
The user interface is provided by 4 buttons. First push of any of them turns the LCD background light on, which automatically turns off in 10 seconds if no other button is pressed. Otherwise, the device enters the menu mode for setting up its function parameters. Two buttons on the left (SB1, SB2) select the menu option while the two right ones (SB3, SB4) are used to increase or decrease the corresponding option value. Upon exiting the menu all settings are saved in a non-volatile memory, the LCD background light is turned off, and the device returns back to monitoring the temperature and humidity. Note that the fan control algorithm keeps running at the background while browsing through the menu settings. Here are screenshots of all menu screens.
The first screen selects the operating mode (auto/manual). The second one sets the time interval (in seconds) for monitoring changes in the humidity. The third one is for setting the humidity rise speed for turning the fan on. Similarly, the next one is for setting the humidity drop speed for starting the timer, whose timeout is set on the fifth screen (in minutes). The last screen is used to exit the menu. In the manual mode the values set on screens 2 – 4 are not used.
The device is built around the C8051F996 microcontroller. One of the reasons for using this model is simplicity of interfacing it with the capacitive humidity sensor, whose capacitance is linearly proportional to the humidity level. Measurement of the sensor capacitance is performed by the capacitance to digital converter (CDC) – a unique peripheral module of this MCU. This module is primarily designed for capacitive sense applications; however it is also very well suited for interfacing with capacitive sensors. The CDC allows measuring the capacitance up to about 500pF with a 12-bit resolution which translates to 0.12pf (the resolution can be increased up to 16 bits). This perfectly fits to the capacitance range of the sensor which varies between 300pF to 370pF as the humidity rises from 10% to 100%. It takes about 180µs for CDC to measure the capacitance with the used settings of the module. After numerous experiments I worked out the following formula for computing the humidity:
H(%) = (((A – A0)·125 + (T – T0)·136 + 256)) >> 9) + H0
Here A is the CDC value, T is the ambient air temperature (in °C), while А0 is the CDC value at humidity H0 and temperature Т0. Note that all computations involve operations with integers only.
For temperature measurements I used analog sensor TC1047A along with the microcontroller ADC. Since the MCU is equipped with 1.65V voltage reference, the formula for converting the ADC code K into the temperature is as follows:
Т(°C) = ((K·165) >> 10) – 50
This formula also assumes only integer computations which is easy to implement on the MCU.
The circuit draws about 80 µA with background light being off and 12 mA when it is on. Brightness of the background is controlled by PWM generated within the MCU. The opto-coupler OK1 provides isolation of the circuit from the power grid. It is assembled on a separate board along with the triac Q2 and mounted close to the fan motor. The circuit is powered from a 5V cell phone adapter.
The firmware is written in assembly language and developed in Silicon Laboratories IDE equipped with Keil development tools. The code size is about 4Kb which includes 2.1Kb of data for the LCD fonts. The PCB is designed with Eagle software. The PCB is mounted on a vertical edge of the fan enclosure which also includes a lamp. The air is sucked in from the left and the right sides of the enclosure.
The fan provides airflow of 5m3/min. Its propeller is 12cm in diameter and the motor is rated for 120V/1.4А. The device works non-stop for over 3 years now in a small 4.5m2 bathroom with the ambient humidity changing between 30% in winter and 75% in summer. In the auto mode the fan starts to operate about 20s after the (warm) shower is turned on. If one only opens water in a sink tap, the humidity does not rise up that fast as from the shower, so the fan operation is not affected.
Submit your low power ideas (max. 2 ideas per user) in the comments below by September 26th, 2015. Our internal jury will select up to 30 submissions, and the winners will receive a free EFM32 STK ($67 USD). Compare different EFM32 STK options here.
By entering the contest, you acknowledge that you have read and agree to the Community Contest Terms and Conditions
The winners of the Low Power Contest are announced here.
It’s time to show off your low-power programming skills using Silicon Labs' 32-bit EFM32 devices! We have created a competition for you to demonstrate and get rewarded for sharing your tricks for minimizing power! The focus will be on innovative or creative use of low power features rather than the end product. Anything from a small snippet of LESENSE (Low Energy Sensor Interface) code to a fully-fledged IoT-system is a good candidate.
We have two contests that you can participate in either of them or both: 1) an idea contest for you to share your low power concept and 2) a design contest to submit actual design of what you've built. See details on both contests below.
1) Low Power Idea Contest
Do you have a cool low power design idea that you can build with an EFM32 starter kit? It's time to share your idea with community members to win an EFM32 STK to make your concept come to life.
How to participate:
Submit your design idea on the community by September 26th, 2015 at 11:59pm (GMT). Our internal jury will select up to 30 submissions, and the winners will receive a free EFM32 STK ($67 USD) to use in the Low Power Design Contest. You can decide which kit you want to receive for your project. Compare different EFM32 STK options here. The winners will receive the kits within 1-2 weeks after providing their shipping addresses to DL.Contests@silabs.com unless delays are caused by customs checks.
You can submit up to two project ideas by leaving a comment on the "Low Power Idea Contest: Submit your ideas here!" page. Give a description of your idea in the comment that describes why the EFM32 is a good fit for your design. You can add as many details as possible to help us understand why it's a cool idea and whether it would actually work.
Judging & Winner Announcement:
The submissions will be evaluated based on the following criteria:
We will announce the result on October 2nd, 2015 on the "Low Power Idea Contest: Submit your ideas here!" page and ship an EFM32 STK to up to 30 winners.
Note: The Low Power Design Contest will be open to both contestants who participated in the Low Power Idea Contest and those who did not participate in the Low Power Idea Contest. If you participated in the Low Power Idea Contest, you can decide whether to build a project based on your idea from the Low Power Idea Contest or build a brand new project for the Low Power Design Contest. Submissions for the Low Power Design Contest should not closely resemble submissions created by other contestants for the Low Power Idea Contest.
2) Low Power Design Contest
Already have an EFM32 kit that you can use for your low power design? Then, just start working on your low power design without participating in the Low Power Idea Contest. The first winner will receive $3,000 USD and an Energy Harvesting Solution To Go (199 €) sponsored by Würth Elektronik.
How to participate:
You should submit your final (you cannot edit if after you publish it) project to the "Projects" page by November 30th, 2015 at 11:59 pm (GMT). We will only accept one entry per person (or a team) for the Low Power Design Contest.
The topic must include the following criteria:
For judges better to understand your project and increase the chances of winning, the following deliverables are highly appreciated:
If you have an issue with adding an attachment, send an email to DL.Contests@silabs.com for help.
Judging & Winner Announcement:
December 1st-10th, 2015: Silicon Labs Community members can start voting for the top 10 best designs by using kudos.
December 11th-18th 2015: The internal jury will pick the final winners for the 1st, 2nd, 3rd places among the top 10 best designs chosen by the community based on the following evaluation criteria:
In addition to the 1st, 2nd, 3rd prizes, participants that did not receive any of those prizes, will be eligible for winning one of the following awards:
The final winners will be announced on December 18th, 2015 on this contest page.
Community Choice Award
Note that all prizes will be paid/sent to the individual / team member who published the submission.
By entering the contest you acknowledge that you have read and agree to the Community Contest Terms and Conditions. Please review the Contest Rules below before entering the contest.
To be eligible to participate, you must meet all of the following requirements:
(1) You (and every member of your team, if you enter as a team) are over 18 years of age on the date that your entry is submitted.
(2) Low Power Idea Contest: You are NOT a resident of any of the following countries: Cuba, Iran, North Korea, Sudan, and Syria.
PLEASE NOTE: U.S. export regulations prohibit the export of goods and services to Cuba, Iran, North Korea, Sudan and Syria. Therefore residents of these countries / regions are not eligible to participate.
(3) Low Power Design Contest: You (and every member of your team, if you enter as a team) are a resident of one of the following countries (and are not residents of any countries not listed below): Austria, Belgium, Canada (excluding resident of Quebec), Denmark, Finland, Germany, Hungary, Israel, Japan, Norway, Singapore, Turkey, United Kingdom (excluding residents of Northern Ireland), or the United States.
(1) All submissions must incorporate the use of Silicon Lab's EFM32 microcontroller devices.
(2) Contest submissions must be received on or before each of the deadlines set out in these rules. Entries received after any deadline, for whatever reason, will be disqualified. No exceptions will be made.
(3) The contest is held in English and all relevant information is in English. All submissions must be written and submitted in English.
(4) All prizes will be paid/sent to the individual / team member who published the submission. The person needs to provide the paperwork to receive the cash prize and the Form 1099 (if applicable). The payout will occur no later than 60 days after the prize winners have submitted their documentation.
(5) To be considered for the Low Power Contests, your entry must contain all of the following elements.
To enter the Low Power Idea Contest, follow these steps:
To enter the Low Power Design Contest, follow these steps: