Wednesday, August 8, 2018

Chinese Stuff ... Holy Crap...

After spending 4hrs and getting blue smoke from two stepper drivers found the culprit... 
Wrong tracing on PCB.. Corrected and now it's working like a charm ... my 4hrs and 10boards are saved now...
آدھی الیکٹرونکس چائنیز ھمارے سیکھنے کے لئے خراب چھوڑ دیتے ھیں...

Bladeless Fan 3D CAD Modelling, CFD and 3D Printing

3D CAD Modelling , CFD and 3D printing of  working prototypes  of a bladeless fan.

3D printing electronic Enclosure

Too many projects on drawing board and life is too short to complete all..though the pace is slow, at least, I know that I am going in the right direction..success after failures moving bit by bit.. few projects are near to completion but the Time Management is PITA.. Graphical waterfall is one of the projects took almost 4years of hard work and many rounds of testing...The testing phase has been over now and now I am working on its aesthetics... the electronics requires enclosure... 3D modelling has been done and the model is also  3D printed on my homemade 3D printer... 

Wednesday, July 4, 2018

Graphical Waterfall in action

My 16 valve graphical waterfall prototype under testing. It takes designs from SD card. No external computer required.

3D printing ZigZag infill

ZigZag infill on my home made 3D printer.

Monday, July 2, 2018

3D printing the electronic enclosure.

Here is the video of 3D printing...see lovely honeycomb infill..

Sunday, June 3, 2018

Graphical Waterfall Hardware and Programming

Productive sunday , tinkering with graphical waterfall programming and electronics testing... Too many versions of program on hard disk... 1000s of lines of programming code stored at multiple places..cant afford years of hard work lost due to hard disk failure...;)
The program is taking instructions from SDCARD and sending the data to graphical watetfall electronics card...

A success Finally- Low cost DC servo

At last, i am able to successfully control the servo motor with low cost electronics to the finest resolution the encoder can support. This quadrature encoder takes 192 pulses per revolution( PPR)of the motor. The PID values for this motor is P=20, I=20 and D=0.1
Ziegler–Nichols method for PID manual tuning:
Set all gains to 0.
Increase Kd until the system oscillates.
Reduce Kd by a factor of 2-4.
Set Kp to about 1% of Kd.
Increase Kp until oscillations start.
Decrease Kp by a factor of 2-4.
Set Ki to about 1% of Kp.
Increase Ki until oscillations start.
Decrease Ki by a factor of 2-4.

Tinkering with Low Cost DC servo motor

For the past many years i am using Stepper motors and i am happy with these motors until now. Stepper motors are Open loop control as they have no feedback mechanism to the main controller. Once they loose steps the error will remain there spoiling the purpose of there use. At high speed the torque become low and prone to loosing steps.
So i am shifting myself from Stepper motors toward Servo motors. But all the electronics stuff as well as servo motor itself is too pricey for a hobbiest like me. This post is to study whether an ordinary DC motor can be converted into reliable closed loop servo motor. I purchased a bunch of DC motors with Quadrature incremental encoder from a scrap. The difficult thing is to find segregate the DC inputs to encoder sensors and the A+ B+ encoder signal wiring. Luckily by tinkering i found all circuitry without damaging electronics

Saturday, May 17, 2014

My New CNC Machine

Just Completed my New CNC Machine that has bigger area (4ft x 4ft) very fast (2100IPM) and accurate. The machine is sturdy and can machine non-ferrous metals, plastics and wood efficiently.

Drawings of the parts.

CAD 3D Model:
Finished Machine:

Video of the machine:

Thursday, May 10, 2012

Allah is the Light of the heavens and the earth

Allah says:
"Allah is the Light of the heavens and the earth; the example 
of His light is like a niche in which is a lamp; the lamp is in a glass; 
the glass is as if it were a star shining like a pearl, kindled by the
blessed olive tree,neither of the east nor of the west - it is close 
that the oil itself get ablaze although the fire does not touch it; 
light upon light; Allah guides towards His light whomever He wills;
and Allah illustrates examples for mankind; and Allah knows everything."

My wife want this beautiful ayah to be a part of our house.

my brother painted and installed at the entrance of the drawing room:

Some More Marbel work

This time i tested the marbel and carved the "Kalma" that is the basis of our life. It went well, took almost 8 Hrs to finish.

and here is the picture from the internet:
 Converted into vectors and here you go:

Wednesday, April 25, 2012

Marble Carving

