ORGANIZED MESS

포뮬러원을 좋아하면서, 이것저것 공부도 하고, 일상도 공유하는 다소 정체성의 혼란이 내재되어있는 그러한 블로그입니다.

Formula 1 (포뮬러원)/Formula 1 Tech. Stuff

[Formula 1] #11 - 엔진 맵핑(Engine Mapping)이란 무엇인가?

관리자 2021. 10. 4. 19:54
반응형

F1 Team Redbull의 Steering Wheel

 F1 경기를 보다 보면 드라이버들이 스티어링 휠의 버튼을 조작하거나 노브(knob) 돌려 엔진 모드를 변경하곤 한다. 이러한 조작들이 엔진 맵핑(Engine Mapping) 변경시킨다고 한다.

 

 엔진 맵핑? 어디서 들어봤다. F1 뿐만 아니라, 실제 공도에서 다니는 일반 차량의 엔진 튜닝 관련해서 종종 엔진 맵핑이 필요하다는 말이 언급되곤 한다. 당시 엔진 맵핑이라는 단어를 접했을 때 '그냥 내 주인에게 맞는 엔진 세팅을 해주는건가?'하고 넘어갔었다.

 

 엔진 맵핑(Engine Mapping)이란 무엇이며, 이러한 조작은 차량에 어떤 영향을 미칠까? 이번 포스팅에서는 엔진 맵핑(Engine Mapping)에 대한 정리를 간략하게 해보고자 한다.

[목차]
- ECU(Electronic Control Unit)의 시대
- 엔진 맵(Engine Map)이란?
- 실습 : 간단한 엔진 토크 맵 (Engine Torque Map)
- 나만의 엔진 토크 맵?!
- 다양한 엔진 토크 맵 (feat. graph)
- 엔진 맵핑도 검사를 한다?
- 엔진 맵핑을 위한 다양한 입력 값

ECU(Electronic Control Unit)의 시대

옛 시절 엔진. 가속 페달과 엔진이 직접 연결되어 있다. (출처 : Youtube Channel 'Chain Bear')

 옛 시절로 돌아가보자. 가속 페달이 물리적으로 케이블을 통해 직접 연결되어 있던 시절 있었다. 이때는 가속 페달을 많이 밟을수록 스로틀(Throttle, 연료 조절 게이지)이 많이 열리게 되고, 이로 인해 공기와 연료에 엔진 실린더 내부로 많이 주입됐다. 연료가 많이 주입될수록 연소가 폭발적으로 일어나기 때문에, 가속 페달을 더 깊게 밟을수록 엔진으로부터 출력이 많이 발생하게 됐다. 뭔가 물리적으로 단순하고 직관적이다. 하지만 단순하기 때문에 한계가 존재한다.

 

현대의 엔진. 가속 페달과 엔진 사이에 ECU가 존재한다. (출처 : Youtube Channel 'Chain Bear')

 요즘 차량은 다르다. 페달과 엔진이 물리적으로 직접 연결되어있는 옛날 방식과는 다르게, 지금은 페달과 엔진 사이에 ECU(Electronic Control Unit) 존재한다. ECU는 입력 값을 받아 계산을 해서 그 결과 값을 알려주는, 마치 컴퓨터의 CPU와 같은 녀석이다.

 

 ECU에는 수많은 입력 값이 들어오는데, ECU 이러한 입력 값을 가지고 엔진의 연소 부(Combustion Part)를 정확하게 관리하고, 이를 통해 궁극적으로 엔진 출력을 관리해주는 역할을 한다.

 

 여기서 맵핑의 개념이 등장한다. ECU의 역할인 엔진 출력의 관리는 바로 ECU 맵핑(Mapping) 또는 엔진 맵핑(Engine Mapping)을 통해 이루어진다.


엔진 맵(Engine Map)이란?

 엔진 맵(Engine Map) 일종의 데이터 테이블묶음이라고 생각하면 된다. ECU 차량에 무슨 일이 일어나고 있는 지와 운전자로부터 오는 여러 입력 값들을 확인한 , 엔진 맵이라 불리는 그 테이블을 참조하여 엔진을 어떻게 동작시킬지 결정한다.

 

엔진 토크 맵의 개념도 (출처 : Youtube Channel 'Chain Bear')

 예시로 엔진 토크 (Engine Torque Map) 보자. 엔진 토크 이란, RPM으로 표현되는 엔진 속도(Engine Speed)와 스로틀 레벨(Throttle Level)이 주어졌을 이에 맞는 엔진 토크 값을 알려주는 테이블이다. 여기서 입력(input)은 엔진의 회전 속도엔진에 주입하는 연료 양인 스로틀 레벨이다. 여기서 출력(output)은 엔진이 만들어내는 회전력인 토크이다.

