Rotary encoders are, well, knobs I'm not sure how to explain this, but when you turn them, it closes twh contacts, converting your "turning the knob" into "pressing a button." So that turning the knob is like pressing a button.
an up/down pushbutton, that looks like a knob? I see what you mean this shoule be added on a digital interface, that can select the fan, his speed -> with a lcd on it, we could have the same menus as in the soft (temp min/max, fan speed and everything) sweet
No, I'm not interessted in using an LDC and switches, but as other are, we'll do it but we coule implement it on the hardware, and for the software side it wouldn't be very difficult to add some other way than mouse & keyboard to change the values
I guess I was late in reading about this thread. I like the motorized pots. The first thing that came to my head is the nature of volume knobs on stereos that move around when volume is set by the remote, but can also be set manually. But the issue here, as Bricolo said, would be on the software side, where manually changing the pot would interfere with the current setting in the sliders. I was thinking servo motors, but I'm not sure if there are servos as small as pots. If only there's a way to detect the rotationary position of servos. If that was possible, then we can set the sliders to move also when the pot is manually set. I'll be monitoring this thread from now on. Right now, I'm currently researching on LCD interfacing so I can figure out an easy way to access it for display purposes via windows based software. I had my share of Assembly but I forgot everything about it. I'm gonna be narrowing myself down to VB so GUI's would be very easy to make. If you know a site where there's a listing of the string commands used for LCD's, please do tell (I found one but I can't find it again). It's something like this, specific ASCII characters, when sent to an LCD, gives specific commands such as clear screen, set cursor positions and the like. That's all for now.
Motorised pots were my first thought, but as Bricolo said, it is too hard to detect exactaly where they are. There are several meathods of detecting the position of ervos, but all are large, cumbersome, and difficult to use. So then I was turning up the volume in the car, and saw that when the volume is jacked all the way down, you can still turn the knob. And, when you turn it, a little bar graph is displayed, showing where the volume is set. You can also turn the volume up/down via 2 buttons on the steering wheel. I researched this, and figured out that it was called a rotary encoder, which would work perfectaly for this project. If you guys want motorised pots, we can do it, it would just be very difficult. Plus, it makes it so that there will be a need for more fan controling hardware. We could do it either way, but rotary encoders would make the project more efficent. X24, you can find the info you desire here. Bricolo, we are going to have software window that you can adjust the fan speed (using PWM), LCDs, and other things. If you will send me a email, I'll send you some beginning specs (they are on the way to you, X24). Signing out...
I think i get the idea of the rotary encoder, good thing you mentioned the volume knob of a car radio. I have the same. Does it usually snap while turning? Anyway, if rotary encoders will be the case, I think manual and software settings will be a bit easier (I hope) when overriding each other. Question on your block diagram. you have 32 temp sensors there. Does that mean there will be 3 sensors per fan? Or is it gonna be like there will be fan controllers where fans strategically placed would react to certain strategically placed probes. for example, we have fans on the front, back and top. if sensors pick up high temps near the back, then the back fans would kick up? On the keypad, what keys would be involved? I'm guessing a set of directional buttons (Up, down, left, right, or just up and down), an enter and a cancel button. Maybe we'll figure out when we start. I guess I'll be moving my research on how to make software give commands to change fan speeds, which I think would help make this project more doable.
Hey, check out Linear's IC tutorial thread, on BorgBob's post about a digitally controlled potentiometer. maybe that's the answer we're looking for.
The only reason I put in 32 temp sensors, is because I thought that it would be nice to be able to monitor temps, without having fans react to them. Like if I put in a watercooling system, I might want a inline temp probe, but I don't need a fan reacting to the water temp It is just for show In the software, you should be able to set which temp sensors you want the fans to react too, the temps that require speeding up, and the temps that require slowing down. I don't think mine snaps, but some do. My friend's sterio has "snapping" encoders. A digitaly controlled pot would work, and make your workload a little less (you woudn't have to program as much). I think that we still hook the encoder to the microcontroller, but copy the pultses from the encoder and send them to the digital pot, that drives a PWM circut (like macroman used in his article). I think that as for buttons for the front panel, up, down, right, left, enter, cancel. That way, you can add devices (ccfls, fans, etc) through the software, without adding more buttons. Left-Right will select things to edit, and up/down will scroll through the options (on/off, etc.) The remote needs to be plain buttons, though. So that problem still exists. BTY, what language would you prefer for the microcontroller? You mentioned assembly, and VB. Which do you prefer (just to make your life easier ). Signing out (phew!)...
Yo-DUH_87, i'll mail you tomorrow afternoon (gmt time ) i'm at school right now rotatory encoders look great, and they must be easy to use (I think they are up down buttons) 32 temp sensors?! would 8 not be enough? if you have 32 unused analog inputs on your microcontroller, why not... but I don't think there will be enough for the software, take a look at the link on my 1st post page 1 ant there www.almico.com/speedfan they are great, and you see what we want to do: fans controller by a software, and you set up the software to control fan number x ant y according to temp 3, 5 and 6 (it's an example), according to a wanted temperature fnally: a 6 key keypad is good, i agree with Yo-DUH_87
On the software part, here's how I understand it. The microcontroller would be programmed using Assembly and the GUI will be VB. The VB GUI will get and send data from the since the microcontroller is the one connected to the hardware, it can stand alone on itself. but if it can give and receive data, then the VB GUI would be it's like for the software control. Now I don't have much info on microcontroller programming, but all I need from it is what kind of data it can give and receive so it can be incorporated in the GUI.
Ok, Bricolo. There are things called multiplexers, they take bunches of inputs (in our case, more than likely 32 or 36, it has to be one of those "magic" electronic numbers), and have one output. In order to get the desired information, you pultse a 2-6 bit (depends on how many inputs the multiplexer has) parallel interface on the multiplexer, and it gives you the info you requested. So the software would pultse the multiplexer, send the data to the correct address, and plutse the multiplexer with the next temp sensor, all in mere nanoseconds. That way, you have a very fast refresh rate, and you can run many many temp sensors. The only reason I said 32, is because 16 is not enough, and 24 is not a "magic electronic number." Of cource, you don't need to put more than 8 or 16 on, if you wish. Rotary encoders are not hard to use, you just need to know how to apply them to your application. x24, I think that you've got it. The microcontroller can stand alone (using the LCD as the interface), and it can stand with the software as well (the LCD works with the software and the microcontroller). The remote would work at any time. Just a thought, but any changes you make in the software (or hardware) should be put into a bank of non-volatile ram, so that settings can be used by the microcontroller when disconnected form the computer, and that the settings (fan names, fan levels, temp names, etc.) can be retained through restarts, and shutdowns. Signing out...
I know what you mean by the magic numbers. It's 2^n or powers of 2, which is very computer friendly. If you noticed, RAM capacity is made like that. I guess the data memory would be a problem when shutting down, or would it?
That is why I said that a bank of non-volatile ram would be nice, non-volatile means that it does not loose your data if it looses power. I'm going to start trying to write a "spec" for all this stuff (oh, boy). This may take several days, as I'm doing both school and a part time job, plus this! I'll attempt to get it done over the weekend (hopefuly ) Signing out...
If I was back in my senior year in college, this would definitely be a good thesis. My thesis was not as exciting as this.
This would make a good senior thesis (files idea in the mass of grey matter I call my brain). I am playing around with a few PWM designs for controling the fans, I'm kinda leaning towards macroman's design, but with a diffrent IC, and a mosfett thrown in there for good measure I was reading one of my faveroite electronics digests, and saw a big article on fan control and Temp sensors (how to interface temp sensors to a microcontroller.) As far as interfacing the temp sensors, I hit it right on the head (use a multiplexer and pultse it to both get all 32 temp sensors, and to refresh the temps). As far as the PWM, they made no mention of anything as simple as macroman's circut (cheers macroman!) Signing out...
ok, you think about a microcontroller that can work as standalone, (so you have to program all algorythms in it) i was thinking about doing it at the software side, but why not
I think a benefit of having a manual control setting (having control over the system without the software) would be like if your watching some movies of playing some games that won't allow you to access the software, you can mess with the settings via the keypad or the remote.