Packing Controller (Tteok Flow Pack)
Virtual axis (vAxis) — 100,000 slots per cycle, 4-axis real-time Bresenham + S-Curve synchronization / 4-channel PID heater / Alert SafeStop·Recover state machine.
Horizontal Flow Pack / Pillow Pack's own 4-axis motion controller. In the continuous rotary end sealer (Crimp Roll) structure where the fabric film is folded into a U-shape and pipe-formed → rice cake is inserted inside → vertical sealing (center) → horizontal sealing + cutting (end), the core task was to mesh the four axes of film, rice cake supply, tension, and cutting without disruption within one cycle.
Product Overview
• Machine Type: Food (Rice Cake) Horizontal Flow Pack / Continuous Rotary End Sealer
• Production Capacity: 30~120 PPM (Packages Per Minute)
• Status: Currently in operation with 80% completion (v2.04, as of 2026-04)
• HMI: Weinview MT6071iP (Modbus RTU Master) / Printer: DOMINO TTO Thermal Transfer
Hardware / Firmware Stack
• MCU: STM32H750VBT6 @ 480MHz (Cortex-M7), External QSPI 8MB Flash XIP
• RTOS: FreeRTOS, 10 Tasks (Heap 40KB), I-Cache·D-Cache + MPU Region
• Communication: Modbus RTU Slave (UART5 57600 8N1, FreeModbus Porting)
• Sensor/Drive: SPI1 MAX6675 4-channel K-type Thermocouple, I²C1 AT24Cxx EEPROM, 4-axis Servo Pulse Output, EXTI Mark Sensor·Origin·Alarm
• Build: STM32CubeIDE 2.1.1 + GCC 14, ST-Link + OpenOCD + Custom QSPI External Loader
• EMI/TVS filter, Isolated, RC filter applied, and Schmitt-trigger noise removal for all input/output signals
Core Technology — 4-Axis Virtual Axis (vAxis) Synchronization
One packaging cycle is defined as a virtual axis (vAxis) of TIM5 100,000 slots, and the cycle time is calculated as sTarget = 600 / Feed_Speed[PPM] µs. The four axes are output simultaneously in the ISR (10µs unit, variable) according to the slot index.
• xAxis (M1) — Cutting + Upper and Lower Crimp Roll Sealing: S-Curve 2-Speed (sRTN/sSeal)
• yAxis (M2) — Film Main Supply: Bresenham + Mark Sensor PID Correction
• zAxis (M3) — Rice Cake (Item) Supply Adachi1: Bresenham, ITEM position zBoost can be done during operation
• uAxis (M4) — Fabric Tension Adachi2: yAxis Linear Velocity Tracking Bresenham
All parameters flow in a quadruple structure ([HMI] ↔ Modbus Holding ↔ mon_param[float, user unit] ↔ m_param[integer, ISR direct use]) and are permanently stored in EEPROM.
4-Channel PID Heater + Zero-Crossing SSR
The front and rear of the center sealer / the upper and lower 4 channels of the cutting sealer are measured with 0.25°C resolution using a K-type thermocouple (MAX6675), and SSR zero-crossing (ZCD) phase control is performed with PID for each channel. In the initial heating section, to prevent overshoot due to PID integral runaway, it enters with a fixed output of 90% up to (setting -20°C) and then transfers to PID. We are gradually integrating sTune-based channel-specific Auto Tune assets.
Alert SafeStop / Recover State Machine
Events such as servo alarm / printer Alert / origin deviation are collected into a 16-bit bitmap (alert_status_mb) and displayed directly on the HMI, and the firmware operates as a 3-State State Machine (NORMAL / ALERT / RECOVERING).
• NORMAL — Normal Operation
• ALERT — Automatic operation stops immediately, direct EEPROM call blocked
• RECOVERING — Non-blocking RESET pulse + EEPROM batch flush, user start command locked
All existing 8 while loop-based RESETs have been replaced with non-blocking pulses, so ISR·Modbus responses do not stop even during alarms.
HMI · Printer · Permanent Storage
• HMI Weinview MT6071iP polls about 100 addresses (settings / operation bits / monitoring) as a Modbus RTU Master. On the STM32 side, mon_param ↔ m_param conversion and EEPROM queue are processed within the FreeModbus callback.
• The DOMINO TTO thermal transfer printer outputs a print trigger to the PRINTER_OUTPUT pin the moment it reaches the nPrt_Pos slot, and is automatically reset (TIM14) after 12ms. Printer alarms are classified as minor alarms and stop after returning to the origin.
• All operating parameters (distance·temperature·PID coefficient·synchronization ratio) are permanently stored in EEPROM (AT24Cxx, I²C Fast Mode) after scale conversion (distance 0.1mm / temperature 0.1°C / PID 0.001).
Operating Results
• Stable production without mark correction failure in the 30~120 PPM range
• Cycle consistency secured after applying 4-axis real-time synchronization v2.0
• Blocking disappears when an Alert occurs and HMI screen response is maintained — simplifying operator recovery procedures
• Complete migration from T5L DWIN protocol → Modbus RTU, GCC14/CubeIDE 2.1.1 environment stabilized
Do you have an idea?
From device design to firmware, content integration, and mass production — SaeA-ICT is with you.