산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

실험실 및 과학 프로젝트를 위한 온도 측정

소개

모든 실험실(가정, 사무실, 학교)에는 온도 측정 기능이 필요합니다. 과학 실험을 위한 온도 측정은 어렵습니다. 모든 종류의 재료, 액체 및 화학 물질이 관련되거나 넓은 온도 범위를 다루어야 할 수 있습니다. 이에 사용되는 센서(열전대)는 인터페이스하기 쉽지 않으며 센서 증폭기는 매우 작은 전압을 측정할 수 있어야 하기 때문에 간단하지 않습니다.

사용할 수 있는 과학 실험의 유연성을 위해서는 빠른 응답과 좋은 업데이트 속도와 함께 높은 정확도가 필요합니다. 데이터는 편리한 형태로 기록되어야 하고 사용하기 쉬워야 하는 것은 당연합니다.

편의를 위해 미리 만들어진 온도 측정 및 로깅 제품이 있습니다. 때로는 소프트 버튼 과부하와 제한된 디스플레이로 인해 사용하기 쉽지 않습니다. 또한 대규모 연구실이나 강의실 사용 정보는 기록되고 사람들이 쉽게 검색할 수 있어야 하며 아마도 큰 화면에서 현재 상태를 볼 수 있어야 합니다. 또한 일부 실험은 시간이 오래 걸릴 수 있으므로 점심 시간에 휴대 전화로 실험을 확인하는 기능도 유용합니다. 마지막 요구 사항은 전자 제품과 소프트웨어를 처음 접하는 사람들도 쉽게 만들 수 있어야 한다는 것이었습니다.

이 프로젝트는 열전대 보드를 Raspberry Pi(RPI)에 연결하고 이를 뛰어난 성능과 초저가로 온도 측정 및 로깅에 사용하는 방법을 보여줍니다. 이 프로젝트는 간단합니다. 원하지 않는 한 납땜이 필요하지 않습니다. RPI에서 'DIL(dual-in-line) 헤더' 커넥터를 아직 사용하지 않았다면 사용하기 시작하는 것도 좋은 프로젝트입니다.

디자인 개요

많은 열전대 기반 취미 프로젝트는 MAX31855 집적 회로를 사용하며 기성품 '열전대 증폭기' 보드는 여러 공급업체의 RPI에 연결할 수 있습니다. 그러나 이 프로젝트는 Texas Instruments의 훨씬 더 높은 해상도의 ADS1118을 사용합니다. 표면 실장 패키지로 제공되지만 다행스럽게도 LCD 디스플레이와 열전대를 포함한 모든 회로를 포함하는 기성 ADS1118 개발 보드를 사용할 수 있습니다. 이는 가격대비 매우 좋은 제품입니다. 납땜을 좋아하지 않는다면 8개의 점퍼 와이어(수-대-수)를 사용하여 이 보드를 Raspberry Pi(또는 다른 컴퓨터 보드 - 직렬 주변 장치 인터페이스 또는 SPI라고 하는 표준 기반 통신 방법 사용)에 연결할 수 있습니다. 암 케이블이 필요합니다). 또는 납땜 연습이 마음에 들지 않으면 작은 어댑터 보드를 구성할 수 있습니다. 이것이 여기에서 취한 접근 방식이었습니다. 요약하면 아래 사진에서 조립된 어댑터 보드를 포함하여 이 프로젝트에 사용된 모든 비트를 볼 수 있습니다.

전체 프로젝트는 웹 브라우저나 명령줄을 통해 제어할 수 있습니다.

어댑터 보드를 구축하는 가장 간단한 방법은 회로 보드를 사용하는 것입니다. EAGLE 소프트웨어를 사용하여 PCB 제조업체에 보낼 준비가 된 파일이 이 게시물에 첨부된 디자인을 그렸습니다(10개의 보드에 약 $30).

또는 프로토타이핑 보드를 사용할 수 있습니다. 나는 성능 보드 (스트립 보드가 아닌 절연 패드가있는 유형)를 가져와 크기에 맞게 자릅니다. 지지 기둥(나사산 육각 스페이서)을 부착하기 위해 3mm 구멍을 뚫었습니다. 열전대 판독에 영향을 줄 수 있는 온도 변화와 소음 문제를 최소화하기 위해 보드는 서로 겹치지 않고 나란히 있습니다.

