Skip to main content

Case study: proposed system design

Short answer

The design uses a microcontroller with 12-bit ADC reading PT100 (0–150°C to 0–5V, resolution 0.037°C), pulse flow sensor, and keypad. Outputs control steam valve and pump via opto-isolated relays; RS-485 Modbus RTU communicates with SCADA; hysteresis control maintains 72.5–74°C.

Design a proposed system using microprocessor/microcontroller input/output devices, interfacing process, communication protocols, data converters and handshake signals with neatly labeled block diagram.

Assumed case study: a milk pasteurisation and packaging section of a dairy plant (HTST process: raw milk tank, heat exchanger, steam-heated holding tube, cooling, filling). The existing system uses analog panel indicators, bimetal thermostats, a manual steam valve and operator logging. (If your own visit was to another plant, replace the process names; the structure of the answer stays the same.)

Block diagram

 PT100 --> Amp/SigCond --+
 Level sensor ----------+--> MUX/ADC (12-bit)
 Flow sensor ---(pulse)-+         |
 Keypad ----------------+---> [Microcontroller] <--> LCD 16x2
                               |  ARM/AVR + flash   |
   Opto + SSR/relay <----------+  watchdog, timers  +--> RS-485
     |                         |                          (Modbus)
 Pump / steam valve / alarm    +--> EEPROM log         PC / SCADA
 Power supply: 24 V + 5 V + UPS

Design details

  • Processor: a microcontroller with an on-chip 12-bit ADC, UART, timers and 32 KB flash.
  • Inputs: PT100 with amplifier (0-150 C to 0-5 V), level switch, flow sensor (pulse), keypad.
  • Outputs: LCD, buzzer, and the pump and steam valve through an optocoupler, transistor and relay/SSR.
  • Interfacing process: ADC channel 0 is read every 100 ms; the control routine compares the temperature with the set-point; the output pin drives the relay.
  • Data converter: 12-bit ADC, resolution 150/4096 = 0.037 C per count.
  • Communication protocol: RS-485, Modbus RTU, 9600 baud, 8N1, CRC-16.
  • Handshake signals: ADC start/EOC, LCD E strobe, RS-485 DE/RE direction control.
/* Assumed: 8-bit MCU, ADC on channel 0 (PT100 amplifier), relay on PORTB.0 */
unsigned int read_adc(void){            /* 12-bit conversion */
    ADC_START(); while(!ADC_DONE());   /* start, wait for EOC */
    return ADC_DATA;                    /* 0..4095 */
}
void control(void){
    float t = read_adc() * 150.0 / 4096; /* temperature in C */
    if (t < 72.5) STEAM_ON();           /* open steam valve */
    else if (t > 74.0) STEAM_OFF();     /* hysteresis control */
    wdt_reset();                        /* watchdog */
}

The control band (72.5 to 74 C) stays above the 72 C minimum holding temperature.

✓ Answer checked by Claude Sonnet 5.5

All Instrumentation II chapter 10 questions →