@Luka (again...) "Do you want me to add other functions to it or to the firmware? For example, some parameters can be only set but not read."
=> yes, Cooler min, cooler max, and Pk would be cool
Same test (target = 0°C) but with Kp=0.1
Obiously, looks like we expected...( bigger overshoot), oscillations, and so on...
Kp parameter works quite well so far !
Thanks again
@Luka (again...) "Do you want me to add other functions to it or to the firmware? For example, some parameters can be only set but not read."
=> yes, Cooler min, cooler max, and Pk would be cool
Done. See folder "source code/luka/Gilles" which has the new firmware (v0.5L), low level driver (0.9L) as DLL and the source code for it.
It has not been tested so let me know if there are issues.
Great work with testing the Kp gain. Seeing your graphs we could probably introduce the integral (and derivative?) terms as well, they may reduce the settling time.
Done. See folder "source code/luka/Gilles" which has the new firmware (v0.5L), low level driver (0.9L) as DLL and the source code for it.
It has not been tested so let me know if there are issues.
Great work with testing the Kp gain. Seeing your graphs we could probably introduce the integral (and derivative?) terms as well, they may reduce the settling time.
Thank you
What should i say ? the more we do the better it is ! But i think it's time to release ;-) Many other are waiting "official birth" of this new driver... Do with your time, thank again.
I'll try it tonight, but i realized that if Delphi is usefull to push button, Excel is much better to make nice graphs.
What is provided with Excel ?? what ? VBA !!! it works !
Simple macro, with relevant code to import dll functions, and baaaaam, you drive your cam with Excel
I'm playing with it atm, will soon share my Woorbook with macro (just need to copy/paste cam86ll.dll under same folder)
And here a real run, 4 tests of different Kp, 4x1800secs, target = 10°C starting from 13°C
Not very ambitious, it's just to play with my macro...
Will make bigger/longer ones tomorrow
First screenshot Cooler %, second is T° variation
Edit : tested new functions
I have problems with Kp : returned value is not equal to the one i set
I need to investigate, I will certainly have to tweak dll type declarations (double/single/...)
I was kind of expecting KP to possibly be a problem since Pat mentioned slower cooling.
Can you send me the spreadsheet or list here few set-get values.
edit:
Forgot to say, great idea with the Excel, I would have never thought about it. I was actually about to suggest to use Visual Studio as it has inbuilt graphing functions but Excel and VBA is probably 100x quicker
Regarding testing of the camera with missing sensor, here is an interesting observation I made last night:
I pulled out my 2nd board to do TEC testing and noticed that the 5V regulator was hotter than the 3.3V regulator, unlike my 1st board. After a while I realised that it did not have a sensor and after inserting it the 5V regulator got cooler than the 3.3V regulator, as it should be.
Interestingly the total power consumption was 210mA with a sensor and 190mA without a sensor. However, although the total current was less, the heat production was higher without the sensor, especially on the 5V regulator, like the power "got redirected" to a "wrong" place heating components that are usually not that hot.
When I had some bad solder joins on PCB2 it was pulling more current than normal, around 220mA. Fixing the joints lowered the current draw. Go figure. Pretty sure this was the 5V line as well.
I also noted when doing tests, when the camera was running ok on camview the I draw was ~ 130~170mA. But when camview mucked up, you know thru the software "disconnect" and "re-connect" the I draw was higher. Also not consistent.
Sorry I have my values at home, I recorded them. Using constant voltage supply with current limit so monitoring current is easy.
Another intersting fact, Ryan is finishing his electronics and only a few capacitors were missing. The board was pulling 600mA and was getting hot. The voltages were very unstable. After some of the capacitors were installed the board started working properly.
Clearly the switchmode component of the circuit does not work properly without the capacitors. A bad capacitor could probably have similar effect...
The moral of the story: get all parts in before starting troubleshooting
The moral of the story: get all parts in before starting troubleshooting
Thats easy to say when you have all the parts already
I also saw a significant decrease in temp of the 3.3 and 5v regs when I put an electrolytic in for C17. There are some very odd power quirks with this board
Wasted over 6h today chasing compiler bugs. It cannot convert floating point to integer properly. For example:
Quote:
float x = 0.04*1000.0
equals 40.0 while
Quote:
float a = 0.04;
float x = a * 1000.0
equals 10.0
:bash comp:
Anyway, it should be working now, Gilles check the same spot on GD. There is also a skeleton c# program (cam86_PID_tuning) that I used for testing of the DLL and firmware for reading/setting of Kp.
Also is it possible to test if this firmware has the same cooling speed as the old one, 0.3L (default Kp = 0.04). Pat mentioned that it was slower. Even just timing one point after 1min should be enough if other parameters are the same.
Hold, on, I forgot:
:bash comp:
edit: And there are even bugs in the IIS computer bashing person
Wasted over 6h today chasing compiler bugs. It cannot convert floating point to integer properly. For example:
equals 40.0 while
equals 10.0
:bash comp:
Anyway, it should be working now, Gilles check the same spot on GD. There is also a skeleton c# program (cam86_PID_tuning) that I used for testing of the DLL and firmware for reading/setting of Kp.
Also is it possible to test if this firmware has the same cooling speed as the old one, 0.3L (default Kp = 0.04). Pat mentioned that it was slower. Even just timing one point after 1min should be enough if other parameters are the same.
Hold, on, I forgot:
:bash comp:
edit: And there are even bugs in the IIS computer bashing person
Quick test, comparison of previous and actual dll/firmware
=> it's much better (see attachment), thank you.
Edit : btw, are you using codevisionAVR compiler as Rome suggested ? did you try with avrgcc ?