본문 바로가기

ALL123

코딩 스타일 (C++) C++에서 코딩 스타일의 규약은 가독성, 유지보수성, 성능, 안정성을 고려한다.특히, 임베디드 시스템에서는 메모리 제어와 성능 최적화가 중요한 만큼 일부 규칙이 일반적인 C++보다 더 엄격할 수 있다. 가독성과 일관성을 위한 규칙일뿐 반드시 지켜져야하는 부분은 아니나, 프로젝트를 누군가와 협업한다면 규칙을 지키는 것을 권장한다.1. 네이밍 규칙 (Naming Conventions)로컬 변수 : 소문자로 시작, 언더바 _ 로 단어 구분int sensor_value; // _ 구분float temperature_celsius; // 카멜표기법 멤버 변수 : m_ 접두사 사용class Sensor {private: int m_value;};전역 변수 : g_ 접두사 사용int g_system_status.. 2025. 3. 4.
DWIN DGUS HMI 개발 라이브러리 1. Embedded System에서 HMI의 역할HMI(Human-Machine Interface)는 사용자가 임베디드 시스템(Embedded System)과 상호작용할 수 있도록 하는 디스플레이, 터치스크린, 버튼, GUI 인터페이스 등을 의미한다. 임베디드 시스템은 주로 센서, 액추에이터, 마이크로컨트롤러(MCU) 등으로 구성되며, HMI를 통해 사용자에게 데이터를 표시하고, 제어 입력을 받을 수 있다. 즉, 여러 수동버튼을 하나의 화면으로 구성할 수 있다는 것이다.비유하자면 개인용 컴퓨터에서 모니터를 통해 사용자와 시스템이 상호작용 하듯이 PLC에서도 HMI를 통해 데이터를 시각화하고 사용자 입력을 받을 수 있음.개인용 컴퓨터에서 모니터 + 키보드 + 마우스가 사용자 인터페이스를 담당하듯, PLC.. 2025. 3. 2.
Embedded PLC IoT 보드 1. 알리익스프레스 인클로저 케이스알리익스프레스에서 인클로저 케이스를 저렴하게 구매하였다. 도면 자료를 도저히 찾을 수 가 없어서 직접 수령 이후 보드조립 규격에 맞도록 사이즈를 측정하였다. 사실, 해당 케이스는 작년 여름 쯤에 3000원 가격 정도에 구매하였으나 이전 프로젝트 (데이터수집장치) PCB 설계에 한번 실패하고 많은 돈을 잃었기 때문에 그동안 활용할 생각을 하지 못하였다...산전수전끝에 얼마전에 하드웨어 문제를 찾아서 개선했고 USB UART 회로를 구현하는데 성공하였다. 그래서 이번에는 좀 더 완벽한 형태의 PLC (Programmable Logic Controller)를 만들어보고자 한다.※ 인클로저 케이스란?전자기기, 자동차, 산업기기 등의 기계에 부착되어 장치(PCB)를 보호하는 케이.. 2025. 2. 27.
Embedded System 개발 문서화 임베디드 시스템은 일반적으로 큰 시스템의 일부로 통합된 전문화된 컴퓨터 시스템이다. 임베디드 시스템은 특정 기능을 수행하는 컴퓨터 엔진을 형성하기 위해 하드웨어와 소프트웨어 컴포넌트 조합으로 구성된다.최근 공부 중인 도서에서 임베디드 시스템에 대한 정의를 인상적으로 표현하였는데 다음과 같다." 최종 기능이 컴퓨터가 되지 않는 컴퓨터 " -  임베디드 시스템을 위한 소프트웨어 공학 총론 - "개발(Develop)" 이라는 것은 단순히 정해진 것 들을 프로그래밍 하는 것 만을 요구하지 않는다. 프로그래밍은 개발을 위한 도구이자 수단에 불과하며 "개발자의 역할은 단순한 코드 작성자 아닌 다양한 IT 기술들을 융합" 하여 새로운 것을 창조해내는 역할을 수행한다.임베디드 시스템 개발에서는 하드웨어와 소프트웨어가 .. 2025. 2. 25.
4-20mA Receiver 회로 설계 최근 가장 이상적인 PLC (Programming Logic Controller) 보드를 만들기 위해 나름 열심히 연구를 하고 있다.금번에는 ESP32 WROOM 32E (안테나 내장형 MCU)를 활용하여 Embedded System 원 보드화를 설계중이다.1. Current Sense Amplifiers (전류 감지 증폭기)최근 LCSC 부품 키워드를 참고하다 흥미로운 증폭기를 발견하였다. Current Sense Amplifiers (전류 감지 증폭기) 라는 부품인데 전류 감지를 위한 저항 (션트 저항)에서 만들어지는 전압을 증폭하기 위한 전용 증폭기이다.(1) CSAMP VS OPAMP Current Sense Amplifier (CSA) 는 전류 감지에 특화되어 있으며, 높은 공통 모드 전압 범위.. 2025. 2. 14.
임베디드 (ESP32) 보드 개발 이슈 사항 1. 데이터 수집 및 제어 (PLC:Programmable Logic Controller) 보드(1) 주요기능DC 24V / 2A (24W) 전원1602 I2C 디스플레이디지털 입력 : 24V 신호를 입력디지털 출력 : 24V 신호를 출력아날로그 입력 (4-20mA) : 4~20mA 신호를 입력아날로그 입력 (0-10V) : 0-10V 신호를 입력센서 입력 : CT(AC전류 센서) 입력, PT100(온도 센서) 입력GPIO 핀 (I2C SDA, SCL / ADC/ DI/ DO)부저 출력Ethernet (W5500 SPI 기반)MicroSD 카드 (SPI 기반)RS485/232 통신USB C Type ( 펌웨어 업로드 , 시리얼 디버깅용 )(2) 개발환경회로도 및 PCB 아트웍 : EasyEDA펌웨어 작업.. 2025. 1. 27.