제조공정
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
![]() |
| |||
| ||||
| ||||
| ||||
| ||||
|
| ||||
![]() |
|
Mr ThermoParcel:샘플 운송을 위한 온도 제어 컨테이너
목적은 기존의 우편 서비스로 민감한 샘플을 안전하게 운송하는 데 사용할 수 있는 온도 조절 용기를 개발하는 것입니다. Mr ThermoParcel이라는 프로토타입 장치는 4-37°C의 온도 범위에서 작동하며 주 어댑터, 내부 배터리 또는 자동차 담배 라이터나 노트북 충전기와 같은 기타 12V 소스로 전원을 공급할 수 있습니다.
우리 프로젝트의 기원
우리의 아이디어는 우리가 학술 연구에서 직면한 실제 문제, 즉 온도에 민감한 생물학적 샘플을 공동 작업자와 안전하게 교환하는 데서 비롯되었습니다. Viola는 말라리아 질병에 효과가 있으며 혈액 샘플을 보내거나 받아야 하는 경우가 많습니다. 그러나 샘플을 보관 및 운송 중에 올바른 온도로 유지하지 않으면 쉽게 분해되어 쓸모 없게 될 수 있습니다. 샘플에 말라리아에 특별한 반응을 보이고 희귀 환자에게서 나온 귀중한 유형의 혈액이 포함되어 있으면 더욱 실망스럽습니다.
이러한 유형의 혈액 샘플을 보내는 일반적인 방법은 배송 전에 완전히 동결하고, 냉동 제품은 일반 택배를 이용하고, 배송 후에는 조심스럽게 해동하는 것입니다. 동결/해동은 항상 샘플의 일부를 변경하거나 손상시키고 해동 프로세스 자체는 추가 화학물질이 필요한 특정 프로토콜을 따르기 때문에 여전히 비용이 많이 드는 것 외에도 이러한 시스템은 이상적이지 않습니다. 또한, 부적절한 보관 조건과 배송 알림 지연이 샘플 품질 저하의 빈번한 원인인 캠퍼스 소포 보관소에서 항목을 대학으로 배송하는 경우가 많습니다.
디자인 컨셉
우리는 화학 물질 배송에서 재사용되는 작은 소포 크기의 기존 폴리스티렌 컨테이너에 온도 제어 시스템을 통합했습니다. 우리는 혈액 샘플을 사용하여 최적화하고 테스트했지만, 동일한 시스템을 세포, 배양 배지, 온도에 민감한 화학 물질, 에멀젼 및 효소와 같은 광범위한 다른 생물학적 물질에 사용하거나 고체 품목에 적용할 수도 있습니다.
시스템의 개념은 그림 1에 나와 있습니다. . 냉각은 Peltier 모듈로 이루어지며, 차가운 쪽은 폴리스티렌 용기 내부의 작은 샘플 상자에 부착되고 뜨거운 쪽은 외부 방열판에 연결됩니다. 가열은 샘플 상자 내부에 배치된 히터 매트로 수행됩니다. 온도는 샘플과 접촉하는 센서를 사용하여 지속적으로 모니터링되며 가열/냉각 강도는 Arduino 컨트롤러에 의해 조절됩니다.
구현
컨테이너 하드웨어 디자인
외부 컨테이너는 치수가 250x250x250mm이고 벽 두께가 사방 45mm인 폴리스티렌 상자로 일반 우편 서비스와 함께 실험실 배달에 사용되는 일반적인 유형의 상자입니다. 내부에 플라스틱 인클로저(125x70x40mm)가 있으며 2개의 50mL 원심분리기 튜브가 있습니다. 이 튜브는 생물 및 감염 물질 카테고리 B UN3373에 대한 규정에 따라 2차 포장 역할을 합니다(링크: http://www.un3373.com/info/regulations/ ). 기본 샘플은 누출을 방지하기 위해 흡수성 조직으로 분리된 검체를 포함하는 6개의 2mL Eppendorf 튜브입니다. Mr ThermoParcel은 단단한 2차 포장을 더 많은 양의 시료를 담을 수 있는 유연한 파우치로 대체하여 최대 50mL의 액체 시료를 저장할 수 있습니다. 최대 3~4개의 15mL 튜브(링크:https://www.alphalabs.co.uk/laboratory-products/consumables/sample-handling/sample-transport/95kpa-pouches). 내부 상자 내부의 가열/냉각 균일성을 개선하고 구리 시트, 샘플 및 온도 센서 간의 열 접촉을 보장하기 위해 샘플 주위에 전기 절연성 고체 경화 젤을 부었습니다. 샘플이 들어 있는 내부 상자는 그림 2에 나와 있습니다. .
냉난방 시스템
내부 온도는 샘플과 접촉하여 배치된 100Ohm Pt 저항 온도계(또는 저항 온도 감지기, RTD)로 모니터링되고 Peltier 모듈(냉각) 또는 히터 매트(가열)를 사용하는 PID 시스템으로 제어됩니다. 펠티에의 열을 상자 외부로 발산하기 위해 펠티에 모듈의 뜨거운 면은 3개의 구리 히트 파이프를 통해 외부 구리 및 방열판(CPU 냉각기)과 열 접촉합니다. 차가운 쪽은 상자를 통과하는 얇은 구리 시트에 부착되어 샘플을 균일하게 냉각시킵니다. 열 결합에 대한 자세한 내용은 그림 3에 나와 있습니다. .
가열 매트는 온도 센서 및 샘플과 접촉하는 내부 인클로저 내부에 배치됩니다.
전자 및 배선
냉방 및 난방 조절
Mr ThermoParcel이 사용하는 Peltier 모듈은 최대 냉각 전력에서 3.9A 및 7.6V 정격입니다. 온도를 효과적으로 제어하기 위해 펠티에 모듈에 전달되는 전력량은 PTN78020W 스텝다운 조정 가능 스위칭 레귤레이터를 사용하여 전자적으로 관리됩니다. 레귤레이터는 7-36V 범위의 입력 전압을 수용하고 2.5-12.6V 범위의 출력을 생성하지만 출력은 입력 마이너스 2V를 초과할 수 없다는 제한이 있습니다. 출력 전압은 장치 데이터 시트의 표에 따라 두 레귤레이션 핀 사이의 특정 저항 값을 설정하여 조정됩니다. Mr ThermoParcel은 온도 판독값을 기반으로 출력 전압을 전자적으로 조절하기 위해 Arduino로 제어되는 MCP41100 100kOhm 디지털 전위차계를 사용합니다. PTN78020W의 전체 출력 전압 범위는 1MOhm 이상의 전압 변동이 필요하기 때문에 디지털 포텐셔미터가 100kOhm으로 설정되어 있어도 Peltier 모듈에 전압이 인가되므로 Peltier 모듈은 다음을 사용하여 "꺼질" 수 없습니다. 디지털 전위차계 단독. 히터 매트로 수행되는 가열에도 동일한 규정 개념이 적용됩니다. 매트는 단순히 전류를 열로 발산하는 저항이며 전압을 조절하면 전달되는 전력을 직접 제어할 수 있습니다.
전원 공급 장치
12V DC 전원 공급 장치는 Mr ThermoParcel이 주 전원 소켓 근처에 있을 때 PTN78020W에 직접 전원을 공급하는 데 사용됩니다. 이를 통해 최대 전력으로 Peltier를 구동하고 프로젝트 목적에 충분한 전력으로 히터 매트를 구동하기에 충분한 최대 10V 출력을 허용합니다. PTN78020W 레귤레이터의 7-36V 입력 범위를 감안할 때 Mr ThermoParcel은 랩톱 및 기타 전자 장치에 사용되는 대부분의 DC 전원 공급 장치와 자동차에 있는 담배 라이터 소켓으로도 구동할 수 있습니다. 외부 전원을 사용할 수 없는 경우 Mr ThermoParcel은 3.7V, 10400mAh 리튬 이온 배터리로 전원을 공급받습니다. 배터리는 여전히 PTN78020W 레귤레이터에 전원을 공급하지만 펠티에 모듈을 구동하는 데 필요한 입력 전압(PTN78020W 입력에서 10-12V)에 도달하기 위해 XL6019 스텝업 DC-DC 컨버터가 먼저 배터리 출력에 연결됩니다.
Arduino 배선
가능한 경우 보드의 잭 소켓을 통해 12V 외부 입력에서 Arduino에 직접 전원이 공급됩니다. 내부 배터리를 사용하는 경우 XL6019 컨버터의 출력을 사용하여 소켓에 유사한 전압이 설정됩니다.
Arduino는 디지털 전위차계의 저항을 제어하여 Peltier 모듈/히터 매트에 전달되는 전력을 조절합니다. 배선은 가변 저항 구성의 전위차계를 사용하여 sleemanj의 MCP41 시리즈 라이브러리의 지침에 따라 수행됩니다. Arduino는 또한 온도 센서를 읽는 데 사용되는 Adafruit MAX31865 Pt100 RTD 증폭기와 온도 데이터 및 시스템 작동을 표시하는 데 사용되는 Adafruit RGB LCD Shield에 연결됩니다. 둘 다 제품 페이지에 있는 철저한 Adafruit 설명서에 따라 연결되어 있습니다.
소프트웨어
Arduino에 연결된 모든 Adafruit 모듈은 각각의 라이브러리와 sleemanj의 MCP41 시리즈 라이브러리가 있는 디지털 전위차계로 작동됩니다. Mr ThermoParcel에 있는 Arduino 코드의 핵심 기능은 PID 폐쇄 루프 시스템으로 구현되는 온도 제어와 관련이 있습니다. 온도 설정점은 LCD 디스플레이 실드 버튼을 통해 사용자가 제공합니다. 측정된 각 온도 판독값은 설정점에서 편차를 얻는 데 사용되며, 따라서 냉각/가열 전력을 조절하기 위해 디지털 전위차계에 공급되는 PID 값을 계산합니다. 외부 물리적 토글 스위치는 전원 출력이 펠티에 모듈(냉각) 또는 히터 매트(난방)로 향하는지 여부를 결정합니다. 시스템에 전자 스위치가 없기 때문에 가열 모드와 냉각 모드 사이의 코드로 구분되며 사용자는 LCD 디스플레이 실드 버튼을 사용하여 적절한 모드를 선택해야 합니다. 이러한 구별은 계산된 PID 값이 올바른 부호를 갖도록 합니다. 테스트 중에 PID 요인에 대해 다양한 값을 시도했으며 대부분의 상황에서 P 항만으로도 설정점에서 ±0.5°C 이내로 유지하기에 충분하다는 것을 관찰하여 결국 I 및 D 요인을 제거했습니다. 이것은 아마도 온도 변화를 느리게 만드는 샘플과 내부 젤로 채워진 상자의 상대적으로 큰 열용량 때문일 것입니다(가장 빠른 영역에서 일반적으로 평균 0.02°C/s).
성능
주 전원이 공급되면 Mr ThermoParcel은 약 1시간 내에 21-23°C의 실온에서 시작할 때 4°C로 냉각됩니다. 처음 20분 이내에 8-10°C의 온도에 도달합니다. 실온에서 다시 시작하여 히터 매트를 사용하면 약 10분 이내에 37°C에 도달합니다. 모든 온도는 ±0.5°C 이내의 설정값에서 유지됩니다.
내부 배터리로만 전원을 공급할 때 약 10°C는 1.5-2시간 내에 도달할 수 있는 최소 온도입니다. 히터 매트를 사용하면 37°C를 얻을 수 있지만 40-60분이면 됩니다. 이러한 제한은 배터리의 방전율로 인한 것입니다. Mr ThermoParcel의 리튬 이온 배터리는 3.7V에서 7A의 최대 방전 전류로 평가되지만 10-12V로의 승압 변환을 고려할 때 방전 전류는 더 높아야 합니다. Peltier 모듈의 최대 전력을 유지합니다. 배터리에는 전류 과부하의 경우 출력을 차단하는 자체 보호 회로가 포함되어 있으므로 냉각/가열 시스템이 최대 정격보다 큰 전류를 끌어오려고 하면 시스템이 작동하지 않습니다. 배터리를 통해 작동할 때 전력 소비는 소프트웨어에 의해 안전한 수준으로 제한됩니다. 이 제한은 순전히 여기에 사용되는 배터리로 인한 것이며 방전율이 더 높은 배터리를 널리 사용할 수 있습니다. 또는 직렬로 연결된 3개의 셀과 11.1V의 공칭 전압이 있는 리튬 이온 배터리를 사용하면 문제가 해결되고 승압 DC 컨버터가 필요하지 않습니다.
향후 방향
현재 개발 단계에서 우리 장치는 주로 CPU 쿨러의 크기와 움직이는 부품, 구조의 견고성으로 인해 출하될 수 없습니다. 그러나 일단 방열판을 수동 냉각 시스템으로 교체하고 95k Pa 2차 포장을 사용하면 Mr ThermoParcel을 안전한 운송을 위해 적절한 단단한 용기에 넣어 비행기로 샘플을 운송하기 위한 표준 택배의 모든 요구 사항을 충족할 수 있습니다. 기타 운송 수단.
달성의 핵심 목표로 다른 구성 요소를 추가하여 장치의 기능을 확장할 수 있습니다. 운송 중 온도 프로필은 나중에 확인하기 위해 로컬 메모리에 저장하거나 GSM Arduino 모듈을 사용하여 정기적으로 SMS를 통해 사용자에게 직접 보낼 수 있습니다. 독립적인 소포 추적 및 배달 시 적시 수집을 위해 GPS 수신기도 포함될 수 있습니다.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">
#include섹션>// PT100 온도 센서 라이브러리 가져오기#include // 디지털 전위차계 라이브러리 가져오기#include // LCD 디스플레이 및 버튼 가져오기 실드 라이브러리#include // I2C 확장기 라이브러리 가져오기#include // 설정 디지털 전위차계MCP41_Simple digitalPotentiometer; // 디지털 전위차계 생성 objectconst uint8_t digitalPotentiometer_CS =10;// PT100 온도 센서 설정// PT100 온도 센서용 소프트웨어 SPI 사용:CS, DI, DO, CLKAdafruit_MAX31865 PT100amplifier =Adafruit_MAX31865,/4,53 Rref 저항의 값을 설정합니다. PT100 온도 센서에 430.0을 사용합니다.#define RREF 430.0// 센서의 공칭 0도-C 저항, PT100에 100.0ohm#define RNOMINAL 100.0// 버튼으로 LCD 디스플레이 실드 설정Adafruit_RGBLCDShield LCD_shield =Adafruit_RGBL define OFF 0x0 // ON 및 OFF 상태는 LCD 백라이트를 켜고 끄는 데 사용할 수 있습니다.//#define ON 0x1void setup() { Serial.begin(115200); Serial.println("미스터 ThermoParcel, 작업 시작 중..."); PT100amplifier.begin(MAX31865_4WIRE); // 필요에 따라 2WIRE 또는 4WIRE로 설정, 이 경우 4-wire RTD // 디지털 전위차계 초기화 digitalPotentiometer.begin(digitalPotentiometer_CS); // 와이퍼를 0과 255 사이의 임의의 지점으로 설정합니다. digitalPotentiometer.setWiper( 200 ); // LCD 디스플레이 실드 초기화 // LCD의 열과 행 수 설정:LCD_shield.begin(16, 2); // 정확한 간격으로 LCD에 설정값 및 측정된 T 텍스트를 설정합니다. LCD_shield.print("Tsetpoint:C"); LCD_shield.setCursor(0, 1); LCD_shield.print("Tsample:C");}// PID 상수, 온도 관련 변수 및 실드 버튼 값 초기화int powerMode =1; // 배터리 전원의 경우 powerMode=1, 주 전원의 경우 powerMode=-1; 배터리 과부하를 방지하는 데 사용int operationMode =1; // 냉방의 경우 operationMode=1, 난방의 경우 operationMode=-1; PID 항의 부호를 수정하는 데 사용float PT100ratio; // PT100에 대한 저항비 변수 정의 sensoruint8_t buttonsPressed =0;float kp =500.0; //; 정수 키 =5; 정수 kd =3.9; 부동 PID_p =0.0; // 정수 PID_i =0; int PID_d =0, float Tmeasured =-1.0, float Tsetpoint =22.0; // 실온 주변에서 시작float PID_error =5;float PID_value =0;// LCD 화면에 온도 설정값을 올바르게 인쇄하기 위해 print_Tsetpoint 함수를 정의합니다. char TsetpointString[3];void print_Tsetpoint(int T) { // 올바른 위치에 Tsetpoint를 인쇄합니다. 위치 LCD_shield.setCursor(10, 0); dtostrf(T, 3, 0, TsetpointString); LCD_shield.print(TsetpointString);}// 측정된 온도를 LCD 화면에 올바르게 인쇄하도록 print_Tmeasured 함수를 정의합니다. char TmeasuredString[4];void print_Tmeasured(float T) { // Tmeasured를 올바른 위치에 인쇄합니다. LCD_shield.setCursor(8, 1); dtostrf(T, 5, 1, TmeasuredString); LCD_shield.print(TmeasuredString);}// 전원 모드를 올바르게 인쇄하기 위해 print_powerMode 함수를 정의합니다. (B, 배터리; M, 주전원)void print_powerMode() { LCD_shield.setCursor(15, 0); if (powerMode ==1) { LCD_shield.print("B"); } else if (powerMode ==-1) { LCD_shield.print("M"); }}// 전력 모드를 올바르게 인쇄하기 위해 print_operationMode 함수를 정의합니다(C, Peltier 냉각기; H, 가열 매트)void print_operationMode() { LCD_shield.setCursor(15, 1); if (operationMode ==1) { LCD_shield.print("C"); } else if (operationMode ==-1) { LCD_shield.print("H"); }}// *** 메인 루프 ***void loop() { // 온도 읽기 uint16_t rtd =PT100amplifier.readRTD(); PT100비율 =rtd; PT100비율 /=32768; 측정 =PT100amplifier.temperature(RNOMINAL, RREF); Serial.print("설정 온도 ="); Serial.println(Tsetpoint); Serial.print("온도 ="); Serial.println(측정); // 온도 값 및 모드 인쇄 print_Tsetpoint(Tsetpoint); print_Tmeasured(측정); print_powerMode(); 인쇄 작업 모드(); // 설정값과 측정값 간의 오차 계산 PID_error =Tmeasured - Tsetpoint; //P 값 계산 PID_p =operationMode * kp * PID_error; // 전체 PID 값을 계산합니다. 최대값(255)보다 크면 255로 유지, 최소값(0)보다 작으면 0으로 유지 PID_value =(int) PID_p; //+ PID_i + PID_d; Serial.print("PID_p ="); Serial.println(PID_p); Serial.print("파워모드 ="); Serial.println(파워모드); Serial.print("작업 모드 ="); Serial.println(작업 모드); Serial.print("PID_error ="); Serial.println(PID_error); Serial.print("PID_값 ="); Serial.println(PID_값); // 배터리 모드인 경우(powerMode=1) 배터리 과부하를 피하기 위해 출력을 제한합니다. // 전원 모드인 경우(powerMode=-1) 최대 전력(255) 허용 if (powerMode ==1) { if (PID_value <0) { PID_값 =0; } if (PID_값> 120) { PID_값 =120; } } else if (powerMode ==-1) { if (PID_value <0) { PID_value =0; } if (PID_값> 255) { PID_값 =255; } } Serial.print("조정된 PID_값 ="); Serial.println(PID_값); // PID 값에서 디지털 전위차계 저항 설정 digitalPotentiometer.setWiper(255 - PID_value); // 누른 버튼을 감지하고, 필요한 경우 설정값을 변경하고, 측정된 설정값과 설정값을 표시합니다. 버튼 누름 =LCD_shield.readButtons(); if (buttonsPressed &BUTTON_SELECT) { // 커서를 깜박임으로써 편집 모드에서 해당 시스템을 강조 표시합니다. LCD_shield.setCursor(14, 0); LCD_shield.blink(); 지연(1000); 버튼 누름 =0; // SELECT 버튼을 다시 누를 때까지 편집 모드를 유지합니다. UP 및 DOWN 버튼은 Tsetpoint를 변경합니다. // LEFT는 작동 모드(가열/냉방)를 전환합니다. 오른쪽은 전원 모드(배터리/주전원)를 전환합니다. 동안 (not (buttonsPressed &BUTTON_SELECT)) { buttonsPressed =LCD_shield.readButtons(); if (buttonsPressed &BUTTON_UP) { Tsetpoint +=1; } if (buttonsPressed &BUTTON_DOWN) { Tsetpoint -=1; } if (buttonsPressed &BUTTON_RIGHT) { powerMode *=-1; print_powerMode(); } if (buttonsPressed &BUTTON_LEFT) { operationMode *=-1; 인쇄 작업 모드(); } print_Tsetpoint(Tsetpoint); LCD_shield.setCursor(14, 0); 지연(500); } // 편집 모드를 종료하고 커서 깜박임을 중지 LCD_shield.noBlink(); 버튼 누름 =0; } 직렬.println();}
제조공정
표면 품질과 외관 정밀도가 높은 구리 정밀 부품의 경우 품질 표준을 달성하기 위해 정밀 가공 공정에 따라 연삭 생산 및 가공을 수행해야 합니다. 그러나 일반 부품의 제조공정은 기계적으로 적용할 수 없어 지석이 모래바퀴를 막는 문제를 해결하기 어려울 뿐만 아니라. 또한, 정밀 부품의 표면이 거칠어지고 흠집이 생겨 정밀 가공 품질이 저하됩니다. 다음은 정밀 구리 가공을 위한 주의 사항을 설명합니다. 주의사항 가공 정밀 구리 부품 구리의 특성에 따라 가공 과정에서 가장 먼저 고려해야 할 것은 연성입니다. 우리는 연성이 좋은 공작물이
휴대폰, 가정 장식, 전기 배선, 배관, 유압 라인, 동전:이 모든 것의 공통점은 무엇입니까? 구리! 구리는 우리 주변 어디에나 있습니다. 보기에 예쁘기만 한 것이 아니라 기능적으로도 많이 쓰이는 아름다운 금속입니다. 널리 사용 가능하고 저렴하며 장식용뿐만 아니라 산업 응용 분야에서 다용도로 사용되는 구리는 모든 종류의 프로젝트에서 인기 있고 매력적인 선택입니다. 구리란 무엇입니까? 구리는 전 세계적으로 풍부하게 발견되는 적갈색 금속이며 상위 3개 생산국은 칠레, 페루, 중국입니다. 역사적으로 구리는 인간의 손으로 가공된