2019년 8월 24일 토요일

윈도우 배경화면 사진 다운로드 방법

서론 없이 바로 시작하겠습니다.

폴더창에서 주소 입력란에 


%LocalAppData%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets


를 붙여넣기 합니다.

아래와 같은 이상한 이름의 파일들이 나오게 됩니다. 

이 파일들을 모두 복사한 후 바탕화면에 새로운 폴더를 만든 후 그 폴더 안에 붙여넣기 합니다.
(웬만하면 이름을 영어로 만드세요)

그리고 바탕화면에 새로만든 폴더를  shift 키를 누른채로 오른쪽 마우스를 클릭합니다.

메뉴 중에 '여기서 명령창 열기' 항목을 클릭합니다. 

명령창이 나오면 


노란색 부분처럼 ren * *.jpg 를 입력하고 엔터를 누릅니다 (ren뛰어쓰기*띄어쓰기*.jpg)
(노란색 위에 항목은 무시하세요)

그러면 파일들이 jpg 확장자로 변한 것을 볼 수 있는데요. 



파일정렬에서 파일크기가 큰 순으로 정렬하면
 지금까지 보았던 사진들을 보실 수 있습니다. 

2019년 8월 5일 월요일

[LABVIEW] 간단한 코딩으로 엔코더 측정하기 (Encoder measurement with CRIO, NI-9401)



CRIO와 NI-9401을 이용, 간단한 코딩으로 엔코더 신호측정


엔코더 스펙 : 360CPR (1회전당 360개의 펄스 출력), A, B 출력, Z(index) 없음, Encremental

장치 : CRIO-9035, NI-9401

모드환경: Real-time (No FPGA)

랩뷰 : 2018

 본 글은 real-time 환경에서 crio와 ni-9401의 프로퍼티를 이용하여 복잡한 코딩없이 초보자도 쉽게 엔코더신호를 측정할 수 있는 글입니다. 엔코더측정에 관한 자세한 내용은 http://www.ni.com/tutorial/7109/ko/ 참조하세요.

요약


REAL-TIME 환경에서 NI9401 property에서 측정모드를 quadrature를 택하고 각각의 항목을 엔코더 스펙에 맞게 설정, 아래 그림과 같이 코딩하면 바로 엔코더를 측정할 수 있습니다. (4체배 기준, 감속기 1:51)

NI9401 코딩

  1. 기본세팅
    
전반적인 세팅 작업입니다. Crio설치와 모드설정, 9401설치 관련사항은 Getting started문서를 참조하거나, 구글검색하시면 쉽게 하실 수 있습니다.

참고로, REAL-TIME을 이용하기 때문에 FPGA TARGET에서 빈 VI를 생성하여 실행버튼을 한번 눌러줍니다.


   2. NI-0401 셋팅


기본적인 셋팅이 되셨으면(PC와 CRIO 연결, SCAN MODE 등) Chassis 항목아래 real- time scan Resources 가 있습니다. 해당 항목을 오른쪽마우스 – 새로만들기 – C series module 를 클릭합니다. 아래 그림과 같은 창이 뜹니다. 

디바이스 추가 창
Dicover를 눌러 ni-9401을 찾아 선택하여 확인을 누릅니다. 프로젝트로 돌아가면
(9401)가 생성된 것을 확인할 수 있습니다.


이후, MODE 오른쪽 – PROPERTY를 선택합니다.

캡션 추가

위와 같은 창이 나옵니다. 참고로 FPGA MODE에서는 specialty digital configuration
category가 안나올 수 있습니다.

Module configuration에서는 9401이 엔코더 신호를 읽어야 하기 때문에 모두 inputmode를 선택합니다. 만약 두 개의 엔코더를 쓰신다면 모든 DIO를 INPUT으로 설정합니다. 

 각 항목에대한 설명은 help를 보면 자세하게 나왔습니다.
specialty digital configuration에서는 specialty mode를 quadrature로 사용합니다.

 Quadrature란

 A, B 펄스 위상차가 90도차이가 나는 신호를 일컫고, 이로인해 최대 4대의 출력타입을 뽑을 수 있습니다. 즉, 엔코더 자체 분해능보다 4배의 분해능 성능을 뽑을 수 있어 좀 더 정밀한 위치측정을 할 수 있습니다. 대부분의 엔코더가 이 형식을 따릅니다.
 input filter란

 말 그대로 ‘noise를 없앤다’ 입니다. 이 부분은 직접 오실로스코프를 통해 측정해서, 가장 큰 noise의 펄스시간을 확인하여 항목을 선택합니다. 예를들어, 16us선택하면 ‘그 시간 이하의 펄스는 다 무시한다’ 라고 보시면 됩니다. 오실로스코프가 없어 측정이 불가능하면 disabled를 선택합니다. 

 Velocity time base란

 counter가 특정시간(항목)동안 일어난 counts의 개수를 리턴한다는 의미이며, time base가 작을수록 낮은 해상도를 제공하지만 리턴되는 counts 값은 많아집니다. 반대로 큰 time base는 고분해능을 제공하지만 속도에서 miss되는 부분이 있고, 뒤쳐질 수 있습니다. 즉, 모터속도가 크면 엔코더의 분해능이 떨어져 정확한 위치측정이 힘들다고 볼 수 있습니다. (자세한 사항은 해당창 help를 보시면 쉽게 알 수 있습니다.) 