[엔진 토크 맵 정리]
입력 | 엔진 속도 (RPM) & 스로틀 레벨 (Throttle Level)
출력 | 토크

 

 내가 엔진 토크 맵을 가지고 있다면, 엔진의 현재 속도(RPM 단위)와 스로틀 레벨을 알면, 엔진 토크 맵을 확인해서 엔진 토크 값을 있는 것이다. 이러한 동작을 ECU가 행한다.


실습 : 간단한 엔진 토크 맵

 그럼 한번 간단한 엔진 토크 맵을 생각해보자.

간단한 형태의 엔진 토크 맵 (출처 : Youtube Channel 'Chain Bear')

 엔진 토크 맵은 위와 같이 테이블의 형태다. 실습을 위해 간단하게 세로는 엔진 속도(RPM) 간단하게 빠름(Fast), 중간(Medium), 느림(Slow) 3단계로 구분하고, 가로는 스로틀 레벨 최저(Narrow), 중간(Medium), 최대(Full) 3단계로 구분지었다.

 

 이 엔진 토크 맵을 통해 우리는 9가지의 시나리오 생각해낼 있다. 예를 들어서 현재 엔진 RPM 굉장히 느린 상태에서 스로틀 최저 수준으로 개방하면, 토크 값은 굉장히 낮을(Very Low) 것이다. 만약 엔진 RPM 매우 높은 상태에서 스로틀(Full Throttle) 밟으면, 토크 값은 굉장히 높을(Very High) 것이다. 엔진 속도와 스로틀 두 개의 입력 값으로 토크 값이라는 하나의 출력 값을 얻어내는 것이다.

 

실제 엔진 토크 맵 (예시)

 실제 엔진 토크 맵은 이보다 촘촘한 형태를 가진다. 입력 값들의 단계를  촘촘하게 구분 지어 많은 경우의 수를 고려하여 토크 값을 얻어낼 있다.

 

 이러한 엔진 토크 맵은 어떻게 만들어질까? 보통 엔진 토크 맵은 엔진이 일반적으로 동작할 때를 고려한 맵이다. 엔진을 테스트 동력계에 놓고 테스트를 하면서 서로 다른 시나리오의 상황에서 토크 레벨을 로깅하여 엔진 토크 데이터를 얻을 있다. 다시 말해 특정 입력 값에 대한 출력 값을 뽑아내는 방식이다.


나만의 엔진 토크 맵?!

 그런데 만약 일반적인 상황이 아닌, 특수한 상황에서의 엔진 토크 만들고 싶으면 어떻게 해야 할까? 여기서 여러 다양한 커스터마이즈 된 엔진 토크 (Customized Engine Torque Map)의 개념이 등장한다.

 

 우리는 여러 버전의 엔진 토크 맵을 만들 있고, ECU 이렇게 만든 기존과 다른 엔진 토크 맵을 참조하게 수도 있다. 이렇게 되면 드라이버가 특정 엔진 속도에서 가속 페달을 밟았을 , 엔진은 이전과는 다른 토크 값을 내게 된다. 다시 말해 특정 입력 값에 대한 출력 값을 지정하 방식이다.

 

 예를 들어, 만약 낮은 RPM에서는 스로틀 레벨이 어떻든 간에 낮은 토크를 얻고 싶다면? 엔진 토크 맵을 아래와 같이 있다.

저 RPM에서 낮은 토크를 내는 엔진 토크 맵 (출처 : Youtube Channel 'Chain Bear')

 

 만약 어떤 상황에서는 급격하게 토크 값을 올리고 싶다면? 아래와 같이 엔진 토크 맵을 구성할 수도 있다.

고 RPM으로 급격하게 올라가는 엔진 토크 맵 (출처 : Youtube Channel 'Chain Bear')

 

 이런 커스터마이즈 엔진 토크 맵의 기저에 깔린 아이디어는 결국 '특정 상황에서 엔진에게 특정 토크(또는 출력) 요구하는 '에서 시작된 것이다.

 예를 들어, 지금 굉장히 가파른 언덕을 올라가려고 하는 상황에서 엔진한테 이렇게 말한다고 해보자.

 

"

엔진아, 너는 지금 8000 RPM으로 회전하고 있구나.

내가 지금 가속페달을 정도 밟을 거야.

근데 내가 지금 언덕을 올라가야 하거든?

이번만 나에게 180Nm 정도의 토크를 내주겠니?

"

 

[원래 엔진 토크 맵]
8000 RPM + 스로틀 절반 = 150Nm

