"조도제어기:독립제어기"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(→동작 로직) |
(→결선도) |
||
| 39번째 줄: | 39번째 줄: | ||
== 결선도 == | == 결선도 == | ||
* 전체 결선도 | * 전체 결선도 | ||
[[파일:조도 독립제어기 회로도.png|가운데|독립제어기 회로도]] | |||
* 주소 설정 | * 주소 설정 | ||
*: Arduino-UNO 내부의 'Address-Circuit'은 RS485를 사용하지 않는 경우에는 아무것도 연결하지 않는다. | *: Arduino-UNO 내부의 'Address-Circuit'은 RS485를 사용하지 않는 경우에는 아무것도 연결하지 않는다. | ||
2021년 9월 7일 (화) 13:45 판
개요
- 독립으로 운영 가능한 조도 제어기를 만드는데 필요한 내용을 기술한다.
개념
- Arduino를 이용하여 조도를 감지하고, LED의 밝기에 대응되는 PWM 신호를 출력한다.
- Dimmer 기능이 내장된 LED Driver에서 Arduino의 PWM 신호를 받아서 LED를 알맞게 조절한다.
- 사용되는 환경이 습도가 높으므로, 기초적인 방수 기능을 고려한다.
재료 목록
| 번호 | 항목명 | 사양 | 필요수량 | 구매가격 | MOQ(수량) | MOQ가격 | 단가 | 비고 | Link |
|---|---|---|---|---|---|---|---|---|---|
| 1 | LED Bar | Green 3-LEDs, 12V 25mA, 60-LEDs/m | 2m (=20EA×3-LEDs×2) | ₩32,040 | 240EA(×3-LEDs) | ₩192,240 | ₩801 | - | https://www.eleparts.co.kr/goods/view?no=10395753 |
| 2 | Plastic Tube | 투명 원통, 1m×12mm(OD)×8mm(ID) | 2m (=2EA) | ₩33,360 | 1EA | ₩16,680 | ₩16,680 | - | https://www.eleparts.co.kr/goods/view?no=4017971 |
| 투명 원통, 1m×12mm(OD)×8mm(ID) | ₩11,300 | 1EA | ₩7,050 | ₩7,050 | 배송비 ₩2,800 | http://item.gmarket.co.kr/detailview/item.asp?goodscode=334378211 | |||
| 3 | End-Cap | QSEC120-25/8.5-QB150 | 2EA | ₩6,240 | 1EA | ₩3,120 | ₩3,120 | - | https://www.eleparts.co.kr/goods/view?no=3638851 |
| QSEC110-14/5-01-QB200 | ₩3,680 | 1EA | ₩1,840 | ₩1,840 | - | https://www.eleparts.co.kr/goods/view?no=3638850 | |||
| 4 | 열수축 케이블 부츠 | 12.7mm-2.29mm | 2EA | ₩1,528 | 1EA | ₩764 | ₩764 | - | https://www.eleparts.co.kr/goods/view?no=3639112 |
| 5 | LED Driver | 12V 1.8A 21.6W, 2in1 Dim | 1EA | ₩28,100 | 1EA | ₩28,100 | ₩28,100 | - | https://www.eleparts.co.kr/goods/view?no=7581075 |
| 6 | PWM Level Converter | 3.3V-to-12V | 1EA | ₩979 | 1EA | ₩979 | ₩979 | - | https://www.eleparts.co.kr/goods/view?no=9372429 |
| 7 | Arduino (IIC, PWM, UART) | Arduino UNO WiFi | 1EA | ₩6,600 | 1EA | ₩6,600 | ₩6,600 | - | https://www.eleparts.co.kr/goods/view?no=8107698 |
| Arduino Leonardo | ₩8,690 | 1EA | ₩8,690 | ₩8,690 | - | https://www.eleparts.co.kr/goods/view?no=8107744 | |||
| 8 | Power for Arduino | 9V 1A | 1EA | ₩5,340 | 1EA | ₩5,340 | ₩5,340 | - | https://www.eleparts.co.kr/goods/view?no=2685220 |
| 9 | 조도 센서 | 0~65Klx, 3V~5V | 1EA | ₩3,190 | 1EA | ₩3,190 | ₩3,190 | - | https://www.eleparts.co.kr/goods/view?no=3217894 |
| 0~167Klx, 5V | ₩16,610 | 1EA | ₩16,610 | ₩16,610 | - | https://www.eleparts.co.kr/goods/view?no=4310126 | |||
| 10 | RS485 | UART-to-RS485 with Isolation | 1EA | ₩13,204 | 1EA | ₩13,204 | ₩13,204 | - | https://www.eleparts.co.kr/goods/view?no=10348199 |
| 11 | data cable | Cat.5e utp | 2m | ₩208 | 300m | ₩31,100 | ₩104 | - | https://www.coupang.com/vp/products/169628587 |
| 12 | Power cable | VCTF 0.75㎟ 2C | 4m | ₩1,600 | 100m | ₩40,000 | ₩400 | - | https://www.11st.co.kr/products/1158998065 |
| 13 | data wire | Jumper cable 10cm M/F | 20Pin | ₩990 | 40Pin | ₩1,980 | ₩1,980 | - | https://www.eleparts.co.kr/goods/view?no=7488202 |
| 14 | Power Plug | 무접지 220V 2A 이상 | 1EA | ₩362 | 20EA | ₩7,240 | ₩362 | - | https://www.eleparts.co.kr/goods/view?no=1144820 |
| 15 | Power Concent | 2구 220V 5A 이상 | 1EA | ₩1,190 | 10EA | ₩11,900 | ₩1,190 | - | https://www.eleparts.co.kr/goods/view?no=7638235 |
| 16 | Main Case | 200㎜(W)×150㎜(H)×150㎜(D) 이상 | 1EA | ₩5,214 | 1EA | ₩5,214 | ₩5,214 | - | https://www.eleparts.co.kr/goods/view?no=7496667 |
| 17 | Sensor Case | 투명, 40㎜(W)×20㎜(H)×20㎜(D) 이상 | 1EA | ₩2,979 | 1EA | ₩2,979 | ₩2,979 | - | https://www.eleparts.co.kr/goods/view?no=118286 |
| 18 | 케이블 그랜드 | 3~6㎜ | 4EA | ₩820 | 10EA | ₩2,050 | ₩205 | - | https://www.eleparts.co.kr/goods/view?no=117096 |
- 기타 : 전원 연결 선 필요. (설치 장소에 따라 길이 달라짐)
- 1 Set 재료비 : ₩200,000(양산) / ₩400,000(샘플)
₩141,384(양산) / ₩390,684(샘플) : 납땜 등 누락되었음.(개발비용 포함)
결선도
- 전체 결선도
- 주소 설정
- Arduino-UNO 내부의 'Address-Circuit'은 RS485를 사용하지 않는 경우에는 아무것도 연결하지 않는다.
- D2/D3 pin은 Scan line으로, D4/D5/D6/D7은 Data line으로 사용한다. 1N4148 (최대 8개)를 이용하여 각 Board별로 회로를 구성하여 사용한다.
동작 로직
- 내부 변수 기본값 설정/복원
- EEPROM 값으로 주요 변수 복원 (조도 기본값은 225㏓이고, ±25㏓를 Hysterisys 범위로 함)
- Digital-I/O에서 주소 값 읽음. (통신 적용시 0x01~0x7E 범위의 값을 가짐)
- 내부 기능 정상 여부 확인
- 조도 센서 부착되어 있으면,
- 통신으로 값 읽어오기.
- LED를 100%로 켜서, 조도센서 값 변하는지 확인.
- 조도 센서 없으면,
- LED를 0.5초마다 10%씩 증가시켰다가, 100%가 되면 1초간 유지하고, 다시 0.5초마다 10%씩 감소시켜서 끔.
- 조도 센서가 있는데, 값에 변화가 없으면, 1.5초 간격으로 LED를 0%/100% 반복 함.
- 문제 없다고 판단되면, 다음 단계로 이동 함.
- 조도 센서 부착되어 있으면,
- 통신 상태 확인
- 통신 버퍼에 데이터가 수신되어 있으면, 처리 함.
- 조도 기본값 및 오차범위가 변경된 경우, EEPROM에 기록 함.
- 조도 센서 값 확인
- 조도 센서는 최소 0.5초 간격으로 확인 함. 즉, 최근 확인 후 0.5초 이상 경과해야만 조도 센서 값을 갱신 함.
- LED 상태 제어
- 조도 센서 값을 확인한 후에만 LED 값을 변경 함.
- 기준 상한값 이상이면 1% 감소시킴. (어둡게)
- 기준 하한값 이하이면 1% 증가시킴. (환하게)
- 동작 반복
- '통신 상태 확인', '조도 센서 값 확인', 'LED 상태 제어' 루틴을 반복해서 수행 함.
통신(원격) 제어
- 원격지에서 RS485를 이용한 Modbus-RTU 통신으로 조명제어기를 제어/모니터링 할 수 있다.
- 모니터링
- 현재 조도 센서값, 제어 기준값(중심, 상한, 하한) 확인, 제어 출력값
- 제어
- 제어 기준값(중심, 상한, 하한) 변경, 제어 출력 강제 지정 -단, 통신 오류 등을 고려하여 한번 지정하면 10분간 유효하다-
- 모드버스 맵
- ...
