728x90
반응형
■ 로봇 제어
■ 릴레이
PA1a-5v(NAIS - 제조:파나소닉)
이름에서 알수있듯이 동작 전압은 5V이다.
좌측에
5A 250V AC
5A 30V DC
는 최대 허용치를 나타낸다.
교류 250V ~ 0V까지 다 된다.
직류 30V ~ 0V까지 된다.
전기스토브 전력이 1000W 적혀있다. 이 릴레이를 사용할 수 있는가?
W와트를 봐야한다.
와트는 수식에서 P로표현한다.(저항이 옴인데 R로하는 것처럼..)
Power - 전력, 힘
P = VI
250V*5A = 1250VA = 1250VI = 1250P = 1250W(교류)
1250W까지 견디므로 1000W의 전기스토브를 사용 할 수 있다.
직류일때는 150W까지 견딜 수 있다.
자동차 배터리=12V 전류 10A = 120W 즉 자동차 배터리도 연결할 수 있다.
생긴모습을 보면 다리굵기가 다르다.
전압이 높은 전기장치를 굵은쪽에 연결해준다.
▲ AVR 5볼트로 220볼트를 제어할 수 있다.
220V와 5V가 기계적으로 분리되어있어 서로 영향을 받지 않는다.
즉 작은 전압으로 고전압의 전기장치를 제어할 수 있다.
릴레이를 더 비싸고 좋은걸쓰면 더 높은전압을 컨트롤 할 수 있다.
▲ PLC(Programmable Logic Controller)에다가 릴레이를 여러개 붙여서 더 높은전압을 견딜 수 있게 할 수 있다.
릴레이의 종류랑 용도도 여러가지있는데
전기를 인가하면 스위치가 붙는놈이 있고, 떼는놈이 있다.
▲ 트랜지스터도 용도도 여러가지가 있다.
라즈베리파이 전류나 전압이 약하면 릴레이코일을 땡길힘이 없다.
라즈베리파이는 신호용이지 전기용이 아니다.
그래서 전기적인 약점을 보완해주는 전기소자들이 따로있다.
위 그림의 다이오드와 트랜지스터가 그러한 용도이다.
만약 전류가 많이흐르면 CPU가 뜨거워진다. 그래서 칩에는 전류가 많이 흐르지 않는다.
CPU들은 배전류형태로 설계하지 않는다.
전류가 약하면 보완해주는 회로들을 추가로 장착하면 된다.
■ WiringPi 설치
▲ /usr/src로 이동해서 빨간박스 3개만 수행한다.
■ 어셈블리
목표 : main.exe로 smart1.exe을 load, go해서 stack영역을 사용한 흔적(태스크 스위칭)을 확인한다.
■ 디버거 프로그램
▲ 데이터 실행방지 보안옵션을 끄기위해서
1. 데이터 실행 방지(DEP) OFF
1-1 bcdedit /set {current} nx alwaysoff
1-2 재부팅
2. 데이터 실행 방지(DEP) ON
1-1 bcdedit /set {current} nx optin
1-2 재부팅
1-1 bcdedit /set {current} nx alwaysoff
1-2 재부팅
2. 데이터 실행 방지(DEP) ON
1-1 bcdedit /set {current} nx optin
1-2 재부팅
위 내용의 1번을 수행한다. 재부팅후 확인해보면 해당 옵션들이 비활성화되어있다.
DEP옵션을 끄면 PC에 안좋은 영향을 미칠수있으므로 테스트 후 위 내용의 2번으로 복구한다.
기존의 vpStack의 위치는 smart함수가 사용하는 스택영역의 아래쪽이기 때문에,
위 코드와 같이 변경 후 stack영역을 확인해야 한다.
■ main 실행
▲ code영역의 주소를 확인한다.
■ smart1.exe 생성
▲ 위 순서대로 명령어를 실행하거나 배치파일에 저장해서 go를 수행하면 smart1.exe가 생성된다.
▲ code영역이 400000번지 이하면 warning이 발생하는데 실행에 문제되지 않으므로 무시한다.
■ main에서 load후 go
▲ load후 stack영역을 살펴보면 아무런 변화가없다. 하지만 go를 실행하면 smart1.exe가 실행되어 스택에 변화가 생긴다.
▲ go 실행 후 stack을 살펴보니 smart함수의 iNum을 활용한 흔적을 발견할 수 있다.
728x90
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
2015-10-29 업무일지 천정호 (3) | 2015.10.30 |
---|---|
20151028-업무일지-주재민 (3) | 2015.10.28 |
천정호 Task Switching (미완성) (0) | 2015.10.28 |
20151027 윤재희 task switching 소스 (0) | 2015.10.28 |
20151027 수업 남수진 (0) | 2015.10.27 |
20151027 강동조 contextswitching[미해결] (0) | 2015.10.27 |
20151027 - 홍준모 context switching (0) | 2015.10.27 |
20151027_컨테스트스위칭소스파일_엄민웅(미해결) (0) | 2015.10.27 |