Sajjadkhan
Full Member level 5
- Joined
- Sep 25, 2010
- Messages
- 307
- Helped
- 17
- Reputation
- 34
- Reaction score
- 16
- Trophy points
- 1,298
- Location
- Rawalpindi,Pakistan
- Activity points
- 4,199
You can use 1-Wire MicroLAN and digital potentiometers. On that way uC can be smaller, and you can increase number of fans even more. Each fan can have their ID, fans can be located in different places, not just on one place, adjustable speed, memorized status and speed of each fan,......
how do you drive your fans?
Relays/Triac/...
Does your fans support variable speed?
You can use a shift register for the fan outputs and a keyboard matrix for the buttons. But you must decide if it will be worth the effort!
Shift register usage:
https://www.gammon.com.au/forum/?id=11518
Keyboard matrix:
**broken link removed**
i think it is better to use multiple controllers, because
* pcb space may be greatly reduced.
* nowadays,cost of the controller is very low
* because of multiple controllers, your design will be intact,means,copying firmware will more difficult.
* bulk order will save your money,means,this case you will need 1000 ic's
* because of uc,you can easily change your i/o ports for pcb design routing adjustment.
* any type of controlling is possible,such as relay driving or phase angle controlling.
* you may communicate both chips serially for saving ports.
* finally,i am using this method for 10 years, using 89c52,without any problems
for above specification,89c52 will do all the job,if you are using 40 pin ic's because it is very cheap lees than $1
You can use 1-Wire MicroLAN and digital potentiometers. On that way uC can be smaller, and you can increase number of fans even more. Each fan can have their ID, fans can be located in different places, not just on one place, adjustable speed, memorized status and speed of each fan,......
this is all about the input control.so let me teach
you must decoder in reverse and set the buttons in outpot of pic and share the vdd of buttons and joind it to other pin and next step is write sth like below code in your program .
here we have 3*8 decode that is join to port b of pic and the shared pin is in portd.0
for(i=0b000;i<8;i++){
portb=i;
if(portd.0==1) light the fan number x
}
ooo fan1
001 fan2
010 fan3
.
.
.
.
111 fan8
you understand?
so let me teach
you must decoder in reverse and set the buttons in outpot of pic and share the vdd of buttons and joind it to other pin and next step is write sth like below code in your program .
here we have 3*8 decode that is join to port b of pic and the shared pin is in portd.0 [...]
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?