Saturday 30 December 2017

Digital Clock(Show Piece)

Digital Clock from Subhra's Lab. It is an 8051 microcontroller implementation of rtc ds1307. Operates in 5 volt, supplied from a mobile charger. The PCB is designed by Subhra's Lab, the seven segment digits are displayed by the microcontroller using multiplexing method. Software is written in C language by Subhra's Lab using Keil microvision ide. The .hex file produced by Keil is burned to the 8051 mcu with a special burner software driver from willar.com using burner device from vegarobokit. 









Tuesday 26 December 2017

Magic Microcontroller


WHAT IS A MICROCONTROLLER
Microcontroller is a actually a small computer developed on a single integrated circuit. Microcontroller is a combination of one or more Microprocessor and a small memory unit. Microprocessors do all the logical operations with the help of memory addresses. These logical operations leads to control one or more peripherals. The logical operations are programmable. There are some input ports and some out put ports. Input ports can receive inputs from users or can read inputs from one or more sensors. It may react through an interrupt which the MCU (microcontroller unit) listens on certain ports.

WHERE THE MCUs ARE USED
The MCUs are used in most of automated processes. From switching on/off street lights automatically at certain times of day-night circles to automatic opening and closing of the door of a gateway, from the operation lift in a multistoried building to the remote controlled toys. Every the automation us done easily with the application Microcontroller.




There are different kinds of microcontrollers available. Some of these are Atmega, Attiny, 8051, 8052 etc.
Our concern of applications are 8051 and Atmega based Arduino boards.



8051
8051 series of MCUs contains microcontrollers like at89c51, at89c52, st89s51, at89s52 etc. These microcontrollers are 40 pin micros. It has four ports P0, P1, P2, P3. Each port address an eight bit register. Thus each bit of port P0 is addressed as P0.0, P0.1, P0.2.....P0.7 and each bit of port P1 is addressed as P1.0....P1.7 and so on. Pin 9 of the 8051 is designated as the reset pin. And two pins , pin 18 and 19 are designated for the outside crystal clock pulse. Pin 31 ia to be connected to Vcc along with the pin 40. Pin 20 is connected to the ground. There are two interrupt pins designated for accepting outside interrputs. These pins are P3.2 and P3.3.

Arduino boards
These are Atmega based boards which implements mostly Atmega168 microcontrollers. 

PROGRAMMING 8051
8051 can be programmed both in C language as well as in low level assembly languages. We can use programming environments like Small Device C Compilar (SDCC) as well as Keil microVision. The C programs are written, debugged and compiled and .hex files are produced at the end. Microcontrollers are burned (programmed) with these hex files with a special 8051 burner software driver using a 8051 burner board from vegarobokit. The burner software is from Willar.com. There are other 8051 burner devices like one from Robosoftlabs.com, .hex files can be written to 8051 using this device with any usb flush burner like ProgISP. 

PROGRAMMING ARDUINO
There are different versions of Arduino boards like Arduino Uno, Arduino pro, Arduino pro mini etc. There is a special programming environment Arduino IDE for prgramming Arduino boards. Many predefine software library packages are there. Program files produced have .ino extension.  The boards are burned ( programmed) with this IDE software itself.

subhra.mukherjee.kol@gmail.com

Monday 25 December 2017

STEPS FOR DESIGNING A PCB(USING KICAD)

1. Draw the schematic( In kicad)

2. Ds1307 was not in component library. With the help of an existing component , modidied it and named it as ds1307 using libedit( as far as i remembered)

3. After completing schematic do the erc Check.( Electrical rules check).

4. Do the necessary correction.

5. Now generate the netlist file. Use the default pcbnew option.

6. Now run cvpcb from the schematic window to assign footprints to the corresponding components. Observed that footprints for 7segments(both 1inch and .56 inch were not present).

7. Open Pcbnew and click 'new module'  to open footprint editor.

8. First set the grid value to 1.27mm.
then draw the pads in through hole mode and spacing between pins 2.54mm. This is done according the to the concerned datasheet.

9. After drawing footprint save it with a name( 7segment-ca && 7segment-ca-56in) in the current active library/directory named 'display'.

10. Now run cvpcb again. Assign the corresponding footprints to the components. Click 'save'. All information will be saved in a given name with a .cmp extension.

11. Now run pcbnew for a second time. Read the netlist file. All components along with footprints will pile on the top left corner of the pcbnew window.

12. Draw a line arround it with the select tool and drag it in the middle of pcbnew window.

13. For a complex design like rtc autorouting is required. KiCad does not have this facility, but it has allied software FreeRouting for autorouting from FreeRouting.net. Plugin for FreeRouting is there in 'Tool' option in pcbnew window.

14. What I have done: Download FreeRouting zip archieve from github. It is freerouting-master.zip of 8.?? Mb size. This archieve has a folder named 'binaries'. This folder contains two files: freerouting.jar & freerouting.exe. I executed freerouting.exe, a small window appeared seeking the .dsn file exported from kicad.

15. Previously from the dialogbox of 'tool'-->FreeRouting option in pcbnew window i exported my RTC layout as RTC.dsn file which is received by FreeRouting window.

16. A new window according to the size of layout will be opened. Click button Autorouting. The traces will be started drawing by the software itself.

17. After completing autorouting the layout board is to be exported to session file with .ses extension. Close FreeRouting window.

18. Open KiCad again now import board layout from the corresponding session file( .ses file) generated by FreeRouting software. There were no border line mentioned. Select Edges-Cuts from the options menu. Now selecting ... tool draw the board outline by clicking at the four corners of the board. End the drawing by double clicking the mouse.

19. Now produce gerber files. Go to File-->plot menu dialog from pcbnew layout window. Keep the default options. Select gerber from the plot menu. Select the required destination folder. Now press gerber button. Four files will be generated for 2 layers pcb. Again generate the drill file. Set the destination folder, press drill button. Note: Here something must be done for putting the correct solder mask over the pcb(i did not do this as i made the pcb without solder mask with a HAL finish).

20. Now produce the map file from the same plot window. Send these set of files to the manufacturer.

Contact Subhra: subhra.mukherjee.kol@gmail.com

Subhra's Philosophy


Friday 22 December 2017

Propeller Display

Circuit Design for Propeller Display

Propeller Display Circuit layout(for PCB)
www.tattvabodhika.blogspot.in



Propeller Display

Propeller Display Demonstrated...

A string of text is displayed with single led column consisting eight leds. Each letter of the text is plotted within a 6x7 matrix. The led column is representing each column of the letter matrix for a certain millisecond of time as the circuit board is rotating along with the blade of a fan. After that time interval the column of leds are switched off and again switched on selected leds according to the distribution of each comumn of polled matrix. Due to the persistance of vision it is appeared as a text before us.






Thursday 14 December 2017