<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>motorcontrol</title>
    <link>https://motorcontrol.tistory.com/</link>
    <description>motorcontrol 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Tue, 23 Jun 2026 11:14:55 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>motorcontrol</managingEditor>
    <item>
      <title>9. FOC 시뮬레이션 &amp;ndash; 수학으로 확인하는 정밀 제어의 힘</title>
      <link>https://motorcontrol.tistory.com/9</link>
      <description>&lt;blockquote data-end=&quot;231&quot; data-start=&quot;204&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;231&quot; data-start=&quot;206&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;직접 돌리기 전에, 가상으로 돌려보자!&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;236&quot; data-start=&quot;233&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;260&quot; data-start=&quot;238&quot; data-ke-size=&quot;size23&quot;&gt;  왜 시뮬레이션이 중요한가요?&lt;/h3&gt;
&lt;p data-end=&quot;366&quot; data-start=&quot;262&quot; data-ke-size=&quot;size16&quot;&gt;FOC(Field-Oriented Control)는 수식과 벡터 기반 제어이기 때문에,&lt;br /&gt;&lt;b&gt;수치 해석 기반 시뮬레이션&lt;/b&gt;을 먼저 해보는 것이 실제 구현보다 훨씬 안전하고 효율적입니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;이점설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;565&quot; data-start=&quot;368&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;565&quot; data-start=&quot;396&quot;&gt;
&lt;tr data-end=&quot;439&quot; data-start=&quot;396&quot;&gt;
&lt;td data-end=&quot;412&quot; data-start=&quot;396&quot;&gt;  하드웨어 리스크 &amp;darr;&lt;/td&gt;
&lt;td data-end=&quot;439&quot; data-start=&quot;412&quot;&gt;과전류&amp;middot;불안정한 회전 없이 사전 확인 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;477&quot; data-start=&quot;440&quot;&gt;
&lt;td data-end=&quot;453&quot; data-start=&quot;440&quot;&gt;  파라미터 튜닝&lt;/td&gt;
&lt;td data-end=&quot;477&quot; data-start=&quot;453&quot;&gt;PID, MTPA, 속도 응답성 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;522&quot; data-start=&quot;478&quot;&gt;
&lt;td data-end=&quot;495&quot; data-start=&quot;478&quot;&gt;  내부 전류&amp;middot;자속 분석&lt;/td&gt;
&lt;td data-end=&quot;522&quot; data-start=&quot;495&quot;&gt;실시간 전류 벡터, 토크, 회전속도 가시화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;565&quot; data-start=&quot;523&quot;&gt;
&lt;td data-end=&quot;540&quot; data-start=&quot;523&quot;&gt;  센서리스 실험도 가능&lt;/td&gt;
&lt;td data-end=&quot;565&quot; data-start=&quot;540&quot;&gt;추정된 위치 vs 실제 위치 비교 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;570&quot; data-start=&quot;567&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;598&quot; data-start=&quot;572&quot; data-ke-size=&quot;size23&quot;&gt;  시뮬레이션 구성 요소 (기본 블록)&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;블록기능
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;931&quot; data-start=&quot;600&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;931&quot; data-start=&quot;628&quot;&gt;
&lt;tr data-end=&quot;682&quot; data-start=&quot;628&quot;&gt;
&lt;td data-end=&quot;659&quot; data-start=&quot;628&quot;&gt;&lt;b&gt;Motor Model (PMSM/IPMSM)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;682&quot; data-start=&quot;659&quot;&gt;모터의 전기적, 기계적 특성 모델링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;722&quot; data-start=&quot;683&quot;&gt;
&lt;td data-end=&quot;713&quot; data-start=&quot;683&quot;&gt;&lt;b&gt;Clarke / Park Transform&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;722&quot; data-start=&quot;713&quot;&gt;전류 변환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;786&quot; data-start=&quot;723&quot;&gt;
&lt;td data-end=&quot;774&quot; data-start=&quot;723&quot;&gt;&lt;b&gt;PI Controller (i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;, i&amp;lt;sub&amp;gt;q&amp;lt;/sub&amp;gt;)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;786&quot; data-start=&quot;774&quot;&gt;전류 오차 보정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;822&quot; data-start=&quot;787&quot;&gt;
&lt;td data-end=&quot;809&quot; data-start=&quot;787&quot;&gt;&lt;b&gt;SVPWM Generator&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;822&quot; data-start=&quot;809&quot;&gt;인버터 전압 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;876&quot; data-start=&quot;823&quot;&gt;
&lt;td data-end=&quot;855&quot; data-start=&quot;823&quot;&gt;&lt;b&gt;Inverter (3상 Full Bridge)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;876&quot; data-start=&quot;855&quot;&gt;실제 PWM을 모터 모델에 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;931&quot; data-start=&quot;877&quot;&gt;
&lt;td data-end=&quot;908&quot; data-start=&quot;877&quot;&gt;&lt;b&gt;Speed Controller (외부 루프)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;931&quot; data-start=&quot;908&quot;&gt;목표 속도 설정 시 추가 구성 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;936&quot; data-start=&quot;933&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;958&quot; data-start=&quot;938&quot; data-ke-size=&quot;size23&quot;&gt;⚡ 시뮬레이션 흐름 다이어그램&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;451&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2tgFu/btsNjjLvfsy/ESlaDdH7kPkvoKTkskkSw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2tgFu/btsNjjLvfsy/ESlaDdH7kPkvoKTkskkSw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2tgFu/btsNjjLvfsy/ESlaDdH7kPkvoKTkskkSw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2tgFu%2FbtsNjjLvfsy%2FESlaDdH7kPkvoKTkskkSw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;612&quot; height=&quot;451&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;451&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-end=&quot;1283&quot; data-start=&quot;1193&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1283&quot; data-start=&quot;1195&quot; data-ke-size=&quot;size16&quot;&gt;  시뮬레이션에서는 &lt;b&gt;theta&lt;/b&gt;를 센서 값처럼 직접 넣거나,&lt;br /&gt;**센서리스 추정 알고리즘(예: BEMF Observer)**도 연결해 볼 수 있음&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;1288&quot; data-start=&quot;1285&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1319&quot; data-start=&quot;1290&quot; data-ke-size=&quot;size23&quot;&gt;  주요 수식 복습 (시뮬레이션 구현 기반)&lt;/h3&gt;
&lt;h4 data-end=&quot;1334&quot; data-start=&quot;1321&quot; data-ke-size=&quot;size20&quot;&gt;1. 전류 변환&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blm4vd/btsNi5s94vu/VD5O6gkbjf2zZm8Wp5HgP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blm4vd/btsNi5s94vu/VD5O6gkbjf2zZm8Wp5HgP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blm4vd/btsNi5s94vu/VD5O6gkbjf2zZm8Wp5HgP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fblm4vd%2FbtsNi5s94vu%2FVD5O6gkbjf2zZm8Wp5HgP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;676&quot; height=&quot;318&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;318&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;1727&quot; data-start=&quot;1724&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1745&quot; data-start=&quot;1729&quot; data-ke-size=&quot;size23&quot;&gt;  관찰해야 할 신호&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1883&quot; data-start=&quot;1747&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1883&quot; data-start=&quot;1857&quot;&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;212&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7X9dh/btsNjAGdTTJ/7udF7a8bmND46ay8TVZNF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7X9dh/btsNjAGdTTJ/7udF7a8bmND46ay8TVZNF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7X9dh/btsNjAGdTTJ/7udF7a8bmND46ay8TVZNF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7X9dh%2FbtsNjAGdTTJ%2F7udF7a8bmND46ay8TVZNF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;212&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;212&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;1888&quot; data-start=&quot;1885&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1928&quot; data-start=&quot;1890&quot; data-ke-size=&quot;size23&quot;&gt;  예제: MATLAB/Simulink PMSM FOC 모델&lt;/h3&gt;
&lt;p data-end=&quot;1963&quot; data-start=&quot;1930&quot; data-ke-size=&quot;size16&quot;&gt;MATLAB에서는 기본적으로 아래와 같은 툴셋을 제공합니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2065&quot; data-start=&quot;1965&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2013&quot; data-start=&quot;1965&quot;&gt;motor_control/Field-Oriented Control of PMSM&lt;/li&gt;
&lt;li data-end=&quot;2065&quot; data-start=&quot;2014&quot;&gt;Simscape Electrical &amp;rarr; Inverter + PMSM + Control&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-end=&quot;2132&quot; data-start=&quot;2067&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;2132&quot; data-start=&quot;2069&quot; data-ke-size=&quot;size16&quot;&gt;예제 경로:&lt;br /&gt;&amp;gt;&amp;gt; power_PMSMdrive 또는 &amp;gt;&amp;gt; mcb_pmsm_foc_sensorless&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;2137&quot; data-start=&quot;2134&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2150&quot; data-start=&quot;2139&quot; data-ke-size=&quot;size23&quot;&gt;  실전 팁&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;항목팁
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2362&quot; data-start=&quot;2152&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2362&quot; data-start=&quot;2177&quot;&gt;
&lt;tr data-end=&quot;2223&quot; data-start=&quot;2177&quot;&gt;
&lt;td data-end=&quot;2185&quot; data-start=&quot;2177&quot;&gt;모델 정합&lt;/td&gt;
&lt;td data-end=&quot;2223&quot; data-start=&quot;2185&quot;&gt;실제 모터 파라미터(Ld, Lq, Rs, J 등) 정확히 입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2268&quot; data-start=&quot;2224&quot;&gt;
&lt;td data-end=&quot;2232&quot; data-start=&quot;2224&quot;&gt;시간 단위&lt;/td&gt;
&lt;td data-end=&quot;2268&quot; data-start=&quot;2232&quot;&gt;Solver를 Fixed-step 10&amp;micro;s 정도로 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2308&quot; data-start=&quot;2269&quot;&gt;
&lt;td data-end=&quot;2275&quot; data-start=&quot;2269&quot;&gt;시각화&lt;/td&gt;
&lt;td data-end=&quot;2308&quot; data-start=&quot;2275&quot;&gt;Scope, XY Plot으로 전류 벡터 추적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2362&quot; data-start=&quot;2309&quot;&gt;
&lt;td data-end=&quot;2319&quot; data-start=&quot;2309&quot;&gt;고속 시나리오&lt;/td&gt;
&lt;td data-end=&quot;2362&quot; data-start=&quot;2319&quot;&gt;Field Weakening 포함 모델 사용 시 고속 회전도 확인 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2367&quot; data-start=&quot;2364&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2381&quot; data-start=&quot;2369&quot; data-ke-size=&quot;size23&quot;&gt;✅ 마무리 요약&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;항목요약
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2565&quot; data-start=&quot;2383&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2565&quot; data-start=&quot;2411&quot;&gt;
&lt;tr data-end=&quot;2446&quot; data-start=&quot;2411&quot;&gt;
&lt;td data-end=&quot;2419&quot; data-start=&quot;2411&quot;&gt;  목적&lt;/td&gt;
&lt;td data-end=&quot;2446&quot; data-start=&quot;2419&quot;&gt;실제 구동 전에 FOC 성능, 안정성 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2484&quot; data-start=&quot;2447&quot;&gt;
&lt;td data-end=&quot;2455&quot; data-start=&quot;2447&quot;&gt;  구성&lt;/td&gt;
&lt;td data-end=&quot;2484&quot; data-start=&quot;2455&quot;&gt;변환 블록 + 제어기 + 인버터 + 모터 모델&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2523&quot; data-start=&quot;2485&quot;&gt;
&lt;td data-end=&quot;2493&quot; data-start=&quot;2485&quot;&gt;  출력&lt;/td&gt;
&lt;td data-end=&quot;2523&quot; data-start=&quot;2493&quot;&gt;전류, 토크, 속도, 위치 등 실시간 파형 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2565&quot; data-start=&quot;2524&quot;&gt;
&lt;td data-end=&quot;2532&quot; data-start=&quot;2524&quot;&gt;  확장&lt;/td&gt;
&lt;td data-end=&quot;2565&quot; data-start=&quot;2532&quot;&gt;센서리스, MTPA, FW(자속 약화)까지 확장 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2570&quot; data-start=&quot;2567&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-end=&quot;2656&quot; data-start=&quot;2572&quot; data-ke-size=&quot;size16&quot;&gt;다음 챕터에서는 &lt;b&gt;센서리스 추정 알고리즘을 시뮬레이션에 포함하는 방법을 진행할게요&lt;/b&gt;&lt;/p&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/9</guid>
      <comments>https://motorcontrol.tistory.com/9#entry9comment</comments>
      <pubDate>Sat, 12 Apr 2025 15:22:25 +0900</pubDate>
    </item>
    <item>
      <title>8. 센서리스 FOC 제어 &amp;ndash; 센서 없이 똑똑하게 모터를 돌리는 기술</title>
      <link>https://motorcontrol.tistory.com/8</link>
      <description>&lt;h2 data-end=&quot;193&quot; data-start=&quot;152&quot; data-ke-size=&quot;size26&quot;&gt;센서리스 FOC 제어 &amp;ndash; 센서 없이 똑똑하게 모터를 돌리는 기술&lt;/h2&gt;
