반응형

 

 

 

 

 

제품을 이탈리아에 수출할 일이 있어서 구매한 전원 어뎁터.

우리나라 전원 코드 끝에 연결하여 사용하면 된다.

이탈리아 전원이 이렇게 생겼는지도 이번에 처음 알았다.

 

그런데... 3개를 샀는데 그 중 1개가 불량.

그래서 교환을 했는데... 교환한 것도 불량.

접지가 되어야 하기에 접지 되는 것을 겨우 찾았는데... ㅡ.ㅡ;

 

 

접지 부분이 도통이 되지 않는다.

 

 

정상 제품은 위와 같이 도통이 된다.

 

제품 구매시 주의해야 하겠다.

 

참고) 구매한 제품명 

  SD-12A 전원변환 이탈리아 칠레 쿠바 돼지코 플러그 변환콘센트 (10~16A/250V)

 

 

 

 

 

 

 

 

728x90
반응형

'공부 > HW' 카테고리의 다른 글

211026 Lattice Diamond 설치  (0) 2021.10.27
210814 NUCLEO-F746ZG UDP Server  (0) 2021.08.19
210626 OrCAD Capture to PADS Layout import  (0) 2021.07.03
210626 PADS 부품 분산  (0) 2021.06.27
210324 멀티탭의 정격 사양 (AC250V 16A)  (0) 2021.03.25
반응형

 

 

 

 

 

OrCAD Capture에서 회로도를 그리고 

Netlist를 만든 다음

PADS Layout 에서 netlist 파일을 import 하여 artwork을 한다.

 

OrCAD Capture에서 Netlist는 pads2k.dll 을 선택하고 확장자 파일을 .ASC로 지정한다.

 

 

생성된 netlist는 아래와 같이 첫 줄이 *PADS2000* 으로 되어 있다.

 

 

이 파일을 PADS layout 에서 File - Import... 하면... (ex. PADS layout 9.5 버전)

 

Unspecified or unsupported version of ASCII file 의 경고 메시지가 뜬다. 

무시해도 되지만 찝찝해서 이것 조차 없애고 싶면 아래와 같이 한다.

 

*PADS2000* 을 아래의 것으로 대치한다.

!PADS-POWERPCB-V9.0-MILS-CP949! NETLIST FILE FROM PADS LOGIC V9.3

 

PADS Logic에서 netlist를 출력해 보면 제일 위에 이렇게 나오는데 이 부분을 복사한 것이다.

 

아래 링크의 내용에서 찾았다. ^^

 

 

ORCAD Capture to PADS Layout 하는 방법

회로는 ORCAD Capture CIS에서 그리고, Artwork은 PADS의 Layout에서 하는 방법을 기술한다...

blog.naver.com

 

예전에 알고 있었는데 몇 년만에 다시 아트웍을 해 보니 잊어 버렸었다.

이것을 자동으로 하는 프로그램도 만들었었는데... 잊어 버렸네... ㅡ.ㅡ;

 

그래서 간단히 이번에는 배치 파일을 만들었다.

 

P2KtoLower.bat
0.00MB

 

사용 방법은 

P2KtoLower xxx.ASC

를 하면 xxx_New.ASC 파일이 생성된다.

 

이 New 파일로 import를 하면 경고 메시지는 나오지 않는다. ^^

 

 

 

 

 

 

 

728x90
반응형

'공부 > HW' 카테고리의 다른 글

210814 NUCLEO-F746ZG UDP Server  (0) 2021.08.19
210817 이탈리아형 전원 어뎁터  (0) 2021.08.18
210626 PADS 부품 분산  (0) 2021.06.27
210324 멀티탭의 정격 사양 (AC250V 16A)  (0) 2021.03.25
210316 Serial EEPROM CAT24C32 (Byte read)  (0) 2021.03.23
반응형

 

 

 

 

 

PADS 부품 분산 방법

 

Netlist를 import 하면 부품들이 모두 모여 있다.

 

 

이대로 하나씩 찾아서 배치할 수도 있지만 보기 쉽게 하기 위해서 분산한다.

 

Tool - Disperse Component 

 

 

오랜만에 아트웍을 해 보니 기억이 나지 않아서 다시 찾아서 기록해 둔다. ^^

 

 

 

 

 

 

 

728x90
반응형
반응형

 

 

 

 

 

Acrobat Reader 컨텐츠 준비 진행 메시지

 

어느 날부터 갑자기 발생한 "컨텐츠 준비 진행" 메시지.