[현재 필요한 엔진 토크 맵]
8000 RPM + 스로틀 절반 = 180Nm

 

 이전에는 보통의 상황을 가정하고 테스트를 해보니, 엔진 속도가 8000 RPM일 때 가속페달을 밟으면 엔진이 150Nm의 토크를 냈기 때문에 엔진 토크 맵은 8000 RPM & 스로틀 절반 = 150Nm로 구성되어 있었다. 하지만 위의 경우는 내가 처한 상황을 고려했을 때 150Nm면 안 된다. 언덕을 올라가려면 180Nm가 필요한 상황이다. 이러한 경우에 우리는 이 상황에서 8000 RPM & 스로틀 절반 = 180Nm 라는 엔진 토크 맵 정보가 필요하다.

 

Driver Demand Torque Map

 커스터마이즈 엔진 토크 맵은 'Driver Demand Torque Map', 운전자가 요구하는 엔진 토크 이라고 불린다. 왜냐하면 결국 가속 페달을 밟는 사람은 드라이버이고, 그렇기 때문에 결국 특정 상황에서 얼마의 토크가 필요할지 판단하는 사람은 드라이버이기 때문이다. 드라이버가 원하는 토크 값으로 엔진 토크 맵을 구성해야 한다.

 


다양한 엔진 토크 맵 (feat. Graph)