&lt;blockquote data-end=&quot;266&quot; data-start=&quot;195&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;266&quot; data-start=&quot;197&quot; data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;센서 없이도 정확히 돌아간다고요?&amp;rdquo;&lt;br /&gt;&lt;b&gt;센서리스(Field-Oriented) 제어&lt;/b&gt;는 FOC의 진화를 상징합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;271&quot; data-start=&quot;268&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;293&quot; data-start=&quot;273&quot; data-ke-size=&quot;size23&quot;&gt;  왜 센서 없이 제어할까?&lt;/h3&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;295&quot; data-ke-size=&quot;size16&quot;&gt;FOC(Field-Oriented Control)는 정밀한 제어를 위해 &lt;b&gt;로터의 위치&lt;/b&gt;를 정확히 알아야 합니다.&lt;br /&gt;보통은 **홀 센서(Hall sensor)**나 **엔코더(Encoder)**를 이용해 회전자 각도 &lt;span&gt;&lt;span&gt;&amp;theta;\theta&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;theta;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;를 측정하죠.&lt;/p&gt;
&lt;p data-end=&quot;467&quot; data-start=&quot;439&quot; data-ke-size=&quot;size16&quot;&gt;하지만 센서를 없애면 다음과 같은 이점이 생깁니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;장점설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;653&quot; data-start=&quot;469&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;653&quot; data-start=&quot;497&quot;&gt;
&lt;tr data-end=&quot;527&quot; data-start=&quot;497&quot;&gt;
&lt;td data-end=&quot;508&quot; data-start=&quot;497&quot;&gt;  비용 절감&lt;/td&gt;
&lt;td data-end=&quot;527&quot; data-start=&quot;508&quot;&gt;센서 부품 제거로 원가 절감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;569&quot; data-start=&quot;528&quot;&gt;
&lt;td data-end=&quot;540&quot; data-start=&quot;528&quot;&gt;  구조 단순화&lt;/td&gt;
&lt;td data-end=&quot;569&quot; data-start=&quot;540&quot;&gt;배선, 마운트 없이 더 작고 가볍게 설계 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;607&quot; data-start=&quot;570&quot;&gt;
&lt;td data-end=&quot;582&quot; data-start=&quot;570&quot;&gt;⚙️ 내구성 향상&lt;/td&gt;
&lt;td data-end=&quot;607&quot; data-start=&quot;582&quot;&gt;센서 고장 가능성 제거, 유지보수 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;653&quot; data-start=&quot;608&quot;&gt;
&lt;td data-end=&quot;623&quot; data-start=&quot;608&quot;&gt; ️ 고온 환경 대응&lt;/td&gt;
&lt;td data-end=&quot;653&quot; data-start=&quot;623&quot;&gt;센서 없이 극한 환경에서도 안정적으로 구동 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;658&quot; data-start=&quot;655&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;695&quot; data-start=&quot;660&quot; data-ke-size=&quot;size23&quot;&gt;  센서리스 FOC의 핵심 &amp;ndash; 전류로 위치를 추정하라!&lt;/h3&gt;
&lt;p data-end=&quot;726&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;센서가 없다면, 로터 위치는 어떻게 알 수 있을까요?&lt;/p&gt;
&lt;p data-end=&quot;766&quot; data-start=&quot;728&quot; data-ke-size=&quot;size16&quot;&gt;답은 &lt;b&gt;전류와 전압의 반응(역기전력, BEMF)&lt;/b&gt; 속에 있습니다.&lt;/p&gt;
&lt;hr data-end=&quot;771&quot; data-start=&quot;768&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;790&quot; data-start=&quot;773&quot; data-ke-size=&quot;size23&quot;&gt;  센서리스 원리 요약&lt;/h3&gt;
&lt;p data-end=&quot;819&quot; data-start=&quot;792&quot; data-ke-size=&quot;size16&quot;&gt;센서리스 FOC는 다음과 같은 원리로 동작합니다:&lt;/p&gt;
&lt;h4 data-end=&quot;846&quot; data-start=&quot;821&quot; data-ke-size=&quot;size20&quot;&gt;✅ 1. &lt;b&gt;정지/저속 구간&lt;/b&gt;:&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;937&quot; data-start=&quot;847&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;891&quot; data-start=&quot;847&quot;&gt;이 구간에서는 역기전력(BEMF)이 너무 작아 직접 측정이 어렵기 때문에&lt;/li&gt;
&lt;li data-end=&quot;937&quot; data-start=&quot;892&quot;&gt;&lt;b&gt;모델 기반 추정(예: 슬라이딩 모드 옵저버, EKF)&lt;/b&gt; 등을 이용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;964&quot; data-start=&quot;939&quot; data-ke-size=&quot;size20&quot;&gt;✅ 2. &lt;b&gt;중속~고속 구간&lt;/b&gt;:&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1019&quot; data-start=&quot;965&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1019&quot; data-start=&quot;965&quot;&gt;모터가 회전하면, 코일에서 자연스럽게 생성되는 역기전력(BEMF)을 이용해 위치를 추정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1024&quot; data-start=&quot;1021&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1048&quot; data-start=&quot;1026&quot; data-ke-size=&quot;size23&quot;&gt;⚡ BEMF 기반 위치 추정 수식&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bV2wXr/btsNht8GfnX/ZU6ChUJIh635sys7BBy5M1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bV2wXr/btsNht8GfnX/ZU6ChUJIh635sys7BBy5M1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bV2wXr/btsNht8GfnX/ZU6ChUJIh635sys7BBy5M1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbV2wXr%2FbtsNht8GfnX%2FZU6ChUJIh635sys7BBy5M1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;641&quot; height=&quot;318&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;318&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;1395&quot; data-start=&quot;1392&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1416&quot; data-start=&quot;1397&quot; data-ke-size=&quot;size23&quot;&gt;  대표적인 센서리스 기법&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;기법설명장점단점
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1694&quot; data-start=&quot;1418&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1694&quot; data-start=&quot;1470&quot;&gt;
&lt;tr data-end=&quot;1518&quot; data-start=&quot;1470&quot;&gt;
&lt;td data-end=&quot;1484&quot; data-start=&quot;1470&quot;&gt;&lt;b&gt;BEMF 제어&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1500&quot; data-start=&quot;1484&quot;&gt;중속 이상에서 주로 사용&lt;/td&gt;
&lt;td data-end=&quot;1508&quot; data-start=&quot;1500&quot;&gt;구조 단순&lt;/td&gt;
&lt;td data-end=&quot;1518&quot; data-start=&quot;1508&quot;&gt;저속에 약함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1582&quot; data-start=&quot;1519&quot;&gt;
&lt;td data-end=&quot;1542&quot; data-start=&quot;1519&quot;&gt;&lt;b&gt;슬라이딩 모드 옵저버(SMO)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1560&quot; data-start=&quot;1542&quot;&gt;비선형 제어 기반 위치 추정&lt;/td&gt;
&lt;td data-end=&quot;1571&quot; data-start=&quot;1560&quot;&gt;저속 대응 가능&lt;/td&gt;
&lt;td data-end=&quot;1582&quot; data-start=&quot;1571&quot;&gt;노이즈에 민감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1650&quot; data-start=&quot;1583&quot;&gt;
&lt;td data-end=&quot;1618&quot; data-start=&quot;1583&quot;&gt;&lt;b&gt;Extended Kalman Filter (EKF)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1629&quot; data-start=&quot;1618&quot;&gt;확장 칼만 필터&lt;/td&gt;
&lt;td data-end=&quot;1638&quot; data-start=&quot;1629&quot;&gt;정확도 높음&lt;/td&gt;
&lt;td data-end=&quot;1650&quot; data-start=&quot;1638&quot;&gt;연산 복잡도 큼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1694&quot; data-start=&quot;1651&quot;&gt;
&lt;td data-end=&quot;1662&quot; data-start=&quot;1651&quot;&gt;&lt;b&gt;MRAS&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1673&quot; data-start=&quot;1662&quot;&gt;모델 참조 기반&lt;/td&gt;
&lt;td data-end=&quot;1682&quot; data-start=&quot;1673&quot;&gt;적응성 있음&lt;/td&gt;
&lt;td data-end=&quot;1694&quot; data-start=&quot;1682&quot;&gt;설계 난이도 &amp;uarr;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1699&quot; data-start=&quot;1696&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1719&quot; data-start=&quot;1701&quot; data-ke-size=&quot;size23&quot;&gt;  실제 적용 흐름 예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;void&amp;nbsp;SensorlessFOC_Loop()&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;전류&amp;nbsp;및&amp;nbsp;전압&amp;nbsp;측정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;ia,&amp;nbsp;ib,&amp;nbsp;va,&amp;nbsp;vb&amp;nbsp;=&amp;nbsp;Measure_PhaseSignals(); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;역기전력&amp;nbsp;계산&amp;nbsp;및&amp;nbsp;필터링 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;e_alpha,&amp;nbsp;e_beta&amp;nbsp;=&amp;nbsp;Estimate_BEMF(ia,&amp;nbsp;ib,&amp;nbsp;va,&amp;nbsp;vb); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;위치각&amp;nbsp;추정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;theta&amp;nbsp;=&amp;nbsp;atan2f(e_beta,&amp;nbsp;e_alpha); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;FOC&amp;nbsp;적용&amp;nbsp;(Park/Clarke&amp;nbsp;변환&amp;nbsp;&amp;rarr;&amp;nbsp;PID&amp;nbsp;&amp;rarr;&amp;nbsp;SVPWM) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Apply_FOC(theta,&amp;nbsp;ia,&amp;nbsp;ib); &lt;br /&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2048&quot; data-start=&quot;2045&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2070&quot; data-start=&quot;2050&quot; data-ke-size=&quot;size23&quot;&gt;  센서리스 한계와 고려사항&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2169&quot; data-start=&quot;2072&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2105&quot; data-start=&quot;2072&quot;&gt;&lt;b&gt;정지 또는 극저속에서는 정확한 위치 추정이 어려움&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;2144&quot; data-start=&quot;2106&quot;&gt;&lt;b&gt;정확도는 필터 설계, 노이즈 환경, 전류 센싱 품질에 좌우&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;2169&quot; data-start=&quot;2145&quot;&gt;&lt;b&gt;회로 및 펌웨어 설계 경험이 중요&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2210&quot; data-start=&quot;2171&quot; data-ke-size=&quot;size16&quot;&gt;그래서 일부 시스템에서는 다음처럼 &lt;b&gt;혼합 제어 방식&lt;/b&gt;도 사용됩니다:&lt;/p&gt;
&lt;blockquote data-end=&quot;2262&quot; data-start=&quot;2212&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;2262&quot; data-start=&quot;2214&quot; data-ke-size=&quot;size16&quot;&gt;정지&lt;s&gt;저속: 센서 기반 제어&lt;br /&gt;중속&lt;/s&gt;고속: 센서리스로 전환 (Hybrid FOC)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;2267&quot; data-start=&quot;2264&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2279&quot; data-start=&quot;2269&quot; data-ke-size=&quot;size23&quot;&gt;✅ 정리하면&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;항목내용
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2453&quot; data-start=&quot;2281&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2453&quot; data-start=&quot;2309&quot;&gt;
&lt;tr data-end=&quot;2339&quot; data-start=&quot;2309&quot;&gt;
&lt;td data-end=&quot;2317&quot; data-start=&quot;2309&quot;&gt;  개념&lt;/td&gt;
&lt;td data-end=&quot;2339&quot; data-start=&quot;2317&quot;&gt;로터 위치 센서 없이 FOC 수행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2373&quot; data-start=&quot;2340&quot;&gt;
&lt;td data-end=&quot;2348&quot; data-start=&quot;2340&quot;&gt;  원리&lt;/td&gt;
&lt;td data-end=&quot;2373&quot; data-start=&quot;2348&quot;&gt;전류&amp;middot;전압 &amp;rarr; 역기전력 &amp;rarr; 위치각 추정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2408&quot; data-start=&quot;2374&quot;&gt;
&lt;td data-end=&quot;2382&quot; data-start=&quot;2374&quot;&gt;  활용&lt;/td&gt;
&lt;td data-end=&quot;2408&quot; data-start=&quot;2382&quot;&gt;드론, 가전, EV, 펌프, 산업기기 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2453&quot; data-start=&quot;2409&quot;&gt;
&lt;td data-end=&quot;2419&quot; data-start=&quot;2409&quot;&gt;  고려사항&lt;/td&gt;
&lt;td data-end=&quot;2453&quot; data-start=&quot;2419&quot;&gt;정확한 전류 측정, 고속 MCU, 필터 설계 역량 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2458&quot; data-start=&quot;2455&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-end=&quot;2566&quot; data-start=&quot;2460&quot; data-ke-size=&quot;size16&quot;&gt;센서리스 FOC는 하드웨어 비용을 줄이면서도 고성능 제어를 가능하게 만드는 기술입니다.&lt;br /&gt;특히 소형 드론, 저비용 EV, 내구성이 중요한 산업 모터 제어에서 점점 더 많이 사용되고 있어요.&lt;/p&gt;
&lt;p data-end=&quot;2693&quot; data-start=&quot;2568&quot; data-ke-size=&quot;size16&quot;&gt;다음 편에서는 &lt;b&gt;센서리스 알고리즘별 비교와 실제 적용 예시&lt;/b&gt;, 또는 &lt;b&gt;센서리스 FOC 시뮬레이션&lt;/b&gt; 진행해볼게요&lt;/p&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/8</guid>
      <comments>https://motorcontrol.tistory.com/8#entry8comment</comments>
      <pubDate>Sat, 12 Apr 2025 15:19:23 +0900</pubDate>
    </item>
    <item>
      <title>7.IPM vs SPM 모터 구조 및 제어 방식 비교</title>
      <link>https://motorcontrol.tistory.com/7</link>
      <description>&lt;h3 data-end=&quot;304&quot; data-start=&quot;279&quot; data-ke-size=&quot;size23&quot;&gt;1. SPM과 IPM의 구조 차이&lt;/h3&gt;
