The PC fan is controlled with PWM pulses. The first potentiometer adjusts the duty cycle of the pulses and therefore the speed of the fan can be directly adjusted. The software can read the speed of the fan for security reasons: If the fan stalls for any reason, the heater must immediately be turned off.
The PID routine has these parameters:
GAIN_P_Constant: The gain multiplier for the Proportional term
GAIN_I_Constant: The gain multiplier for the Integral term
GAIN_D_Constant: The gain multiplier for the Derivative term
TIME_I_Constant: The time interval for the Integral accumulation
TIME_D_Constant: The time interval for the Derivative calculation
These parameters are currently constants, but i plan to preserve some EEPROM space to save them there and also i will probably make a UI routine to change them from the controller buttons directly.
The heater control is done with bursts. Each burst has a length of about 250 mSec. The mains power supply has a frequency of 50 Hz (period=20mSec). So, during each burst, at least 12 full AC periods go through the triac to the heater. The interval between the bursts depends on the PID output calculation.
The buttons have currently no operation. I currently use the LEDs only for debugging reasons. The red LED corresponds to the power bursts of the heater. The green LED changes state every time an integral value is accumulated. I plan to change the function of the green LED and i will use it as a power indicator: If the controller has power, the LED will be always on. I kinda like the way that the red LED operates, so i may keep it as is.
file gia.molis tora se brika ke ise poli endiaferon. exo mia idea gia pio statheri thermokrasia gia pid temp controllers.nomizo pos tha itan kalitera an anti na kobete to power apo to heating elemend , apla na mionete kai na afksanete otan pesi I thermokrasia,etsi o xronos pou xriazete gia na ftafi I antistasi sto maximum pig temp tha ine poli ligoteri kai to lathos ligotero. ti nomizis, ? se efxaristo.
@Angeltech Follow the schematic as shown - I added the wire after i discovered the problem with the PCB, so there may be pictures without the wire. I really cannot remember what happened.
As for the fan, you need an oscilloscope to see if the PWM pulses arrive at the fan.
Sir I have no luck with fan speed in 3 or 4pin fan still not working right, hope you could help another thing is do I have to connect pin 23 and pin 6 of microcontroller seems you just connect it and remove on the demonstration picture. please advice.
Sir thank you very much, now the 7 segment brightness is the same, still working on the fan problem maybe I have to change the darlington transistor which i used C4169 that contains diode and zener that might effect the control signal.
@Angeltech I used 2 different display sets so i have different delays to have same brightness. What you want to do not is go to the "Display.inc" file and replace the "call Wait390uSec" with "call wait2mSec" (found 3 times).
For the PWM, i'm not sure what the problem is. It should work.
@Iuliu well, actually i do, but i have not finish the housing. I stuck in the nozzle which was originally from special plastic, but it was eventually not so special to withstand the heat of the resistor which accidentally came into contact - so it burned into flames. I will make it from stainless steel or something like that.
Hello Giorgos Lazaridis have you made the new proiect "a PCB preheater" ?
I'm thinking to do my self to,but i want to use 16f819 ,that pic i have about 5 pieces,my question is is fast enough at 4 Mhz clock?
@Ricardo The layout had errors, check this page:
I have not correct these errors, so you will need to find and correct them yourself. If this is ok with you, i can send the layout to your email. And if you correct these errors and it works, you can send them back so i can then upload them in the site.
@Ricardo The worklog is here:
There are 5 pages in which i explain exactly how i made it. As for the parts, i cannot help you with them. You need to locate them from your local market, or order them from internet like from farnell.com
Hi! I know there are a lot of information in your website but I can not find some parts like these:
IC1 PIC 16F1937 Microcontroller
IC3 MAX 6675 Cold-junction compensated K-Thermocouple to digital converter (0°C to 1024°C)
IC5 ULN2003A High Voltage - High Current Darlington Arrays
IC6 MOC3021 Random Phase Optoisolator TRIAC Driver Output
IC7 DF02M 1.5 Ampere Bridge Rectifiers
Also, I'd like to ask you the source code in assembly...
Hi! Assembly it will be nice for me...Can you provide the source code? I want to buy the hardware (PCB) already done/working but I need the 18F4520 instead 16Fxxxx. I don't have time to do it myself and I won't find some parts in my place so, let's talk about...Can you help me? Since now, thanks a lot!
Hello!! How's it going? I'm stating Control&Automation Engineering and I liked your job..very nice! So, I have a question, Is there any chance you provide me the source code in C ? I would like to learn how to program PID ALg into a PIC18F4550 using MikroC compiler so, could u help me, please? In last case, Do u have PayPal account? ;) Let's go deal!
@awan i've been trying to convert the old-style articles (like this one) with the new style articles. I have already upload the TCPDF library, but i cannot get it to work. I hope everything will work well in the end.
@Stefan i'm sorry but i do not do circuits (nor programs) on demand. You will need to do the change yourself, or get a same PIC. As for the ULN, it is a darlington pair array. Instead of using 6 transistors i use this.
Good job,I have a plans for this,but there not in function.So I would like you to finish this project and to build one for myself.But I don't have that PIC microcontroller that you're using I want to use PIC16F877A(887 etc.) can you recompile for it?And I want to know why there is ULN2023,what is his job? :D