This is my 1st experience of carving marble on my CNC Machine.. I think the results are satisfactory:)

Wednesday, June 22, 2011

Laminar Flow Nozzle- Update on DIY Anemometer

I installed the Anemometer and it is working quite well... Anemometer heart is a CDROM DC motor. It produces voltages when rotated by wind. these voltages are then fed to micro-controller to get the wind speed.
Here is the video:

Sunday, June 19, 2011

Laminar Flow Nozzle- Automatic Control Unit

Today no experimentation was carried out on the laminar flow nozzle. My RGB LED's and Fiber Optic End Glow cable (PMMA) are on the way from European supplier.. I already have Solid State relay (DC-AC) to control 220 V AC pump. I drew the controller circuit for the project. This circuit is based on ATMEL A328 and can control 3Watt  RGB LED,  Pump(220V AC), my DIY Anemometer, temperature sensor, DIY soil moisture sensor, 24V Solenoid cutter mechanism. I have added one shift register 74HC595 so that i can use the 8 output to control the lighting of surroundings... (The resistances have yet to be calculated after arrival of the LEDs)

Saturday, June 18, 2011

Laminar Flow Nozzle- 2nd but Successfull Cutter Attempt

The difficult part is cutter is my second successful attempt of making the cutter:)

Thursday, June 16, 2011

Laminar Flow Nozzle Updates- Cutter mechanism, Pre-Filtration Unit and modified Anemometer

Here is the Cutter mechanism with 12 V Solenoid. Also you can see Pre-Filtration Unit...and a painted modified anemometer...

Wednesday, June 15, 2011

DIY Anemometer- Sensor for Laminar Flow Fountain Control at High wind

I have made a small wind sensor from a DC motor of old CD ROM. This DC Motor does generate 0.3V at high wind. So i have to use it for my Laminar Nozzle project. At low wind the voltage generated by the motor is little but if wind is on higher side a voltage of about 0.12 VDC the fountain stream can be disturbed.

Did a little programming in Arduino when a DC voltages reaches to 0.12Volts stop the fountain and when the voltage below this value ON the fountain... I know you people will understand.. this is not a real Anemometer but with wind it gives us a voltage reading which we can use to start or stop the fountain.

Saturday, June 11, 2011

Updates on Laminar Flow Nozzle

Dear readers,
Been involve in developing the garden in-front of my house. I am going to install laminar flow fountain their. I made this fountain from 6inch diameter 1foot length pipe. The stream seems to me a perfect laminar. you can see how crystal clear it is.
I have to install RGB lighting and cutter mechanism. A good micro-controller programming will reveal millions of colours in this fountain.

and here a small video clip. Actually the Nozzle is connected to low pressure tap water, therefore the laminar Arc is small. I have to make a small pond with pump that will give this fountain a real life.

Sunday, May 15, 2011

Graphical Waterfall- Last Video

This is the last video i made this morning. I added color additives to the water but the camera did not catch the graphics in the waterfall :)...

I am currently involves in too many projects and i am abandoning it for the time being. Following is the micro-controller programming i did:

//Pin connected to ST_CP of 74HC595
int latchPin = 6;
//Pin connected to SH_CP of 74HC595
int clockPin = 13;
////Pin connected to DS of 74HC595
int dataPin = 11;
byte FirstByte;
byte SecondByte;
byte ThirdByte;
byte FourthByte;
byte FifthByte;
int val;
byte serialInArray[5]; // array for storing 5 bytes as they arrive from VB software
int serialCount = 0; // for counting the number of bytes received

