전체 글127 코딩 스타일 (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. Ethernet 인터페이스 (W5500) 1. Ethernet 구현이 필요한 경우를 대비Ethernet의 경우 고속 데이터 전송과 안정성을 자랑하는 통신 인터페이스이다. TCP/IP도 물리적계층으로 Ethernet을 포함하여 사용하고 있다. 그러나 마이크로컨트롤러와 연결해서 사용하는 일이 있을까 싶기도 하지만 Ethernet 인터페이스 하나로 수많은 프로토콜 (TCP/IP, UDP, HTTP, MQTT 등)을 구현할 수 있다는 엄청난 장점이 있다.(1) Ethernet 을 기반으로 하는 산업용 프로토콜 EtherCAT (Ethernet for Control Automation Technology)ProfinetModbus TCPEtherNet IP (Industrial Protocol)Ethernet을 기반으로 하는 산업용 프로토콜들은 주로 산.. 2024. 11. 29. PLC(Programmable Logic Controller) 와 시퀀스 1. 개념(1) PLC는 시퀀스 제어 (회로) 동작을 위한 장비PLC는 프로그래머블 로직 컨트롤러(Programmable Logic Controller)의 약자로 산업 기계설비에서 자동화 제어 및 모니터링에 사용되는 컴퓨팅 장치이다.전자제어를 위한 장치(소형 저전력 디바이스)라기 보다는 산업 전기(220V, 380V)를 사용하는 기계설비를 제어하기 위한 장치에 가깝다. 현장에 가보면 판넬이나 큰 모터를 구동하는 기계설비 등에 사용된다. 이를 "시퀀스" 라고 부르며 PLC의 본연의 기능은 사용자가 프로그래밍을 통하여 "시퀀스 제어 (회로)"를 구현하기 위한 장치 일 뿐이다.▼개념이해를 위해 PLC보다 먼저 알아야 할 것은 시퀀스이다.▼(2) 시퀀스 개념시퀀스는 미리 정해진 순서나 일정한 논리에 의해 제어하.. 2024. 10. 29. 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. 이전 1 2 3 4 5 ··· 13 다음