728x90
반응형

아두이노로 시리얼 통신하는 예제입니다.

통신을 큰 2개의 파트로 구분하면 직렬 통신 병렬 통신이 있는데 병렬 통신은 말그대로 복수 신호선으로 동시에 여러BIT를 보내는 것이고 직렬 통신은 한 BIT식 전달하는 방식입니다.

시리얼통신 = 직렬 통신

CODE

char a;//문자 a선언

void setup() {

pinMode(13,OUTPUT);// 13번 핀을 출력으로 사용

Serial.begin(9600);// 9600bps 초당 비트 전송 속도

}

void loop() {

if(Serial.available()){

a=Serial.read();

 

if(a=='1')

{

digitalWrite(13,HIGH); // 만약에 1이면 led high주고 led on 뿌리고, read: 뿌리고 a 값 뿌림

Serial.println("led on");

Serial.print("read:");

Serial.println(a);

}

if(a=='0')

{

digitalWrite(13,LOW); // 만약에 0이면 led low주고 led off 뿌리고, read: 뿌리고 a 값 뿌림

Serial.println("led off");

Serial.print("read:");

Serial.println(a);

}

}

}

여기서 시리얼 통신을 처음 하신 분들을 위해서 몇 가지만 설명하고 넘어가겠습니다.

char로 변수선언 : 문자를 수신 받기 위해서

if(Serial.available()) : 시리얼 통신 data에 입력 값을 버퍼에 저장후 확인이 되면~ 이라고 생각하시는게 편합니다.

a=Serial.read() : 입력받은 데이터를 변형없이 그대로 수신

Serial.print : 문자를 시리얼 모니터상에 뿌려주는 것

Serial.println : 뿌려주고 한줄 밑으로 가는 것입니다.

통신 환경

저는 따로 아두이노 프로그램에서 지원하는 시리얼 모니터를 쓰지 않고 docklight라는 프로그램을 썼습니다.

이 프로그램은 인터넷에서 다운 받을 수 있으나, 정품은 구매를 해야합니다,

정품이 아니여도 간단한 TEST는 진행 가능합니다.

일단, 아두이노 보드를 docklight에서 잡아줍니다.

여기서 통신을 하기위해선 스타트 비트와 엔드 비트가 필요합니다.

스타트 비트는 아 이녀석이 지금 통신을 시작하는구나를 알리는 비트고 엔드비트는 말그대로 아 보낼비트 다 보냈구나를 알리는 비트입니다. 이걸 STX,ETX라고 하는데 보내는 문자가 1이면 STX,1,ETX이런식으로 신호를 보내주어야 합니다. HEX TO ASCII 로 변환하면 0X02 =STX, 0X03=ETX, 0X30=0, 0X31=1이므로 위와같이 만들어준 것입니다.

아스키에 다시 체크를 하고 보면 코딩한데로 문자가 출력되고 원하는 보드에 동작을 확인할 수 있습니다.

 

 

반응형
728x90
반응형

ARDUINO FOR문을 이용한 LED 쉬프팅

회로도는 팅커캐트 사이트를 이용해서 그렸습니다.

PIN은 9~2번까지 이용

int i;

void setup() {

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

pinMode(8, OUTPUT);

pinMode(9, OUTPUT); //2~9포트 출력설정

}

void loop() {

for(i=2;i<10;i++) //초기 값 i는 2번포트가 켜지고 10보다 i가작으면 증가 하기때문에 2~9번순서로 { //1씩 증가하면서 켜짐

digitalWrite(i, HIGH);

delay(100);

}

for(i=2;i<10;i++) // 반대로 for문 안쪽 문장이 low이므로 2번부터 9번순서로 증가하면서꺼짐

{

digitalWrite(i, LOW);

delay(100);

}

 

}

 

 

반응형
728x90
반응형

간단하게 PSpice 사용법부터 설명하겠습니다.

 

 

먼저 PSpice시작전에 모든 설정은 시뮬레이션 프로파일에서 지정해줍니다.

 

 

가장중요한건 저 PSpice아이콘이 없는건 아무리 시뮬레이션을 돌려도 에러가 뜨니 꼭 저 아이콘이 있는 것만 사용해야됩니다.

 

 

