Design and Implementation of 7-Segments-Board 1.0 – An Extension Module for Embedded System Prototype Introduction When developing embedded systems, it would be helpful if we could have a module for monitoring purposes. For instance, let say that your system has to process data streams. In the testing and verification step, we need to compare each input and output bytes to verify that your system is doing right. Having a monitor module is surely a great help for engineers. Some development board has monitor module integrated, such as Altera UP1X FPGA Development Board. Inspired by its usage and benefit of such a monitor, 7-Segments-Board 1.0 is designed as an extension module for embedded system prototypes. Description 7-Segments-Board 1.0 is a low-cost, low-power MCU extension module for monitoring purposes. It aims to help engineers doing the firmware testing and debugging on hardware prototypes. For those who build microcontroller prototype devices from scratch and do not have access to sophisticated debugging instruments, using this module would make the testing and verification process less painful. 7-Segments-Board 1.0 is designed for an 8-bit microcontroller system. Module Specifications The module specifications are as follows: Input: General purpose push-button (PB) switches (dry contact). Output: Seven-segments LED to…
Lazy evening. I decided to take a couple of shots of couple generated signals. Without going too deep into timings, I wrote a couple of algorithms to ensure the signals are generated correctly at all voltage range 0-5V. First is the Sawtooth signal using ASM in AVRStudio: (My oscilloscope is old, so sorry for the bad quality) Second signal Triangle. This one I programmed using the WinAVR toolset.
This is continuing of thread AVR controlled signal generator. In earlier post 1 layer PCB prototype, I described a little about making this small project’s PCB. Now a few words about soldering and making the first test run. >This is my PCB board’s bottom. During soldering, I discovered one mistake – ISP headers pin MISO and MOSI were swapped. So I had to do some fixes (the green wire). Another small problem I discovered was that I couldn’t find 20k SMD resistors for my R-2R leader. For this DAC R-2R leader, I need 10k and 20k resistors to make DAC work properly. So I decided to make “fun” with my Board and soldered 10k SMD resistors in series to gain 20k:
A signal filter is an electrical equipment that attenuates the unwanted signal characteristic wave. Filters can be analog or digital. An analog filter processes analog signals. They are mainly arranged with capacitors and resistors. Digital signal filters process digital signals which are quantized. Digital filters are arranged with solid-state components to process the signals. L’s start from analog filters. An Analog filter is a circuit that filters unwanted frequencies. Filtering is done by choosing the circuit transfer function. Simplest analog low pass filter: The current in RC circuit can be calculated as follows:
Embedded software consists of various functions performing particular tasks. Before writing any ASM or C code, it is good to draw an algorithm flow chart. Flow charts are a visual method of representing the inner algorithm. It is easier to analyze the algorithm and write the code according to the diagram. The main parts of diagram:
This is continuing of the thread of making AVR controlled signal generator. This section is devoted to 1 layer PCB prototype making using ultraviolet light exposure and etching. I’ve chosen Eagle as PCB designing software. This is convenient software for making hobby circuits. First, I designed a circuit of AVR controlled signal generator:
A signal generator is a second must-have tool after oscilloscope while working with electronics designs. I don’t have any signal generators, so I decided to make one. This is gone be a simple AVR-controlled signal generator. I’ve chosen the Atmega8 microcontroller as this is the simplest one of Atmega’s series microcontrollers. It has 8kB flash memory. This is an initial post of the project. I have only designed a schematic and PCB board. I’ll be adding project progress in further posts. A little bit about AVR controlled signal generator. This is going to be a stand-alone generator coated in a 100x60x35mm metal box, the one I’ve found in my drawer. It will be powered by a 9V battery (through a 7805 voltage regulator). Controlling will be done with a series of buttons on the box side. And the information will be viewed on the 2×16 LCD screen on top of the box.
Atman AVR is an integrated c/C++ compiler IDE for Atmel AVR microcontrollers. AtmanAvr C development environment includes ProjectWizard, CodeWizard, Workspace, Output, Text editor, Binary editor, Debugger. The compiler itself is a GCC compiler for AVR. The only thing that makes it commercial is the integrated environment: ProjectWizard – lets you customize a project through series dialogs, and then it generates initial code automatically; CodeWizard – helps in programming routine tasks like creating new modules, adding functions navigating; Advanced workspace where you can find File View, Class View, and I/O View, and many more. If you would like to try this IDE, you may download AtmanAvr C IDE from the manufacturer’s site https://www.atmanecl.com. Bellow is an Atman AVR kick start guide with some screenshots: Create new project File->New: In the Project Name enter the name of your project. Also, select where your project will be located. From tab Projects select one type of projects:
This is a small comparison made between three types of motors: DC motors and stepper motors. Let’s see what their cons and pros are: Stepper motors don’t require feedback to determine position. The microcontroller determines the position by sending pulses to stepper motor; When the load is too high to the stepper motor, then it may stall, and there is no way to report this to the microcontroller; DC motors with feedback can report stalls on high loads or other conditions; Stepper motor has no brushes – there is no EMI; Stepper motor may produce full torque – this enables them to hold the rotor in the desired position; DC motors deliver more torque at higher speeds than stepper motors; Stepper motors can produce low speed without loss of torque. Dc motors lose torque at low speed because of low current;