본문 바로가기
반응형

전체 글4356

3x3 역행렬 구하는 소스 코드 3x3 행렬의 역행렬을 구하는 C 소스코드는 다음과 같다. d = m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2]) - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]); if(d!=0.) { id = 1 / d; im[0][0] = (m[1][1] * m[2][2] - m[2][1] * m[1][2]) * id; im[0][1] = (m[0][2] * m[2][1] - m[0][1] * m[2][2]) * id; im[0][2] = (m[0][1] * m[1][2] - m[0][2] * m[1][1]) * id; im[1][0] = .. 2022. 5. 22.
Elmo 모터 드라이버 Elmo Motion Control은 이스라엘의 모터 드라이버 제작 업체이다. Elmo 드라이버는 높은 신뢰성이 필요한 산업용, 군용으로 사용되며 가격이 비싸다. Elmo의 아래 사진과 같은 Gold Twitter 모델은 효율이 매우 높다. 그래서, 크기는 작지만 전류는 최대 80A까지 출력할 수 있다. 드라이버 크기가 작아지면 방열 면적이 줄어들어 온도가 크게 올라가지만 드라이버 효율을 99% 이상으로 올려 발열 문제를 해결하였다. 2022. 5. 22.
네이버 경고 처리중인 아이디 해지 방법 네이버 ID가 도용되어 ID를 삭제하려고 하면 '경고 처리중인 아이디는 해지하실 수 없습니다'라는 창이 뜨고 삭제가 안된다. 이 때는 네이버의 아래 링크에 들어간다. https://help.naver.com/support/contents/contents.help?serviceNo=532&categoryNo=18152&contentsNo=27279&interactiveMainNo=23295 다음과 같은 화면이 뜨면 필요한 정보를 입력한다. 비밀번호 찾을 ID에 도용된 ID와 함께 괄호로 (직접 가입하지 않은 아이디)라고 입력한다. 마이핀은 여기에서 가입을 하면 발급받을 수 있다. 이와 같이 하면 메일로 임시 비밀번호를 알려준다. 이 비밀번호로 로그인을 한다. 로그인 후 네이버ID에 들어가 내프로필에서 아래.. 2022. 5. 21.
5상 스텝모터 5상 스텝모터의 구조는 다음과 같다. 5상 스텝모터는 일반적인 2상 스텝모터에 비해 스텝각이 2/5로 작고 진동도 작은 등 전체적으로 성능이 좋다. 5상 스텝모터를 4상여자 풀스텝 방식은 다음과 같다. A B C D E 1 + x - - - 2 + + x - - 3 + + + x - 4 + + + + x 5 x + + + + 6 - x + + + 7 - - x + + 8 - - - x + 9 - - - - x 10 x - - - - * x : Open 2022. 5. 21.
IP65 IP66 IP67 IP68의 차이 IP는 방수 방진 등급을 나타낸다. 방수는 물에 대한 보호이고 방진은 먼지에 대한 보호이다. IP65에서 앞의 숫자 6은 방진 등급을 뒷의 숫자 5는 방수 등급을 나타낸다. 숫자가 높을수록 보호 등급이 높다. 최근에 나오는 스마트폰은 대부분 IP68이다. 방진등급 방진 등급 6은 가장 높은 등급으로 모든 먼지를 차폐한다는 것을 의미한다. 방수 등급 방수 등급 5는 모든 방향에서 노즐로 오는 물줄기에 대한 보호를 한다는 의미이다. 물에 넣을 때는 보호가 되지 않는다. 방수 등급 6는 모든 방향에서 노즐로 오는 강력한 물줄기에 대한 보호를 한다는 의미이다. 물에 넣을 때는 보호가 되지 않는다. 방수 등급 7은 15cm~1m 물에 넣어도 방수가 된다는 의미이다. 방수 등급 8은 1m 이상의 물에 넣어도 방수가.. 2022. 5. 21.
베이비복스 Killer 원곡 1998년 김현성 Killer 1999년 베이비복스 Killer 2022. 5. 21.
STM32CubeIDE 디버깅 중 Watchdog 중지 STM32CubeIDE에서 Watchdog이 활성화되면 디버깅 모드에서 잠시 실행을 정지했을 때 Watchdog이 동작하여 정상적으로 디버깅이 안된다. 디버깅 중 Watchdog을 중지시키기 위해서는 다음과 같이 설정한다. Project - Propterites 메뉴를 선택하면 다음과 같은 창이 뜬다. Run/Debug Settings에서 Edit을 선택한다. 아래와 같이 Suspend watchdog counters while halted를 Enable로 한다. 이렇게 하면 디버깅 중 실행을 정지했을 때 Watchdog 카운터도 정지한다. 2022. 5. 21.
커넥터 부품 명칭 커넥터의 각 부분 명칭은 다음과 같다. 커넥터는 하우징(Housing)과 헤더(Header)와 터미널(Terminal)의 3개로 구성된다. 터미널은 하우징과 결합하여 사용한다. 헤더는 베티칼과 앵글 타입이 있다. Crimp Terminal은 압착 터미널이라는 뜻이다. 2022. 5. 21.
LS 산전의 스파크 킬러 LS 산전에서 나오는 MC에 연결하여 사용하는 스파크 킬러는 서지 유닛이라는 이름으로 판매한다. 서지 유닛은 바리스터와 RC 스너버 회로이다. 형상에 따라 아래 사진과 같이 US 타입과 AS 타입이 있다. US 타입은 다음과 같이 MC에 결합할 수 있다. ☞ 스파크 킬러 2022. 5. 21.
피처폰 이란? 피처폰(Feature Phone)는 스마트폰이 아닌 폰을 의미한다. 스마트폰이 나오기전에 피처폰은 전화만 되는 기본폰보다 더 고성능의 폰을 의미했다. 현재는 스마트폰이 아닌 폰을 위미한다. 2022. 5. 19.
드럼 세탁기 문 잠김 해제 드럼 세탁기의 문이 잠기는 원인과 해제방법은 다음과 같다. 잠김 원인 잠김 해제 회전 중일때 정지 후 연다. 내부 온도가 높을 때 온도가 내려갈 때까지 기다린다. 물이 많이 남아 있을 때 잔수 제거 호수의 마개을 빼서 물을 뺀다. 어린이 보호 기능 중일 때 어린이 보호 기능을 끈다. 끄는 방법은 제조사 마다 다르다. 세탁을 마친 직후에는 문이 열리지 않는 경우가 있는데 이때는 전원을 꺼고 잠시 기다리면 열린다. 아래 사진은 LG 트롬 세탁기이다. 왼쪽 위의 빨강 열쇠에 불이 들어와 있으면 문이 열리지 않는다. 전원을 꺼고 1분 정도 지나면 잠김 해제된다. 온수헹굼과 예비세탁을 동시에 몇 초간 누르면 화면에 CL이 뜨면서 어린이 보호 기능이 ON/OFF 된다. 2022. 5. 19.
MCU 리셋 문제 해결방법 보드 시험 중 MCU가 리셋되거나 죽는 원인은 다음과 같은 것들이 있다. Firmware F/W 오류로 Watchdog 발생 영으로 나눔 Memory Alignment가 맞지 않음 Stack overflow 발생 배열의 인덱스가 메모리 범위를 벗어나 Hard fault 발생 체크썸을 통과한 에러 통신 패킷에 의한 이상동작과 리셋 Hardware 전압 불안정 전자파 노이즈 유입 MCU 모드 설정핀 플로팅 고온 ☞ Hardfault 해결방법 2022. 5. 18.
수위 검출 회로 물의 수위를 검출하는 회로는 다음과 같다. 전극에 물이 닿으면 전극 사이의 저항이 변하는데 그것으로 물을 검출한다. 다음 그림과 같이 +5V 전극을 수조 가장 바닥에 위치시키고 검출 전극을 여러개 수직으로 배치하여 물 수위를 알 수 있다. 2022. 5. 18.
RS-422 / RS-485 통신 케이블 RS-422/485 통신 케이블은 UL 2919을 많이 사용한다. 전체 실드된 UL 2919 케이블은 다음 사진과 같다. 페어된 전선 별로 실드된 UL 2919 케이블은 다음 사진과 같다. UL 2919는 정격 전압이 30V로 낮다. 가끔 RS-485 통신에 UL2464를 사용하는 경우가 있는데 2464는 Twisted pair가 없기 때문에 통신성능이 좋지 않다. ☞ UL2464와 UL2919 차이 2022. 5. 17.
UL2919 , UL2464 케이블 UL2919의 스펙은 다음과 같다. 외피 PVC 온도 80도 정격전압 30V 내화성 아주 높음 절연 2000VAC에서 1분 Twisted pair Twisted pair 되어 있음 사용분야 전자제품 자동차 데이터 연결 오디오,비디오 센서 UL2464의 스펙은 다음과 같다. 외피 PVC 온도 80도 정격전압 300V 내화성 높음 절연 2000VAC에서 1분 Twisted pair Twisted pair 없음 사용분야 전자제품 자동차 통신 오디오,비디오 군용 ☞ UL 케이블 리스트 ☞ RS-422/485 통신 케이블 (2919) 2022. 5. 17.
BJT를 이용한 LED 구동 회로 비교 LED 구동에 BJT를 사용하는 회로는 다음과 같다. BJT 콜렉터에 LED를 연결할 때 회로는 다음과 같다. BJT 에미터에 LED를 연결할 때 회로는 다음과 같다. BJT 에미터에 LED를 연결할 때 저항을 다음과 같이 연결할 수도 있다. 보통 LED는 콜렉터에 연결하여 사용하는 경우가 많다. 콜렉터에 연결하면 직관적으로 이해되고 설계도 쉽다. LED를 에미터에 연결할 때는 회로가 LED에 forward 전압만큼 공급할 수 있는지 고려해야 한다. 베이스 전압이 +3.3V이면 Forward 전압이 큰 파랑 LED 등은 구동할 수 없다. LED를 에미터에 연결하면 저항을 한개만 사용해도 되는 장점이 있다. 또한 LED에 에미터 전류와 함께 베이스 전류도 흐르기 때문에 손실이 적다. 2022. 5. 16.
LED 매트릭스 제어 회로 LED 매트릭스 제어 회로는 다음과 같다. 가로의 트랜지스터 T1~7를 순서대로 ON 시킨다. 세로선에 로직 IC를 연결하여 제어한다. T1만 ON일때 R1~5 값에 따라 LED1~5가 켜지고 꺼진다. LED 매트릭스를 제어하면 스캔하는 개수만큼 밝기가 어두워진다. 이 때는 LED에 Peak 전류를 흘려 3~5배 정도 LED 밝기를 높일 수 있다. 2022. 5. 16.
바이러스 감염 스머프 현재 코로나를 생각나게 하는 스머프 에피소드 2022. 5. 16.
C#과 C++ 공유 메모리 사용 공유 메모리는 메모리 매핑 파일(Memory-Mapped File)을 사용하여 데이터를 교환하는 것이다. 메모리 매핑 파일은 하드디스크가 아니라 램에 파일을 만들어 데이터를 고속으로 송수신할 수 있다. C++에서 메모리 매핑 파일을 만들고 만들어진 메모리 매핑 파일을 C#에서 읽는 방법은 다음과 같다. C++ C++에서 메모리 매핑 파일은 다음과 같이 사용한다. 다음과 같이 파일을 만든다. 파일 이름은 DataName이다. byte *p; HANDLE handle; handle = CreateFileMappingW(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(Pair), L"DataName"); p = (byte*) MapViewOfFile(handle.. 2022. 5. 16.
SCADA에서 Control과 Data의 차이 SCADA(Supervisory Control And Data Acquisition)에서 Control과 Data는 모두 통신 데이터이다. 하지만, Control과 Data는 성격이 다르다. 통신을 통해 주고 받는 Data는 저장장치에 저장하거나 모니터에 표시되거나 Control을 위한 로직에 사용된다. Control이 통신을 통해 전달되면 수신된 노드에서는 특정 액션을 수행한다. 액션에는 엑추레이터 동작, 시스템 리부팅 등이 있다. 클라언트에서 생성된 Data는 서버에 전달되고 Control은 서버에서 클라이언트로 전달된다. 2022. 5. 15.
오픈프레임웍스 개요 오픈프레임웍스(openFrameworks)은 오픈소스 프레임워크이다. 오픈프레임웍스는 비주얼 디자인에 중점을 둔 프레임워크이다. C++로 만들어져 있다. 오픈프레임웍스은 ofxUI 애드온을 사용할 수 있다. 2022. 5. 15.
원격 데이터 취득 방법 원격에 있는 시스템의 데이터를 전송받는 방법은 다음과 같다. 1) Request -Response 방식 - 원하는 데이터를 요구하고 받는 것으로 가장 기본적인 방식 - 데이터를 받는데 시간 지연이 발생 - 작은 크기의 데이터에 적합 2) Burst 방식 - 특정 명령을 주면 일정 시간 동안 취득한 데이터를 한번에 전송 - 대용량 데이터 처리에 적합 3) 주기적인 전송 - 특정 명령을 주면 일정 주기로 데이터를 계속 전송 - 작은 크기의 데이터에 적합 2022. 5. 15.
Request-Response 통신 방식 Request-Response (또는 Request-Reply)는 요청에 응답하는 방식의 통신이다. Request-Response에 대비되는 방식을 One-way 통신이라고 한다. One-way 방식에는 일정 주기로 계속해서 센서 데이터를 전송하는 CAN bus 센서가 있다. 2022. 5. 15.
자동차 스타터 모터 구조 자동차 스타터 모터 (Starter Motor, Self-starter, Cranking Motor)는 엔진 시동을 거는 모터이다. 스타터 모터의 구조는 다음과 같다. 시동키를 돌리면 솔레노이드에 전기가 인가되고 Contact disc가 움직여 모터가 배터리에 연결된다. 그와 동시에 Plunger를 당겨 모터 축과 연결된 Drive Pinion을 엔진 축과 연결한다. 스타터 모터는 보통 DC 모터를 사용한다. 2022. 5. 15.
2개 신호의 차이 비교 방법 다음과 같은 2개 신호가 있을 때 2개 신호의 차이는 RMS를 이용하여 계산할 수 있다. RMS를 계산하는 공식은 다음과 같다. 2022. 5. 15.
어떻게 살아야 하는가? (本性) 인간은 자신의 본성(本性)에 따라 살아야 한다. 인간들은 본성이 서로 다르다. 그렇기 때문에 각각의 인간들이 살아가는 방식도 모두 다르다. 인간은 어떻게 살아야 할까에 대해서 수많은 사람들이 수많은 다른 얘기를 한다. "목표를 가지고 살아야 한다", ""몰입을 해야 행복한다", "사람들과 좋은 관계를 맺어야 행복하다", "의미 있는 일을 해야 한다" 등의 얘기를 한다. 하지만, 이것은 정확하지 않는 말이다. 어떻게 살아야 할지는 사람들마다 모두 다르다. 누군가가 어떻게 살아야 한다고 말한다면 그것은 말하는 자신에게만 해당한다. 어떻게 살아야 할지 고민이라면 먼저 자신의 본성이 뭔지를 탐구해야 한다. 대부분의 사람들이 자신의 본성이 뭔지 정확하게 알지 못한다. 자신의 본성을 찾는 것은 평생동안 해야하는 일.. 2022. 5. 15.
프로그램 인수 main( int argc, char * argv [] ) C에서 프로그램의 인수는 다음과 같이 구한다. int main( int argc, char * argv [] ) { printf( "argc = %d\n", argc ); for( int i = 0; i test c file1 file2 위와 같이 프로그램을 실행할 때 저장되는 변수는 다음과 같다. argc = 4 argv[0] = "test" argv[1] = "c" argv[2] = "file1" argv[3] = "file2" 2022. 5. 15.
SEC 뜻 SEC (Samsung Electronics Co., Ltd.)은 삼성전자를 의미한다. 옛날에는 IC 표면에 SEC라고 되어 있었지만 현재는 다음과 같이 SAMSUNG으로 표기되어 있다. 2022. 5. 14.
사운드 블라스터 사운드 블라스터(Sound Blaster)는 1990년 설립된 싱가폴의 Creative Technology에서 만든 사운드 카드이다. 1994년 출시된 사운드 블라스터 AWE32 윈도우 95가 나오기 전에는 PC에서 사운드 블라스터가 사실상 표준과 같았다. 메인보드 내장 사운드를 사용하면서 사운드 블라스터의 판매가 감소하였다. Creative Technology의 2018년 기준 매출은 6,610만백 달러이다. Creative Technology에서 현재 출시되는 사운드 블라스터는 아래 사진과 같고 USB를 통해 연결하여 사용한다. 2022. 5. 14.
Rohm 반도체 회사 개요 Rohm은 일본 쿄토에 있는 반도체 회사이다. 1958년 설립되어 처음 판매한 제품은 저항이였다. 원래 이름은 R.ohm으로 저항을 나타내는 R과 저항단위 옴(ohm)이 결합된 말이었다. 1979년 R.ohm에서 Rohm으로 이름을 바꾸었다. 2017년 기준 매출은 3,520억엔 (한화 약 3조 5천억원 )이다. Rohm의 IC는 다른 제조사에 비해 덜 알려져 있지만 다른 IC에 비해 조금 더 저렴한다. ☞ Rohm 홈페이지 바로가기 2022. 5. 14.
반응형