첫번째로 Time Domain은 말그대로 시간영역을 그래프로 보는 것입니다. Run to time에 Time을 입력해주면 원하는 시간영역을 볼 수가 있습니다.

 

 

두번째로 DC Sweep입니다. 말그대로 DC전압을 시작 값 0V 끝나는 값 10V 증가값 0.5V로 설정해주면 0.5V씩 증가시키는 것입니다.

 

 

저는 간단하게 사진과 같이 비반전 증폭기를 그렸구요 1+R1/R2 = 출력 값을 포인트로 잡았습니다.

 

0.5V씩 증가 시킨 결과입니다.  다들 아시겠지만 제가 사용한 OP-AMP LM358은 PUSH PULL방식이기때문에 최대 출력 값은 1V정도 깎아 먹습니다. Rail to Rail OP-AMP를 이용하면 최대치 까지 출력을 확인할 수 있으니 참고하시길바랍니다.

 

DC Sweep은 한가지 기능이 더 있습니다. DC전원 2개를 스윕시킬 수 있습니다. VB VA 2개를 스윕시켜 보겠습니다.

 

 

이걸로 TR특성 곡선 및 여러가지 확인해볼 수 있으니 참고해서 사용하시면 될 것 같습니다.

세번째로는 AC Sweep입니다. 세팅된 값은 저항값이 아닙니다. 주파수 입니다. 참고하세요~

 

AC Sweep을 사용하기위해서 입력전원을 VSIN을 사용했습니다.

 

 

대략 그래프를 보니 3khz에서 전압 값이 떨어지기 시작해서 약300khz에서 출력 값을 거의 확인할 수 없습니다.

실제 LM358 주파수 응답 특성 곡선 입니다. 다른 OP-AMP들도 해보고 싶었지만 시간이 없어서.... 하나만 해봅니다.

 

마지막으로 이기능은 다른분들은 모르겠지만 저는 개인적으로 좋다고 생각하는 기능 입니다. 파라미터 라이브러리를 불옵니다.

라이브러리를 더블클릭하시면 특성 설정 부분으로 넘어가게됩니다.

 

New Column을 클릭합니다.

 

 

이름과 저항 값을 설정해줍니다.

 

다시 시뮬레이션 프로파일에서 저부분을 임의로 세팅을 해주면 가변된 저항값으로 출력을 확인할 수 있습니다.

 

X축이 저항값으로 바뀌고 저항에 따른 출력 값을 확인할 수 있었습니다.

 

실제로 PSpice를 이용하면 더많은 시뮬레이션 결과를 확인할 수 있습니다. 제가 설명한 부분 이외에도 더 많은 기능이 있습니다.

 

설명은 미흡했지만 도움이 되는 부분이 있었으면 좋겠습니다.

반응형

'LAP > Schematic,PSpice' 카테고리의 다른 글

OR-CAD Design Rules Check(회로 검토) 방법  (0) 2019.10.14
Low pass filter, High pass fillter  (0) 2019.08.06
PSpice OP-AMP 증폭 회로 분석  (0) 2019.08.06
NE555 1Khz 펄스 주파수 만들기[실험]  (0) 2019.08.06
NE555[이론]  (0) 2019.08.06
728x90
반응형

보통 회로 설계를하다보면 필터회로를 활용해야 되는 경우가 있습니다.

 

불필요한 영역의 주파수를 Cut off시키기위해 사용되는 이 필터는 아날로그 회로 설계에있어서 중요한 부분이라고 생각됩니다.

저같은 경우에는 광센서사용시 외란광같은것에는 최대한 신호가 외곡되지 않도록 사용하는 부분도 있습니다.

 

기본적인 회로를 보면 아래와 같이 2가지로볼 수 있습니다.

 

 

위 회로의 이론을 설명하자면 제 각각 다르겠지만 저는 커패시터는 교류(AC)성분을 통과시키는걸로 이해를 하는게 편한것 같습니다.

 