Index mode는 0으로 reset을 한다는 것인데, Z(INDEX) 채널을 사용할 때 설정하시면 됩니다. 예를들어 b1, a1을 선택하면 Z가 1이고, A, B가 1 state 있을 때, 포지션이 0으로 reset 된다는 의미입니다.

확인을 누르면 아래와 같이 바뀌게 됩니다.

바뀐 MOD2의 DATA SOURCE
     
 
위치, 속도에 대한 0,1이 각각 있는데, 이는 엔코더를 최대 2개를 쓸 수 있다는 것입니다. 제경우 1개를 이용하여 0을 선택하였습니다.

     3. 선연결


캡션 추가
NI자료를 보면 9401에 대한 핀아웃이 있습니다. A, B만 사용할 것이기 때문에 CTR 0 A, CTR 0 B만 사용합니다. 엔코더를 2개 사용하거나 Z를 사용하면 위 표를 보고 더 연결하시면 됩니다. 제 경우, 위 표대로 B채널을 17PIN에 연결해보니 데이터를 정확히 측정을 못했습니다. 나중에 HELP를 보니, B채널은 PFI 1 채널에 연결하라고 되어 있어 16PIN에 연결해보니 데이터가 측정이 됬습니다.

      4. 코딩

코딩


각도로 표시하기 위해선 위 식을 사용합니다. POSITION의 RAW data는 edge_count 입니다.
  • X=엔코더 자체의 CPR
  • N=체배수
입니다. 제 경우, X=360, 4체배수를 사용하므로 결국엔 POSITION을 4로 나누면 되지만 모터에 1:51의 감속비가 결합되어 있어 204로 나누었습니다.



참조사이트

http://www.ni.com/tutorial/7109/ko/

2019년 7월 23일 화요일

[매우 간단] 부트캠프없이 맥북에서 window 사용하기 [remote control] (feat. chrome)

예전에 비해 요즘은 컴퓨터간 원격조종을 많이 하지 않는데요, 
큰 이유중 하나는 사람들의 컴퓨터 다루는 기술과 지식수준이 향상되어 혼자 해결할 수 있고, 
 간단히 검색만 해도 쉽게 문제를 해결할 수 있어 굳이 원격으로 특정 프로그램 다운받아 
복잡한 과정을 거칠 필요가 없기 때문이라 생각합니다.
또한 남에게 자신의 컴퓨터를 맡기게 되면 해킹우려도 있어 많이 사용하지 않는 것 같습니다. 

근데, 오늘 소개드릴 내용이 원격입니다!

하지만 쓰임새가 다릅니다. 
남에게 자신의 컴퓨터를 공유하는 것이 아닌, 
급하게 맥북으로 윈도우를 사용해야 할 경우 유용한 팁입니다.

물론, 이 프로그램으로 남과 공유도 가능합니다.
아래 단계를 따르면 남과의 공유도 쉽게 할 수 있습니다.
하지만 이번 글의 취지는 '맥북으로 윈도우 사용'이기 때문에 따로 
작성은 하지 않겠습니다.

저의 경우 카페에서 맥북으로 작업을 할 때, 
학교에서 사용하는 컴퓨터와 원격 조종을 통해
윈도우로 작동되는 프로그램을 사용하여 매우 만족하며 사용하였습니다.

그리고 무엇보다 매우 간단하여 손 쉽게 사용이 가능합니다!

그럼 가독성을 위해 딱딱하게 작성하겠습니다

필요한 것

구글아이디, 크롬, 구글 데스크탑 앱


주의

 조종컴퓨터(mac)가 아닌 원격받을 컴퓨터(window)로 먼저 아래과정을 다 따라하신 후
맥으로 원격데스크톱 앱까지만 설치해주시는 게 헷갈리지 않으실 겁니다.
또한, 같은 구글 계정으로 로그인한 상태여야 합니다.

원격하는 법

https://remotedesktop.google.com/   링크에 접속 

우측 상단에 원격 액세스를 클릭


위 그림에서 아래방향 화살표를 클릭
chrome remote desktop을 chrome에 추가 합니다.
이후 동의 및 설치를 눌러줍니다.
조종받을 컴(window)은 아래과정 계속 진행하시고 
조종할 컴(mac)은 설치까지만 진행해 주세요


그러면 이름선택란이 나오는데
이름을 적어주시고 다음을 눌러줍니다.


이후 PIN 번호를 6자리이상 적어줍니다.
그 아래 개선참여는 원하시는 대로 하셔도 무방합니다.


 완료가 되면 위와 같은 이미지가 뜹니다.

