본문 바로가기

Programming6

Python Control 라이브러리 사용법 python-control은 파이썬에서 제어 시스템의 분석과 설계를 위한 강력한 도구입니다. MATLAB의 Control System Toolbox와 유사한 기능을 제공하며, 선형 및 비선형 시스템의 모델링, 시뮬레이션, 제어기 설계 등을 지원합니다. 이 문서에서는 설치 방법과 간단한 예제를 통해 기본적인 사용법을 알아봅니다.1. 설치 방법python-control 라이브러리는 NumPy, SciPy, Matplotlib에 의존하며, 일부 고급 기능은 Slycot을 필요로 합니다.pip를 사용한 설치pip install controlpip install slycot # 선택 사항, 고급 기능(MIMO 등)에 필요conda를 사용한 설치Anaconda를 사용하는 경우:conda install -c con.. 2025. 9. 4.
모터 제어를 위한 전달함수 해석과 MATLAB 시뮬레이션 본 문서는 다양한 전기 모터(DC 모터, AC 모터(유도·동기), BLDC 모터)의 전달함수(Transfer Function)를 체계적으로 정리한 자료입니다. 전달함수는 모터 입력(전압·전류)과 출력(속도·위치) 사이의 동적 관계를 라플라스 영역에서 표현하는 수학적 도구로, 제어기 설계와 성능 분석의 핵심 역할을 합니다.본문에서는 각 모터의 전기적·기계적 동역학을 설명하고, 전달함수의 도출 과정을 단계별로 전개하였으며, 수치 예시와 MATLAB 시뮬레이션 코드를 포함하여 실제 응용 가능성을 보여줍니다. 또한 모터 유형별 특성, 장단점, 제어 응용 사례를 비교하여 제어 시스템 설계 시 고려할 수 있는 기준을 제공합니다.Keywords: DC 모터 전달함수, AC 유도 모터, 동기 모터 PMSM, BLDC .. 2025. 8. 29.
LLC 및 CLLC 공진 컨버터의 FHA 기반 전달함수 분석 이 문서는 LLC 및 CLLC 공진 컨버터의 전달함수를 First Harmonic Approximation (FHA) 기법으로 유도하고, MATLAB을 사용해 주파수 응답(Bode plot)을 시각화합니다. FHA는 공진 탱크의 전류와 전압을 기본파(스위칭 주파수의 사인파 성분)로 근사화하여 비선형 동역학을 선형화합니다. 제어-출력 전달함수 \( G_{vf}(s) = \frac{\hat{v}_o}{\hat{f}_s} \)와 라인-출력 전달함수 \( G_{vg}(s) = \frac{\hat{v}_o}{\hat{v}_g} \)를 유도하며, Extended Describing Function (EDF) 분석은 정밀 분석을 위해 간단히 언급됩니다. 기생 성분(ESR 등)은 무시되었으며, Continuous Co.. 2025. 8. 29.
DC-DC 컨버터 토폴로지별 전달함수 유도 및 MATLAB 기반 주파수 응답 분석 이 문서는 Buck, Boost, Buck-Boost, Ćuk, SEPIC, Zeta, Flyback, Forward 등 주요 DC-DC 컨버터 토폴로지의 동작 원리를 체계적으로 분석한다. 각 컨버터에 대해 스위치 온/오프 상태별로 상태방정식을 유도하고, 이를 시간 평균화(Averaging)하여 소신호 모델(Small-Signal Model)을 정립하였다. 이어서 제어 입력 대비 출력 응답(제어-출력 전달함수)과 입력 전압 대비 출력 응답(라인-출력 전달함수)을 도출하고, 연속전도모드(CCM)를 기준으로 특성을 해석하였다.분석된 전달함수는 MATLAB을 이용해 Bode Plot으로 시각화하였으며, 이를 통해 각 컨버터의 주파수 응답 특성 및 제어 안정성을 비교할 수 있도록 정리하였다. 특히 절연형 컨버터.. 2025. 8. 29.
루프 언롤링: 임베디드 시스템과 AI 최적화 루프 언롤링(loop unrolling)은 임베디드 시스템에서 성능을 극대화하는 강력한 최적화 기법입니다. 특히 STM32, AVR 같은 마이크로컨트롤러(MCU)와 임베디드 AI에서 ReLU 활성화 함수를 사용할 때 빛을 발합니다. 이 글에서는 루프 언롤링의 기본 개념부터 STM32, AVR에서의 적용, 그리고 임베디드 AI에서의 활용까지, 초보자와 전문가 모두를 위한 알찬 정보를 제공합니다. 임베디드 개발자라면 꼭 알아야 할 이 기술입니다.(Loop unrolling is a powerful optimization technique that boosts performance in embedded systems like STM32 and AVR microcontrollers (MCUs). It’s esp.. 2025. 8. 23.
C#에서 C++ DLL 사용하는 방법: P/Invoke, COM, C++/CLI C/C++로 작성된 DLL을 C#에서 사용할 때 데이터 맵핑은 P/Invoke, COM Interop, 또는 C++/CLI를 사용할 때 매우 중요한 부분입니다. 데이터 형식이 C/C++와 C# 간에 정확히 매핑되지 않으면 메모리 손상, 예외, 또는 잘못된 결과가 발생할 수 있습니다. 다양한 데이터 형식(기본형, 문자열, 구조체, 배열, 포인터, 콜백 함수 등)에 대한 매핑 방법을 구체적으로 설명하며, 각 경우에 대한 코드 예제와 주의사항을 포함하였습니다.데이터 맵핑 상세 가이드C#에서 네이티브 DLL의 데이터를 처리할 때, C/C++의 데이터 형식을 C#의 관리형 데이터 형식으로 변환(마샬링)해야 합니다. 이를 위해 System.Runtime.InteropServices 네임스페이스의 기능을 활용하며,.. 2025. 8. 11.