본문 바로가기

Electron

주로 사용하는 Arduino 보드 핀 배열 주로 사용 하는 Arduino 보드가 Uno, Mega, Leonardo, Nano, Pro 다섯가지 정도 되네요…종종 핀 배열을 보고 싶을 때가 있어서 정리해 봤습니다. 우선 가장 일반적인 Arduino Uno R3 좀더 많은 입출력 핀이 필요 할 때 애용하는 Arduino Mega 2560 USB 관련 제어를 할 때 종종 쓰는 Arduino Leonardo 소형으로 제작할 필요가 있을 때는 Arduino Nano 한번 만들어 놓으면 컴퓨터 연결 필요 없고..저렴하게 만들 때 애용하는 Arduino Pro Mini 더보기
분유 자동 공급기 만들어 봤습니다. 급하게 분유 탈때 계량 급하게 하다가 흘리고 고생 많은 와이프를 위해서 만들어 봤습니다~ Arduino 를 사용 했습니다~ ​ 더보기
[펌] 접촉부분에서 발생하는 서지 대책 MAX232는 RS232회로에서 필수적으로 필요한 칩입니다. 우리가 흔히 책을 통해 접해보는 MAX232회로는 다음과 같습니다. 그래서 PCB를 이렇게 만듭니다. 제가 시중에서 접한 교육용 보드, 트레이닝 보드들은 거의 대부분이 이렇게 패턴이 연결되어 있었습니다. 노이즈 대책이 없는 설계의 대표적인 예입니다. 고수라면 바리스터 (또는 TVS다이오드) 를 붙였을 것입니다. 왜냐하면 RS232 커넥터를 꼽았다 뺐다 하는 부분에서 스파크 (정전기)가 발생되어 기판 내부로 전달되기 때문입니다. 이렇게 붙이면 될까요? 뭔가 어설픕니다. 이렇게, 노이즈(스파크)가 발생되는 지점에 가깝게 붙여야합니다.​ 바리스터를 선정하실때 정전용량이 너무 크지 않은것을 선택해야합니다. 파형이 찌그러질 가능성이 있습니다. 고속 통신.. 더보기
[펌] 산업용 장비에서의 노이즈대책 앞서 포스팅 (참고)에서 RS232C 콘넥터 부근에 바리스터 (또는 TVS다이오드)를 달아서 서지대책을 세우는게 필수적이다 라고 설명을 드렸는데요. "구지 이렇게 까지 할 필요가 있을까?"하고 아직도 의심하시는 분들이 있을것 같아, 여기 참고할 만할 예를 가지고 와봤습니다. 아래 사진은 미쯔비시의 산업용 프로그래머블 로직 콘트롤러 Q시리즈입니다. 이중 RS232C 통신 모듈입니다.​ 이것을 뜯어보면, 아래처럼 복잡한 회로가 있습니다. RS232C D-SUB 9핀 콘넥터 부근에 코일과 ZD라고 표시된 제너다이오드 (실제로는 TVS다이오드)가 보입니다. 뒷면을 봐도 모든 핀마다 TVS다이오드가 꼼꼼히 박혀있군요. 사진에는 잘 안나왔지만, 실리콘 코팅도 잘되어 있었습니다. 좀 과하다 싶을 정도로 정전기(서지).. 더보기
[펌] PCB노이즈대책 (디커플링 콘덴서 연결방법) PCB설계시 디커플링 콘덴서는 MCU또는 IC의 전원핀에 바짝 붙여서 설계하라고 많이 들어보셨을 겁니다. 그냥 위치만 근처에 있으면 되는걸까요? 다음 PCB를 한번 보세요.이런식으로 PCB 디자인이 되었다면, 디커플링 콘덴서를 잘못 연결한 것입니다. 디커플링 콘덴서는 해당칩이 순간적으로 전원을 많이 끌어쓸때, 그것을 보충해주기 위해서 입니다. 그 역활을 충실히 못해주면, 칩의 동작도 불안할 뿐더러, 전체 전원이 순간적으로 흔들려서, 그것이 노이즈의 형태로 다른칩까지 영향을 주게 됩니다.아래 그림처럼 PCB를 설계하십시오. 5V 가 칩으로 가기전에 디커플링 콘덴서로 가야 합니다. [출처] (추천글)PCB노이즈대책: 디커플링 콘덴서 연결방법|작성자 큐블 더보기
[펌] 노이즈에 강한 프로그래밍 MCU에는 여러가지 메모리가 있는데, 쓰임새에 따라 다르게 부릅니다.PC (프로그램 카운터) : 프로그램 메모리중 현재 실행할 번지를 가지고 있음. SP (스택 포인터) : 스택 저장 지점을 가지고 있음. 레지스터 : ALU에서 사용하는 데이터를 가지고 있음. I/O (페리퍼럴) 레지스터 : I/O등 페리퍼럴의 셋팅상태등을 가지고 있음. 다양한 쓰임새가 있지만, 이 모든것은 그냥 플립플롭으로 구성된 메모리입니다. 노이즈에 의해서 차별대우를 받지 않는 그냥 평범한 메모리인 것입니다. 이중 어떠한 메모리도 노이즈의 공격으로 부터 자유롭지 않습니다. 심지어 PC (프로그램 카운터) 조차도 노이즈로 인해 내용이 파괴될수 있습니다.I/O 레지스터의 내용이 노이즈로 인해 바뀐다면, 그냥 I/O상태가 바뀌는 것이지만.. 더보기
[펌] 노이즈에 강한 디지털 입력 설계 외부로부터 디지털 입력을 받는 회로를 한번 생각해보겠습니다. 풀업저항 하나 연결해서 외부로 연결하는 분들도 많습니다. 대부분의 노이즈는 전압은 높은 반면 전류는 대단히 미약합니다. 하지만,CMOS칩의 기초소자인 FET 는 전압만으로 동작이 됩니다. 풀업저항만 있는 이 회로는 노이즈가 여과없이 통과되고 맙니다. 그래서 옵토커플러를 사용한 전원분리 (Isolation)를 많이 합니다. 이렇게 하면, 옵토커플러에 최소 9mA의 전류를 흘려주어야, 내부에 있는 LED에 불이 들어와서 그결과 CMOS칩으로 입력 상태가 전달됩니다.옵토커플러는 전류와 전압을 동시에 공급해야 한다는 것만으로 매우 훌륭한 노이즈 대책이 됩니다. 그럼 전원 분리를 하지 않고 옵토커플러만 사용하면 어떨까요? 이것도 풀업만 연결한 회로보다는.. 더보기
RF 315, 433 무선 제어 RF 방식으로 무선 통신을 해보려고 합니다.RF 315, 433 등이 주로 사용 되는데..일상 생활에선 자동차 원격 리모콘 등에서 많이 사용 되는 주파수 입니다.주파수 대역에 따라 신호가 가지는 특성이 다릅니다..낮은 주파수 대역은 대역의 주기가 작은 대신 주파수의 파형이 원만하기 때문에 장애물을 만나도 통과 하는 특성이 있기 때문에 장에물이 많은데 유리하며...높은 주파수 대역은 대역에 주기가 많기 때문에 더 많은 데이터를 실어서 보낼수 있지만 파형의 그래프가 가파르게 그려지기 때문에 직진성이 높아져서 벽이나 장애물을 만나면 반사가 되는 특징이 있으니 이점을 검토해야 합니다.제어쪽에 있어서는 일반적으로 시중에 나오는 RF 모듈에 경우 같은 제어코드와 소스코드로 사용이 가능하니 사용함에 있어서는 차이가 .. 더보기
MAX3232CSE Arduino Due와 같이 3.3v를 쓰는 보드에서는 시리얼 포트를 사용하기 위해선MAX3232가 필요 합니다...칩만 사는것보단 아래와 같이 모듈 형태가 더 싸네요... 연결 방법 참고 하세요. 더보기
풀다운(Pull Down),풀업(Pull Up) 저항 저항값 계산 방법은 아래를 참고 하시면 됩니다. Floating refers to a situation when it is difficult to tell the state of a pin that is not connected. To prevent this unknown state, a pull-up or pull-down resistor will insure that the pin is in either a high or low state, while also using a low amount of current. Pull-ups are more common than pull-downs.pull-up resistor is connected to the high voltage (this is usual.. 더보기
Arduino 에 고속 펄스 만들기.. 고속 펄스가 필요해서... Arduino 에서 얼마나 빠른 펄스를 만들수 있을까 생각해 봣습니다. PWM 포트를 이용해서 analogWrite() 이나 tune()를 이용하면 좀더 고속에 펄스를 만들수 있지만. 펄스 카운트를 하기 힘들다는 문제가 있습니다. 그래서 단순히 digitalWrite()를 이용해서 출력을 해봤습니다. 올실로스코프 사진을 보시면 알겠습니다.. 단순히 On,Off를 반복 함에도 의도치 않은 딜레이가 발생 됩니다. 검색해 보니 delayMicroseconds() 자체도 딜레이가 있지만... digitalWrite() 자체에 딜레이가 있다고 하더군요. bitSet()을 사용 하면 30배 이상에 속도 향상이 있다고 합니다. 몇배가 중요 하다기 보단..바로 비트로 제어해 주니.. Ardu.. 더보기
Arduino 에 로드셀 연결... HX-711 Arduino 에 로드셀을 연결해봤습니다.. 로드셀 분동 올리기 귀찮아서..테스트용으로.... 4선식 로드실 시뮬레이터를 만들어서 테스트 해봤고.. 기본 Arduino에 PWM 포트로 입력 받을때는...로드셀 시그널 값을 음전압 만든후 500배 정도 증폭을 해줘야했습니다. 그리고...그나마도 PWM에 포트에 8비트 한계상 분해능이 255 단계로 너무 낮았습니다. HX711 을 사용 하면 이름데로 24비트 분해능으로 2에 24승인...16777215 단계에 분해능을 사용 할수 있습니다. 이론적인 수치이고 실제론 앞뒤를 잘라 버린다고 해도.... 테스트용으로 20kg 저울을 만들때 분해능 소숫점 이하 2자리 이상 까지 떨림 없이 안정적인 성능을 보여 주네요... 그리고 이베이에서 보니 빨간색 보드로 판매 하.. 더보기
AWG(American Wire Gauge) 전선규격표 AWG(American Wire Gauge) 전선규격표 AWG번호 직경(Inch) 직경(mm) 단면적(mm²) 저항(Ω/m) 허용전류(A) 4/0=0000 0.46 11.7 107(100) 0.000161 280~298 3/0=000 0.41 10.4 85 0.000203 240~257 2/0=00 0.365 9.26 67.4(60.0) 0.000256 223 1/0=0 0.325 8.25 53.5 0.000323 175~190 1 0.289 7.35 42.4(38.0) 0.000407 165 2 0.258 6.54 33.6 0.000513 130~139 3 0.229 5.83 26.7(22.0) 0.000647 125 4 0.204 5.19 21.1 0.000815 98~107 5 0.182 4.62 .. 더보기
Siemens SIMATIC S7 v5.4 를 Windows 7 에서 사용하기...[누락된 네트워크 파일 복사] Siemens SIMATIC S7 v5.4 설치를 했는데 이더넷으로 연결을 시도하면 드라이버 파일을 찾을수 없다는 에러와 Set PG/PC Interface 에서 [Diagnostics...] 을 누르면... 아래와 같이 diagdisp.dll 모듈을 실행 할수 없다는 에러가 뜨는 경우가 있다. 헤결책은 S7 CD 에 \CD_1\STEP7\Disk1\s7sdd\ 에 보면 Data1.cab 파일이 있는데 이 파일을 압축을 풀면 어러 파일이 나온다. 그중에 S7ONTCP.DLL_739F7008_090C_11D6_9B84_0004760E38E2und 파일을 S7ONTCP.DLL 으로 이름을 바꾸고 C:\Windows 폴더에 복사해 준다. 그리고 DIAGDISP.DLL_79693C52_DB55_4591_B7CC.. 더보기
아르고폰 문자수신음,카메라셔터음 바꾸기. 여친이 아르고폰을 쓰는데... 문자 수신음을 바꾸길 원하는데 아무래도 여자가 하긴 어렵다고 해서... 간단히 Tutorial 을 만들어 보게 되었습니다. 기본적으로 아르폰을 토대로 만들었지만... 딴 폰도 비슷하니 CDMA Tool이 지원되는 한도 까지는 응용해 보시기 바랍니다. 우선 http://www.cdmatool.com/eng/download.htm 에 가서 프로그램을 다운 받습니다. 혹시 모르니 해당 파일도 여기 첨부 하겠습니다. 그리고 아래와 같이 .NET Framework 2.0 이 설치되어 있지 않다면.. MS 업데이트에서 추가하시던지 위에 사이트에서 함께 다운 받아 설치 하시기 바랍니다. 이제 핸드폰은 컴에 연결 합니다... 그리고 장치 관리자를 띄워서 핸드폰에 COM 포트를 확인해 줍니.. 더보기
PCB 부품 변경하기... [이글은 작년에 네이버 블로그에 썼던거 이사오면서 퍼온글입니다.] PCB 를 배치 하다보니... 부품모양이 이상해서 바꿀 경우를 순서데로 설명해 드리려고 합니다. 아래 그림과 같이 크리스탈을 배치하다보니 이름이 위쪽으로 배치 되어 있네요... 이걸 고쳐보죠... 아래와 같이 패키지 라이브러리 디자이너를 실행 합니다. 왼쪽 탭에서 패키지를 선택하고.. 해당 부품의 패키지가 들어있는 파일을 선택하고... 해당 파일을 선택합니다. 그럼 오른쪽 빨간 네모쳐논것과 같이...위쪽으로 쏠려 있네요... 이걸 아래로 이동 시킵니다 (단축키 : 컨트롤 + E) 아래 그림과 같이 아래쪽으로 잘 배치 합니다.. 그리고 왼쪽 하단에 오른쪽 버튼을 눌러서 새이름으로 저장을 합니다. 그리고 해당 창을 닫고... 좌측에 심볼탭에서.. 더보기
WinAVR 설치후 처음 해야할 일.... Make파일 변경 Windows에 System32 폴더에 make.exe를 다른 이름으로 바꿔준다. Temp 폴더 변경및 속성 변경 더보기
CodeVision Code Generater 에 USART2,3 문제 이것 때문에 몇일동안 완전 삽질 했습니다.. 증상은 USART2에 RFID 리더를 붙였는데... RFID 14443A에 관한 쿼리인 04 00 60 FF 를 날려 줬는데... 5바이트가 날아오긴 하는데 그 값이 항상 00 이라는게 문제가 있었습니다. 카드 값인 06 UID(4바이트) FF 가 날아오던가... 최소한 에러이면 05 AA BB CC FF 가 날아와야 하는데.... 이것때문에 RFID 모듈 제작사에 전화로도 문의하고 했지만.. 해결 못하고 완전 삽질만 하다가... 우연히..USART1 으로 입력을 받으면서.. USART2 입력을 테스트 하니까...USART2 에 00 이 아닌 값이.. 날아와서...GETCHAR 부분을 참고해 보니까.... USART1의 값을 긁어 오네요...ㅡ,ㅡ USART3.. 더보기