이제 원격조종할 컴퓨터(mac)로 돌아가면 기기가 뜨게 되는데, 
그 기기(window)를 클릭합니다.

    

전에 입력한 pin번호를 입력합니다.


그럼 위와같이 mac에서 window os를 컨트롤 하는 것을 
직접 경험할 수 있습니다!

+ 추가 (윈도우 파일을 맥에서 다운받기)


추가적으로 윈도우에 있는 파일을 우측 중간에 있는 화살표를 눌러
파일 다운로드를 누르면 


위와 같은 대화상자가 나오는데 원하는 파일을 클릭하시면 맥에서 다운이 됩니다.

물론, 업로드도 가능합니다!


+ 단점

제가 생각하는 단점은 체감상 반응이 살짝 느려 
오랫동안 맥북으로 윈도우를 작업하기에는 힘들다는 점 입니다.

두 컴퓨터 모두 켜져 있고 구글계정이 로그인된 상태에서 할 수 있으므로,
생각날 때, 바로 하기에는 갖추어야 할 조건이 많습니다.





2019년 7월 22일 월요일

[Labview] crio에 ni-9881 모듈 연결하여 MAX에서 연결상태 확인하기.

0. 참고사항

    Labview 2018과 crio-9035, ni-9881을 이용하여 real-time으로 진행하는 내용입니다.


1. 하드웨어 소프트웨어 구성하기


    1-1 소프트웨어 준비사항

  1. LabVIEW, LabVIEW Real-Time Module, and LabVIEW FPGA Module
  2. NI CompactRIO Device Drivers
  3. NI-Industrial Communications for CANopen

여기서 C 단계는 


에서 자신의 랩뷰버전과 맞는 버전을 선택하여 다운, 설치한다.

     1-2 하드웨어 준비사항

  • You have connected all targets and devices to a CANopen network.
  • You have inserted the NI 9881 module into the chassis slot 2.
  • You have powered on the chassis.

NI-9881과 CANopen 통신모듈을 연결한다. 이 때 CAN-H, CAN-L 선을 120옴 저항으로 양단
(NI-9881과 CANopen 부분)에 연결한다. (위 사진 참조)

또한, NI-9881은 반드시 샤시의 슬롯2에 장착시킨다.

                      

NI-9881 포트에는 추가적인 전원공급이 필요하다. 
9번핀과 COM(6핀)에 9~30V 의 전압을 인가한다.

2.  Specifying the Controller and FPGA Settings to Locate the NI 9881 Module


If you are using cRIO-903x/904x/905x/906x, go to step 3. Otherwise, navigate to the labview\examples\NI-Industrial Communications for CANopen\Utility\Module Firmware Tool\subVIs directory and launch the CANopen cRIO FPGA Compile Instructions.vi file. Follow the instructions on the front panel.

cRIO-903x/904x/905x/906x 사용자는 2번 단계를 생략한다. 필자도 9035를 사용하므로 생략한다.



3. 펌웨어 업데이트 하기


   3-1 랩뷰 메뉴바에서, 도움말-예제찾기를 클릭하여 CANopen을 검색 한 후 CANopen Module Firmware Update.lvproj 파일을 열어준다.


  3-2 여러가지 crio 가 나오는데 4개 중 1개를 선택하여 오른쪽 마우스 클릭-프로퍼티에서 자신의
crio 주소를 입력하여 연결시킨다. (필자는 fpga모드가 아닌 리얼타임으로 쓸 것이기 때문에 scan모드로 설정하였다.)

  3-3 샷시-리얼타임 스캔 리소스에 들어가 ni-9881을 연결, 배포한다.

  3-4 FPGA 타켓-샷시I/o에서 오른쪽 마우스 클릭 후 VI를 생성후, 바로 실행버튼을 누른다.
      - 이 단계를 진행하는 이유는 리얼타임에서도 FPGA를 쓰기위해서다. 
      - 이 단계는 리얼타임 즉, 스캔모드로 진행하는 분이 진행하길 바란다. 자세한 사항은 랩뷰참조.
      - window10 OS를 사용하므로, xilix로 컴파일을 합니다.

  3-5 모듈 펌웨어 업데이트.VI를 클릭하여 실행 후 업데이트를 눌러 진행한다.

4. MAX에서 확인하기


  이후 MAX에 들어가 자신의 NI-9881이 CRIO에 연결되었는 지 확인한다.




5. 참고자료







구글 스프레드 함수를 활용한 내 입맛대로 자산(주식) 통합 관리하기!(자산분배)-(1)

흩어진 주식계좌! 내 입맛대로 실시간 통합관리하기 1.  2% 아쉬운 MY데이터 활용한 자산 통합관리 지인에게서 퀀트투자라는 생소한 투자법을 들은 후 매력을 느껴 더욱 깊이 알아보고자 강형국의 퀀트투자라는 책을 읽게 되었다. 이 책은 나의 투자 가치관...