AVR controlled signal generator-1 layer PCB prototype

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: AVR controlled signal generator Circuit image When Circuit is designed, then follows PCB tracing. The resulting PCB I got is here: Not all traces were routed. I will need to connect some places with wires because there left some traces unrouted.

Continue reading

AVR controlled signal generator design considerations

A signal generator is 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 gone be simple AVR controlled signal generator. I’ve chosen Atmega8 microcontroller as this is 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 stand-alone generator coated in 100x60x35mm metal box, the one I’ve found in my drawer. It will be powered from the 9V battery (through 7805 voltage regulator). Controlling will be done with a series of buttons on the box side. And information will be viewed on the 2×16 LCD screen on top of the box. Simplified design of AVR controlled signal generator For controlling LCD, I’ll be using three wire interface. I described how to connect the LCD using three wires. If using only three wires for LCD, there are more ATmega8 pins left for other functions connecting DAC and buttons. As DAC in my project, I’ll be using the R-2R…

Continue reading

Atman AVR kick start

Atman AVR is 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 GCC compiler for AVR. The only thing that makes it commercial is the integrated environment: ProjectWizard – lets you customize 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 manufacturers site https://www.atmanecl.com. Bellow is a 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: AVR C Wizard(boot) – Bootloader project using C; AVR C Wizard(exe) – standard C program – usually this is the choice for your projects; AVR C Wizard(lib) – wizard for library creation using C; AVR C++ Wizard(boot) – Bootloader project using C++; AVR C++ Wizard(exe) – standard C++ program; Blank –…

Continue reading

Tradeoff between DC motors and stepper motors

This is small comparison made between three types of motors: DC motors and stepper motors. Let’s see what are their cons and pros: Stepper motors doesn’t require feedback to determine position. The position is determined by microcontroller by sending pulses to stepper motor; When load is to high to stepper motor, then it may stall and there is no way to report this to 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 rotor in 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 looses torque at low speed because of low current; Lets conclude this all. Systems with stepper motors and without feedback cannot determine what motor is really doing. For this reason stepper motors usually are used where loads are known (like floppy disk or printer). If loads are known and determined, then there some smart control can be applied – for smaller loads there can be smaller current applied in other hand for higher…

Continue reading

I2C EPROM programmer

Sometimes you just need to program I2C EEPROM chips and don want to invest any bucks to it, then you should consider I2C EPROM programmer from https://www.lancos.com site originally designed by Claudio Lanconelli. This is very easy to build and use circuit but it supports 24C01, 24C02, 24C04, 24C08, 24C16 24C32, 24C64, 24C65, 24C128, 24C256, 24C512 I²C Bus EEPROM, auto detects 24XX EEPROM capacity For I2C EPROM programmer you need to download PonyProg programeer software from www.lancos.com .Choose “Easy I2CBus” from the Options – Setup menu and the parallel checkbox on WindowsNT/2000 you have to select “AVR ISP I/O”.

Continue reading

Serial Peripheral Interface – SPI Bus overview

Serial Peripheral Interface is a simple interface which enables to communicate microcontroller and peripheral chips or intercommunicate between two or more microcontrollers. Serial Peripheral Interface bus sometimes called four wire interface may be used to interface such chips or devices like: LCD, sensors, memories, ADC, RTC. The range of usage is huge. SPI Bus uses synchronous protocol, where transmitting and receiving is guided by clock signal generated by master microcontroller. SPI interface allows connecting several SPI devices while master selects each of them with CS (Chip Select) signal – (Underline means that active is LOW). SPI bus consists of four signal wires: Master Out Slave In (MOSI), Master In Slave Out (MISO), Serial Clock (SCLK or SCK) Chip Select (CS) for the peripheral. Some microcontrollers have a dedicated chip select for SPI interfacing called Slave Select (SS). MOSI signal is generated by master – recipient is Slave. MOSI may also be labeled as SI or SDI. MISO signals are generated by slave. In some chips you might find labels SO or SDO. SCLK or SCK are generated by master to synchronize data transfers. CS (SS) signal is also generated by master to select slave chip or device. Data transfer is…

Continue reading

7805 voltage regulator for your design

This is most common voltage regulator that is still used in embedded designs. LM7805 voltage regulator is a linear regulator made by several manufacturers like Fairchild, or ST Microelectronics. They can come in several types of packages. For output current up to 1A there may be two types of packages: TO-220 (vertical) and D-PAK (horizontal). With proper heat sink these LM78xx types can handle even more than 1A current. They also have Thermal overload protection, Short circuit protection. If your design won’t exceed 0.1A current you may chose regulator LM78L05 with smaller packages and lower maximum current up to 0.1A. They come in three main types of packages SO-8, SOT-89 and TO-92 Bellow is a table OF all LM78XX regulators and their output Voltages and input voltage ranges. Part Output (V) Input range (V) LM7805 5 7–25 LM7806 6 8–25 LM7808 8 10.5–25 LM7809 9 11.5–25 LM7810 10 12.5–25 LM7812 12 14.5–30 LM7815 15 17.5–30 LM7818 18 21–33 LM7824 24 27–38 Typical Connection is very simple: Couple decoupling capacitors (between 10 uF and 47 uF) are required on the input (V-IN) and output (V-OUT) connected to ground. There are negative voltage regulators that work the same way. They are marked…

Continue reading