Shop OBEX P1 Docs P2 Docs Learn Events
Data Acquisition. — Parallax Forums

Data Acquisition.

DanBDanB Posts: 6
edited 2007-03-07 23:40 in BASIC Stamp
Hello everyone, this is my first post here so I will introduce myself.

My name is Dan, I live in south florida and I am completing my last semester as a Mechanical Engineering Undergraduate. Finally!!

Our senior design project is to design and test an operational data acquisitions console for a gas turbine.
All sensors will be built into the engine, this includes the following:

Thermocouples
Exhaust gas temperature (EGT)
Combustion chamber temperature (CCT)
Inlet air temperure (IAT)
Oil temperature

Pressure sensors
Combustion chamber pressure
Oil pressure
Fuel pressure

Tachometer
RPM of the turbine

Other important engine parameters will have to be measured and processed. The idea is simple, we want to design a set of safety protocols incase the engine decides to malfuction. And no one wants to be in the vicinity of a turbine when it malfunctions at 120,000 RPM. It's the job of the controller to shut down the engine if the user is in danger.

So, the fuel line will have three redundant fuel solenoids. A master solenoid, an emergency shut off solenoid (controlled by the user and only the user) and lastly the microcontrollers very own fuel solenoid that will shut if any safety protocols are breached.

The controller needs to monitor all engine parameters and decide if it's safe or not, if not then shut off the fuel. It is that simple.

The question is this, can I mate such a variety of sensors to the BS2 board? Am I in the wrong territory? I noticed that BS2 is very servo oriented, whereas this is purely a case of just circuit architecture and not motion control or any fancy output.

Up till now I have been learning about the PIC variety of microcontrollers and I am very frustrated with them. I hear the BS2 is more user friendly.

If anyone has any ideas, please let me know.

·· - Dan

·

