BASIC4MCU | 질문게시판 | 아두이노 회로 질문이요!
페이지 정보
작성자 kkk9094 작성일2018-07-31 13:00 조회23,905회 댓글8건본문
회로를 지저분하게 만들어서 죄송하지만.. 너무 해결이 안되서 질문드려요
(혹시 더 필요한 사진 있으시면 다시 찍어서 올리겠습니다)
일단 사용한 장치들은 펠티어소자, 히트싱크, 12V파워서플라이, 아두이노 우노, thermosensor 2개, MOSFET, LCD 입니다. 브레드보드에서 한쪽 +, -에는 우노의 5V 걸어놓은것이고, 다른한쪽의 +,-에는 외부전원 12V를 걸어놓은것입니다.
만드려는것은 펠티어소자에 흐르는 전류를 조절해가며 특정온도를 유지시키려는 장치입니다. MOSFET의 LED바? 부분에는 펠티어소자를 저항 없이 직접 연결해놓은 상태이고, PWM은 우노의 9번핀에 연결해 둔 상태입니다.thermosensor중 하나만 펠티어 소자의 차가운 부분에 직접 부착시켜놓은 상태이고, 나머지 하나는 아직 사용하지 않고 꽂아두기만 한 상태입니다.
일단 잘 작동하는지 확인하기 위해 아두이노 코드를 다음과 같이 짜고,
#include
#include
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2);
Adafruit_MAX31855 Temp1(13, 11, 12);
Adafruit_MAX31855 Temp2(8, 6, 7);
void setup()
{
lcd.init();
lcd.backlight();
pinMode(9, OUTPUT);
}
void loop()
{
analogWrite(9,LOW);
int i=0;
for(i=0;i<300;i++){
lcd.print("T=");
lcd.print(Temp2.readCelsius());
lcd.setCursor(0,1);
lcd.print("low");
delay(100);
lcd.clear();
}
}
업로드해서 실행시켜보니 분명 9번핀에 LOW를 주었는데도 펠티어소자가 HIGH를 주었을때와 똑같이 차가워지더라고요.. 이상해서 전압계로 펠티어소자 양단의 전압까지 측정해보았는데 HIGH, LOW일때 모두 9.01V 근방으로 측정되더라구요.
혹시 무엇이 잘못된 것인지 알 수 있을까요??
댓글 8
조회수 23,905kkk9094님의 댓글
kkk9094 작성일
아 이제보니 코드의 include 부분이 복사가 잘 안되네요.
위에서부터
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <Adafruit_MAX31855.h>
입니다.
master님의 댓글
master 작성일
analogWrite(LOW); <--- analogWrite(0); 하고 같습니다.
analogWrite(HIGH); <--- analogWrite(1); 하고 같습니다.
디지털 출력에서는 HIGH,LOW를 사용하지만
analogWrite()는 0~255를 사용합니다.
analogWrite(255)가 최대 출력이죠
kkk9094님의 댓글
kkk9094 작성일
죄송합니다. 실수해서 적었습니다.
실제로는 digitalWrite로 LOW값을 줘보고 analogWrite로 0값을 줘보기도 했는데 모두 같은결과가 나옵니다
master님의 댓글
master
digitalWrite(LOW); 만 줘서는 안되고요
digitalWrite(HIGH); 를 줘야지 ON 됩니다.
kkk9094님의 댓글
kkk9094 작성일
어... 혹시 제가 잘못 이해하고있는건가요
digitalWrite(LOW);
delay(10000); 를 주면 10초동안은 펠티어 양단의 전압이 0이 나와야하고
digitalWrite(HIGH);
delay(10000); 를 주면 10초동안은 펠티어 양단의 전압이 약 12V가 나와야 하는 단순한 방식 아닌가요??
근데 두경우 모두 양단 전압이 9V 근방이라 이해가 안갑니다. 구동방식을 잘못 이해하고있는걸까요
master님의 댓글
master
digitalWrite(LOW);
FET 오픈드레인 ( 스위치 OFF와 같은 개념)
//
digitalWrite(HIGH);
FET turn-on
FET의 드레인과 소스가 연결되서 드레인에 연결된 핀을 접지에 연결시키는 것과 같음
이 렇게 해야지 전류가 흐릅니다.
스위치의 ON 하고 같은데 (접지 쪽으로만 붙일 수 있는 스위치입니다.)
master님의 댓글
master 작성일
점퍼핀은 가늘어서 브레드 보드에 접속이 좋지 않고
브레드 보드의 전류 용량도 크지 않습니다.
펠티어는 브레드보드 통하지 않고 선을 직접 연결하는 것이 좋으며
대전류가 흐르므로 굵은 선을 사용하는 것이 좋습니다.
master님의 댓글
master 작성일
회로를 다 걷어내고 펠티어만 연결해서 사진을 다시 여러장 찍어서 올려보세요
제가 작성해드린 코드로 테스트 하시고요
digitalWrite()는 셋업 함수에서 반드시 pinMode() 설정 해줘야합니다.
analogWrite()는 함수 내에서 pinMode() 설정을 하므로 셋업 함수에서 하지 않아도 됩니다.