
디지털 컨트롤 시스템에서 제어 신호는 정확한 순간에 생성되어야 한다. 따라서, 제어 신호간의 정확한 간격 유지를 위해 타이밍 매커니즘을 필요로 한다. 보통의 시스템에서 이러한 제어 신호의 간격(period)는 고정되어(fixed)있으며, 사전에 정의(predetermined)되어있다. 인터럽트(interrupt)는 마이크로 컨트롤러 기반의 실시간(real-time) 제어 시스템에서 가장 중요한 기능들 중 하나이다. 인터럽트가 프로세서에 신호를 보내게 되면, 이것은 바로 관심가져주어야 할 이벤트가 생겼다는 것을 의미한다. 각각의 인터럽트에 대해 인터럽트 서비스 루틴(interrupt service routine)이나, 인터럽트 핸들러(interrupt handler)라고 불리는 소량의 코드가 존재한다. 인..

GPIO는 임베디드 시스템의 가장 기본적인 기능 중 하나로, GPIO가 없는 MCU는 없다. 모 교수님께서는 ‘마이크로 컨트롤러의 GPIO로 LED를 ON, OFF시킬 수 있다면, 마이크로컨트롤러를 마스터 한 것이나 다름없다’ 라는 지론을 펼치시곤 한다. STM32의 GPIO는 기본적인 입,출력 기능 외에 다음과 같은 기능을 제공한다.출력형태출력속도기능(세부)출력값Push-Pull10MHz기본적인 성능을 요구할 때 사용(평시)1일때 High, 0일 때 LowPush-Pull2MHzLow ↔ High 전환이 비교적 느릴 때 사용(저전력)1일때 High, 0일 때 LowPush-Pull50MHz통신등의 고속 전환이 필요할 때 사용(고성능)1일때 High, 0일 때 LowOpen-drain10MHz기본적인 성..

Maxon에서 공식적으로 제공하는 리눅스 라이브러리. Epos4 제어기 전용 간단한 profile velocity Mode와 profile position Mode를 가지고 있다. 전체적인 파일의 구조는 다음과 같다. examples에는 예제파일과 빌드파일이 들어있다 include에는 현재 동적 라이브러리도 작성된 명령셋들의 헤더가 저장되어있다. 다음의 명령어를 이용하여 install.sh를 먼저 설치해준다. @ ~/Epos4/EPOS_Linux_Library/ $ chmod +x install.sh $ sudo ./install.sh 드라이버를 usb로 연결해 준 후, 다음의 명령어를 사용해 HelloEposCmd 예제를 실행한다. @ ~/Epos4/EPOS_Linux_Library/examples/H..

HAL?HAL이란, Hardware Abstraction Layer의 앞 글자를 땄다. 글자 그대로 해석하면, 하드웨어 추상화 레이어라고 한다.위키피디아에 의하면 HAL은 하드웨어와, 운영체제의 소프트웨어 그 사이에 들어가는 추상계층을 의미한다.HAL을 사용하는 이유HAL은 하드웨어의 물리적 차이를 숨겨, 응용프로그램 혹은 코드를 짜는 사람에게 일관성을 제공하게 된다.예를 들어, 이러한 HAL이 없이 다양한 컨트롤러를 사용해야 한다면, 그 하드웨어에 맞는 특정한 응용프로그램을 작성해야 하고, 작성된 프로그램은 하드웨어 구성이 달라지는 경우 재활용 할 수 없게 된다는 문제를 갖게 된다.따라서, HAL은 몇 천 페이지나 되는 instruction set을 굳이 참고하지 않더라도 마이크로 컨트롤러의 제어 코드..

1.1 Control Systems컨트롤 시스템 엔지니어링은 매우 중요하다. 과거의 거의 대부분 컨트롤들은 기계적으로 수행되었지만, 현대에 가까워질 수록 전자적인 부분이 부각되고 있다.보통의 시스템은 정의된 입력과 출력, 그리고 블랙박스(내부를 알 수 없는)로 구성되어 있다.입력신호에 대한 변화는 출력신호에 영향을 끼치게 된다. 보통, 입력과 출력 신호들은 위치, 속도나 온도와 같은 물리적인 신호로 구성된다.히터가 설치된 방을 예시로 들면, 입력은 히터에서 만들어진 열 이고, 출력은 방의 온도로 나타낼 수 있다.컨트롤 시스템은 출력이 입력 명령(input command)를 추종하는 것을 보장한다. 따라서 어떤 변수가 컨트롤의 대상이 되는지에 대해 명확히 정의하는 것이 필수적이다. 때때로 컨트롤의 대상이 ..

아두이노 IDE의 경우 간단하게 사용하기에는 부족함이 없지만, 조금 더 확장시켜서 헤더를 직접 작성한다거나, 기타 심도있는 작업을 하기에는 무리가 있다. 그리하여 VSCode를 사용하여 환경을 구성하고 작업을 하곤 했다. https://juahnpop.tistory.com/71 아두이노 팁 #1. Visual Studio Code 아두이노 환경설정 Visual Studio Code(VS Code)로 아두이노 프로그래밍하기 본 포스트의 내용은 아두이노 프로그래밍을 위해서 필수로 필요한 부분이 아닙니다. Arduino IDE 로 프로그래밍을 하다가 좀 더 쾌적한 환경에서 juahnpop.tistory.com 위의 블로그는 내가 자주 참고하곤하던 환경구성 블로그이다. 위의 블로그를 따라 VSCode의 ..
- Total
- Today
- Yesterday
- 환경구성
- hardware
- 제어
- 제어기초
- 마이크로컨트롤러
- interrupt
- 맥슨모터
- 인터럽트
- 하드웨어
- Configuration
- hal
- 아두이노
- GPIO
- 식별자
- layer
- 추상
- epos
- gitignore
- STM32
- abstraction
- epos4
- 입출력
- MAXON
- serial1
- Microcontroller
- vscode
- 라이브러리
- D/Aconverter
- 하드웨어추상계층
- arduino
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |