이 프로젝트는 몇 가지 Duinotech 모듈과 기타 부품을 결합하여 다용도 도구를 만듭니다. 망원경에 사용되는 Dew Heater에서 영감을 받아 주변 온도와 습도를 감지하여 소형 히터를 제어합니다. 망원경뿐만 아니라 응결을 방지해야 하는 모든 제품에 사용됩니다.
가능한 한 많은 데이터를 활용함으로써 장치는 필요한 것보다 더 많은 전력을 사용하지 않으며 USB 배터리 팩에서 바로 작동할 수도 있습니다. 이슬점이나 주변 온도보다 높은 온도에서 작동할 수 있습니다. 백라이트 강도도 코드로 조정할 수 있으며 실제로 전문가 수준의 장치로 변신할 수 있는 3D 프린팅 인클로저도 설계했습니다.
| 수량 | 암호 | 설명 |
|---|---|---|
| 1 | XC4520 | 온도 및 습도 모듈 |
| 1 | XC4454 | LCD 컨트롤러 실드 |
| 1 | XC4410 | UNO 메인보드 |
| 1 | RN3440 | 10K 서미스터 |
| 1 | RR0596 | 10K 저항기 |
| 1 | RR0572 | 1K 저항기 |
| 1 | ZT2468 | MOSFET |
| 1 | XC4482 | 프로토쉴드 |
| 1 | WC6028 | 플러그 소켓 리드 |
| 1 | RR3264 | 5W 390 저항기 |
5W 저항은 히터 요소입니다. 더 많은 전력을 공급하려면 RR3254 15Ω 저항기를 사용해도 대부분의 USB 포트(최대 500mA)에서 약 1.6와트를 제공할 수 있습니다. 또 다른 옵션은 열을 더 잘 분산시키기 위해 여러 저항기를 병렬로 실행하는 것입니다. 더 많은 출력을 얻으려면 적절한 망원경 열 밴드를 사용해야 합니다. 일반적으로 RCA 플러그를 사용하므로 PS0250과 같은 RCA 소켓을 장착할 수 있습니다. 이 회로는 약 1A 이상의 전류를 처리할 수 없는 Proto Shield의 VIN 핀을 사용합니다.
대부분의 어셈블리에는 필요한 모든 추가 기능을 제공하기 위해 Proto Shield에 구성 요소를 추가하는 작업이 포함됩니다. Proto Shield에는 사실상 3개의 하위 회로가 있습니다. 하나는 서미스터용, 다른 하나는 습도 센서용, 세 번째는 히터용 MOSFET을 구동하는 것입니다.
아래 사진은 조립하는 한 가지 방법에 대한 지침을 제공하지만 Proto Shield에는 수많은 5V 및 GND 연결과 일부 짧은 스트립이 있는 작은 영역(흰색 직사각형으로 둘러싸여 있음)이 있으므로 이 위치를 놓기에 이상적인 장소입니다. 특히 5V와 GND 연결을 만들기 위해 이 모든 것이 함께 이루어집니다.


서미스터 서브회로는 다음과 같습니다.

위의 노란색 선은 A1과 각 저항 및 서미스터 중 하나로 연결되고 녹색 선은 5V로 연결되어 간단한 전압 분배기를 제공합니다.

상단의 검정색 와이어는 모듈의 S 핀을 D3에 연결합니다.
MOSFET 회로는 가장 복잡합니다.

위의 메인 사진에서 MOSFET의 리드는 위에서 아래로 보면 G(게이트), D(드레인), S(소스)입니다. 파란색과 보라색 와이어는 보드에서 39R 저항으로 연결되고, 두 개의 흰색 와이어는 VIN과 MOSFET 드레인에서 39R 저항으로 공급됩니다. 왼쪽의 10k 저항은 Uno가 켜져 있다고 지시하지 않는 한 MOSFET이 꺼지는 것을 보장하는 반면, 1k 저항은 MOSFET이 고장날 경우 약간의 절연을 제공합니다.
코드는 상당히 길며 4개의 서로 다른 라이브러리를 사용합니다. 운 좋게도 이들 중 하나만 설치하면 되며 나머지는 모두 Arduino IDE와 함께 제공됩니다. idDHT11 라이브러리는 온도 및 습도 센서를 읽고 이슬점도 계산합니다. 파일은 Telescope_Dew_Heater.ino입니다.
setup() 전에 모든 라이브러리와 전역 변수를 초기화합니다. 서미스터 온도 변환을 저장하는 대규모 배열 temps[] 도 있습니다. 정확성을 위해 모든 온도는 10분의 1도 단위로 계산됩니다.
설정 시 LCD가 초기화되고 EEPROM에서 값이 로드됩니다. 이것이 유효하면 해당 변수에 로드됩니다. DHT11 라이브러리는 백그라운드에서 읽기를 수행하므로 loop() 에서 필요할 때를 위해 지금 읽기를 시작합니다. 그런 다음 백라이트 강도를 설정합니다.
loop() 에서 스케치는 서미스터, DHT11 온도, 습도, 이슬점 및 키패드를 포함한 모든 입력을 읽습니다. 그런 다음 키패드에 반응합니다. 왼쪽을 누르면 히터는 'D' 모드의 이슬점 온도에서 작동하고, 오른쪽 버튼을 누르면 'A' 모드는 주변 온도로 작동합니다. 히터의 설정점은 0도에서 9도 사이의 위아래 버튼으로 설정됩니다. 선택 버튼을 사용하면 현재 설정을 EEPROM에 저장할 수 있습니다. 버튼을 누르고 있는 시간에 따라 센서 오류가 감지될 경우 기본 히터 출력이 결정됩니다.
온도 목표가 계산되고 핀 11의 PWM을 변경하여 히터 출력이 조정된 후 현재 출력 상태가 표시됩니다. 두 센서 중 하나에서 잘못된 판독값이 감지되면 메시지가 표시되고 히터가 기본 출력으로 설정됩니다.

위 이미지에서는 주변 온도가 26도인데 이슬점 온도가 11도이므로 히터는 이슬점 + 6도, 즉 17도를 목표로 하게 됩니다. 실제 망원경 온도는 26도라 히터가 꺼져있습니다. 오른쪽 버튼을 눌러 히터를 대기 모드로 전환하면 목표 온도는 32도가 되고 히터는 완전히 켜집니다. 정상 작동 시 서미스터는 가까이 있어야 하지만 히터 저항기에 닿아서는 안 됩니다. 그래야 변화에 신속하게 반응할 수 있습니다.
응용 분야에 맞게 기본 백라이트 설정을 변경하거나 EEPROM 설정 중 하나로 만드는 등 히터를 개선할 수 있는 부분이 많이 있습니다. 더 많은 전력이 필요한 경우 권장되는 MOSFET은 24V에서 최소 5A를 제공할 수 있습니다. 이 경우 전원 공급 장치를 MOSFET 회로에 직접 연결한 다음 VIN을 UNO 보드에 다시 공급하는 것이 좋습니다. 그렇게 하면 작은 PCB 트레이스가 그렇게 높은 전류를 처리할 필요가 없습니다. 이에 대한 옵션으로는 오래된 노트북 공급 장치 또는 12V SLA가 있을 수 있습니다. 시작 부분에서 언급했듯이 RCA 소켓을 사용하여 히터 밴드에 일반적으로 사용되는 연결을 표준화할 수 있습니다.