inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

전동킥보드로 배우는 임베디드 실전 프로젝트

쓰로틀 신호 입력 받기 - ADC 실습

ADC Conversion mode.

해결된 질문

93

dhanbi1

작성한 질문수 12

1

안녕하세요. 좋은 강의를 열강 하다 보니 질문이 계속 생겨서 귀찮게 해드리는거 같아서 죄송합니다.

2가지 질문이 있습니다.

  1. SMPR2 주석에 6.2us의 주기가 있는데, 이것이 혹시 Tconv 시간을 말씀하시는건가요? 맞다면, 6.2us가 아니라 7.5us가 아닌가요?


    (Tconv = (sampling + conversion)*CLK = (56+12)* 111.1ns(9MHz) = 7.5us)

  2. 이번강좌에서 쓰로틀을 ADC로 읽는 과정에서 ADC Conversion mode를 single 로 하셨는데,

    이렇게 되면 매번 코드에 SWSTART 반복과 EOC 대기를 을 진행해야 해서 CPU에 부하가 많이 걸리지 않나요?

     

    어차피 While문 루프고, 쓰로틀은 계속적인 모니터링이 필요한 Analog 값이니 Continuous Conversion을 통해 1번만 트리거를 걸고 지속적으로 값을 모니터링을 하는게 더 효율적인 방법인거죠?

 

임베디드 stm32 hardware motordriver artwork

답변 1

0

제어쟁이

질문 많이 해주시면 좋습니다! 부담 갖지 마시고 언제든지 질문해주세요.

 

  1. 결론부터 말씀드리면, 우선 주석의 6.2us는 T_conv가 아닌 T_sample을 의미합니다. 현재 실습코드에서는 샘플 타임이 56cycle로 설정하였습니다. ADC 클럭은 PCLK2/6 = 9Mhz이고 주기는 1/9Mhz = 111.111ns가 나오죠. ADC 클럭을 이용해서 샘플링 타임을 구하면 111.111ns x 56 = 6.222us입니다.

  2. 네 맞습니다. 현재 실습에서는 효율은 고려하지 않고, 기능 구현을 목표로 진행해보았습니다. 다만 추후에 전동킥보드 펌웨어에서는 While문에서 ADC를 하지 않고, 타이머 인터럽트에서 진행합니다. 이 점 참고해주시길 바랍니다.

uart, tera term 실습이 잘 안됩니다.

0

8

2

80. 인터럽스와 일반함수 차이

0

10

1

79. int main(void)선언 없이 어떻게 동작하나요 ?

0

14

1

79. int main(void)선언 없이 어떻게 동작하나요 ?

0

10

1

74. 포인터 크기는얼마인가요 ?

0

15

1

73. 왜 hex를 사용하나요 ?

0

16

2

71. 40초쯤에 소리가 안납니다.

0

10

1

70. 강의에 사용되는 보드는 어떤것인가요 ?

0

21

2

00. 인버터 회로만 보고 소비전력을 예측 가능하나요 ?

0

25

1

58강, 유니폴라, 바이폴라 방식중 바이폴라가 대세라고 보면 되나요 ?

0

22

2

57강. 모터인데 왜 전압제어를 하나요 ?

0

22

2

57강. PWM은 sine을 만들어 내는 걸로 이해 하면 되나요 ?

0

19

2

49강. 제어이론의 구체적 다이어그램 설명 요청드립니다.

0

20

2

55강. dead time을 고려하면, 원래의 original신호와는 달라지지 않나요 ?

0

13

2

스위칭 주파수 설정

0

35

2

P6KE47CA 이 부품에 대해서 궁금합니다.

0

43

1

교육용 보드 쓰로틀 질문입니다.

0

65

3

모스펫 기생 커패시터에 대한 내용 누락

0

49

1

강의 자료 어디 있을까요?

0

50

2

STM32 보드 연결 방법 없이 바로 코딩으로 넘어가서 당황스러운데

0

60

3

대역폭 강의 없어요.

0

49

2

섹션 3,4. 6,7강의듣고 섹션5나중에 들어도 괜찮은건가요?

0

55

2

아직 stm32F767 보드 없는데.. 펌웨어...

0

65

2

BOM 이 혹시 제공되나요?

0

56

2