Tag Archives: test

Testing the TPS61092 Boost Converter

For my current project I searched for a good boost power converter which is able to deliver continuous 400mA power for various sensors.

There are an endless number of good boost converters around, but not many can be hand soldered to a board. I would really like to see some like the TPS61092 with SOIC or similar packages. The biggest problem seems to be the heat transport, why most chips have to be mounted flat on the board.

Before using the chip in my project, I created a small test board. Using this board I can test various things. First I liked to test the performance under load. Next I tested if the chip can be hand soldered and finally I tested the final board layout I will use in my project.

Performance

The performance of this chip is really good, producing a very stable output. I designed everything for a load up to 2A with all suggested components from the specification. There will never be a higher load than 0.5A, so I probably could use a smaller coil for the final project.

thermal image

Running under 0.5A load from 3.3V for over half an hour, the chip stays quite cold. Even in my case, where the chip bottom is not directly soldered to the board, it seems to be able to transfer the heat into the board. This is nicely visible in the thermal image of the board.

The Board

lucky-resistor-1

The board was produced by OSH Park in a good quality. If you like to experiment with this chip, you can order this board very cheap at OSH Park using the following link.

Continue reading Testing the TPS61092 Boost Converter

Advertisements

Plant Watering Sensor – Long Term Tests Take #2

I started a second take on the long term tests for the plant watering sensor. This tests are required to be sure, the measurements follow the expected cycles. After watering the sensor, the frequency should go down and while the soil is drying up, the frequency should go up the the initial value.

Logging this measurements is very important to get a good overview of the measurements and be sure if every aspect of the device works as expected. At this point, I especially test the sealing of the foot part of the sensor. If it keeps completely sealed against water, I should get very consistent and repeatable readings.

lucky-resistor-2

The curve on the right side shows the measurements of the last 48 hours. These small variations are normal and are most likely caused by the plant itself or because of temperature changes of the board.

If you have questions, miss some information or just have any feedback, feel free to add a comment below.

How to Design a Cheap Plant Watering Sensor (Part 4)

This is the fourth part of the meta-tutorial, where I talk about designing a cheap plant watering sensor. If you did not already read the firstsecond and third part please do it now. These parts contain a lot information which lead to this point of the tutorial.

The third part ended with step 18, planing the final firmware. There a decision was made about the language and style of the firmware. This article will focus on the code of the firmware itself.

Step 19: Write a Preliminary Firmware

In order to be able to do some final tests with the prototypes and be able to work on the final PCB, I need a firmware which is is very close to the final one. In the Atmel Studio, I start a new C++ project in a new folder.

The first thing I do is checking the chosen compiler options for the project. Everything looks reasonable, I just add the option --std=c++11 to the C++ compiler options to get the latest language features.

In a section below I will describe all modules I wrote and will point details about the functions. I obviously did not wrote the whole firmware sequentially in that order, instead I use a incremental approach to develop the software:

  1. Create empty frameworks for all modules.
    • Create a header and implementation file for each module with the correct name.
    • Add the header comments, the namespace, #pragma once and the #include for the own header file.
    • At this point, each module should be ready, so I can easily add new functions to each module.
  2. Start with the hardware module.
    • Write the initialisation for the hardware, like CPU speed, port directions and other important stuff.
    • Layout the interface for the hardware module and prepare empty implementation blocks to be filled with code.
    • At each place where code is missing, I write a comment // FIXME!! to be reminded that there is something missing.
  3. Start the logic module.
    • Write the main entry point of the logic.
    • Call this entry point in the main() method of the firmware.
    • Add the hardware initialisation to the logic.

At this point, I have the structure of the firmware prepared as planed. This structure will lead me through the development process. Continue reading How to Design a Cheap Plant Watering Sensor (Part 4)

SMD LEDs Tests

Today I tested a number of SMD LEDs for the plant watering sensor project. I soldered all 13 LEDs I shortlisted onto a small board and connected it to an Arduino Zero Pro. So I could try the different flashing styles I planed to use more or less automatically. That way I could focus on the LED flashing itself, without being distracted by switching cables.

lucky-resistor-1

This is the board I made. Very simple but functional. I used red and blue male header to mark the anode and cathode of the LEDs. There is a sticker on the bottom with the LED numbers on it.

lucky-resistor-2

I mounted everything on a very small breadboard and did all connections to the Arduino.

Continue reading SMD LEDs Tests

Long-Term Test Finished

I finished my long-term test of the minimal version of the data logger project after a few days. To simulate the situation for the actual usage, I setup the data logger to record data in 1 hour intervals.

The test answered these questions:

  • Does the data logger function properly over several days?
  • How much battery does the data logger use?

I could not answer the first question until I stopped the data logger and read all values over the TTL cable. I found this is a little bit tricky, because the microcontroller did reset as soon I attached the TTL cable. This automatically restarted the logging and logged some additional value, visible in the chart.

The battery life is hard to measure. I used a multimeter and measured the voltage on the battery. At the end, the voltage was still over 4.0V, which means the battery pack is almost full charged.

I would need to connect the battery to an analog input of the microcontroller, using a MOSFET as a switch. So I could measure the battery voltage over time.

Importing the Data

Working on Mac OS X, I am using the screen command as serial console. If you add the parameter -L to the command, the whole output is automatically logged in a file.

LR: ~lr$ screen -L /dev/cu.usbserial-FTHXXXXX 57600

I opened the file using BBEdit and removed any lines before and after the actual data. After the edit I saved this edited file as “data.csv”.

Temperature Humidity ChartTo get a little bit more options for the diagram, I used Microsoft Excel. After the import of the data, I formatted the columns, added a title and created a X/Y chart from it. After fine tuning all the titles, formats and lines I created a nice chart and could export it as PNG file.

You can see the chart as feature image of this article, or click on the thumbnail on the right side to see the full resolution version.

Conclusions

If you look at the chart you can clearly see the problem of the minimal version. It logs just integer values without fractions which is clearly not enough for the temperature. The sensor is capable of a higher precision, but not accuracy. But the higher precision will make trends better visible in the data.

What is Coming Next?

Next I will implement the simple version of the data logger. This will add additional 32KB of storage to the device, using the Non-Volatile FRAM Breakout from Adafruit. With this “vast” amount of storage, I can use a 14 bytes record which stores the date and time as unix time-stamp, using a float for humidity and temperature and a real CRC-16.

Date/Time    4b
Humidity     4b
Temperature  4b
crc          2b
---------------
total       14b

This will allow 2340 records in the FRAM, which sums up to 97 days recording time at one hour intervals.