Comments

  • stamptrolstamptrol Posts: 1,731
    edited 2007-03-03 13:55
    Dan,

    Technically, you will be able to do this with a Stamp. There will be some issues with signal conditioning so that the signals you want to measure are presented to the stamp in a form it can understand. For instance, your thermocouples will need modules to get from their native millivolts up to say 0 to 5 volts. This is normal in any monitoring project.

    Similarly with the pressure and RPM signals.

    Generally, the thought process is this:

    1. How many channels of each type of signal do you need. (Don't forget any straight digital inputs or outputs)
    2. What kind of analog/digital converter will be used. (I use LTC1298 quite often)
    3. Will you have to multiplex the signals ( ie more than one signal assigned to a single Stamp pin) in order to have enough stamp pins to do the job.
    4. With the stamp successfully measuring everything, will the update time be sufficient to safely monitor the turbine? For instance, if the stamp can process a complete set of readings in say 0.5 seconds, could the turbine be compromised in that length of time? Maybe 2 stamps might be needed, for example.
    5. Provide a method of stopping things automatically should the stamp processor hang up or get into a non-responsive loop. One method is the have the stamp reset an external timer every few seconds. If the reset doesn't doesn't happen, the external timer operates to stop the system.

    This will be a great learning experience........enjoy!

    Regards

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Tom Sisk

    http://www.siskconsult.com
    ·
  • DanBDanB Posts: 6
    edited 2007-03-04 01:53
    Hello thank you for the input.


    "1. How many channels of each type of signal do you need. (Don't forget any straight digital inputs or outputs)"

    It is not certain yet, but I will need roughly 4 thermocouple sensors, 3 pressure sensors, 1 tachometer, 2 flow meters and maybe one more pressure sensor for the oil pressure. So that comes out to about 10 sensors, all with different voltage output scales.

    "2. What kind of analog/digital converter will be used. (I use LTC1298 quite often)"

    I don't know what type of A/D board to use, I am novice in this field as this is the first time I am learning electronic interfacing.

    Up till now I had to manually program PIC chips to do A/D conversion for me, I don't want to have to end up doing that because it's not very straightforward.

    "3. Will you have to multiplex the signals ( ie more than one signal assigned to a single Stamp pin) in order to have enough stamp pins to do the job."

    If I get a big enough chip, why can't I have one pin per sensor? Don't most microcontrollers come standard with 20 or more pins?

    "4. With the stamp successfully measuring everything, will the update time be sufficient to safely monitor the turbine? For instance, if the stamp can process a complete set of readings in say 0.5 seconds, could the turbine be compromised in that length of time? Maybe 2 stamps might be needed, for example."

    Half a second is too long, the fuel should shut off the instant oil pressure drops below say 25 psi. If the oil pump decides to take a Smile, oil pressure will shoot from 50 psi down to zero in a split second, the controller needs to recognize this immediately. The engine may be running at full power·and it only takes a very short time interval for the bearings to seize causing serious failure.

    "5. Provide a method of stopping things automatically should the stamp processor hang up or get into a non-responsive loop. One method is the have the stamp reset an external timer every few seconds. If the reset doesn't doesn't happen, the external timer operates to stop the system."

    I was thinking of introducing a shut-down sequence incase the sensor gets readings it doesn't understand or it just takes a Smile. I also want to incorporate warning lights that tell the user where the fault occured so that troubleshooting will be easy i.e the user doesn't have to hunt down the problem, the lights will all be labeled :Fuel pressure: :Oil Pressure: :EGT:. The user will know what caused the fault. Even if the controller faults i want a light for it, :Microcontroller Fault: light. Basically the controller needs to know if it itself is malfunctioning. It is a lot easier than it sounds.


    The user will have an emergency mechanical fuel shut off that is not reliant on any thing controlled by the mictrocontroller, if the user needs to shut down the engine he can do so at will.

    That's about it, thanks for all the help guys.


    ·
  • Philip GamblinPhilip Gamblin Posts: 202
    edited 2007-03-04 02:56
    There may be different routes to the same solution. For example monitoring oil pressure could be rather challenging. It might be easier to dertmine whether or not the pump is running. Shaft or belt moving.
  • Kevin WoodKevin Wood Posts: 1,266
    edited 2007-03-04 04:44
    You could also consider the Propeller chip. It has 8 independent processor cores, and each one can access all of the i/o (32?) pins.

    This means that you can build a considerable amount of multi-processing redundancy into your system.
  • DanBDanB Posts: 6
    edited 2007-03-04 08:41
    Philip, I don't see why it would be difficult to monitor oil pressure. The oil pressure sensor spits out an analog voltage just like any other sensor I believe.





    Kevin, what is the programming language that is home to the propeller chip?



    Should I just design this circuit completely analog with relays, that is more robust and less fault tolerant. What do you guys say?
  • stamptrolstamptrol Posts: 1,731
    edited 2007-03-04 12:13
    Dan,

    I wasn't really looking for an itemized set of answers....it was more rhetorical to get you to consider the issues.

    The stamp is set up for 16 i/o in the standard 24-pin package. There are "extended" stamps as well. See the Parallax web site.

    For instance, the a/d chip works directly with the stamp. It requires 3 control lines but measures 2 channels. Or, there are versions with multiple channels. Have a look at the manufacturers literature. Google LTC1298.

    As for sensors being "all different voltage scales", they will ALL have to be signal conditioned to give signals in the 0-5 volt range. Its more efficient to use standard conditioning modules than build your own. See Omega Engineering website.

    Its common to have different alarms scanned at different intervals depending on their criticality. Sounds like you'll have your oil pressure in a tight loop while running the machine.

    I've got stamps running critical industrial systems up to 1000 HP using these techniques, so I don't think your application is unreasonable.

    Regards,
    Tom

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Tom Sisk

    http://www.siskconsult.com
    ·
  • DanBDanB Posts: 6
    edited 2007-03-04 22:22
    stamptrol thanks for the replies. I will start googling as much info as I can. So you really think the BS2 is 'enough chip' for the job?





    Thanks again, dont be afraid to post up more info!! Everything helps.





    - Dan
  • Kevin WoodKevin Wood Posts: 1,266
    edited 2007-03-05 00:57
    Dan, here is some info for you:

    http://www.parallax.com/html_pages/resources/start/getting_started_main.asp


    Post Edited (Kevin Wood) : 3/8/2007 12:30:53 AM GMT
  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2007-03-05 07:38
    What kind of gas turbine are you talking about?.

    2000 rps (revs per sec), that's a lot or 1 signal from a sensor every 0.0005 seconds, that in itself is a lot of data. High temperature gas sensors are also expensive, but at that many rpm, resolution would be a mute issue huh. Perhaps if you have a good combustion model, you could estimate your combustion pressure, rpm and thrust instead. It would be much easier than actually measuring it and with a math coprocessor you could display it.

    If it's an RC Airplane gas turbine, BVM has the electronic fuel shut off valves that you can trigger, if you didn't already know.

    Also regarding your project, what is the time frame you need to finish within and what programming languages do you know, How much of it do you not know (double or triple your time estimates for what you don't know). Once you have all this together. Make your choice, but don't be overly optimistic.
  • DanBDanB Posts: 6
    edited 2007-03-05 10:55
    Thanks for the link kevin!

    Capt. Quirk

    "2000 rps (revs per sec), that's a lot or 1 signal from a sensor every 0.0005 seconds, that in itself is a lot of data. High temperature gas sensors are also expensive, but at that many rpm, resolution would be a mute issue huh. Perhaps if you have a good combustion model, you could estimate your combustion pressure, rpm and thrust instead. It would be much easier than actually measuring it and with a math coprocessor you could display it."

    The jet is small, as you can tell by the RPM range it is about the size of an RC airplane jet.

    I dont want to rely on pre-calculated models,·we need real time data because this senior design project is actually going to be a lab for future students. The university is opening up a propulsion systems class and this jet will be the "experiment", so all data needs to be real time.

    The readings dont have to be once per revolution, even if the reads are once every 30 revolutions that is good enough.

    ·This guy named Don has made his own homemade turbine with an optical sensor being used as a tachometer www.rcdon.com




    My time frame is until the end of this semester as the first half of senior design, and continuing over the summer into next semeser. Basically I have until December.

    I know a little bit of Pbasic,·a little MikroBasic, a little C but a good amount of Mat-Lab (that's not a language though).


    What I don't know is a good question!! I am a beginner with microcontrollers, right now I am taking a Mechatronics course that focuses heavily on Mikro Electronica PIC kit 2. I hate it.

    I am also taking a robotics course that focuses heavily on the BS2 board, it's super easy compared to the PIC.·I purchased a boe-bot with PING))), should be in the mail this week.

    I am willing to work hard to learn, but I just don't want something that is way too complicated. The circuit architecture for this jet is SUPER EASY if you think about it.

    It's just a bunch of gates in series, once all protocols are satisfied, fuel is allowed to flow. I think the challenging part is getting good signals from the sensors so the microcontroller understands whats "safe" and whats "not safe".

    Anyway, I am going to read up some more on the propellar chip!

    ·· - Dan
  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2007-03-05 13:56
    This is what I'm into http://www.usrainfo.org/
    ·
    As far as the rpm, it fits in with what you know and don't know and what Stamptrol was talking about. The best thing about Pbasic (I think) is that it is an incredibly powerful language with excellent debugging resources. On my project for our race planes, my first project samples were done with a BS2SX and I quickly found limits with that processor and many other parts of the design. So i need to make a choice.
    ·
    At the time the propeller just came out, it was expensive and the marketed it·towards people that had more experience than·I certainly had.·The sx 28 on the other hand was cheap, with a free basic compiler and excellent support documentation and with the possibility of 50 MIPS, It was dam fast too. But it had a really steep learning curve and lacked a true real-time debugger like the stamps did.·I spent months that I didn't plan on, getting to know the SX.
    ·
    From what you said, the Javelin may also be a possibility to look at, it seems to make better use of the SX virtual peripherals than does the SX and SX/B. But I have no idea of the Javelin debugging capabilities, nor the propeller's. With my own experience with the SX, I have learned·it can be just as slow as a Basic Stamp if you use the many of the time dependent functions, like Pulsout, SerIn, Pause, etc.·.
    ·
    Going back to the rpm, Data once every 15 milliseconds is a choice and a compromise on what that particular data acquisition system was capable of. Obviously the most accurate would be (in SX/B syntax)·" Count, (pin), 60 seconds, (variable)". Anything less is just an estimate, but who can afford such a waste of resources. Maybe the Propeller.
    ·
    ·Combustion pressure measurement is another resource, If your spending the University's money, go here ·http://www.kistler.com/·They have been producing water-cooled combustion pressure sensors for as long I can remember. (good possibility that there are labs on campus that already use their product), But if your not spending their money, I don't believe there's anything wrong with developing a computer model to simulate what’s difficult to measure.
  • zenerzener Posts: 8
    edited 2007-03-06 21:02
    Most turbine engines have a mechanical "RPM generator" that will scale the RPM reading to a reasonable frequency (i.e. 0-10K) instead of the native frequency. This makes reading it a little more tolerable.
  • tommyctommyc Posts: 7
    edited 2007-03-07 13:17
    I would consider using a oil pressure switch to trip the fuel valve directly.· Other trip conditions can go through the microcontroller.· You can still use an analog input for oil pressure data logging, if needed.· You are correct that 0.5 second is a long time for a turbomachine to be w/o oil!· I've got a 170 MW turbine that experienced a little problem like that!· We now have hardwired starts on backup oil pumps and hardwired trips on low oil pressure... VERY expensive lesson!
  • DanBDanB Posts: 6
    edited 2007-03-07 23:40
    Thanks for all the helpful advice. I am going to research this a little further.

    Today we met up with the turbine manufacturer that is willing to donate a jet to our school. They are also going to donate the ECU so that should help us out quite a bit with data acquisition.

    I got some more reading up to do, thanks again guys.



    ·· - Dan
Sign In or Register to comment.