그래프를 그려보자 (Let's simplify)

 자 그러면 엔진 맵이 운전자에게 무엇을 의미하는지 생각해보기 위해, 잠시 입력 2 엔진 속도는 제외하고 스로틀 레벨만 고려하여, 스로틀 레벨과 토크 값의 관계 단순화해서 생각해보자.

 

 운전자가 가속 페달을 밟았을 , 운전자는 엔진한테 어느 정도 토크 값이 오기를 기대할 것이다. 예를 들어, '내가 이 상황에 가속 페달을 절반치 밟았을 때 차량은 이정도의 힘을 주면 좋겠어' 같이 말이다.

 

(출처 : Youtube Channel 'Chain Bear')

 자 위와 같이 간단한 그래프의 축을 그려봤다. 가로축은 스로틀 레벨(가속 페달을 밟는 정도), 세로축은 토크이다. 각각은 퍼센트로 나타낸다.

 

 여기서 하나의 법칙이 있는데, 스로틀 레벨을 나타내는 0~100% 값들은 반드시 0~100% 토크 값으로 1:1 대응되어야 한다. 이렇게 되면 자 위 그림에 하나의 그래프를 그릴 있다.

 

#1 일반적인 '스로틀레벨 - 토크' Graph

(출처 : Youtube Channel 'Chain Bear')

 먼저 직선 그래프를 생각해보자. 이러한 그래프의 경우에는 페달을 50% 밟으면 토크는 50%만큼 나오고, 페달을 30% 밟으면 토크 또한 30%만큼 내질 것이다. 간단하고 아주 좋다. 내가 가속 페달의 밟는 양만 파악하고 있다면 원하는 토크를 얻어낼 있다.

 

#2 특수한 '스토를레벨-토크' Graph

 근데 이러한 경우는 어떨까. 굉장한 저속 코너에서 F1 차량을 운전하고 있다고 해보자. 알다시피 엄청난 마력과 토크를 자랑하는 F1 차량은 자칫하면 뒷바퀴에 전달되는 출력을 조절하지 못해 순식간에 슬립이 발생 있다. 살짝만 밟아도 엄청난 때문에 미끄러지는 것이다. 이 경우 #1의 그래프를 사용할 수 있다. 하지만 좀 더 개선할 수 없을까?

(출처 : Youtube Channel 'Chain Bear')

 좀 더 상황을 개선하기 위해 그래프를 위와 같이 만들 있다. 가속 페달을 처음 밟는 구간에서는 토크 값을 너무 급격하게 올리지 않도록 하는 것이다! (와우) 이를 통해 속도가 낮은 구간에서는 토크를 부드럽게 증가시킬 있다.

 

상황마다 다른 엔진 맵핑

 이처럼 운전자가 맞닥뜨리는 여러 상황이 있고, 차량을 컨트롤하기 위해서는 상황 별로 엔진 토크 맵은 달라져야 한다.

드라이버가 처하는 상황은 늘상 다르다.

 웻 컨디션(Wet Condition), 고도가 높은 상황(High-Altitude), 습도가 높은 상황(High-Humidity), 퀄리파잉 세션, 출력을 저장해야 하는 경우 등에 따라 엔진 토크 맵은 달라져야 한다는 것이다.

 

트랙 별로 모두 특성이 다 다르기에, 각기 다른 엔진 맵핑으로 차량 최적화가 필요하다.

 실제 굉장히 타이트한 저속 코너가 많은 모나코 서킷과 고속 서킷으로 알려진 벨기에 스파 프랑코샹 서킷은 엔진 토크 세팅이 다르다.

 이처럼 드라이버가 처한 상황은 엔진 토크 구성에 매우 중요하다.

 

드라이버마다 다른 엔진 맵핑

 하지만 무엇보다도 가장 중요한 부분은 결국 드라이버가 어떻게 느끼느냐이다. 아마 지금 글을 쓰는 나도 의식하고 있지는 않지만 차를 주행할 '특정 RPM에서 가속 페달을 정도만 밟아도 속력이 나겠구나'하고 무의식적으로 생각하고 있다. (가만 생각해보니 그렇다)

 

 하물며 나와 같은 일반 운전자도 이런데 세계 최고의 드라이빙을 자랑하는 F1 드라이버는 훨씬 고차원적인 차원에서 느낄 것이다. 같은 팀의 같은 차량을 모는 2명의 드라이버도 각각의 스타일에 따라 느끼는 다를 것이고, 그렇기 때문에 요구하는 엔진 세팅 또한 다를 것이다.

 

 그리하여 프랙티스 세션이 괜히 있는 것이 아니고, 프랙티스 세션 동안 여러 가지 엔진 맵핑을 통해 차량을 드라이버가 몰기 최적의 상태로 만드는 최적화 작업을 진행한다.


엔진 맵핑 검사를 한다?

 엔진 맵핑에는 FIA 하에 관리되는 몇몇 규정들이 있다. 이말인즉슨, FIA에서 엔진 맵핑을 규제한다는 것이다.

 

 각 팀은 차량의 엔진 맵을 FIA에게 제출해야 한다. FIA 팀이 만든 엔진 맵을 보고, ' 엔진 맵은 거의 트랙션 컨트롤을 사용하는 수준인데?'라던지, '런치 컨트롤(Launch Control) 쓰는 수준 아닌가?' 하고 검사한다.

 

 자세히 보면 아까 언급했던 예시와 같이 엔진 맵을 아주 만들면 슬립을 방지할 있는 트랙션 컨트롤 시스템처럼 사용할 있다. ECU, 컴퓨터를 이용해 전자적으로 트랙션을 제어한다? 이는 TCS 금지하는 F1에서는 허용되지 않는 수준이라고 FIA 판단하는 것이다.

 

TCS (Traction Control System)
 눈길 등 미끄러지기 쉬운 도로에서 구동륜이 미끄러지는 것을 방지하는 슬리퍼 컨트롤 기능과, 일반 포장도로 등에서 선회 가속 시 액셀의 과응답으로 인해 코스에서 이탈하는 것을 방지하는 트레이스 컨트롤 기능으로부터 구성되는 트
랙션 컨트롤을 말한다.
 F1에서는 이러한 과도한 TCS가 금지되어 있다.

 

LCS (Launch Control System)
 전저장치를 이용하여 공학적으로 자동차가 계산해서 그 차가 가장 빨리 달릴 수 있는 출력을 내서 출발하도록 하는 시스템
 TCS와 마찬가지로 과도한 LCS도 F1에서 금지되어 있다.

 


엔진 맵핑을 위한 다양한 입력 값

 지금까지 내용을 간단하게 정리하면 엔진 토크 맵을 통해 운전자가 원하는 만큼의 토크를 엔진으로 끄집어낼 있다가 핵심이다.

 

 이러한 엔진 토크 뿐만 아니라 다른 또한 여기에 관여할 있다.

엔진의 4행정 (흡기-압축-폭발-배기)

 엔진의 4행정(흡기-압축-폭발-배기)에서 '폭발' 행정에서 수행하는 엔진 점화의 타이밍도 조절할 수 있다. 점화 타이밍 맵 (Ignition Timing Map)을 이용해 엔진 스피드에 따라 언제 엔진 내부를 점화시킬지 결정할 수 있다.

 '흡기' 행정에서 수행하는 연료 주입의 양 또한 조절할 수 있다. 주입 타이밍 맵(Injector Timing Map)을 이용해 엔진 스피드에 따라 연료를 얼마나 주입할지 결정할 수 있다. 이러한 것들이 결국 출력되는 토크 값에 영향을 미치는 요소들이다.

 

 이를 포함하여 현재 엔진의 상태, 온도, 연료 사용량(Fuel Mix) 등을 고려하여 토크 값을 결정한다.

 

참고 | F1 게임 내에서의 엔진 믹스는 엔진 맵핑이다?
 이는 잘못된 정보다. 엔진 연료를 얼마나 쓸지 정하는 엔진 믹스는 엔진 맵핑에 사용되는 여러 입력 하나일 뿐이지 '연료 믹스=엔진 맵핑' 아님 알고 있자.

마치며

 ECU에는 정말 수많은 입력 값들이 들어가기 때문에  엔진 맵핑은 실제로는 더 복잡할 것이다. 일반 차량보다 수십배는 더 복잡하지 않을까 생각이 든다. 공학의 끝판왕 F1 머신... 파도 파도 재밌다.

반응형