Efika 5200B Project
low power machine for process control and data collection in the chemistry labin category Applications & Software
proposed by czp on 30th January 2006 (accepted on 11th February 2006)
Project Summary
As a PhD student, I spent part of my time in a soil chemistry laboratory. To make our life a lot more easy, and to make more precise measurements, we developed computer controlled process control and data collection methods.
As Pascal is taught to all (non computer) science and engineering majors, Delphi is the programming language of choice at the department. Most of our equipment is controllable using the serial port. It’s also relatively easy to program.
These measurements have very low processing requirements from the computers, so we mainly use prehistoric PC-s, which are good enough for this job, but not any more for desktop use. But here comes a problem: they need to run continuously, but are not energy efficient, and generate a lot of heat as well. This is in part a financial question. On the other hand it’s a serious quality question as well, as some measurements are very temperature dependent (like pH measurements, I’m working on now). The ideal computer platform in this environment is the EFIKA (probably the 4U2 portable), which has enough processing power for process control and data collection but generates almost no heat due to its extremely low power requirements.
Delphi does not run on PPC Linux but FreePascal does. With the kind help of FPC and serial port developers, there is now a working serial port for FreePascal on PPC. Lazarus provides a similar RAD environment as Delphi, but works on Linux i386 and PPC, as well as on Windows.
My project is to port my Delphi applications to Lazarus, so they will work on three platforms including the most important, the EFIKA. Development is partially done on my notebook (as part of my work is copy & paste old code) and on ODW. I hope, that when EFIKA arrives, I will already have some real apps to show and prove, that EFIKA has it’s place in the science laboratory.
Project Blog Entries
low power machine for process control and data collection in the chemistry lab
posted by czp on 13th December 2007
There was not much progress recently in coding, as that needs silence for hours (at least for me), and with a 9 months old baby I don't have this luxory :-) I played around with the infrastructure, like testing the new FreePascal compiler (2.2), trying to port my old graphing code to FreePascal, as that is more efficient on resources, than bundled units (was designed to run on 66Mhz 486 machines :-) ).
posted by czp on 4th June 2007
Timing of data communication with all eight measurement units is still not perfect, but a lot better then was a few weeks ago. It still needs some work, but at least it seems to work more reliable now. The main bottle neck seems to be real time graphing of measurement results. The component I use is not really efficient on resources, especially as the number of measurement points grows significantly.
Next step will be to replace it with a dumb graph, and use this fancy component only when the measurement is idle. Its features would take too much time to duplicate.
posted by czp on 25th May 2007
There was progress on many fronts in the previous months:
I got some help from a FreePascal developer, and the serial port driver I use now works fine with the latest version of FPC. These fixes got recently integrated into the 'official' version of the driver for the benefit of any non x86 hardware.
Lazarus, the Pascal IDE I use, got some new components, from which a chart unit comes very handy. It's a very nice eye candy, just needs too much CPU resources at the moment. Hopefully it will be optimized a bit...
As soon as I got ready with a one channel version of the control software, a clustered version of the measurement system got ready (at least in prototype)
The current challenge is to get timing right for eight of these units, which starts to get more and more difficult due to the limitations of Pascal.
FPC problems, updated controller
posted by czp on 18th January 2007
Free Pascal Compiler had a feature, what the developers considered as a bug: Kylix compatibility on non x86 platforms. Now I stick to v2.0.2 of FPC until I find a serial component which works without Kylix compatibility...
I just got an updated version of the controller, based on the FTDI USB->Serial chip. Basic communication already works, testing in progress.