본문 바로가기

전체 글119

FreeRTOS 사용하기 1. FreeRTOS 개념RTOS는 임베디드 마이크로컨트롤러(MCU)에 올라가는 커널 운영체제의 일종이다. RTOS 개념과 왜 사용해야하는지에 대해서는 이미 정리한바 있으니 본 블로그의 포스팅을 참고바란다.https://www.freertos.org/ FreeRTOS™ - FreeRTOS™ freertos.orgFreeRTOS 운영체제 공식사이트에서 자세한 내용을 확인할 수 있다.주요특징으로는오픈 소스이며 무료이다. (GPL)각종 의료기기나 자동차 ECU 또한 FreeRTOS 커널을 통해 임베디드 S/W로 사용되어 진다.ARM, AVR, PIC, INTEL, ESP32 등 35개의 마이크로컨트롤러(MCU)에 이미 포팅되어 있으며 컴파일러에도 이식되어 있다.https://github.com/FreeRTOS.. 2024. 10. 16.
실내 IOT 환기시스템 설계 1. 개요과거에 실내 공기질 측정 시스템을 기획한 적이 있는데, 그동안 개발 업무와 바쁜 일정으로 인해 보류 되었었다.https://machinejw.tistory.com/80 IoT 실내 공기질 센서알리익스프레스에서 구매했던 샘플 케이스가 도착했다.생각보다 프로젝트를 구현하기 괜찮은 것 같다. 예상대로 별도의 가공은 필요 없을 듯 하며 투명이라 디스플레이를 PCB에 실장하면 잘 보machinejw.tistory.com최근 제어공학을 열심히 공부하고 있는 바 과거 조사했던 내용을 바탕으로 실내공기질을 측정하고 환풍기를 제어하는 IoT 시스템을 설계해보고자 한다.2. 제어 시스템 블록도제어 설정부 : 실제로 제어 시스템을 동작시키는 기준 신호를 발생하는 장치로 버튼이나 HMI 또는 IoT 웹 정도로 볼수 .. 2024. 10. 9.
제어 시스템 (Control System) 1. 제어 시스템의 구성(1) 개루프 제어 시스템 (Open-loop Control System)제어 시스템은 입력(Input)과 출력(Output)으로 구성되며, 입출력 사이의 관계도를 "블록선도"라 한다.개루프 제어시스템은 실제 출력값을 점검하여 목표값과 일치하는지 비교하는 과정 (피드백)이 없는 제어 시스템이다.개루프 제어시스템은 "자동제어" 라 할 수 없다. (굳이 분류하자면 순서제어, 시퀀스제어에 가깝다.)개루프 제어시스템은 "신호등", "ON/OFF 기능만 있는 전열기구" 등을 예로 들수 있다.결과 (목표치)에 대한 피드백이 없지만, 가격이 저렴하고 구조가 단순하여 고장이 적은 이점이 있다.(2) 폐루프 제어 시스템 (Closed-loop Control System)피드백(에러, 출력조정등의 .. 2024. 10. 8.
[C++] 클래스 상속(Inheritance) 개념 정리 1. 개요어느덧 C++ 클래스 설계 문법을 펌웨어 실무 (디바이스 라이브러리)에 적용하면서 익숙해져 가고 있다.최근 BSP 라이브러리와 링킹하여 사용하다가 클래스 상속과 관련된 부분에서 문제가 발생하였는데, 클래스 상속에 대한 개념을 다시한번 정리해보고자 하였다.2. 클래스 접근 제어자 (Access Specifiers) 복습C++에서는 다음과 같은 세 가지의 접근 제어 지시자를 제공한다.1. public2. private3. protected(1) public class MyClass {public: int publicVar; void publicMethod() { cout public으로 선언된 멤버는 어디에서나 접근 가능. 즉, 클래스 외부에서도 객체를 통해 직접 접근.. 2024. 10. 1.
센서 데이터 소스 1. IoT 센서 디바이스에서 수집되는 데이터의 사례IoT는 센서를 탑재한 다양한 디바이스가 연결되어 디바이스로부터 다양한 데이터를 취득할 수 있다.센서의 정밀도나 출력값의 연산 등은 임베디드 S/W에 의해 구현된다.본 포스팅의 관점은 센서의 원리와 구조보다는 "다양한 센서로 부터 어떤 데이터를 취득할 수 있는가" 에 중심을 둔다.센서의 본질을 파악하는 것도 중요한 기술이지만, 센서로 부터 어떤 데이터를 창출할 수 있는 가도 임베디드 구현에 있어서 매우 중요한 기술(센싱 기술)이라 볼 수 있겠다.(1) 스마트폰 디바이스GPS(Global Positioning System) : 위도, 경도의 데이터를 출력가속도 센서 : 스마트폰의 움직임, 흔들림, 가로, 세로 등의 판단자이로 센서 : 스마트폰의 회전 움직.. 2024. 9. 18.
회원별 당구 에버리지 데이터 분석 (feat. Pandas) 1. Data 분석 동기Python과 데이터분석을 활용하지 않은지 꽤 오래되어서 Pandas와 Matplotlib라이브러리 사용법을 잊어버리고 있었다...최근에 취미생활로 활동 중인 당구 동호회에서 회원별 에버리지 Data를 수집하고 있는데 이를 활용하여 그동안 잊고 지냈던 Python 감각을 일깨워 주고자 했다. 임베디드 영역에서도 온 디바이스 AI 열풍으로 AI 관련 기술을 익히는 건 아깝지 않다고 생각한다. (데이터분석은 AI 알고리즘을 활용하기 위해 매우 필요한 기술스택이다.)2.  원천 데이터 xlsx 파일을 csv 파일로 변환하기pip install pandas openpyxl # 당연히 Pandas는 설치되어야 한다.import pandas as pdavg_file = "AVG_Data.xl.. 2024. 9. 16.
[L4] 방화벽 (Firewall) 실무에서 네트워크 인프라 구축 중에 건물의 방화벽으로 부터 발생한 이슈가 있었다. 오늘은 OSI 4계층에 해당하는 방화벽 장비는 어떤 원리로 동작하는지 정리해보고 문제를 분석해보고자 한다.1. 방화벽의 개념"방화벽(Firewall)" 이라는 장비는 네트워크 중간 (대부분 LAN과 WAN 영역 사이)에 위치하여 해당 장비를 통과하는 트래픽을 사전에 주어진 정책 조건에 맞추어 허용하거나 차단하는 장비이다.네트워크에서 보안을 제공하는 장비를 넓은 의미에서 모두 방화벽의 일종으로 불러왔지만 일반적으로 네트워크 3,4 계층에서 동작하고 세션을 인지, 관리하는 SPI (임베디드 통신 SPI가 아니다... Stateful Packet Inspection의 줄임말) 엔진을 기반으로 동작하는 장비를 방화벽이라고 부른다... 2024. 9. 12.
전류 4-20mA 센서 , 전압 0-10V 센서 1. 산업용 센서센서의 출력 특성은 센서에서 생성되는 전기 출력 유형에 따라 달라진다. 센서의 출력은 대부분 전압, 전류 이고 아주 특이한 경우로 임피던스(저항)이거나 다른양의 함수일 수도 있다.스마트 팩토리나 자동화에 들어가는 센서들은 산업용 센서를 주로 사용하는데, 센서의 출력 특성이 4-20mA 전류이거나, 0-10V의 전압 신호이다. 특히 수치가 필요한 아날로그적 센서에 많이 사용된다. (디지털은 ON/OFF)종류에는 온도, 압력, 진동, 수분, 속도, 기울기 등이 있겠다.2. 센서 스케일 (Scale)센서를 사용할 때, 고려해야할 특성들은 여러가지가 있겠지만 기본적으로 스케일(Scale)을 따져봐야한다.스케일은 전압 전류 또는 디지털 값과 같은 전기적 신호로 데이터를 출력할 때, 이 데이터가 의.. 2024. 9. 10.
PNP BJT 스위칭 출력 이슈 1. 보드 설계 이슈 ( 디지털 출력 미동작)최근 보드 설계를 진행하였는데, 디지털 출력 기능이 동작하지 않는 현상이 발견됬다.스위칭 출력 용도를 위해 PNP BJT를 사용하였는데, 생각지도 못한 실수를 저지르고 말았다.2. NPN과 PNP 구조 다시 확인하기....ㅠNPN은 베이스(B) 전압이 이미터(E) 전압보다 0.7V (문턱전압) 커야 한다. (VB - VE > 0.7V)PNP는 이미터(E) 전압이 베이스(B) 전압보다 0.7V (문턱전압) 커야한다. (VE - VB > 0.7V) 회로도를 보면 SS8550 (PNP) 트랜지스터의 이미터(E) 전압과 베이스(B) 전압이 같은것을 확인 할 수 있겠다 즉, PNP 스위칭 동작이 수행되기 위한 VE - VB > 0.7V  조건을 만족하지 못한것이다. (.. 2024. 9. 5.
실시간 운영체제 (RTOS) 마이크로 컨트롤러(MCU)를 다루고 프로그래밍하는 임베디드 분야에서는 사실 RTOS의 필요성을 못느낄 수도 있는데, 사실 나도 그렇다. 운영체제(Operation System)는 프로그램 실행 관리를 수행하는 소프트웨어이다.운영체제에는 범용 운영체제와 실시간 운영체제 (Real Time Operating System, RTOS)가 있다.1. RTOS (Real Time Operating System) 개념RTOS의 목적은 정해진 시간(실시간)에 데이터 처리를 하기 위한 스케줄링 운영체제이다.임베디드 시스템이 가지는 시간 제약에는 실행 시작 타이밍이나 언제까지 처리를 완료할 것인지가 있다.처리를 종료시킨다는 것은 입력 Data를 받아 출력 Data를 출력하기까지의 처리를 완료시키는 것을 의미한다.시간제약은.. 2024. 9. 4.