매번 PDF 파일을 열 때마다 발생한다. 왜지? ㅡ.ㅡ;

 

 

그래서 안 나타나게 하는 방법을 알아 보았다.

 

"편집 >> 기본설정" 메뉴에서 "읽기" 범주를 확인하면 아래와 같다.

 

 

여기서 화면 판독기 옵션폐이지 vs 문서 부분의 설정을 아래와 같이 

"현재 표시되어 있는 페이지만 열기" 로 변경한다.

 

 

 

 

 

 

 

 

728x90
반응형
반응형

 

 

 

 

 

 

유용한 무료 유틸 더블커맨더

https://doublecmd.sourceforge.io/

 

Double Commander

About Double Commander is a free cross platform open source file manager with two panels side by side. It is inspired by Total Commander and features some new ideas. Some key features Internal text editor (F4)  with syntax hightlighting Built in file view

doublecmd.sourceforge.io

도스의 M 인터페이스에 익숙한 나.

윈도우 탐색기는 사용하기가 좀 불편하다.

한 때 비슷한 유틸리티로 토탈 커맨더를 썼었다.

그런데 유료라서 무료를 찾던 중 발견한 더블커맨더.

창을 여러개 탭으로 열어놓고 파일을 비교하면서 복사하기 편하다.

단축키로 정렬도 할 수 있고. 이름별, 파일종류별, 날짜별로 정렬할 수도 있다.

자주 사용하는 기능은 탭 열기 (Ctrl + T), 탭닫기 (Ctrl + W)

자주사용하는 폴더를 탭으로 만들어 놓고 Ctrl + Tab으로 탭사이를 이동하며 검색.

오른쪽, 왼쪽 창을 선택할 때는 그냥 Tab.

오른쪽 또는 왼쪽 창에 동일한 경로를 지정하고 싶을 때는 Ctrl + 오른쪽 또는 왼쪽 커서.

이름변경은 F2

그리고 최근에 발견한 기능.

표시되는 목록의 글자 크기 변경.

예전 버전에서는 환경설정 메뉴에서 했던 것 같은데...

버전이 업그레이드되면서 표시 글자 크기가 커져서 놀랐다.

줄일 방법을 환경설정에서 찾다가 못 찾고,

우연히 스크롤을 했는데...

표시되는 글자크기가 변하네~ ^^

화면표시되는 글자크기 변경은 Ctrl + 마우스휠 스크롤

자주쓰는 기능을 생각나는데로 정리해 봤다.

몇 년동안 꾸준히 쓰고 있는 무료의 아주 유용한 유틸리티이다.

 

 

728x90
반응형
반응형

 

 

 

 

 

윈도우 10 에서 시작프로그램을 추가하는 방법.

 

이전 버전에서는 시작프로그램 폴더를 찾아서 거기에 링크를 복사하면 자동으로 되었다.

윈도우 10 에서는 이 위치를 찾기가 어려웠다. 

찾아보니 간단한 방법이 있다.

 

"윈도우 + R" 로 명령어 실행창을 연 뒤

shell:startup 을 입력하면 된다.

 

 

그러면 아래와 이미지와 같은 위치의 경로 폴더가 열린다.

C:\Users\kang2\AppData\Roaming\Microsoft\Windows\Start Menu

직접 이 위치의 경로를 탐색기로 찾아가도 되겠다. 참고로 kang2 부분은 사용자 계정이다.

 

 

여기에 윈도우 시작시 자동으로 동작할 프로그램의 단축아이콘 링크를 복사해 놓으면 된다.

위 오른쪽과 같이 Dynalist 프로그램의 링크를 복사해 넣었다.

 

확인을 위해 시작 메뉴 오른쪽 클릭 >> 앱 및 기능 을 선택.

아래 오른쪽과 같은 창에서 제일 아래쪽의 시작 프로그램을 선택하여 나타나는 리스트 중에서 등록된 Dynalist 프로그램을 확인할 수 있다.

 

 

 

 

 

 

 

728x90
반응형
반응형

 

 

 

 

 

멀티탭에 전원을 많이 쓰는 장비들을 많이 물릴 경우가 있어서

멀티탭이 어느 정도 전류까지 사용할 수 있는지 전류 사양을 알아 보았다.

 

회사에 사용하는 구형 멀티탭으로 확인.

 

 

AC 250V 15A 라고 나와 있다.

검색해 보니 최근 멀티탭 들은 거의 AC 250V 16A 이다.

주의할 것은 개별이 아니라 전체 합한 용량이다.

