전체 글
-
아두이노 | 디지털 인터럽트Technology/Arduino 2024. 11. 15. 17:31
1. 디지털 인터럽트 디지털 인터럽트는 디지털 신호가 특정 조건을 만족할 때 자동으로 특정 함수를 실행하는 기능이다. 이때 아두이노 루프 함수에서 실행되던 프로그램은 일시 정지되고, 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)에 할당된 프로그램을 먼저 실행한 뒤, 루프 함수에서 실행되던 프로그램을 다시 실행한다. 조건문으로 디지털 신호를 감지하여 프로그램을 실행하는 것과 무엇이 다른지 비교해보기 위해 아래 예시를 살펴보자. volatile byte LEDState = LOW; // LED 상태 변수 정의volatile byte SwitchState = LOW; // 택트 스위치 상태 변수 정의void setup(){ pinMode(11, OUTPUT); // 디지털..
-
아두이노 | 바이폴라 스텝모터 드라이버 TB6600 모듈Technology/Arduino 2024. 11. 14. 17:53
1. 바이폴라 스텝모터 드라이버 TB6600 모듈 바이폴라 스텝모터 드라이버 TB6600 모듈은 바이폴라 스텝모터 1개를 양방향으로 제어할 수 있다. 바이폴라 스텝모터 전자석 단자에 스텝모터를 연결하고, 회전 방향 제어 단자와 제어 단자에 디지털 신호를 가하면 스텝모터가 동작한다. 외부 전원은 DC 40V까지, 출력 전류는 3.5A가지 지원하고 있어 대부분의 NEMA 23급 바이폴라 스텝모터를 제어할 수 있으며, 바이폴라 스텝모터 드라이버 A4988 모듈과 마찬가지로 스텝모터로 공급되는 전류를 제한하는 기능이 있어 스텝모터와 회로를 보호할 수 있다. 바이폴라 스텝모터 드라이버 TB6600 모듈은 아래 링크로 접속하면 구매할 수 있다. TB6600 스테핑 모터드라이버사용 가능 모터 : 2상 및 4상 바..
-
아두이노 라이브러리 | 스텝모터 가속 제어 AccelStepper.hTechnology/Arduino 2024. 11. 13. 09:36
1. 스텝모터 가속 제어 앞서 소개한 방법으로 스텝모터를 제어했다면 스텝모터의 동작이 부드럽지 않았을 것이다. 이는 위 그림의 왼쪽 그래프처럼 스텝모터의 회전을 갑자기 변속했기 때문이다. 부드러운 동작을 원한다면 위 그림의 오른쪽 그래프처럼 일정한 시간동안 스텝모터의 회전 속력을 연속적으로 변경해야 한다. 이러한 가속 제어는 유니폴라 스텝모터 드라이버의 경우 반복문을 사용하여 한 단계 동작할 때마다 회전 속력을 서서히 변경하는 것으로, 바이폴라 스텝모터 드라이버의 경우 반복문을 사용하여 단계 제어 단자에 입력하는 펄스 주기를 서서히 변경하는 것으로 직접 구현할 수 있다. 2. 아두이노 라이브러리 추가 아두이노 플랫폼에는 스텝모터의 가속 제어를 위한 알고리즘이 라이브러리로 구현되어 있다. 그러나 기..
-
일시적인 체중 증감 원인과 단기간 체중 감량 방법Health/Diet 2024. 11. 12. 00:35
1. 체중 우리는 체지방을 줄이기 위해 식단과 운동을 병행하고는 한다. 이때 다이어트의 효과가 얼마나 나타나고 있는지 확인하기 위한 척도로 체중을 많이 이용하는 편인데, 체중은 근육과 지방 등을 모두 포함하는 수치이므로 체지방 감량 정도를 알아보는 척도로는 바람직하지 않을 수 있다. 체중이 줄었더라도 근육이 줄었는지, 체지방이 줄었는지, 혹은 체수분과 같은 다른 요소가 줄었는지 알 수 없기 때문이다. 특히 체내 수분량은 당일에 섭취한 음식과 활동량에 따라 변동이 심하기 때문에 체중을 체지방 감량 척도로 삼기에는 오차가 크다고 볼 수 있다. 2. 일시적인 체중 증감 원인 최근에는 이러한 사실이 널리 알려져 있어 근육량과 체지방량을 정량적으로 추정하는 체성분 분석기를 이용하지만, 여전히 체중이 다이어..
-
투자 지표: 계량투자의 종목 선택 기준Capital/Quant 2024. 11. 11. 00:18
1. 투자 지표 계량투자는 기업 재무제표에서 추출한 정량적인 지표를 기준으로 투자 종목을 선택한다. 많은 경제학자들이 계량투자 방식으로 시장을 뛰어넘는 수익률을 달성하기 위해 새로운 투자 지표를 발굴하고 백테스트를 거쳐 그 효과를 검증하였다. 지금까지 다양한 종류의 투자 지표가 개발되었지만, 각 지표가 의미하는 바에 따라 크게 세 가지로 분류하면 ▲가치 지표, ▲수익성 지표, ▲추세 지표로 나눌 수 있다. 2. 가치 지표 가치 지표는 기업의 순이익이나 자본을 시가총액과 비교하여 가치를 따지는 지표로, 시장이 기업 가치를 얼마로 평가하고 있는지 알 수 있다. 가치 지표가 높을수록 시장이 회사를 상대적으로 고평가하고 있다고 볼 수 있으며, 반대로 해당 지표가 낮을수록 회사를 상대적으로 저평가하고 있다..
-
퀀트 프로젝트 | 파이썬으로 PER+PBR 콤보 전략 구현하기Capital/Quant 2024. 11. 10. 00:09
1. PER+PBR 콤보 전략 모든 한국거래소 상장 기업의 투자지표를 확보했다면 투자 전략에 따라 투자 종목을 선별해보자. 수많은 투자 전략이 있지만, 이번 프로젝트에서는 가치 지표를 활용한 콤보 전략을 파이썬으로 구현해보자. 콤보 전략은 여러 가치 지표의 순위를 매겨 종합한 수위에 따라 투자하는 전략이다. PER, PBR, PSR, PCR 네 개 지표의 순위를 각각 매긴 후 각 순위를 모두 더해 종합순위를 산출한 뒤, 종합순위 상위 5% 종목에 투자하는 것이다. 하지만 이번 프로젝트에서는 문제를 단순화하기 위해 PER과 PBR만을 가지고 투자 종목을 선별할 것이다. 2. 프로젝트2.1. 코스피 코스닥 종목코드 목록 생성 퀀트 프로젝트 | 파이썬으로 코스피 코스닥 종목코드 불러오기 FinanceDat..
-
아두이노 | 바이폴라 스텝모터 드라이버 A4988 모듈 마이크로 스테핑Technology/Arduino 2024. 11. 9. 01:34
1. 마이크로 스테핑 스텝모터는 하드웨어 설계에 따라 최소 회전 단위가 결정되어 있다. 앞서 다루었던 바이폴라 스텝모터의 경우, 최소 회전 단위가 1.8도로 정해져있다. 하드웨어로 최소 회전 단위가 결정되어있더라도 전자석을 적절하게 제어하면 최소 회전 단위를 줄일 수 있는데, 이를 마이크로 스테핑(microstepping)이라고 한다. 마이크로 스테핑을 이용하면 하드웨어로 인한 최소 회전 단위가 1.8도인 바이폴라 스텝모터가 0.9도 이하로 회전할 수 있게 되며, 기존 제어 방식보다 부드러운 움직임을 기대할 수 있다. 2. 풀 스텝과 하프 스텝 스텝모터는 기본적으로 풀 스텝(full step)으로 동작한다. 위 그림과 같이 인접한 두 전자석에 전류를 흘려주면 기어가 자력에 의해 두 전자석 사이에 ..
-
아두이노 | 바이폴라 스텝모터 드라이버 A4988 모듈Technology/Arduino 2024. 11. 8. 12:37
1. 바이폴라 스텝모터와 유니폴라 스텝모터 스텝모터는 전자석에 감겨 있는 전류선의 배선 방식에 따라 바이폴라(bipolar) 스텝모터와 유니폴라(unipolar) 스텝모터로 구분된다. 바이폴라 스텝모터는 모터로부터 네 가닥의 전류선이 나오는 반면에, 유니폴라 스텝모터는 다섯 가닥 혹은 여섯 가닥의 전류선이 모터로부터 나오는 것으로 스텝모터의 종류를 구분할 수 있다. 앞서 다루었던 스텝모터 28BYJ-48에는 전류선 다섯 가닥이 있으므로 유니폴라 스텝모터에 해당한다. 두 종류의 스텝모터가 같은 크기를 가지고 있다면, 바이폴라 스텝모터가 더 큰 토크를 내며, 유니폴라 스텝모터가 더 빠른 최대 회전 속력을 보인다. 2. 바이폴라 스텝모터 드라이버 A4988 모듈 바이폴라 스텝모터 드라이버 A4988 모..