&lt;h4 data-end=&quot;343&quot; data-start=&quot;306&quot; data-ke-size=&quot;size20&quot;&gt;✅ SPM (Surface Permanent Magnet)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;455&quot; data-start=&quot;345&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;389&quot; data-start=&quot;345&quot;&gt;자석이 회전자(Rotor)의 **표면(Surface)**에 부착되어 있음&lt;/li&gt;
&lt;li data-end=&quot;423&quot; data-start=&quot;390&quot;&gt;&lt;b&gt;공극 자속 분포가 균일&lt;/b&gt;하여 단순하고 예측 가능&lt;/li&gt;
&lt;li data-end=&quot;455&quot; data-start=&quot;424&quot;&gt;자속 경로가 짧고 자속 밀도가 낮음 &amp;rarr; 토크도 제한적&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;495&quot; data-start=&quot;457&quot; data-ke-size=&quot;size20&quot;&gt;✅ IPM (Interior Permanent Magnet)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;650&quot; data-start=&quot;497&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;534&quot; data-start=&quot;497&quot;&gt;자석이 회전자 **내부(Interior)**에 매립되어 있음&lt;/li&gt;
&lt;li data-end=&quot;577&quot; data-start=&quot;535&quot;&gt;회전자 형태에 따라 &lt;b&gt;자기저항(Reluctance)&lt;/b&gt; 차이가 발생&lt;/li&gt;
&lt;li data-end=&quot;610&quot; data-start=&quot;578&quot;&gt;&lt;b&gt;자속+자기저항 토크를 동시에 생성&lt;/b&gt;할 수 있음&lt;/li&gt;
&lt;li data-end=&quot;650&quot; data-start=&quot;611&quot;&gt;고속 회전 시 자속 약화(Field Weakening) 제어에 유리&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;655&quot; data-start=&quot;652&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;686&quot; data-start=&quot;657&quot; data-ke-size=&quot;size23&quot;&gt;  2. 토크 발생 원리 비교 (핵심 차이)&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNGcSF/btsM9yXh1Ys/Yjvqh4uGBbEBlkHfJZ1EM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNGcSF/btsM9yXh1Ys/Yjvqh4uGBbEBlkHfJZ1EM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNGcSF/btsM9yXh1Ys/Yjvqh4uGBbEBlkHfJZ1EM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNGcSF%2FbtsM9yXh1Ys%2FYjvqh4uGBbEBlkHfJZ1EM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;454&quot; height=&quot;265&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;916&quot; data-start=&quot;913&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-end=&quot;955&quot; data-start=&quot;918&quot; data-ke-size=&quot;size20&quot;&gt;✅ IPM: &lt;b&gt;자속 토크 + 자기저항 토크&lt;/b&gt; 동시 발생&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;327&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AnbMP/btsNa2WEkqD/mwkO8LPC5dcVj2e9lzwqV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AnbMP/btsNa2WEkqD/mwkO8LPC5dcVj2e9lzwqV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AnbMP/btsNa2WEkqD/mwkO8LPC5dcVj2e9lzwqV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAnbMP%2FbtsNa2WEkqD%2FmwkO8LPC5dcVj2e9lzwqV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;327&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;327&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;1290&quot; data-start=&quot;1287&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1310&quot; data-start=&quot;1292&quot; data-ke-size=&quot;size23&quot;&gt;⚙️ 3. 제어 전략 요약&lt;/h3&gt;
&lt;div&gt;항목SPMIPM
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1546&quot; data-start=&quot;1312&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1546&quot; data-start=&quot;1352&quot;&gt;
&lt;tr data-end=&quot;1371&quot; data-start=&quot;1352&quot;&gt;
&lt;td&gt;자석 위치&lt;/td&gt;
&lt;td&gt;표면&lt;/td&gt;
&lt;td&gt;내부&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1404&quot; data-start=&quot;1372&quot;&gt;
&lt;td&gt;주요 토크&lt;/td&gt;
&lt;td&gt;자속 토크&lt;/td&gt;
&lt;td&gt;자속 + 자기저항 토크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1447&quot; data-start=&quot;1405&quot;&gt;
&lt;td&gt;i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;&lt;/td&gt;
&lt;td&gt;항상 0&lt;/td&gt;
&lt;td&gt;최적 값 사용 (보통 음수)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1477&quot; data-start=&quot;1448&quot;&gt;
&lt;td&gt;제어 복잡도&lt;/td&gt;
&lt;td&gt;단순&lt;/td&gt;
&lt;td&gt;복잡 (최적화 필요)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1505&quot; data-start=&quot;1478&quot;&gt;
&lt;td&gt;고속 대응&lt;/td&gt;
&lt;td&gt;어려움&lt;/td&gt;
&lt;td&gt;자속 약화로 유리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1546&quot; data-start=&quot;1506&quot;&gt;
&lt;td&gt;응용 분야&lt;/td&gt;
&lt;td&gt;팬, 펌프, EV 저속&lt;/td&gt;
&lt;td&gt;EV 고속, 산업 고정밀&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1551&quot; data-start=&quot;1548&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1576&quot; data-start=&quot;1553&quot; data-ke-size=&quot;size23&quot;&gt;  벡터 다이어그램으로 보는 차이&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;525&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qIygE/btsNa386VYY/2b5jjYKALYYyRTjdKkmBe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qIygE/btsNa386VYY/2b5jjYKALYYyRTjdKkmBe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qIygE/btsNa386VYY/2b5jjYKALYYyRTjdKkmBe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqIygE%2FbtsNa386VYY%2F2b5jjYKALYYyRTjdKkmBe0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;567&quot; height=&quot;525&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;525&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-end=&quot;1609&quot; data-start=&quot;1578&quot; data-ke-size=&quot;size20&quot;&gt;SPM 제어 (i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; = 0)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1656&quot; data-start=&quot;1611&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1641&quot; data-start=&quot;1611&quot;&gt;i&amp;lt;sub&amp;gt;q&amp;lt;/sub&amp;gt;만 존재 &amp;rarr; 단일 토크 제어&lt;/li&gt;
&lt;li data-end=&quot;1656&quot; data-start=&quot;1642&quot;&gt;전류 벡터는 q축 방향&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1708&quot; data-start=&quot;1658&quot; data-ke-size=&quot;size20&quot;&gt;IPM 제어 (i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; &amp;lt; 0, i&amp;lt;sub&amp;gt;q&amp;lt;/sub&amp;gt; &amp;gt; 0)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1790&quot; data-start=&quot;1710&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1756&quot; data-start=&quot;1710&quot;&gt;i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;, i&amp;lt;sub&amp;gt;q&amp;lt;/sub&amp;gt; 조합 &amp;rarr; 최적 토크 + 효율&lt;/li&gt;
&lt;li data-end=&quot;1790&quot; data-start=&quot;1757&quot;&gt;전류 벡터는 q축보다 앞쪽 (자속 약화 시 더 기울어짐)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1843&quot; data-start=&quot;1840&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1878&quot; data-start=&quot;1845&quot; data-ke-size=&quot;size23&quot;&gt;  최적 i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; 계산 (IPM용)&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;197&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1QVPj/btsM9WXJ8ea/Ijmk7zQYQCLyKFfCC2BFak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1QVPj/btsM9WXJ8ea/Ijmk7zQYQCLyKFfCC2BFak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1QVPj/btsM9WXJ8ea/Ijmk7zQYQCLyKFfCC2BFak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1QVPj%2FbtsM9WXJ8ea%2FIjmk7zQYQCLyKFfCC2BFak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;197&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;197&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;2053&quot; data-start=&quot;2050&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2068&quot; data-start=&quot;2055&quot; data-ke-size=&quot;size23&quot;&gt;  마무리 요약&lt;/h3&gt;
&lt;div&gt;포인트SPMIPM
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2279&quot; data-start=&quot;2070&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2279&quot; data-start=&quot;2113&quot;&gt;
&lt;tr data-end=&quot;2135&quot; data-start=&quot;2113&quot;&gt;
&lt;td&gt;구조&lt;/td&gt;
&lt;td&gt;단순&lt;/td&gt;
&lt;td&gt;복잡 (매립형)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2169&quot; data-start=&quot;2136&quot;&gt;
&lt;td&gt;토크 구성&lt;/td&gt;
&lt;td&gt;자속 토크만&lt;/td&gt;
&lt;td&gt;자속 + 자기저항 토크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2189&quot; data-start=&quot;2170&quot;&gt;
&lt;td&gt;제어 난이도&lt;/td&gt;
&lt;td&gt;중&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2218&quot; data-start=&quot;2190&quot;&gt;
&lt;td&gt;고속 대응력&lt;/td&gt;
&lt;td&gt;약함&lt;/td&gt;
&lt;td&gt;강함 (자속 약화)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2279&quot; data-start=&quot;2219&quot;&gt;
&lt;td&gt;제어 전략&lt;/td&gt;
&lt;td&gt;i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; = 0&lt;/td&gt;
&lt;td&gt;i&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; &amp;lt; 0 (최적 제어 필요)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2284&quot; data-start=&quot;2281&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-end=&quot;2357&quot; data-start=&quot;2286&quot; data-ke-size=&quot;size16&quot;&gt;다음 편에서는 &lt;b&gt;FOC 기반에서 IPM과 SPM을 어떻게 다르게 적용하는지&lt;/b&gt;, 실전 제어 코드와 함께 더 자세히 살펴볼게요!&lt;/p&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/7</guid>
      <comments>https://motorcontrol.tistory.com/7#entry7comment</comments>
      <pubDate>Sat, 5 Apr 2025 11:31:10 +0900</pubDate>
    </item>
    <item>
      <title>6. FOC (Field-Oriented Control) &amp;ndash; 고성능 BLDC 제어의 핵심</title>
      <link>https://motorcontrol.tistory.com/6</link>
      <description>&lt;h2 data-end=&quot;206&quot; data-start=&quot;150&quot; data-ke-size=&quot;size26&quot;&gt;6. FOC (Field-Oriented Control) &amp;ndash; 고성능 BLDC 제어의 핵심&lt;/h2&gt;