ADS1118 보드를 성능 보드의 패드 쪽에 꽂는 기능을 원했기 때문에 여기에 약간의 복잡성이 있습니다. 해결책은 구부러진 SIL 헤더를 사용하는 것이었습니다. 10-way SIL 헤더가 필요합니다(사진은 제가 가지고 있는 8-way를 보여줍니다) – 또는 비슷하지만 양쪽에서 구부러진 끝이 번갈아 있는 표면 실장 헤더를 사용하십시오. 성능 기판이 아닌 회로 기판을 사용하는 경우 직선 SIL 헤더가 필요합니다.

정렬하려면 ADS1118 보드에 연결하고 성능 보드 위에 배치한 다음 몇 개의 핀을 땜납으로 고정합니다. 그런 다음 ADS 보드를 아주 부드럽게 분리할 수 있고 SIL 헤더를 적절하게 납땜할 수 있습니다. 이 단계에서 보드에서 패드를 뜯지 않고 플러그를 뽑는 것은 매우 어렵습니다. ADS1118 보드의 플러그를 뽑는 동안 보드에 대해 SIL 헤더의 구부러진 부분을 잡으십시오.

다음으로, SIL 헤더를 매우 안전하게 만들기 위해 각 핀을 가능한 한 많은 패드에 납땜합니다(각 패드는 3개의 패드에 납땜할 수 있음).

연결을 식별하려면 아래의 핀 번호 매기기 사진과 다음 표를 참조하십시오.

+ 소스 뷰 일반 확장
  1. * 연결:
  2. * TI 보드 RPI B+
  3. * ———— ——————
  4. * P1_1 VCC 1 3.3V
  5. * P1_7 CLK 23 CLK
  6. * P1_8 ADS_CS 26 SPI_CE1
  7. * P2_8 LCD_CS 24 SPI_CE0
  8. * P2_9 LCD_RS 11 GPIO_17_GEN0
  9. * P2_1 GND 9 GND
  10. * P2_6 SIMO 19 MOSI
  11. * P2_7 SOMI 21 미소

소프트웨어 및 보드 기능을 테스트한 후 일부 에폭시 수지 접착제(예:Araldite)를 사용하여 SIL 헤더를 더욱 안전하게 만들 수 있습니다. 필요한 경우 핀에 솔더링을 할 수 있도록 최소한의 양만 사용했습니다.

앞에서 언급한 PCB 접근 방식을 사용하면 PCB가 도착하면 헤더 핀과 리셉터클을 납땜할 수 있고 쉬운 작업(5분 소요)이므로 특히 많이 만들어야 하는 경우 PCB가 선호되는 방법입니다(I 여러 개 만들 예정). SIL 대신 DIL 헤더 핀을 사용했지만 이 게시물에 첨부된 PCB 레이아웃과 함께 작동합니다.

소프트웨어

여기 다이어그램은 전체 솔루션 개요를 보여줍니다. 대부분의 코드는 3개의 파일에 있습니다. ADS1118 보드에 인터페이스하는 코드는 원하는 경우 이 코드를 독립 실행형으로 실행할 수 있기 때문에 먼저 논의됩니다. 다이어그램에서 보라색으로 표시됩니다.

소프트웨어를 만들기 위해 가장 먼저 할 일은 로고를 만드는 것입니다.

