반응형

전체 글 764

Zephyr RTOS 센서 트리거 기반 Bosch BMA400 가속도 인터럽트 및 프로브 핫플러그 감지 구현 가이드

콜드체인 물리적 충격 감지와 외장 극저온 프로브 인터럽트 처리의 필요성의약품 및 백신 등 특수 화물 수송 과정에서는 온도 이탈뿐만 아니라 물리적 충격(Shock), 진동, 낙하(Drop) 사고로 인한 파손 위험이 존재합니다. 메인 MCU가 상시 가속도 센서 데이터를 폴링(Polling)하면 수 밀리암페어(mA)의 전력이 지속 소모되어 배터리 수명이 급감합니다.따라서 평상시에는 3축 가속도 센서를 초저전력 모드(수 uA 이하)로 유지하고, 설정된 가속도 임계치를 초과하는 충격이 발생할 때만 하드웨어 인터럽트 라인을 통해 슬립 상태의 MCU를 깨우는 인터럽트 구동(Interrupt-driven) 방식이 필수적입니다.또한 영하 70℃~200℃(드라이아이스/액체질소) 초저온 보관 환경에서는 본체 내장 센서 대신..

Zephyr RTOS Sensor API 기반 Sensirion SHT40 및 Rohm BU27030 커스텀 센서 드라이버 개발 가이드

콜드체인 다중 환경 센싱과 Zephyr RTOS Sensor API 표준화의 필요성의약품 및 백신 유통을 위한 콜드체인(Cold-chain) 데이터 로거는 보관 온습도의 정밀 모니터링뿐만 아니라, 포장 박스의 무단 개봉이나 도난을 감지하기 위한 조도(Ambient Light) 센싱을 동시에 수행해야 합니다.과거 임베디드 개발에서는 센서 제조사마다 제공하는 개별 C 라이브러리를 프로젝트에 직접 포함하여 사용했습니다. 이로 인해 센서마다 초기화 함수, 데이터 단위 변환 수식, 통신 에러 처리 방식이 달라 상위 애플리케이션 코드가 특정 센서 칩셋에 강하게 종속되는 구조적 문제가 발생했습니다.Zephyr RTOS는 이러한 파편화를 해결하기 위해 통일된 센서 서브시스템(Sensor Subsystem)과 struc..

0uA 셧다운 Power-Hold 회로와 로드 스위치를 위한 Zephyr RTOS 전원 관리(PM) 구현 가이드

배터리 구동 IoT 기기의 전원 래칭 회로와 Zephyr RTOS PM 서브시스템의 필요성콜드체인(Cold-chain) 데이터 로거와 같은 상용 IoT 기기는 창고 보관 시 수개월 동안 전력 소모가 전혀 없어야(Zero-quiescent current) 합니다. MCU의 내장 딥슬립(System OFF) 모드만으로는 LDO의 정온 전류(Iq)와 주변 센서들의 대기 누설 전류로 인해 배터리가 자연 방전되는 문제가 발생합니다.이를 해결하기 위해 하드웨어적으로 푸시 버튼을 누를 때만 전원을 공급하고, MCU가 부팅 직후 스스로 전원 유지 라인을 고정(Latch)하는 Power-Hold 회로를 적용합니다. 사용자가 종료 버튼을 누르면 MCU가 내부 상태를 정리하고 전원 래치를 해제하여 시스템 전원을 0uA로 완..

회로도 기반 nRF52840 Zephyr RTOS 커스텀 보드 및 Device Tree(DTS) 완벽 구축 가이드

하드웨어 회로도 독해와 Zephyr RTOS Device Tree 기반 커스텀 보드 브링업의 필요성상용 임베디드 기기를 개발할 때 Nordic nRF52840-DK와 같은 제조사 표준 평가 보드(DK)는 하드웨어 검증에 유용합니다. 그러나 양산용 하드웨어(Custom PCB)는 폼팩터, 배터리 구동 회로, 전용 센서 인터페이스에 맞추어 GPIO 할당과 버스 배선이 완전히 달라집니다.과거 임베디드 환경에서는 이러한 보드 변경 사항을 C 헤더 파일에 다수의 #define 매크로로 하드코딩하여 관리했습니다. 이 방식은 핀 번호 하나가 변경될 때마다 드라이버 소스 코드 전반을 수정해야 하므로 코드 유지보수성이 급격히 저하됩니다.Zephyr RTOS는 리눅스 커널의 핵심 설계 철학인 Device Tree(DTS)..

Zephyr RTOS 기반 상용 nRF52840 IoT 데이터 로거 아키텍처 설계와 west 워크스페이스 구축

상용 IoT 데이터 로거의 펌웨어 요구사항과 Zephyr RTOS 아키텍처의 필요성상용 배터리 구동형 콜드체인(Cold-chain) 데이터 로거는 의약품 및 정밀 화학물질의 유통 과정을 감시합니다. 시스템은 수개월에서 1년 이상 단일 배터리로 동작해야 합니다. 따라서 저전력 관리(Power Management), 정밀 온습도 및 조도 센싱, 대용량 QSPI NOR Flash 저장소, USB 대용량 저장장치(MSC), Bluetooth Low Energy(BLE), NFC 인터페이스를 통합적으로 운영해야 합니다.전통적인 MCU 펌웨어 개발 환경은 벤더 전용 SDK(Vendor SDK)와 비표준 FreeRTOS 래퍼 계층에 강하게 결합되어 있습니다. 하드웨어 핀 번호와 레지스터 설정이 C 소스 코드 전반에 ..

