Skip to main content

Posts

DIY 3W constant current LED driver

This is quick post about 3W constant current LED driver which I was design to combine with some homemade furniture piece. The main components of this system is LM311 voltage comparator and IRF9 5 40 P-Channel MOSFET. Schematic of 3W LED driver module This module is design to drive maximum of two 3W high power LEDs and it requires 8V - 10V DC (500mA) power source. In this given configuration this module may not need any heat-sink (for IRF9540) and consume maximum of 500mA of power. Breadboard version of 3W LED driver At prototyping stages we test this module using 9V DC (1A) power supply with two 3W LEDs (EDEX-3LA1-E1). I developed final version of this module using piece of strip-board and PCB design is not done.

ParseGen - parser generator for FPC

ParseGen is rule driven, parser generator for FPC / Lazarus . ParseGen is design using FPC, FCL and Lazarus and it mainly supports for Windows and Linux operating systems. ParserGen scanner is slight DFA (deterministic finite automaton) state machine. This scanner can operate on case sensitive or case-insensitive modes and it can easily configure/extend through given class structure. The parser of the ParseGen is recursive descent parser. ParseGen generate this parser using high-level source language and this language is logically similar to EBNF grammar. For example, in ParseGen, definition for "term" and "expression" can be written like this: define: expression   optional: "-","+"   end          term          loop: "-","+"     term   end   end define: term   factor   loop: "*","/"     factor   end   end This parser generator...

microTone Module - Simple Analog Hardware Interface

microTone Module is analog interface to connect microcontrollers or digital logic systems with PCs. This interface use PC sound card’s audio output terminal to send commands to external hardware systems. microTone Module is an open source project and all its software source codes and hardware designs are available to download at sourceforge.net/p/microtone . All the compiled software and source codes of this project are distributed under the terms of GNU Lesser General Public License . Hardware design and other documents are distributed under the terms of Creative Commons Attribution-ShareAlike 3.0 Unported License . Software library of microTone Module is a Win32 DLL and it can use with any programming language which allows interface with dynamic link libraries (e.g: C++ , C# , Python , Java , Delphi , Visual Basic , etc.) Some wrappers for this DLL are already implemented and available to download at microTone Module sourceforge.net code repository. And also if you implement or...

Centralize power switch for PC arrays with power failure monitor

UPS system is a common peripheral in computer field. Now most of these UPSs are equipped with USB driven system shutdown software. But some of the cheap UPS system may not have software controlled PC shutdown systems and some of them had some limitations too (for example operating system compatibility issues, supporting for multiple nodes, etc.). In this post we design power failure monitor with centralize power switch for array of PCs. Using this system administrators can turn on multiple PCs with single button press and all of these PCs get power down automatically at power failure. To reduce cross platform issues we design this interface to work with main-board power switch and because of this administrators may not need any special software for this system. Most important point of this system is its independence with UPS hardware. Prototype of centralize power switch project Main controller of this system is PIC10F200 - 8bit microcontroller. Thanks to its SOT-23 package w...

LMD18245 base Microstep Motor Driver

This article describe the LMD18245 and PIC16F877A base 16 step bipolar stepper motor driver which is design to work with 12V 18 º bipolar stepper motors. In this design we use pair of LMD18245 DMOS full bridge motor drivers to control 2 phases of the stepper motor and PIC16F877A MCU is used as controller. We test this driver with several stepper motors (including 1.8 º - 12V stepper motors) and all of them provide excellent smooth output with this driver. The supplied firmware of this driver is design for 16 micro-steps but it can be easily change to full-step, half-step, 8, 32 or 40 micro-steps. In this given design LMD18245 current sense resistor is calculated for 200mA and it can be extend to 3A by changing the value of R2 and R4 resistors. For more information refer the LMD18245 datasheet . This project is released as open hardware project. Firmware of this project is released under the terms of MIT License and schematic is released under the terms of Creative Commons ...

USB Random Number Generator

This project is about USB port base true hardware random number generator and it is design around the avalanche noise which occurred in reversed biased P-N junction. This random number generator is design using commonly available electronic components. The core component of this system is Microchip’s PIC18F2550 microcontroller. The noise source is 2N3904 (Q1) transistor and LM386 low voltage power amplifier is used to amplify the incoming noise signals. This peripheral is design to work as a self-powered USB HID device. Cumulative distribution graph of random number sample In this design we use 2N3904 as a noise source because it give more noise amplitude than any another transistors which we tested. Theoretically this transistor (Q1) can be replaced with any other suitable NPN transistor like BC548, BC107, 2SC945, etc. The control software of this system is available for Linux and it’s compiled as x86 - 32bit binary file. This controller application required libusb driver ...

Microprocessor Controlled 16 Line Connectivity Tester

This is an ATmega32 based Proteus simulation of 16 line connectivity tester. I mainly did this project to get familiar with the new Proteus 8 simulator (mainly the new Proteus  - ISIS module). The main functionality of this system is to detect open and short circuits in cables and connectors. This system can test maximum of 16 lines in each test cycle and it indicate the defective line(s) through LCD. This is customizable system and user can configure number of test lines through single push button (SW1). The ATmega32 firmware is developed using WinAVR toolset and it design to work with both simulation and real modes. Schematic of 16 Line Connectivity Tester I never test this system with real parts. If someone interested about real implementation make sure to change RN1 and RN2 to 22K and diode array with 16 - 1N4148 diodes. Recommended supply voltage for this system is 5V DC. This is an open hardware Project and this work is licensed under the Creative Commons Attr...