+ 소스 뷰 일반 확장
  1. /******************************************** ************************************************** ***
  2. * therm.c
  3. * RPI <-> 430BOOST-ADS1118 열전대/LCD 보드
  4. *
  5. * __ __ ____ _____
  6. * ____ | | ____ _____ ____ _____/ |_ /_ | / | |
  7. * _/ __ \| | __/ __ \ / \_/ __ \ / \ __\ | |/ | |_
  8. * \ ___/| |_\ ___/| 예 예 \ ___/| | \ | | / ^ /
  9. * \___>____/\___>__|_| /\___>___| /__| |____\____ |
  10. * \/ \/ ​​\/ ​​\/ ​​\/ ​​|__|
  11. *

다음 단계는 TI가 일반적으로 제공하는 풍부한 코드를 활용하는 것입니다. 이 경우 TI는 재사용할 수 있는 MSP430 런치패드용 고품질 ADS1118 코드를 이미 보유하고 있었습니다. Gert van Loo와 Dom의 일부 입출력(I/O) 코드를 사용하여 RPI에서 사용할 수 있도록 약간 조정되었습니다.

온도 측정은 쉬운 작업(ADC 값을 읽고 온도로 변환)으로 보일 수 있지만 열전쌍에는 '냉접점 보상'이 필요합니다. 이는 ADS1118의 경우 내부 온도 센서도 읽는다는 것을 의미합니다. 코드는 내부 센서와 외부 열전대를 판독하는 인터리브를 수행합니다. 또 다른 요점은 열전쌍 출력이 온도에 비해 선형이 아니라는 것입니다. 열전대 제조업체는 ADC 값에서 실제 온도로 더 정확하게 변환하는 데 사용할 수 있는 데이터를 게시합니다. TI 코드에는 이미 제공된 열전쌍에 대한 이러한 기능이 포함되어 있습니다.

코드는 로깅 기능을 추가하도록 조정되었습니다. 보드는 RPI의 노이즈가 있는 3.3V 전원으로 전원을 공급해야 하고 RPI에 매우 가깝기 때문에 측정을 정리할 수 있도록 몇 가지 단계를 수행해야 합니다. 구현된 알고리즘은 1초마다 내부 온도 센서를 한 번 읽고 외부 열전쌍을 짧은 버스트(총 수백 밀리초)로 10번 읽어 측정값을 평균화하고 최종적으로 0.1°C 분해능으로 출력할 수 있습니다. 최종 결과는 매우 좋았습니다. 여기에서 몇 가지 예시 출력을 참조하세요.

LCD에는 16자 2줄이 있으므로 시간과 현재 열전대 온도를 표시하는 데 맨 아래 줄을 사용하기로 결정했습니다. 맨 윗줄은 사용자에 따라 다릅니다. 사람들이 실험에 대해 즉시 알 수 있도록 무언가로 설정할 수 있습니다. 예를 들어 "테스트 #1" 또는 "만지지 마세요"라고 말할 수 있습니다.

코드를 사용하는 것은 쉽습니다.

먼저 RPI에서 일부 기능이 활성화되어 있는지 확인합니다. RPI를 새로 사용하는 경우 운영 체제 설치 후 '고급 ' 메뉴 옵션을 선택한 다음 세 가지를 활성화합니다. SSH , SPII2C – 우리는 이 프로젝트에 이 모든 것을 사용하지 않지만 모니터에서 RPI를 분리하거나 RPI의 40-way DIL 커넥터를 사용하지 않으려는 경우가 아니면 항상 활성화해야 하는 표준 기반 인터페이스입니다. OS 설치 후 이것이 완료되지 않은 경우 raspi-config를 입력합니다. RPI의 텍스트 창(명령 셸이라고도 함)에서 '고급을 선택합니다. '라는 메뉴가 나타납니다.

위에서 언급한 세 가지 기능이 활성화되어 있다고 가정하고 홈 디렉토리에서 작업을 위한 폴더를 만듭니다(예:development 그런 다음 therm이라는 하위 폴더 ) 소스 코드(이 게시물에 첨부됨)를 해당 하위 폴더에 복사합니다.

코드 유형을 컴파일하려면:

+ 소스 뷰 일반 확장
  1. gcc -o therm therm.c -lrt

이제 코드를 실행할 준비가 되었습니다. 이 프로젝트를 사용하는 몇 가지 방법이 있습니다. 한 가지 방법은 명령 셸에 명령을 입력하는 것입니다. 또 다른 방법은 웹 브라우저를 사용하는 것입니다. 이 두 가지 방법은 다음에 논의됩니다.

명령 인터페이스

코드는 'sudo를 사용하여 실행할 수 있습니다. ' 또는 수퍼유저(루트) 사용자로.

후자의 경우 루트 사용자가 되려면 먼저 sudo passwd root를 입력합니다. 한 번, 수퍼유저(즉, 루트 사용자) 암호를 만듭니다. 이제 수퍼유저가 되고 싶을 때마다 'su를 입력하면 됩니다. ' 하고 해당 비밀번호를 입력합니다. 언제든지 수퍼유저 권한을 종료하려면 'exit를 입력하세요. '. sudo를 선호하는 사람도 있고 불필요한 수갑이라고 느끼는 사람도 있습니다.

자세한 내용:실험실 및 과학 프로젝트를 위한 온도 측정


제조공정

  1. ADI:생물학적 및 화학적 감지를 위한 임피던스 및 전위차 AFE
  2. QR, RFID 및 온도 확인을 통한 출입 통제
  3. Python 및 Raspberry Pi 온도 센서
  4. Raspberry Pi의 간편한 온도 및 습도
  5. DIY:HomeBrew의 온도 모니터링 및 규정
  6. Raspberry Pi 온도 및 광 센서
  7. 가정 실험실에 필요한 테스트 및 측정(T&M) 장비
  8. 온도 및 습도 데이터 로거
  9. 온도 측정 자동 및 음성 안내
  10. 학교 및 대학에서 엔지니어링 프로젝트를 위한 재활용 재료 찾기