&lt;blockquote data-end=&quot;234&quot; data-start=&quot;207&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;234&quot; data-start=&quot;209&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모터를 전류 벡터로 제어하는 고급 기술&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;378&quot; data-start=&quot;236&quot; data-ke-size=&quot;size16&quot;&gt;BLDC나 PMSM 모터를 사용할 때 가장 강력한 제어 방식이 바로 **FOC(Field-Oriented Control)**입니다.&lt;br /&gt;이 제어 방식은 모터를 &lt;b&gt;전류의 방향과 크기를 분해해서 제어&lt;/b&gt;하는 기술로, 고속&amp;middot;고효율&amp;middot;고정밀을 실현할 수 있어요.&lt;/p&gt;
&lt;hr data-end=&quot;383&quot; data-start=&quot;380&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;405&quot; data-start=&quot;385&quot; data-ke-size=&quot;size23&quot;&gt;  왜 FOC가 필요한가요?&lt;/h3&gt;
&lt;p data-end=&quot;446&quot; data-start=&quot;407&quot; data-ke-size=&quot;size16&quot;&gt;일반적인 PWM 제어나 단순 속도 제어는 다음과 같은 문제를 가집니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;496&quot; data-start=&quot;448&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;465&quot; data-start=&quot;448&quot;&gt;고속 회전 시 진동 발생&lt;/li&gt;
&lt;li data-end=&quot;488&quot; data-start=&quot;466&quot;&gt;부하 변화에 대한 반응 속도 낮음&lt;/li&gt;
&lt;li data-end=&quot;496&quot; data-start=&quot;489&quot;&gt;효율 저하&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;570&quot; data-start=&quot;498&quot; data-ke-size=&quot;size16&quot;&gt;FOC는 이런 문제를 해결하기 위해 전류를 **벡터(Vector)**로 보고, 모터 내부의 자속 방향에 맞춰 정밀하게 제어합니다.&lt;/p&gt;
&lt;hr data-end=&quot;575&quot; data-start=&quot;572&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;609&quot; data-start=&quot;577&quot; data-ke-size=&quot;size23&quot;&gt;  전류를 분해해서 제어한다? (d-q 축 개념)&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;198&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2WsPB/btsNalJneBm/WcGxPE9gDom94Nwpzcyhb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2WsPB/btsNalJneBm/WcGxPE9gDom94Nwpzcyhb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2WsPB/btsNalJneBm/WcGxPE9gDom94Nwpzcyhb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2WsPB%2FbtsNalJneBm%2FWcGxPE9gDom94Nwpzcyhb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;588&quot; height=&quot;198&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;198&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;977&quot; data-start=&quot;927&quot; data-ke-size=&quot;size16&quot;&gt;즉, 자속을 위한 전류는 최소화하고, 토크를 만드는 전류만 정밀하게 제어하자는 전략입니다.&lt;/p&gt;
&lt;hr data-end=&quot;982&quot; data-start=&quot;979&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1006&quot; data-start=&quot;984&quot; data-ke-size=&quot;size23&quot;&gt;  수식으로 보는 FOC의 흐름&lt;/h3&gt;
&lt;p data-end=&quot;1040&quot; data-start=&quot;1008&quot; data-ke-size=&quot;size16&quot;&gt;FOC 전체 제어 흐름은 다음과 같은 연산으로 구성됩니다:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;494&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6eSDi/btsM9IrLvfU/Xa90zXW0AzhPcQDMM1wQVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6eSDi/btsM9IrLvfU/Xa90zXW0AzhPcQDMM1wQVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6eSDi/btsM9IrLvfU/Xa90zXW0AzhPcQDMM1wQVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6eSDi%2FbtsM9IrLvfU%2FXa90zXW0AzhPcQDMM1wQVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;494&quot; height=&quot;350&quot; data-origin-width=&quot;494&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;1776&quot; data-start=&quot;1773&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1801&quot; data-start=&quot;1778&quot; data-ke-size=&quot;size23&quot;&gt; ️ FOC 제어 블록 다이어그램&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;[Current&amp;nbsp;Sensor] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;darr; &lt;br /&gt;[Clarke&amp;nbsp;Transform] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;darr; &lt;br /&gt;[Park&amp;nbsp;Transform]&amp;nbsp;&amp;larr;&amp;nbsp;&amp;theta;&amp;nbsp;(Rotor&amp;nbsp;angle) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;darr; &lt;br /&gt;[PI&amp;nbsp;Controller]&amp;nbsp;&amp;larr;&amp;nbsp;목표&amp;nbsp;i_d&amp;nbsp;=&amp;nbsp;0,&amp;nbsp;목표&amp;nbsp;i_q&amp;nbsp;=&amp;nbsp;Torque&amp;nbsp;Ref &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;darr; &lt;br /&gt;[Inv.&amp;nbsp;Park&amp;nbsp;Transform] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;darr; &lt;br /&gt;[SVPWM&amp;nbsp;/&amp;nbsp;Sine&amp;nbsp;PWM&amp;nbsp;Generation] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;darr; &lt;br /&gt;[Inverter&amp;nbsp;&amp;rarr;&amp;nbsp;Motor] &lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2081&quot; data-start=&quot;2078&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2105&quot; data-start=&quot;2083&quot; data-ke-size=&quot;size23&quot;&gt;  FOC를 위해 필요한 요소들&lt;/h3&gt;
&lt;div&gt;항목설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2310&quot; data-start=&quot;2107&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2310&quot; data-start=&quot;2135&quot;&gt;
&lt;tr data-end=&quot;2178&quot; data-start=&quot;2135&quot;&gt;
&lt;td&gt;&lt;b&gt;전류 센서&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;2~3상 전류 측정 필요 (shunt, Hall)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2225&quot; data-start=&quot;2179&quot;&gt;
&lt;td&gt;&lt;b&gt;로터 위치 정보&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;센서(Hall/Encoder) 또는 센서리스 추정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2268&quot; data-start=&quot;2226&quot;&gt;
&lt;td&gt;&lt;b&gt;고속 실시간 연산&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;MCU에서 5~20kHz 제어 루프 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2310&quot; data-start=&quot;2269&quot;&gt;
&lt;td&gt;&lt;b&gt;SVPWM/Sine PWM&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;출력 전압을 최대 효율로 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2315&quot; data-start=&quot;2312&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2344&quot; data-start=&quot;2317&quot; data-ke-size=&quot;size23&quot;&gt; &amp;zwj;  FOC 루프 간단 의사코드 예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;void&amp;nbsp;FOC_Loop()&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;1.&amp;nbsp;전류&amp;nbsp;측정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;ia,&amp;nbsp;ib,&amp;nbsp;ic&amp;nbsp;=&amp;nbsp;Measure_PhaseCurrent(); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;2.&amp;nbsp;Clarke&amp;nbsp;변환 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;ialpha,&amp;nbsp;ibeta&amp;nbsp;=&amp;nbsp;ClarkeTransform(ia,&amp;nbsp;ib,&amp;nbsp;ic); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;3.&amp;nbsp;위치각&amp;nbsp;&amp;theta;&amp;nbsp;획득 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;theta&amp;nbsp;=&amp;nbsp;GetRotorAngle(); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;4.&amp;nbsp;Park&amp;nbsp;변환 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;id,&amp;nbsp;iq&amp;nbsp;=&amp;nbsp;ParkTransform(ialpha,&amp;nbsp;ibeta,&amp;nbsp;theta); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;5.&amp;nbsp;PID&amp;nbsp;제어 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;vd&amp;nbsp;=&amp;nbsp;PID_id(id_ref&amp;nbsp;-&amp;nbsp;id); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;vq&amp;nbsp;=&amp;nbsp;PID_iq(iq_ref&amp;nbsp;-&amp;nbsp;iq); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;6.&amp;nbsp;역&amp;nbsp;변환&amp;nbsp;&amp;rarr;&amp;nbsp;SVPWM &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;valpha,&amp;nbsp;vbeta&amp;nbsp;=&amp;nbsp;InvParkTransform(vd,&amp;nbsp;vq,&amp;nbsp;theta); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SVPWM_Generate(valpha,&amp;nbsp;vbeta); &lt;br /&gt;} &lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2856&quot; data-start=&quot;2853&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2880&quot; data-start=&quot;2858&quot; data-ke-size=&quot;size23&quot;&gt;✅ 정리: FOC는 왜 중요한가?&lt;/h3&gt;
&lt;div&gt;항목설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;3070&quot; data-start=&quot;2882&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;3070&quot; data-start=&quot;2910&quot;&gt;
&lt;tr data-end=&quot;2945&quot; data-start=&quot;2910&quot;&gt;
&lt;td&gt;  목표&lt;/td&gt;
&lt;td&gt;자속과 토크 성분을 분리하여 정밀하게 제어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2984&quot; data-start=&quot;2946&quot;&gt;
&lt;td&gt;  특징&lt;/td&gt;
&lt;td&gt;효율 &amp;uarr;, 진동 &amp;darr;, 토크 반응 &amp;uarr;, 정숙성 &amp;uarr;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3025&quot; data-start=&quot;2985&quot;&gt;
&lt;td&gt;  활용&lt;/td&gt;
&lt;td&gt;전기차, 고성능 드론, 산업 로봇, 서보 시스템 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3070&quot; data-start=&quot;3026&quot;&gt;
&lt;td&gt;  필요 조건&lt;/td&gt;
&lt;td&gt;전류 센서 + 위치 정보 + 고속 연산 가능한 MCU&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;3075&quot; data-start=&quot;3072&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-end=&quot;3207&quot; data-start=&quot;3077&quot; data-ke-size=&quot;size16&quot;&gt;FOC는 단순한 제어가 아니라 &lt;b&gt;모터 내부를 수학적으로 &quot;해석하고 제어&quot;하는 방식&lt;/b&gt;입니다.&lt;br /&gt;고성능 모터 제어에는 거의 필수적으로 적용되고 있으며, &lt;b&gt;센서리스 FOC&lt;/b&gt;와 &lt;b&gt;자동 튜닝&lt;/b&gt; 기능이 탑재된 상용 솔루션도 많아요.&lt;/p&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/6</guid>
      <comments>https://motorcontrol.tistory.com/6#entry6comment</comments>
      <pubDate>Sat, 5 Apr 2025 11:06:48 +0900</pubDate>
    </item>
    <item>
      <title>5.모터제어 소프트웨어 구성</title>
      <link>https://motorcontrol.tistory.com/5</link>
      <description>&lt;h2 data-end=&quot;184&quot; data-start=&quot;156&quot; data-ke-size=&quot;size26&quot;&gt;5. 모터 제어 소프트웨어 코드 구성&lt;/h2&gt;