void setup() {
  //Start Serial for debuging purposes 
  //set pins to output because they are addressed in the main loop
  pinMode(latchPin, OUTPUT);


void loop() {
   if (Serial.available() > 0){
       serialInArray[serialCount] =; // read a byte sent by processing
        serialCount++;  // increment number of bytes received

    if (serialCount > 4 ) {  
 FirstByte = serialInArray[0]; 
 SecondByte = serialInArray[1]; 
        ThirdByte = serialInArray[2];
        FourthByte = serialInArray[3];
        FifthByte = serialInArray[4];

     digitalWrite(latchPin, 0);
    shiftOut(dataPin, clockPin, FirstByte); 
             shiftOut(dataPin, clockPin, SecondByte);
                 shiftOut(dataPin, clockPin, ThirdByte);
                 shiftOut(dataPin, clockPin, FourthByte);  
       shiftOut(dataPin, clockPin, FifthByte);
    //return the latch pin high to signal chip that it 
    //no longer needs to listen for information
    digitalWrite(latchPin, 1);
 serialCount = 0;
void shiftOut(int myDataPin, int myClockPin, byte myDataOut) {
  // This shifts 8 bits out MSB first, 
  //on the rising edge of the clock,
  //clock idles low

//internal function setup
  int i=0;
  int pinState;
  pinMode(myClockPin, OUTPUT);
  pinMode(myDataPin, OUTPUT);

 //clear everything out just in case to
 //prepare shift register for bit shifting
  digitalWrite(myDataPin, 0);
  digitalWrite(myClockPin, 0);

  //for each bit in the byte myDataOut�
  //This means that 000001 or "1" will go through such
  //that it will be pin Q0 that lights. 
  for (i=7; i>=0; i--)  {
    digitalWrite(myClockPin, 0);

    //if the value passed to myDataOut and a bitmask result 
    // true then... so if we are at i=6 and our value is
    // %11010100 it would the code compares it to %01000000 
    // and proceeds to set pinState to 1.
    if ( myDataOut & (1<
      pinState= 1;
    else { 
      pinState= 0;

    //Sets the pin to HIGH or LOW depending on pinState
    digitalWrite(myDataPin, pinState);
    //register shifts bits on upstroke of clock pin  
    digitalWrite(myClockPin, 1);
    //zero the data pin after shift to prevent bleed through
    digitalWrite(myDataPin, 0);

  //stop shifting
  digitalWrite(myClockPin, 0);

Saturday, May 14, 2011

The Graphical Waterfall- First testing

This is first test of graphical waterfall consist 40 solenoid valves. All the things working fine but the graphics are hardly visible due to:
1- I have long tubing downstream the solenoids...If small metallic nozzles directly connected to the solenoid i would have got good results.
2- The Height of the solenoid. The solenoid are installed at about 8feet height, i think to see the graphical effect it must be 20 feet or above.

Any comments to improve will be highly appreciated

Friday, May 13, 2011

Almost there

Did wiring of Solenoids, not that good but if all thing work i will organize the wiring..Tomorrow is D'Day...Hope a good news..

Friday, May 6, 2011

Installation of Hardware for Graphical Waterfall

At last i completed the wiring of Solenoids and made an RC circuit to inject high current for short duration to increase the response time of solenoid. The resistance is 47RJ 5Watt and the capacitors i used are 50V 100mFarad.

 and fabricated the sump from 24gauge galvanized sheet.
Tubing and wiring of solenoid..The most hectic work;)

just installed the Header at its place and the pump:)

Wednesday, April 20, 2011

Graphical Water fall- Single Solenoid valve testing with Water

I have added some videos on the Youtube. Actually i was testing a single solenoid valve and checking the response time.

The following video is a simple arrangement of solenoid without using RC .
and this one is with addition of Resistor 45.3 Ohm  and capacitor 50v 220mF.

Monday, April 4, 2011

Graphical Water fall- 1st Step to Reality

Moving toward the actual working of the Graphical waterfall:
I updated my Graphical programmer software:
1- A Loop checkbox and STOP button is added. If the 'Loop Checkbox' is ticked, the graphical hexadecimal data will be send to the micro-controller in a loop. So we will able to continuously run the graphical fountain and repeat the designs.
2- Pressing the Stop button will check how many bytes are in shift registers. Then the software will send numbers of  '0X00' to finalize the shiftout function. After shifting out the software will turnoff all the valves by sending 5-bytes '0X00' to the controller.

1- Here are the 40 solenoid valves attached to the rig ...

 2- The completed Controller card.

Here is another video in sequence with the graphical waterfall LED simulator toward the actual controlling of single solenoid valve... You can hear the ON/OFF sound from the solenoid valve.
In the last few frames the solenoid stopped working and i just stumped what happen?..and after a little investigation found the +ve wire of solenoid i connected it temporirly with squash tape..smiley-wink

The positive thing of this test was:
1- My Connections of IRF540 good.
2- Solenoid response time is also good.
3- During the testing my circuit didn't get back emf from the solenoid as i have connected IN4007 across the solenoid. Thus my circuit is safe.
4- Testing one solenoid valve successfully gave me confidense that all the remaining 39 valves will work great.
5- I thought the LED of the tested solenoid valve will not be bright or will be off but it also work as usual.
6- The 74HC595 and micro-controller are as cold as in iceroom.

Here is the link of video: