XMega Analog Comparator


Previously we dealt with the XMega Analog-to-Digital Converter (ADC) block. We know that we can use the ADC to measure voltages and take decisions based on voltage values/levels but sometimes it is enough to detect voltage levels and not to measure the exact voltage values. In such occasions where we just need to check voltage levels relative to a reference or threshold value, we need an Analog Comparator (AC). An analog comparator can be used to compare two voltage levels and based on that it can be used to generate a logic output (0 or 1) to indicate which of the two levels is higher or lower than the other. That’s all and there isn’t much about analog comparators. The XMega family of micros come loaded with high performance dual analog comparator modules. However so far we saw that between the traditional 8-bit micros and the XMega micros, the major difference apart from programming is the overall nifty enhancements in all common hardware blocks. When it comes to the analog comparators of the XMega micros, the same is true. In this issue we will explore the XMega analog comparator block.

Block Diagram


Read more

Yet another home automation project

Saiyam’s bedroom automation box is a standalone and multi-feature home automation project using Arduino with a set of six sensors which can be used in combination with each other to control home appliances like fans, coolers, lightening systems, etc.

Home automation using Arduino

Home automation using Arduino

You just need to connect your appliance to the power socket present on the box with a plug that makes connecting anything easily. The device asks you to set a mode which means, which sensor you want to use for controlling the output (see all the modes below). Further it asks you to threshold for the sensor you have chosen (like threshold temperature for temperature sensor) which on crossing that threshold, the appliance connected either turns on or off (depending on the sensor). But that’s not it! This device can also protect your valuables at night by switching on the security mode. Still not over! It also has a timer mode in which you can just set the time in hours and minutes you want your device to be switched on. Just one more. It can also act as a weather station by sending you the temperature and humidity of the place that it is kept.

Arduino enclosure with a human machine interface

Mircea Daneliuc from Whitehorse, Canada has tipped us off about his Arduino Enclosure with a human machine interface (HMI) consisting of an LCD and six push switches. The enclosure is a 140mm X 90mm X 63mm (5.5′ ‘x 3.5” X 2.5”) industrial grade ABS plastic with ventilation and screw terminal slots. The HMI takes only 3 analog pins of Arduino.

Arduino enclosure

Arduino enclosure

The keypad is a simple 6 button matrix keypad. It comes with a 2.54 mm pitch female Dupont connector. It has UP, DOWN, LEFT, RIGHT, ENTER and MENU buttons. These can help you navigate and change values for any menu you may need. It can be connected through a voltage devider, so it outputs a distinct value for every key pressed. Therefore you only need one analog input on your microcontroller to read the keypad.

STM32 Digital-to-Analogue Converter (DAC)

After having played with Analogue-to-Digital Converter (ADC) of STM32 micros, the obvious next internal hardware block to deal with is the Digital-to-Analogue Converter (DAC). As the name suggests this block has just the complementary function of ADC. It converts digital binary values to analogue voltage outputs. The DAC block has several uses including audio generation, waveform generation, etc. Typically in most 8-bit micros, this block is unavailable and its need is somewhat loosely met with Pulse Width Modulation (PWM) block. This is partly because of their relatively less hardware resources and operating speeds. All STM32 micros also have PWM blocks but large capacity STM32s have DAC blocks too. The STM32 DAC block is not very complex and has similarity with the ADC block in terms of operating principle. The simplified block diagram below shows the major components of the STM32 DAC block.

Block Diagram Read more

Full featured open source industrial camera

Apodiant’s entry for the 2015 Hackaday Prize is a full features open source industrial camera with Ethernet, USB, and serial outputs, along with an ARM processor for image processing.

Full featured open source, industrial camera

Full featured open source, industrial camera

The major parts are as follows.

CPU: i.mx6SL (With GPU, no e-paper interface). I have decided on this due to the ease of use. The Linux distribution is mature and has many active developers. The GPU can also be programmed with openGL. OpenCV will handle CPU image processing.

Image Sensor: I have chosen the MT9M021 from aptina because I have the most experience with this imager and the price is suitable for this project. The datasheets are also available without a NDA.

DC/DC will be accomplished with the NCP1082DEG/MMPF0100 ALA the imx6sl dev. board.

POE: Still a work in progress. Would like to use the smallest isolation transformer possible.

The RAM will be Micron DDR3 MT41J125M16 RE-125 (512MB) up-gradable to dual MT41J256 RE-125(1GB).

Storage: The boot rom will be a spi NOR flash. Part number and size yet to be determined.

Main flash storage is also yet to be determined, I had hoped to use eMMC, but am having problems sourcing parts.

There will also be a micro SD card slot for programming/testing/image storage.

Ethernet PHY: The LAN PHY will be LAN8720 ALA the iMX6SL dev board as they are dirt cheap and have good support.

The case design is finished and I am currently sourcing a fab shop to mill the front and back cases. The enclosure will be an off the shelf TEKO enclosures case. This will increase the price, but will make things easier for people wanting to build their own.

That is where I am at as of this point. Does anyone have any ideas for main storage? It looks like flash is a hard thing to come by these days.

« Older Entries