&lt;blockquote data-end=&quot;223&quot; data-start=&quot;185&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;223&quot; data-start=&quot;187&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;PWM부터 PID까지, 코드로 구현하는 모터 제어의 전과정&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;364&quot; data-start=&quot;225&quot; data-ke-size=&quot;size16&quot;&gt;모터 제어는 단순한 &amp;ldquo;ON/OFF&amp;rdquo; 신호를 넘어서, 여러 하드웨어와 소프트웨어 모듈이 유기적으로 동작해야 합니다.&lt;br /&gt;이번엔 실제로 **MCU(Microcontroller Unit)**에서 동작하는 모터 제어 코드를 어떻게 구성하는지 알아보겠습니다.&lt;/p&gt;
&lt;hr data-end=&quot;369&quot; data-start=&quot;366&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;400&quot; data-start=&quot;371&quot; data-ke-size=&quot;size23&quot;&gt;  1. 전체 흐름 요약 &amp;ndash; 제어 블록 구조&lt;/h3&gt;
&lt;p data-end=&quot;432&quot; data-start=&quot;402&quot; data-ke-size=&quot;size16&quot;&gt;모터 제어는 일반적으로 아래의 구조를 따라 구성됩니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;text&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span data-state=&quot;closed&quot;&gt;복사&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;[Sensor 입력] &amp;rarr; [Target 계산] &amp;rarr; [PID 제어] &amp;rarr; [PWM 출력] &amp;rarr; [Motor 동작] &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-end=&quot;522&quot; data-start=&quot;508&quot; data-ke-size=&quot;size20&quot;&gt;✅ 각 블록 설명&lt;/h4&gt;
&lt;div&gt;블록설명
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 110px;&quot; border=&quot;1&quot; data-end=&quot;779&quot; data-start=&quot;523&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;779&quot; data-start=&quot;551&quot;&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;605&quot; data-start=&quot;551&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;&lt;b&gt;Sensor 입력&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;위치/속도 센서(Hall, Encoder 등) 또는 전류 측정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;659&quot; data-start=&quot;606&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;&lt;b&gt;Target 계산&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;목표 속도, 위치, 토크 설정 (명령 입력 또는 내부 로직)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;703&quot; data-start=&quot;660&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;&lt;b&gt;PID 제어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;목표값과 현재값의 차이를 바탕으로 보정 값 계산&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;751&quot; data-start=&quot;704&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;&lt;b&gt;PWM 출력&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;보정 값을 PWM 신호로 변환하여 모터 드라이버에 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot; data-end=&quot;779&quot; data-start=&quot;752&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;&lt;b&gt;Motor 동작&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;실제 회전 발생&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;784&quot; data-start=&quot;781&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;817&quot; data-start=&quot;786&quot; data-ke-size=&quot;size23&quot;&gt;⚙️ 2. 기본 코드 구성 예시 (C 언어 기준)&lt;/h3&gt;
&lt;h4 data-end=&quot;835&quot; data-start=&quot;819&quot; data-ke-size=&quot;size20&quot;&gt;  주요 파일 구성&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;/MotorControl &lt;br /&gt;&amp;nbsp;┣&amp;nbsp;MotorControl.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;larr;&amp;nbsp;제어&amp;nbsp;메인&amp;nbsp;루틴 &lt;br /&gt;&amp;nbsp;┣&amp;nbsp;MotorControl.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;larr;&amp;nbsp;함수&amp;nbsp;선언&amp;nbsp;및&amp;nbsp;상수&amp;nbsp;정의 &lt;br /&gt;&amp;nbsp;┣&amp;nbsp;PWM_Driver.c/h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;larr;&amp;nbsp;PWM&amp;nbsp;초기화&amp;nbsp;및&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;┣&amp;nbsp;Sensor_Driver.c/h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;larr;&amp;nbsp;센서&amp;nbsp;읽기&amp;nbsp;(Hall,&amp;nbsp;ADC&amp;nbsp;등) &lt;br /&gt;&amp;nbsp;┣&amp;nbsp;PID_Controller.c/h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;larr;&amp;nbsp;PID&amp;nbsp;연산&amp;nbsp;처리&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1063&quot; data-start=&quot;1060&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1106&quot; data-start=&quot;1065&quot; data-ke-size=&quot;size23&quot;&gt;  3. 예제 코드 ① &amp;ndash; PWM 출력 초기화 (Timer 기반)&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;void&amp;nbsp;PWM_Init(void)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;예:&amp;nbsp;Timer&amp;nbsp;채널&amp;nbsp;설정,&amp;nbsp;주기&amp;nbsp;및&amp;nbsp;듀티&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TMR01&amp;nbsp;=&amp;nbsp;0x03FF;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;PWM&amp;nbsp;주기&amp;nbsp;설정&amp;nbsp;(예:&amp;nbsp;10kHz) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PWM01_DutyCycle(50);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;초기&amp;nbsp;듀티:&amp;nbsp;50% &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TMR_Start();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Timer&amp;nbsp;시작 &lt;br /&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1319&quot; data-start=&quot;1316&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1350&quot; data-start=&quot;1321&quot; data-ke-size=&quot;size23&quot;&gt;  4. 예제 코드 ② &amp;ndash; 센서 데이터 읽기&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;int&amp;nbsp;Get_RotorSpeed(void)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;hallA&amp;nbsp;=&amp;nbsp;Read_HallSensorA(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;hallB&amp;nbsp;=&amp;nbsp;Read_HallSensorB(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;speed&amp;nbsp;=&amp;nbsp;Hall_to_Speed(hallA,&amp;nbsp;hallB); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;speed; &lt;br /&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1529&quot; data-start=&quot;1526&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1560&quot; data-start=&quot;1531&quot; data-ke-size=&quot;size23&quot;&gt;  5. 예제 코드 ③ &amp;ndash; PID 제어 함수&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;float&amp;nbsp;PID_Compute(float&amp;nbsp;target,&amp;nbsp;float&amp;nbsp;current)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;static&amp;nbsp;float&amp;nbsp;integral&amp;nbsp;=&amp;nbsp;0.0f; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;static&amp;nbsp;float&amp;nbsp;previous_error&amp;nbsp;=&amp;nbsp;0.0f; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;error&amp;nbsp;=&amp;nbsp;target&amp;nbsp;-&amp;nbsp;current; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;integral&amp;nbsp;+=&amp;nbsp;error; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;derivative&amp;nbsp;=&amp;nbsp;error&amp;nbsp;-&amp;nbsp;previous_error; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;output&amp;nbsp;=&amp;nbsp;Kp&amp;nbsp;*&amp;nbsp;error&amp;nbsp;+&amp;nbsp;Ki&amp;nbsp;*&amp;nbsp;integral&amp;nbsp;+&amp;nbsp;Kd&amp;nbsp;*&amp;nbsp;derivative; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;previous_error&amp;nbsp;=&amp;nbsp;error; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;output; &lt;br /&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1921&quot; data-start=&quot;1918&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1966&quot; data-start=&quot;1923&quot; data-ke-size=&quot;size23&quot;&gt;  6. 예제 코드 ④ &amp;ndash; 주기 제어 루프 (Scheduler 사용)&lt;/h3&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-end=&quot;2253&quot; data-start=&quot;2171&quot; data-ke-size=&quot;size16&quot;&gt;void&amp;nbsp;MotorControl_Loop(void)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;actual_speed&amp;nbsp;=&amp;nbsp;Get_RotorSpeed(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float&amp;nbsp;control_output&amp;nbsp;=&amp;nbsp;PID_Compute(target_speed,&amp;nbsp;actual_speed); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PWM01_DutyCycle(control_output);&amp;nbsp;&amp;nbsp;//&amp;nbsp;0~100%&amp;nbsp;범위 &lt;br /&gt;}&lt;/p&gt;
&lt;hr data-end=&quot;2258&quot; data-start=&quot;2255&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2271&quot; data-start=&quot;2260&quot; data-ke-size=&quot;size23&quot;&gt;  실전 팁&lt;/h3&gt;
&lt;div&gt;항목팁
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2466&quot; data-start=&quot;2273&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2466&quot; data-start=&quot;2298&quot;&gt;
&lt;tr data-end=&quot;2339&quot; data-start=&quot;2298&quot;&gt;
&lt;td&gt;&lt;b&gt;PWM 분해능&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;최소 10bit 이상 권장 (0~1023)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2381&quot; data-start=&quot;2340&quot;&gt;
&lt;td&gt;&lt;b&gt;PID 튜닝&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Kp부터 조정하고, Ki/Kd는 천천히 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2429&quot; data-start=&quot;2382&quot;&gt;
&lt;td&gt;&lt;b&gt;센서 노이즈 제거&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;이동 평균 필터(Moving Average) 추천&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2466&quot; data-start=&quot;2430&quot;&gt;
&lt;td&gt;&lt;b&gt;보호 로직&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;과전류, 과속 방지 클램핑 코드 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2471&quot; data-start=&quot;2468&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2481&quot; data-start=&quot;2473&quot; data-ke-size=&quot;size23&quot;&gt;✅ 정리&lt;/h3&gt;
&lt;p data-end=&quot;2513&quot; data-start=&quot;2483&quot; data-ke-size=&quot;size16&quot;&gt;모터 제어 코드는 다음과 같은 단계를 통해 작성됩니다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;2674&quot; data-start=&quot;2515&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;2547&quot; data-start=&quot;2515&quot;&gt;&lt;b&gt;PWM 설정&lt;/b&gt; &amp;ndash; 전기 출력을 제어할 핵심 신호&lt;/li&gt;
&lt;li data-end=&quot;2580&quot; data-start=&quot;2548&quot;&gt;&lt;b&gt;센서 데이터 수집&lt;/b&gt; &amp;ndash; 현재 상태를 정확히 측정&lt;/li&gt;
&lt;li data-end=&quot;2608&quot; data-start=&quot;2581&quot;&gt;&lt;b&gt;PID 연산&lt;/b&gt; &amp;ndash; 목표와의 차이를 보정&lt;/li&gt;
&lt;li data-end=&quot;2639&quot; data-start=&quot;2609&quot;&gt;&lt;b&gt;제어 루프 실행&lt;/b&gt; &amp;ndash; 실시간 반복 주기 설정&lt;/li&gt;
&lt;li data-end=&quot;2674&quot; data-start=&quot;2640&quot;&gt;&lt;b&gt;안정성과 성능 확보&lt;/b&gt; &amp;ndash; 필터링 및 보호 로직 추가&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;2679&quot; data-start=&quot;2676&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-end=&quot;2781&quot; data-start=&quot;2681&quot; data-ke-size=&quot;size16&quot;&gt;다음 편에서는 이 코드들을 기반으로 한 &lt;b&gt;FOC(Field-Oriented Control)&lt;/b&gt; 흐름도 소개와 함께,&lt;br /&gt;센서리스 방식에서 어떻게 위치를 추정하는지도 설명드릴게요.&lt;/p&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/5</guid>
      <comments>https://motorcontrol.tistory.com/5#entry5comment</comments>
      <pubDate>Sat, 5 Apr 2025 10:58:52 +0900</pubDate>
    </item>
    <item>
      <title>4.모터제어방식</title>
      <link>https://motorcontrol.tistory.com/4</link>
      <description>&lt;h2 data-end=&quot;220&quot; data-start=&quot;182&quot; data-ke-size=&quot;size26&quot;&gt;4. 모터 제어 방식 &amp;ndash; 회전을 똑똑하게 제어하는 기술&lt;/h2&gt;
&lt;blockquote data-end=&quot;253&quot; data-start=&quot;221&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;253&quot; data-start=&quot;223&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;전기를 얼마나 똑똑하게 넣느냐가 성능을 결정한다&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;392&quot; data-start=&quot;255&quot; data-ke-size=&quot;size16&quot;&gt;모터는 단순히 전기를 연결한다고 해서 항상 잘 돌아가는 게 아니에요.&lt;br /&gt;**속도, 위치, 힘(토크)**을 우리가 원하는 대로 조절하려면 &lt;b&gt;제어 방식&lt;/b&gt;이 아주 중요합니다.&lt;br /&gt;이번엔 모터를 제어하는 여러 방식과 원리를 수식과 함께 알아볼게요!&lt;/p&gt;
&lt;hr data-end=&quot;397&quot; data-start=&quot;394&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;437&quot; data-start=&quot;399&quot; data-ke-size=&quot;size23&quot;&gt;  1. 오픈 루프 제어 (Open Loop Control)&lt;/h3&gt;
&lt;blockquote data-end=&quot;471&quot; data-start=&quot;439&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;471&quot; data-start=&quot;441&quot; data-ke-size=&quot;size16&quot;&gt;&quot;전기를 넣으면 돈다. 얼마나 돌지는 신경 안 쓴다.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;575&quot; data-start=&quot;473&quot; data-ke-size=&quot;size16&quot;&gt;오픈 루프 제어는 &lt;b&gt;입력만 조절하고, 출력(속도, 위치)은 측정하지 않는 방식&lt;/b&gt;이에요.&lt;br /&gt;대표적으로 스테퍼 모터에서 자주 사용되며, &lt;b&gt;예측 가능한 시스템&lt;/b&gt;에서만 효과적입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;628&quot; data-start=&quot;577&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;601&quot; data-start=&quot;577&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 구조 단순, 빠른 반응&lt;/li&gt;
&lt;li data-end=&quot;628&quot; data-start=&quot;602&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 외부 부하에 따라 출력이 바뀜&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;637&quot; data-start=&quot;630&quot; data-ke-size=&quot;size20&quot;&gt;예시&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;text&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span data-state=&quot;closed&quot;&gt;복사&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;모터 PWM = 50% &amp;rarr; 약 1000RPM 예상 (하지만 바람이 불거나 부하가 걸리면 실제는 900RPM이 될 수도) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;723&quot; data-start=&quot;720&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;766&quot; data-start=&quot;725&quot; data-ke-size=&quot;size23&quot;&gt;  2. 클로즈 루프 제어 (Closed Loop Control)&lt;/h3&gt;
&lt;blockquote data-end=&quot;804&quot; data-start=&quot;768&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;804&quot; data-start=&quot;770&quot; data-ke-size=&quot;size16&quot;&gt;&quot;지금 얼마만큼 돌고 있는지 확인하고, 그에 맞게 조절한다.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;905&quot; data-start=&quot;806&quot; data-ke-size=&quot;size16&quot;&gt;이 방식은 센서를 이용해 **현재 상태(속도, 위치, 전류 등)**를 실시간으로 측정하고, 목표값과 비교하여 오차를 줄입니다.&lt;br /&gt;&lt;b&gt;모든 고급 모터 제어의 핵심 원리&lt;/b&gt;입니다.&lt;/p&gt;
&lt;hr data-end=&quot;910&quot; data-start=&quot;907&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;935&quot; data-start=&quot;912&quot; data-ke-size=&quot;size23&quot;&gt;  3. PID 제어의 기본 원리&lt;/h3&gt;
&lt;p data-end=&quot;1010&quot; data-start=&quot;937&quot; data-ke-size=&quot;size16&quot;&gt;클로즈 루프의 대표적인 알고리즘은 &lt;b&gt;PID 제어기&lt;/b&gt;입니다.&lt;br /&gt;목표값과 현재값의 차이(=오차)를 계산해 출력 신호를 조절합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;587&quot; data-origin-height=&quot;216&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOVsp/btsNa7wOBkY/N3BMv6nWf8hg3LcRadhMNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOVsp/btsNa7wOBkY/N3BMv6nWf8hg3LcRadhMNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOVsp/btsNa7wOBkY/N3BMv6nWf8hg3LcRadhMNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOVsp%2FbtsNa7wOBkY%2FN3BMv6nWf8hg3LcRadhMNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;587&quot; height=&quot;216&quot; data-origin-width=&quot;587&quot; data-origin-height=&quot;216&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;1225&quot; data-start=&quot;1177&quot; data-ke-size=&quot;size16&quot;&gt;PID 제어기를 통해, 모터의 &lt;b&gt;속도, 위치, 토크&lt;/b&gt;를 정밀하게 제어할 수 있어요.&lt;/p&gt;
&lt;hr data-end=&quot;1230&quot; data-start=&quot;1227&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1272&quot; data-start=&quot;1232&quot; data-ke-size=&quot;size23&quot;&gt;⚡ 4. PWM 제어 (Pulse Width Modulation)&lt;/h3&gt;
&lt;blockquote data-end=&quot;1310&quot; data-start=&quot;1274&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1310&quot; data-start=&quot;1276&quot; data-ke-size=&quot;size16&quot;&gt;&quot;전압을 조절하지 않고, &lt;b&gt;켜짐 시간 비율&lt;/b&gt;을 조절한다!&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;1421&quot; data-start=&quot;1312&quot; data-ke-size=&quot;size16&quot;&gt;모터는 아날로그처럼 &lt;b&gt;전압을 부드럽게 조절할 수 없기 때문에&lt;/b&gt;, &lt;b&gt;PWM 방식&lt;/b&gt;을 사용합니다.&lt;br /&gt;쉽게 말해, &lt;b&gt;전기 스위치를 엄청 빠르게 ON/OFF 하며 평균 전압을 만들어냅니다.&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-end=&quot;1432&quot; data-start=&quot;1423&quot; data-ke-size=&quot;size20&quot;&gt;예시&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1501&quot; data-start=&quot;1433&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1458&quot; data-start=&quot;1433&quot;&gt;PWM 50% &amp;rarr; 전압의 절반처럼 동작&lt;/li&gt;
&lt;li data-end=&quot;1479&quot; data-start=&quot;1459&quot;&gt;PWM 90% &amp;rarr; 거의 풀파워&lt;/li&gt;
&lt;li data-end=&quot;1501&quot; data-start=&quot;1480&quot;&gt;PWM 10% &amp;rarr; 아주 천천히 회전&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1506&quot; data-start=&quot;1503&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1533&quot; data-start=&quot;1508&quot; data-ke-size=&quot;size23&quot;&gt; ️ 5. 센서드 vs 센서리스 제어&lt;/h3&gt;
&lt;h4 data-end=&quot;1556&quot; data-start=&quot;1535&quot; data-ke-size=&quot;size20&quot;&gt;  센서드(Sensored)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1649&quot; data-start=&quot;1557&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1617&quot; data-start=&quot;1557&quot;&gt;&lt;b&gt;Hall Sensor&lt;/b&gt; 또는 &lt;b&gt;Encoder&lt;/b&gt;를 이용해 &lt;b&gt;회전 위치나 속도&lt;/b&gt;를 직접 측정&lt;/li&gt;
&lt;li data-end=&quot;1649&quot; data-start=&quot;1618&quot;&gt;정확하고 안정적이나, 센서 비용 및 노이즈 이슈 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1675&quot; data-start=&quot;1651&quot; data-ke-size=&quot;size20&quot;&gt;  센서리스(Sensorless)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1748&quot; data-start=&quot;1676&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1714&quot; data-start=&quot;1676&quot;&gt;센서 없이 &lt;b&gt;전류/전압 신호를 분석&lt;/b&gt;하여 모터 위치를 추정&lt;/li&gt;
&lt;li data-end=&quot;1748&quot; data-start=&quot;1715&quot;&gt;비용 절감 가능, 소형/경량에 유리하지만 알고리즘이 복잡&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1761&quot; data-start=&quot;1750&quot; data-ke-size=&quot;size20&quot;&gt;그림 설명:&lt;/h4&gt;
&lt;blockquote data-end=&quot;1831&quot; data-start=&quot;1762&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1831&quot; data-start=&quot;1764&quot; data-ke-size=&quot;size16&quot;&gt;센서드: &quot;실시간으로 위치를 알려주는 GPS 느낌&quot;&lt;br /&gt;센서리스: &quot;나침반과 속도계로 대략 내 위치를 추정하는 느낌&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;1836&quot; data-start=&quot;1833&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1888&quot; data-start=&quot;1838&quot; data-ke-size=&quot;size23&quot;&gt;  6. FOC(Field-Oriented Control) &amp;ndash; 고급 BLDC 제어&lt;/h3&gt;
&lt;p data-end=&quot;1967&quot; data-start=&quot;1890&quot; data-ke-size=&quot;size16&quot;&gt;BLDC나 PMSM 모터에서 자주 쓰이는 제어기법입니다.&lt;br /&gt;모터의 회전 자계와 자속 방향을 맞춰 &lt;b&gt;최적의 효율과 성능을 확보&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;id=0,iq&amp;rarr;토크&amp;nbsp;제어i_d = 0, \quad i_q \rightarrow \text{토크 제어}&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;q&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;rarr;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;토크&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;제어&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2077&quot; data-start=&quot;2020&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2049&quot; data-start=&quot;2020&quot;&gt;&lt;span&gt;&lt;span&gt;idi_d&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: 자속 성분 전류 (최소화)&lt;/li&gt;
&lt;li data-end=&quot;2077&quot; data-start=&quot;2050&quot;&gt;&lt;span&gt;&lt;span&gt;iqi_q&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;q&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: 토크 성분 전류 (최대화)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2122&quot; data-start=&quot;2079&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;FOC는 전류를 벡터처럼 다루는 제어기법&lt;/b&gt;이며, 정밀 제어에 필수입니다.&lt;/p&gt;
&lt;hr data-end=&quot;2127&quot; data-start=&quot;2124&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2141&quot; data-start=&quot;2129&quot; data-ke-size=&quot;size23&quot;&gt;  정리 요약&lt;/h3&gt;
&lt;div&gt;구분특징사용 모터난이도센서
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2466&quot; data-start=&quot;2143&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2466&quot; data-start=&quot;2218&quot;&gt;
&lt;tr data-end=&quot;2254&quot; data-start=&quot;2218&quot;&gt;
&lt;td&gt;오픈 루프&lt;/td&gt;
&lt;td&gt;상태 측정 없음&lt;/td&gt;
&lt;td&gt;스테퍼&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2302&quot; data-start=&quot;2255&quot;&gt;
&lt;td&gt;클로즈 루프&lt;/td&gt;
&lt;td&gt;센서로 상태 피드백&lt;/td&gt;
&lt;td&gt;BLDC, 서보&lt;/td&gt;
&lt;td&gt;중간~높음&lt;/td&gt;
&lt;td&gt;있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2341&quot; data-start=&quot;2303&quot;&gt;
&lt;td&gt;PWM 제어&lt;/td&gt;
&lt;td&gt;전력 조절 방식&lt;/td&gt;
&lt;td&gt;전 모터&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;무관&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2381&quot; data-start=&quot;2342&quot;&gt;
&lt;td&gt;PID 제어&lt;/td&gt;
&lt;td&gt;오차에 따라 보정&lt;/td&gt;
&lt;td&gt;전 모터&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2429&quot; data-start=&quot;2382&quot;&gt;
&lt;td&gt;FOC 제어&lt;/td&gt;
&lt;td&gt;벡터 전류 제어&lt;/td&gt;
&lt;td&gt;BLDC, PMSM&lt;/td&gt;
&lt;td&gt;고급&lt;/td&gt;
&lt;td&gt;보통 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2466&quot; data-start=&quot;2430&quot;&gt;
&lt;td&gt;센서리스&lt;/td&gt;
&lt;td&gt;센서 없이 추정&lt;/td&gt;
&lt;td&gt;BLDC&lt;/td&gt;
&lt;td&gt;고급&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2471&quot; data-start=&quot;2468&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2485&quot; data-start=&quot;2473&quot; data-ke-size=&quot;size23&quot;&gt;  마무리하며&lt;/h3&gt;
&lt;p data-end=&quot;2606&quot; data-start=&quot;2487&quot; data-ke-size=&quot;size16&quot;&gt;모터를 얼마나 똑똑하게 제어하느냐에 따라, 같은 모터도 완전히 다른 성능을 보여줄 수 있어요.&lt;br /&gt;특히 고속, 고정밀, 고효율 제어를 원한다면 &lt;b&gt;PID + FOC + 센서 기반 클로즈 루프&lt;/b&gt;가 기본 조합입니다.&lt;/p&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/4</guid>
      <comments>https://motorcontrol.tistory.com/4#entry4comment</comments>
      <pubDate>Sat, 5 Apr 2025 10:54:01 +0900</pubDate>
    </item>
    <item>
      <title>3.모터의종류</title>
      <link>https://motorcontrol.tistory.com/3</link>
      <description>&lt;h2 data-end=&quot;133&quot; data-start=&quot;116&quot; data-ke-size=&quot;size26&quot;&gt;3. 모터의 종류&lt;/h2&gt;
&lt;blockquote data-end=&quot;161&quot; data-start=&quot;134&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;161&quot; data-start=&quot;136&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;당신의 목적에 맞는 모터는 무엇인가요?&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;229&quot; data-start=&quot;163&quot; data-ke-size=&quot;size16&quot;&gt;세상에 존재하는 모터는 아주 많습니다. 하지만 구조와 작동 원리에 따라 대표적으로 아래 다섯 가지로 분류할 수 있어요:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;317&quot; data-start=&quot;231&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;241&quot; data-start=&quot;231&quot;&gt;DC 모터&lt;/li&gt;
&lt;li data-end=&quot;265&quot; data-start=&quot;242&quot;&gt;브러시리스 DC 모터 (BLDC)&lt;/li&gt;
&lt;li data-end=&quot;277&quot; data-start=&quot;266&quot;&gt;스테퍼 모터&lt;/li&gt;
&lt;li data-end=&quot;306&quot; data-start=&quot;278&quot;&gt;유도 모터 (Induction Motor)&lt;/li&gt;
&lt;li data-end=&quot;317&quot; data-start=&quot;307&quot;&gt;서보 모터&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;369&quot; data-start=&quot;319&quot; data-ke-size=&quot;size16&quot;&gt;각각의 모터는 쓰임새도 다르고 제어 방식도 다르기 때문에, 상황에 맞는 선택이 중요합니다.&lt;/p&gt;
&lt;hr data-end=&quot;374&quot; data-start=&quot;371&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;410&quot; data-start=&quot;376&quot; data-ke-size=&quot;size23&quot;&gt;⚙️ 1. DC 모터 (Brushed DC Motor)&lt;/h3&gt;
&lt;p data-end=&quot;524&quot; data-start=&quot;412&quot; data-ke-size=&quot;size16&quot;&gt;전류가 흐르면 도선이 자석 사이에서 힘을 받아 회전하는 &lt;b&gt;가장 기본적인 모터&lt;/b&gt;입니다.&lt;br /&gt;브러시(Brush)와 정류자(Commutator)를 통해 전류 방향을 바꿔가며 지속적인 회전을 만들어냅니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;607&quot; data-start=&quot;526&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;549&quot; data-start=&quot;526&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 저렴하고 제어가 쉬움&lt;/li&gt;
&lt;li data-end=&quot;580&quot; data-start=&quot;550&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 브러시 마모 &amp;rarr; 수명 짧음, 소음&lt;/li&gt;
&lt;li data-end=&quot;607&quot; data-start=&quot;581&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: 완구, 팬, 간단한 구동 장치&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;612&quot; data-start=&quot;609&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;641&quot; data-start=&quot;614&quot; data-ke-size=&quot;size23&quot;&gt;⚡ 2. 브러시리스 DC 모터 (BLDC)&lt;/h3&gt;
&lt;p data-end=&quot;761&quot; data-start=&quot;643&quot; data-ke-size=&quot;size16&quot;&gt;브러시 대신 &lt;b&gt;전자회로로 전류 방향을 바꾸는&lt;/b&gt; 고급 DC 모터입니다.&lt;br /&gt;모터 내부에 브러시가 없기 때문에 마모가 적고 조용합니다.&lt;br /&gt;&lt;b&gt;Hall 센서 또는 센서리스 제어&lt;/b&gt;를 통해 회전 위치를 추정합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;844&quot; data-start=&quot;763&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;789&quot; data-start=&quot;763&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 고효율, 저소음, 수명 김&lt;/li&gt;
&lt;li data-end=&quot;812&quot; data-start=&quot;790&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 제어 회로가 복잡함&lt;/li&gt;
&lt;li data-end=&quot;844&quot; data-start=&quot;813&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: 드론, 전기차, 전동 공구, 쿨링팬 등&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;849&quot; data-start=&quot;846&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;883&quot; data-start=&quot;851&quot; data-ke-size=&quot;size23&quot;&gt;  3. 스테퍼 모터 (Stepper Motor)&lt;/h3&gt;
&lt;p data-end=&quot;976&quot; data-start=&quot;885&quot; data-ke-size=&quot;size16&quot;&gt;모터를 정해진 &lt;b&gt;각도로 &amp;lsquo;딱딱&amp;rsquo; 나눠서 회전&lt;/b&gt;시키는 특수한 구조입니다.&lt;br /&gt;정확한 위치 제어가 가능하여 &lt;b&gt;오픈 루프 제어&lt;/b&gt;에서도 위치를 신뢰할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1061&quot; data-start=&quot;978&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1004&quot; data-start=&quot;978&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 정밀 제어, 제어가 직관적&lt;/li&gt;
&lt;li data-end=&quot;1031&quot; data-start=&quot;1005&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 고속 시 토크 감소, 발열&lt;/li&gt;
&lt;li data-end=&quot;1061&quot; data-start=&quot;1032&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: 3D 프린터, CNC, 자동화 설비&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1066&quot; data-start=&quot;1063&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1101&quot; data-start=&quot;1068&quot; data-ke-size=&quot;size23&quot;&gt;  4. 유도 모터 (Induction Motor)&lt;/h3&gt;
&lt;p data-end=&quot;1182&quot; data-start=&quot;1103&quot; data-ke-size=&quot;size16&quot;&gt;AC 전류로 동작하며, &lt;b&gt;자기 유도 현상&lt;/b&gt;을 이용해 회전자가 회전하는 구조입니다.&lt;br /&gt;구조가 간단하고 견고하여 산업용에서 많이 사용됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1284&quot; data-start=&quot;1184&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1217&quot; data-start=&quot;1184&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 구조 단순, 유지보수 적음, 대형 가능&lt;/li&gt;
&lt;li data-end=&quot;1249&quot; data-start=&quot;1218&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 직접 제어 어려움, 제동 성능 낮음&lt;/li&gt;
&lt;li data-end=&quot;1284&quot; data-start=&quot;1250&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: 공장 설비, 엘리베이터, 대형 팬, 펌프 등&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1289&quot; data-start=&quot;1286&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1320&quot; data-start=&quot;1291&quot; data-ke-size=&quot;size23&quot;&gt;  5. 서보 모터 (Servo Motor)&lt;/h3&gt;
&lt;p data-end=&quot;1417&quot; data-start=&quot;1322&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 DC 모터나 BLDC에 &lt;b&gt;엔코더/센서&lt;/b&gt;를 결합하여 &lt;b&gt;위치, 속도, 토크를 정밀하게 제어&lt;/b&gt;하는 모터입니다.&lt;br /&gt;주로 &lt;b&gt;클로즈 루프 제어&lt;/b&gt;로 움직입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1509&quot; data-start=&quot;1419&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1454&quot; data-start=&quot;1419&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 정밀 제어, 고속 응답, 다양한 제어 가능&lt;/li&gt;
&lt;li data-end=&quot;1481&quot; data-start=&quot;1455&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 가격이 비쌈, 제어기 필요&lt;/li&gt;
&lt;li data-end=&quot;1509&quot; data-start=&quot;1482&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: 로봇, 정밀 기계, 자동화 라인&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1514&quot; data-start=&quot;1511&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1533&quot; data-start=&quot;1516&quot; data-ke-size=&quot;size23&quot;&gt;  모터 종류 비교 표&lt;/h3&gt;
&lt;div&gt;항목DC 모터BLDC 모터스테퍼 모터유도 모터서보 모터
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1948&quot; data-start=&quot;1535&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1948&quot; data-start=&quot;1659&quot;&gt;
&lt;tr data-end=&quot;1698&quot; data-start=&quot;1659&quot;&gt;
&lt;td&gt;&lt;b&gt;브러시&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;있음&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;td&gt;보통 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1738&quot; data-start=&quot;1699&quot;&gt;
&lt;td&gt;&lt;b&gt;정밀도&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;매우 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1788&quot; data-start=&quot;1739&quot;&gt;
&lt;td&gt;&lt;b&gt;소음/수명&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;소음 있음 / 짧음&lt;/td&gt;
&lt;td&gt;조용함 / 김&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;김&lt;/td&gt;
&lt;td&gt;김&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1846&quot; data-start=&quot;1789&quot;&gt;
&lt;td&gt;&lt;b&gt;제어&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;간단 (PWM)&lt;/td&gt;
&lt;td&gt;FOC, 센서&lt;/td&gt;
&lt;td&gt;펄스 입력&lt;/td&gt;
&lt;td&gt;인버터 필요&lt;/td&gt;
&lt;td&gt;고급 제어기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1906&quot; data-start=&quot;1847&quot;&gt;
&lt;td&gt;&lt;b&gt;대표 용도&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;장난감, 팬&lt;/td&gt;
&lt;td&gt;드론, EV&lt;/td&gt;
&lt;td&gt;3D 프린터&lt;/td&gt;
&lt;td&gt;산업용 설비&lt;/td&gt;
&lt;td&gt;로봇, 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1948&quot; data-start=&quot;1907&quot;&gt;
&lt;td&gt;&lt;b&gt;가격&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;매우 저렴&lt;/td&gt;
&lt;td&gt;중간~비쌈&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;비쌈&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/3</guid>
      <comments>https://motorcontrol.tistory.com/3#entry3comment</comments>
      <pubDate>Sat, 5 Apr 2025 10:48:53 +0900</pubDate>
    </item>
    <item>
      <title>2.모터관련 용어 정리</title>
      <link>https://motorcontrol.tistory.com/2</link>
      <description>&lt;div style=&quot;color: #333333; text-align: start;&quot;&gt;
&lt;h2 style=&quot;color: #000000;&quot; data-ke-size=&quot;size26&quot; data-start=&quot;130&quot; data-end=&quot;153&quot;&gt;모터에서 자주 나오는 용어들&lt;/h2&gt;
&lt;blockquote style=&quot;font-family: 'Noto Serif KR'; background-color: #000000; color: #333333; text-align: center;&quot; data-ke-style=&quot;style1&quot; data-start=&quot;154&quot; data-end=&quot;179&quot;&gt;
&lt;p style=&quot;color: #666666;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;156&quot; data-end=&quot;179&quot;&gt;&lt;b&gt;전기와 회전을 연결하는 핵심 개념들&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot; data-start=&quot;181&quot; data-end=&quot;262&quot;&gt;모터를 제대로 이해하려면 몇 가지 중요한 물리량을 꼭 알고 넘어가야 해요. 그게 바로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;전류, 전압, 토크, 효율&lt;/b&gt;입니다. 하나씩 살펴볼게요!&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; data-start=&quot;264&quot; data-end=&quot;267&quot; /&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;269&quot; data-end=&quot;293&quot;&gt;  1. 전압(Voltage, V)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; data-start=&quot;295&quot; data-end=&quot;377&quot;&gt;전압은 쉽게 말해&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;전기를 밀어주는 압력&lt;/b&gt;이에요.&lt;br /&gt;모터에 전압을 높게 걸면 더 많은 전류가 흐를 수 있고, 더 강한 회전을 만들 수 있어요.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-start=&quot;379&quot; data-end=&quot;422&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-start=&quot;379&quot; data-end=&quot;394&quot;&gt;&lt;b&gt;단위&lt;/b&gt;: 볼트(V)&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-start=&quot;395&quot; data-end=&quot;422&quot;&gt;&lt;b&gt;역할&lt;/b&gt;: 모터에 전기를 &quot;밀어 넣는&quot; 힘&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot; data-start=&quot;424&quot; data-end=&quot;431&quot;&gt;예시&lt;/h4&gt;
&lt;blockquote style=&quot;font-family: 'Noto Serif KR'; background-color: #000000; color: #333333; text-align: center;&quot; data-ke-style=&quot;style1&quot; data-start=&quot;432&quot; data-end=&quot;478&quot;&gt;
&lt;p style=&quot;color: #666666;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;434&quot; data-end=&quot;478&quot;&gt;전기차 배터리가 400V면, 그만큼 강한 전압으로 모터를 구동할 수 있다는 뜻!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; data-start=&quot;480&quot; data-end=&quot;483&quot; /&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;485&quot; data-end=&quot;509&quot;&gt;  2. 전류(Current, I)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; data-start=&quot;511&quot; data-end=&quot;600&quot;&gt;전류는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;도선을 따라 흐르는 전기의 양&lt;/b&gt;이에요.&lt;br /&gt;전류가 많을수록 회전을 만들어내는 힘도 커집니다. 모터에서는 보통&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;토크와 직접적인 관계&lt;/b&gt;가 있어요.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-start=&quot;602&quot; data-end=&quot;649&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-start=&quot;602&quot; data-end=&quot;618&quot;&gt;&lt;b&gt;단위&lt;/b&gt;: 암페어(A)&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-start=&quot;619&quot; data-end=&quot;649&quot;&gt;&lt;b&gt;역할&lt;/b&gt;: 회전을 위한 자석을 강하게 만드는 힘&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot; data-start=&quot;651&quot; data-end=&quot;663&quot;&gt;⚠️ 주의&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot; data-start=&quot;664&quot; data-end=&quot;704&quot;&gt;전류가 많아질수록 발열도 커지기 때문에&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;적절한 제어&lt;/b&gt;가 중요합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; data-start=&quot;706&quot; data-end=&quot;709&quot; /&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;711&quot; data-end=&quot;743&quot;&gt;  3. 토크(Torque,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;tau;\tau&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;tau;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; data-start=&quot;745&quot; data-end=&quot;822&quot;&gt;토크는 말 그대로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;회전하는 힘의 크기&lt;/b&gt;를 말해요.&lt;br /&gt;자동차로 치면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;가속력&lt;/b&gt;, 드릴로 치면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;뚫는 힘&lt;/b&gt;과 같다고 보면 돼요.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;162&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYZRGa/btsM1qdrvYu/gZJbo55yLXUo22TOUvTte1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYZRGa/btsM1qdrvYu/gZJbo55yLXUo22TOUvTte1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYZRGa/btsM1qdrvYu/gZJbo55yLXUo22TOUvTte1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYZRGa%2FbtsM1qdrvYu%2FgZJbo55yLXUo22TOUvTte1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;653&quot; height=&quot;162&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;162&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; data-start=&quot;925&quot; data-end=&quot;986&quot;&gt;즉,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;전류가 많을수록 토크가 커진다&lt;/b&gt;는 공식이에요. 그래서 무거운 걸 돌리려면 더 많은 전류가 필요하죠.&lt;/p&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot; data-start=&quot;988&quot; data-end=&quot;995&quot;&gt;예시&lt;/h4&gt;
&lt;blockquote style=&quot;font-family: 'Noto Serif KR'; background-color: #000000; color: #333333; text-align: center;&quot; data-ke-style=&quot;style1&quot; data-start=&quot;996&quot; data-end=&quot;1051&quot;&gt;
&lt;p style=&quot;color: #666666;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;998&quot; data-end=&quot;1051&quot;&gt;전동 드릴을 쓸 때 고속으로는 잘 안 뚫리는데, 저속&amp;middot;고토크 모드로 바꾸면 더 잘 뚫리는 이유!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; data-start=&quot;1053&quot; data-end=&quot;1056&quot; /&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;1058&quot; data-end=&quot;1085&quot;&gt;⚙️ 4. 효율(Efficiency, &amp;eta;)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; data-start=&quot;1087&quot; data-end=&quot;1125&quot;&gt;효율은 모터가 얼마나 전기를 잘 써서 회전으로 바꿔주는지를 의미해요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;145&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdeKCe/btsM1bN4AAk/ApGaDiBewQ9htDFSSZu6Fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdeKCe/btsM1bN4AAk/ApGaDiBewQ9htDFSSZu6Fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdeKCe/btsM1bN4AAk/ApGaDiBewQ9htDFSSZu6Fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdeKCe%2FbtsM1bN4AAk%2FApGaDiBewQ9htDFSSZu6Fk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;540&quot; height=&quot;145&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;145&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot; data-start=&quot;1247&quot; data-end=&quot;1254&quot;&gt;예시&lt;/h4&gt;
&lt;blockquote style=&quot;font-family: 'Noto Serif KR'; background-color: #000000; color: #333333; text-align: center;&quot; data-ke-style=&quot;style1&quot; data-start=&quot;1255&quot; data-end=&quot;1320&quot;&gt;
&lt;p style=&quot;color: #666666;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;1257&quot; data-end=&quot;1320&quot;&gt;같은 전력을 써도 어떤 모터는 열로 다 날려버리고, 어떤 모터는 회전에 집중하는데, 후자가 효율이 좋은 모터에요.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;reaction-58&quot; data-tistory-react-app=&quot;Reaction&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/2</guid>
      <comments>https://motorcontrol.tistory.com/2#entry2comment</comments>
      <pubDate>Sun, 30 Mar 2025 19:08:35 +0900</pubDate>
    </item>
    <item>
      <title>1.모터란 무엇인가?</title>
      <link>https://motorcontrol.tistory.com/1</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;275&quot; data-end=&quot;308&quot;&gt;1. 모터의 정의 &amp;ndash; 전기를 넣으면 &amp;lsquo;도는&amp;rsquo; 기계&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;310&quot; data-end=&quot;428&quot;&gt;모터(Motor)는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;전기 에너지를 기계적인 회전 에너지로 바꾸는 장치&lt;/b&gt;입니다.&lt;br /&gt;그 말인즉, 전기를 넣으면 모터가 돌아가고, 그 회전을 이용해서 팬이 바람을 일으키거나 바퀴가 굴러가게 할 수 있다는 거죠.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;430&quot; data-end=&quot;438&quot;&gt;대표적인 예시:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot; data-start=&quot;439&quot; data-end=&quot;521&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-start=&quot;439&quot; data-end=&quot;465&quot;&gt;선풍기: 모터가 날개를 회전시켜 바람을 발생&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-start=&quot;466&quot; data-end=&quot;492&quot;&gt;전기차: 바퀴와 직접 연결되어 차량을 움직임&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-start=&quot;493&quot; data-end=&quot;521&quot;&gt;전동칫솔, 드론, 커피머신, 엘리베이터까지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;554&quot; data-end=&quot;605&quot;&gt;2. 모터의 작동 원리 &amp;ndash;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;전자기력, 로렌츠 힘(Lorentz Force)&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;607&quot; data-end=&quot;667&quot;&gt;모터는 단순히 도는 게 아닙니다. 그 안에는 물리학의 근본 원리 중 하나인&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;로렌츠 힘&lt;/b&gt;이 숨어있습니다.&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-start=&quot;669&quot; data-end=&quot;684&quot;&gt;✅ 로렌츠 힘이란?&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;147&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bC0FBC/btsMZ4WvL4F/xknBRv6qFgnrgnCuefnbG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bC0FBC/btsMZ4WvL4F/xknBRv6qFgnrgnCuefnbG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bC0FBC/btsMZ4WvL4F/xknBRv6qFgnrgnCuefnbG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbC0FBC%2FbtsMZ4WvL4F%2FxknBRv6qFgnrgnCuefnbG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;390&quot; height=&quot;147&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;147&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;572&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oqHL3/btsM0Gg2dfC/KW6VBOxnRDcNtlkXkDNTC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oqHL3/btsM0Gg2dfC/KW6VBOxnRDcNtlkXkDNTC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oqHL3/btsM0Gg2dfC/KW6VBOxnRDcNtlkXkDNTC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoqHL3%2FbtsM0Gg2dfC%2FKW6VBOxnRDcNtlkXkDNTC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;461&quot; height=&quot;316&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;572&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;819&quot; data-end=&quot;924&quot;&gt;즉,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;자기장 안에 있는 도선에 전류를 흘리면, 도선은 힘을 받아 움직이게 됩니다.&lt;/b&gt;&lt;br /&gt;이 힘이 반복적으로 작용하면 도선이 회전 운동을 하게 되죠. 이게 바로 모터가 도는 이유입니다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;819&quot; data-end=&quot;924&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;931&quot; data-end=&quot;958&quot;&gt;3. 구성 요소로 이해하는 모터 구조&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;960&quot; data-end=&quot;986&quot;&gt;모터는 다음과 같은 기본 구조로 되어 있습니다:&lt;/p&gt;
&lt;div style=&quot;color: #333333; text-align: start;&quot;&gt;구성 요소역할 설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-start=&quot;988&quot; data-end=&quot;1264&quot;&gt;
&lt;tbody data-start=&quot;1043&quot; data-end=&quot;1264&quot;&gt;
&lt;tr data-start=&quot;1043&quot; data-end=&quot;1099&quot;&gt;
&lt;td&gt;&lt;b&gt;Stator (고정자)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;움직이지 않는 자석 또는 전자석 부품. 자기장을 형성합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-start=&quot;1100&quot; data-end=&quot;1149&quot;&gt;
&lt;td&gt;&lt;b&gt;Rotor (회전자)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;전류가 흐르며 실제 회전을 만들어내는 부분입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-start=&quot;1150&quot; data-end=&quot;1219&quot;&gt;
&lt;td&gt;&lt;b&gt;Commutator (정류자)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;브러시 방식 모터에서는 전류의 방향을 주기적으로 바꾸어 회전을 유지시킵니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-start=&quot;1220&quot; data-end=&quot;1264&quot;&gt;
&lt;td&gt;&lt;b&gt;Sensor&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;(센서드 제어에서) 회전 위치 정보를 제공합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-start=&quot;1408&quot; data-end=&quot;1439&quot;&gt;4. 회전 원리 &amp;ndash; 전류 + 자기장 = 회전&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;1441&quot; data-end=&quot;1466&quot;&gt;모터가 회전하는 기본 흐름은 아래와 같습니다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot; data-start=&quot;1468&quot; data-end=&quot;1575&quot;&gt;
&lt;li style=&quot;list-style-type: decimal;&quot; data-start=&quot;1468&quot; data-end=&quot;1486&quot;&gt;&lt;b&gt;전류가 코일에 흐른다&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot; data-start=&quot;1487&quot; data-end=&quot;1516&quot;&gt;&lt;b&gt;자기장 안에서 도선이 로렌츠 힘을 받는다&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot; data-start=&quot;1517&quot; data-end=&quot;1544&quot;&gt;&lt;b&gt;도선이 한 방향으로 움직이기 시작한다&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot; data-start=&quot;1545&quot; data-end=&quot;1575&quot;&gt;&lt;b&gt;전류 방향을 계속 바꿔주면 회전이 지속된다&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;191&quot; data-origin-height=&quot;159&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQibw7/btsM21cqEni/Whc8JWlDNgY8DjuNEEySi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQibw7/btsM21cqEni/Whc8JWlDNgY8DjuNEEySi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQibw7/btsM21cqEni/Whc8JWlDNgY8DjuNEEySi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQibw7%2FbtsM21cqEni%2FWhc8JWlDNgY8DjuNEEySi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;279&quot; height=&quot;232&quot; data-origin-width=&quot;191&quot; data-origin-height=&quot;159&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;1577&quot; data-end=&quot;1598&quot;&gt;이를 수식으로 요약하면 다음과 같아요:&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;189&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d3Saib/btsM0LPFsBz/XYiizaKhK4l7XkHcI10wp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d3Saib/btsM0LPFsBz/XYiizaKhK4l7XkHcI10wp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d3Saib/btsM0LPFsBz/XYiizaKhK4l7XkHcI10wp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd3Saib%2FbtsM0LPFsBz%2FXYiizaKhK4l7XkHcI10wp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;591&quot; height=&quot;189&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;189&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>모터제어</category>
      <author>motorcontrol</author>
      <guid isPermaLink="true">https://motorcontrol.tistory.com/1</guid>
      <comments>https://motorcontrol.tistory.com/1#entry1comment</comments>
      <pubDate>Sun, 30 Mar 2025 19:07:49 +0900</pubDate>
    </item>
  </channel>
</rss>