이것 처럼 가끔 용량이 다른 멀티탭이 있으니 잘 확인해서 사용하자.

 

 

그리고 2,800 W 이하로 사용하라고 되어 있다.

6구 멀니탭 전체 사용 용량이 2,800 W 이하여야 한다.

 

 

가전제품과 장비들 전력사양을 잘 보고 같이 사용해야 하겠다.

 

더 자세한 내용은 아래 링크에 잘 나와 있다.

 

m.blog.naver.com/kwshop88/220303971626

 

10A와 16A, 멀티탭의 핵심은 케이블입니다. 그 다음이 접지 기능이구요.

오늘은 멀티탭 공부를 해보겠습니다. 멀티탭을 크게 두 부분으로 나누면 케이블, 콘센트 부분으로 나눌 수 ...

blog.naver.com

 

 

 

 

 

 

728x90
반응형
반응형

 

 

 

Serial EEPROM CAT24C32 (32kbit)

STM32F103을 이용한 I2C Byte read 기능 구현.

 

환경) Compiler : System Workbench, CMSIS library

 

Sequence는 아래를 참조하여 구현한다.

 

 

구현한 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
int EEPROM_i2c_readByte(uint8_t slaveAddr, uint16_t regAddr, uint8_t * retByte) {
 
    I2C_AcknowledgeConfig(I2C2, ENABLE);
 
    I2C_GenerateSTART(I2C2, ENABLE);
 
    int timeout = I2C_TIMEOUT;
    while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT)) {
        if((timeout--== 0) {
            return -1;
        }
        delay_us(1);
    }
 
    I2C_Send7bitAddress(I2C2, slaveAddr, I2C_Direction_Transmitter);
 
    timeout = I2C_TIMEOUT;
    while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) {
        if((timeout--== 0) {
            return -2;
        }
        delay_us(1);
    }
 
    // Register Address 15-8
    I2C_SendData(I2C2, (uint8_t)((regAddr >> 8& 0x00FF));
 
    timeout = I2C_TIMEOUT;
    while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) {
        if((timeout--== 0) {
            return -3;
        }
        delay_us(1);
    }
 
    // Register Address 7-0
    I2C_SendData(I2C2, (uint8_t)(regAddr & 0x00FF));
 
    timeout = I2C_TIMEOUT;
    while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) {
        if((timeout--== 0) {
            return -4;
        }
        delay_us(1);
    }
 
    I2C_GenerateSTART(I2C2, ENABLE);
 
    timeout = I2C_TIMEOUT;
    while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT)) {
        if((timeout--== 0) {
            return -5;
        }
        delay_us(1);
    }
 
    I2C_Send7bitAddress(I2C2, slaveAddr, I2C_Direction_Receiver);
 
    timeout = I2C_TIMEOUT;
    while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) {
        if((timeout--== 0) {
            return -6;
        }
        delay_us(1);
    }
 
    timeout = I2C_TIMEOUT;
    while (!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_BYTE_RECEIVED)) {
        if((timeout--== 0) {
            return -7;
        }
        delay_us(1);
    }
 
    *retByte = I2C_ReceiveData(I2C2);
 
    I2C_AcknowledgeConfig(I2C2, DISABLE);
 
    I2C_GenerateSTOP(I2C2, ENABLE);
 
    timeout = I2C_TIMEOUT;
    while(I2C_GetFlagStatus(I2C2, I2C_FLAG_BUSY)) {
        if((timeout--== 0) {
            return -8;
        }
        delay_us(1);
    }
 
    delay_us(100);
 
    return 0;
}
 
 
void delay_us(int us)
{
    volatile u32 i;
 
    for(i = us; i > 0; i--// 72clock = 1us
    {
        asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
        asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
        asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
        asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
        asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
        asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
        asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
        asm("nop"); asm("nop");
    }
}
 
 
// Use example
uint8_t addr = 0xA0;    // Device address
uint8_t value = 0;
int  targetaddr = 0x00;
EEPROM_i2c_readByte(addr, targetaddr, &value);
 
cs

 

 

 

 

 

728x90
반응형

'공부 > HW' 카테고리의 다른 글

210626 PADS 부품 분산  (0) 2021.06.27
210324 멀티탭의 정격 사양 (AC250V 16A)  (0) 2021.03.25
210318 C data types (C99 Standard)  (0) 2021.03.18
210316 Serial EEPROM CAT24C32 (I2C 펌웨어)  (0) 2021.03.17
210316 Serial EEPROM CAT24C32  (0) 2021.03.16

+ Recent posts