본문 바로가기
반응형

Robot40

[STM32F10x-StdPeriph] 6. PWM을 이용한 Servo Motor Control 1. Servo Motor 동작 개요 사용된 servo motor : TowerPro SG90 Micro Servo Motor 0.7 ~ 2.3 msec High를 유지하는 20msec 주기의 파형으로 -90도 ~ 90도로 Servo Motor를 동작시킬 수 있다. 즉 Servo Motor를 구동하기 위해 50hz (1/20msec) 파형을 생성하여 Duty Cycle을 3.5% ~ 11.5%의 DutyCycle을 설정한다. 여기서는 TIM에서 제공하는 PWM 기능을 이용하며, 함수는 ST에서 제공하는 Standard Peripheral Library API를 이용하였다. PWM 파형 주기 : 50Hz Duty Cycle 3.5% : -90도 7.5% : 0도 11.5% : 90도 2. 20 msec 파.. 2013. 12. 8.
[STM32F10x-StdPeriph] 5. SmartRobot Board 실습 - Analog Write (PWM) 0. 들어가기 전에 이번 강좌에서는 PWM Wave를 SmartRobot Pin을 통해서 출력하는 예제를 진행합니다. STM32F의 TIM Peripheral에서 제공하는 PWM out 기능을 이용하게 되구요, 이를 컨트롤하기 위해 ST에서 제공하는 Peripheral Device Library 코드를 이용하게됩니다. Base Code는 http://lifeseed.tistory.com/78 게시물의 첨부파일인 srbd_bsp_printf_ex.zip 파일을 이용하며, 본예제에서 사용되는 출력핀은 SmartRobot Board의 J8-12 번핀인 PB8로써 TIM4 Channel 3으로 할당되어 있습니다.(CD00161566_product_spec.pdf 참조) 1. TIM Peripheral for P.. 2013. 11. 25.
[STM32F10x-StdPeriph] 4. SmartRobot Board 실습 - Analog Input (ADC) 0. 들어가기 전에 이번 강좌에서는 각종 센서로 부터 Analog 입력을 받기위해 사용되어지는 ADC 컨트롤을 해볼까 합니다. 이번 강좌의 목적은 ADC에 대한 이해 보다는 STM32F10x에서 제공하는 ADC를 1채널만 동작시켜 센서로 부터 Analog값을 읽어오는 과정을 확인하는 것입니다. 예제 코드는 본 게시글에 첨부되었으며, Base Code는 http://lifeseed.tistory.com/78 게시물의 첨부파일인 srbd_bsp_printf_ex.zip 파일 입니다. ADC 결과 값을 확인을 위하여 지난시간에 실습했던 UART입출력을 위한 초기 설정을 UART_Configuration 라는 함수명으로 선언한 후 main함수의 시작부분에 호출함으로써 Lb_printf를 사용가능하도록 하였습니다.. 2013. 11. 18.
[STM32F10x-StdPeriph] 3. SmartRobot Board 실습 - UART Input/Outpu 0. 들어가기 전에 이번 강좌에서는 UART 컨트롤을 해볼까 합니다. Boot-Up Sequence가 정상적으로 이루어 지면, Debugging 혹은 Host와의 기본적인 통신을 위해 일반적으로 UART를 살리게 됩니다. 이번 강좌의 목적은 UART를 통한 Character 입/출력을 Host PC의 Terminal을 통해 확인하는 과정입니다. 역시 Base Code는 http://lifeseed.tistory.com/75 게시물의 첨부파일이며, UART통신을 위한 Library가 포함되어야 하므로 컴파일전 추가 수정사항이 필요합니다. SmartRobot Board의 J7-11, 12번 및 J8-20에 USBtoSerial 보드의 Rx, Tx 그리고 Ground에 각각 연결합니다. 물론 SmartRobo.. 2013. 11. 18.