로우패스필터(저역필터)같은 경우는 신호가인가시 R2에의해서 신호과 통과되고 DC성분은 그대로 AC성분은 C2를 통해 그라운도로빠지기 때문에 주파수 영역때가 낮은 신호가 나오게되고, 하이패스필터(고역필터)경우는 초반부에 DC성분은 잡아내고 AC성분을 통과시켜 주파수 영역때가높은 신호가 나오는 것으로 이해를합니다.

 

기본적으로 커패시터는 주파수가 높을 수록 전류가 더 잘흐르기 때문입니다.

이 두가지 필터의 차단주파수 공식은 F=1/2πRC입니다.

F=1/2*3.14*1000*0.0000001이되니 1592hz => 1.59khz 대략 1.6khz정도 되겟네요.

 

pspice를 통해 파형을 확인해보겠습니다.

 

(Low pass fillter)-PSpice Simulation

LPH를 보시면 고주파대역으로 갈수록 신호가 필터링 되는것을 확인할 수 있었습니다.

 

 

(Low pass fillter)-실측 DATA

PSpice Simulation을 확인하고 바로가서 빵판에 확인해봤습니다. 마지막은 10khz로 했습니다. 어느정도 Simulation이랑 비슷하게 나오는 것을 확인할 수 있었습니다.

 

 

(High pass fillter)-PSpice Simulation

위 그림에서 출력측에 (-)신호가 나타나는 것은 입력측이 전자를 당기고 있다가 다시 기준상태(전자를 당기지 않는 상태, 0V)로 돌아가면, 출력측에서도 빼았겼던 전자들이 다시 되돌아가게 됩니다. 이 때 전자가 흘러가던 방향이 반대가 되는것입니다. 즉, 입력신호가 증가하는 경우면, 오르막이면, (+)신호로 출력이 되고, 감소하는 경우면, 내리막이면 (-)신호로 출력이됩니다. 교류만 통과한다는 것이 바로 이러한 작용을 말하는 것입니다.

(High pass fillter)-실측 DATA

그림 들이 삐뚤거리네요;; 그래도 PSpice값이랑 비슷하게나오니 다행입니다. 이 2가지 기본적인 필터를 사용하면 더욱더 본인이 회로 설계를 하는데에있어서 많은도움이 될 것 같습니다.​

반응형
728x90
반응형

오늘은 PSpice를 이용하여 회로를 분석해볼 예정입니다.

 

PSpice는 cadence사에서 지원하는 OR-CAD자체에 포함되어 있는 회로 Simulation입니다.

 

OR-CAD Capture에서 그린 회로도의 결과 값을 어느정도 파악할 수 있죠

 

실험 회로도 입니다.

 

일단 임의 적으로 회로도를 만들었습니다. 이 회로의 분석을 해볼 건데요

정리를 해보면 이렇습니다.

 

1. 0~10uA전류를 50ms까지 Ipulse입력을 이용하여 전류를 Sweep시킵니다.

2. 기본적인 반전증폭기 입니다. -R8/R7

3,4. 비반전 증폭기 1+R9/R10,1+R11/R12

 

​일단 전류가 0~10uA Sweep일 잘되 었는지 확인을해보면

 

50ms동안 0~10uA전류가 잘 Sweep이된걸 확인 할 수 있습니다.

 

각 단의 OP-AMP출력을 확인을 하게 되면

각단이 다단으로 증폭되는 것을 확인할 수 있습니다.

1단 = 0.3V, 2단 = 0.9V, 3단 = 2.7V 실제 회로도에서도 3배씩 증폭햇으니 값은 맞게 나왔네요 ^^

​이런식으로 PSpice를 이용하면 회로도에 동작 특성에 대해서 미리 결과 값 혹은 설계자가 입력을 어떻게 주느냐에 따라

향후 실측 값을 예상할 수 있습니다.

반응형

'LAP > Schematic,PSpice' 카테고리의 다른 글

OR-CAD(PSpice) - AC Sweep, DC Sweep, Parameters  (0) 2019.08.06
Low pass filter, High pass fillter  (0) 2019.08.06
NE555 1Khz 펄스 주파수 만들기[실험]  (0) 2019.08.06
NE555[이론]  (0) 2019.08.06
OP-AMP input offset voltage[실험]  (0) 2019.08.06

+ Recent posts