정밀 모터 제어를 위한 PID Controller Gain Tuning: Step Response 오버슈트 및 Steady-State Error 제거 방법

STM32 및 Embedded System 환경에서 PID Controller Tuning이 필요한 이유정밀 위치 제어가 필요한 BLDC 모터나 DC 서보 모터 시스템에서 목표 위치(Set Point)에 정확히 도달하는 것은 필수적입니다. 하지만 적절하지 않은 제어 게인을 사용하면 목표 위치를 초과하는 오버슈트(Overshoot), 목표치에 영구적으로 도달하지 못하는 잔류 편차(Steady-State Error), 혹은 시스템 전체가 진동하는 발산 현상이 발생합니다. 이 글에서는 STM32 마이크로컨트롤러 및 임베디드 리눅스 기반 모터 제어 시스템에서 PID(Proportional-Integral-Derivative) 게인이 제어 응답성에 미치는 영향을 분석합니다. 또한 Step Response 분석을 ..

Automotive Hypervisor 기반 AAOS 및 RTOS 가상화: Single AP 환경에서 Instrument Cluster와 IVI 물리적 격리 구현

1. 차량용 하이퍼바이저 도입 배경: Single AP 환경에서 RTOS 클러스터와 AAOS IVI 통합 필요성최근 차량용 전자 아키텍처는 기존의 파편화된 ECU(Electronic Control Unit) 구조에서 중앙 집중식 Domain Controller Unit(DCU) 또는 Zonal ECU 구조로 전환되고 있습니다. 이에 따라 계기판(Instrument Cluster)과 차량용 인포테인먼트 system(In-Vehicle Infotainment, IVI)을 개별 Application Processor(AP)로 구동하던 방식에서, 단일 High-Performance SoC(System on Chip) 내부에서 두 OS를 동시에 구동하는 구조가 채택되고 있습니다.이 과정에서 계기판은 운전자의 안전..

Intel RealSense Depth Camera 3D PointCloud 기반 ROS 2 Costmap2D 장애물 회피 구현

1. Physical AI 로봇의 3D 공간 인식을 위한 Intel RealSense Depth Camera 사용 배경2D LiDAR 센서는 동일한 수평 평면상의 장애물만 감지합니다. 이로 인해 지면의 고저차, 하부 장애물, 상부 돌출 구조물을 인식하지 못하는 치명적인 한계가 존재합니다. Physical AI 기반 자율주행 로봇은 복잡한 3D 환경에서 안전하게 이동해야 합니다. Intel RealSense D435i 또는 D455와 같은 Depth Camera는 3D PointCloud 데이터를 센싱하여 깊이 정보(Z-axis)를 제공합니다. 이 깊이 데이터를 ROS 2 Navigation2(Nav2) 패키지의 Costmap2D 3D Obstacle Layer에 정밀하게 반영해야 합니다. 본 포스팅에서는..

Android Input Subsystem 분석: EventHub 커널 이벤트 수신부터 InputDispatcher의 App Window 전송까지

Android Input Subsystem 파이프라인 분석의 중요성: Kernel /dev/input 파싱부터 App Touch Event 전달까지안드로이드(Android) 임베디드 시스템 및 차량용 플랫폼(Android Automotive OS) 개발 시 터치스크린(Touchscreen) 지연, 멀티터치 동작 오류, 미러링 환경에서의 터치 좌표 불일치 문제는 빈번하게 발생합니다. 이러한 문제를 해결하기 위해서는 안드로이드 프레임워크의 입력 시스템(Android Input Subsystem) 내부 동작 구조를 정확히 이해해야 합니다.터치스크린 하드웨어에서 발생한 인터럽트는 리눅스 커널(Linux Kernel)의 드라이버를 거쳐 /dev/input/event* 캐릭터 디바이스 노드로 전달됩니다. 이후 안드..

ROS2 Nav2 Navigation2 스택 튜닝: nav2_params.yaml 파라미터를 활용한 로봇 속도 한계 및 회전 반경 제약 설정

1. ROS2 Nav2 스택에서 로봇 회전 반경 및 속도 제약 설정의 필요성자율 이동 로봇(AMR) 개발 시 ROS2 Nav2(Navigation2) 스택을 적용할 때, 기본 파라미터 설정을 그대로 사용하면 급격한 가속, 감속 및 진동 현상이 발생합니다. 특히 물류 현장이나 협소한 공간에서 모바일 로봇이 예기치 못한 회전 반경을 생성하거나 하드웨어의 물리적 한계를 초과하는 속도 명령(cmd_vel)을 수신할 경우, 슬립(Slip) 현상이 발생하거나 모터 드라이버가 과전류 에러를 출력하여 시스템이 정지할 수 있습니다.본 가이드에서는 nav2_params.yaml 설정 파일을 수정하여 Controller Server(ControllerPlugin/DWB/TEB) 및 Velocity Smoother 영역에서 ..

반응형