개발/기술문의

LabVIEW/STM32 등 개발문의 -> jexe0716@gmail.com 으로 연락부탁드립니다.

반응형

LabVIEW 7

LINX | LabVIEW를 이용한 Arduino SPI 제어 [ADS1120]

LINX by LabVIEW MakerHub 에 대해서는 앞선 글에서 소개한 것 같다. 오늘은 개발 과정 중에 온도를 고속 측정할 필요가 있어서 TI사의 ads1120 을 사용한 예를 소개하고자 한다. www.ti.com/lit/ds/symlink/ads1120.pdf?ts=1618319944382 처음에는 STM32 Nucleo에 연결하여 펌웨어 작업을 하였는데, 사실 실험을 하다보니 PC에서 편하게 제어하고 데이터도 엑셀로 쉽게 저장하는 등등 여러가지 UI 필요성이 있어서 랩뷰로 코드를 변경하게 되었다. NI사의 DAQ를 구매하기 전에 빠르게 테스트를 해보고 싶기도 하고, 마침 STM32 Nucleo 보드 핀과 Arduino 보드 핀이 동일하여 손땜한 Ads1120 보드를 그대로 사용할 수 있어서 빠..

LabVIEW 2021.04.13

USB8452 | I2C제어 및 간단한 profile 입력하기

LabVIEW에서 Serial통신은 자주 해봤지만 I2C나 SPI를 해 본적 있는가?(나만 안해본 것일 수도 있다) USB845x 시리즈를 이용하면 랩뷰로 I2C와 SPI 통신을 할 수 있다. 이전 글에 아두이노를 랩뷰로 제어(LINX)하여 DAC5571를 I2C제어한 바 있다. 동일하게 USB8452로 I2C를 제어하는 코드를 기록하기 위해 글을 써본다. LINX와 USB8452의 I2C configuration 하는 코드 방식이 거의 동일하여, 아두이노로 사전 학습 한 것이 큰 도움이 되었다. 추가로 텍스트파일로 어떠한 원하는 파형(profile)을 준비한 뒤, DAC를 출력하도록 하였다. 이전 글과 마찬가지로 DAC5571 데이터시트를 찾아서 함께 보아야 이해가 될 것이다.

LabVIEW 2021.02.28

LINX | LabVIEW를 이용한 Arduino I2C 제어

학부 시절에 처음으로 Arduino Uno를 접했을 때는, C언어를 잘 몰라서 오히려 랩뷰로 Arduino를 제어했던 기억이 있다. 그때 당시에는 LIFA (LabVIEW Interface for Arduino)라는 Toolkit 이었는데, 요즘에는 LINX by LabVIEW MakerHub를 사용하는 것 같다. 랩뷰를 이용하여 I2C 나 SPI 통신을 해야 될 상황이 생겼는데, USB-8452같은 비싼 제품을 사용해야 할 경우도 있겠지만, 뭔가 저렴하게 혹은 가볍게 테스트할 수 있는 방법이 없을까 고민하다가 LINX를 생각하게 되었다. sine.ni.com/nips/cds/view/p/lang/ko/nid/212478 LINX by LabVIEW MakerHub - National Instrument..

LabVIEW 2021.02.01

Analog Input(유한샘플)

NI-DAQ를 이용한 가장 심플한 데이터 측정 방법을 소개한다. 아래의 사이트를 참고한다면 매우 빠르게 데이터 측정이 가능할 것이다. NI-DAQmx의 10가지 함수 학습을 통해 데이터 수집 어플리케이션의 80 퍼센트 해결 http://www.ni.com/product-documentation/2835/ko/ Data Acquisition in LabVIEW http://home.hit.no/~hansha/documents/labview/training/Data%20Acquisition%20in%20LabVIEW/Data%20Acquisition%20in%20LabVIEW.pdf NI에서는 다양한 DAQ시리즈를 제공하고 있으며, 이번 예제는 NI-USB 6009(아마 지금 단종되었을 것)제품을 이용하였다..

LabVIEW 2021.01.18

1차 LPF 구현 (basic)

(2016년도에 작성한 글을 옮김) 사실 필터를 제대로 설명하고자 한다면 수십 페이지 이상의 자료가 필요할 것이며, 나의 역량으로는 부족하다. 이 페이지에서는 1차 필터의 개념을 간단하게 설명, 수식노드에서 구현한 C코드와 labview 내 함수를 이용한 필터를 비교해본다. 서두 부분은 학부시절 참고하였던 블로그(http://pinkwink.kr/437)의 내용을 옮겨온 것이다. 마지막 식을 코드로 표현하면 된다. 여기서 주목해야 할 것은 시정수(time constant, tau)이다. #tau는 차단주파수(cutoff frequency, fc)와 반비례 관계를 지니고 있다. #tau는 passive filter(PPG1페이지에 간략정리)에서 R과 C의 곱으로 표현된다(따라서 선택적으로 차단 주파수를 설..

LabVIEW 2021.01.14

디자인 패턴(2)

멀티 루프 디자인 패턴은 단일 루프보다 큰 프로젝트에서 사용되며, 특히 실무에서 생산자/소비자 데이터 패턴을 사용하는 것을 많이 봐왔다(ex 병원 내 환자들과 간호사 간의 N:1 데이터 통신). 특히 데이터 손실이나 동기화에 대한 이해가 중요하기 때문에 별개로 글을 작성할 계획이다. 병렬구조 - 두 개 이상의 While loop 서로 다른 실행 주기를 가지고 동시에 다양한 테스크를 처리. - 단 실행 중에는 While loop 간의 데이터 이동이 없는 독립적인 일을 처리할 때 적합. -멀티 루프 간의 데이터 공유에 대해서는 추후에 작성(동기화 제외). 마스터/슬레이브(Master/Slave) 디자인 패턴 - 알림자 함수 사용. -슬레이브 루프가 마스터 루프에 동기화되어 실행. -버퍼 구조가 아니기 때문에..

LabVIEW 2021.01.14

디자인 패턴(1)

랩뷰를 이용한 프로젝트 개발 시 여러가지가 있겠지만, 그 중 하나는 프로젝트 특성에 적합한 구조를 사용해야 하며, 이러한 적합한 구조들을 랩뷰에서는 디자인 패턴이라 부른다. 크게 단일 루프와 멀티 루프로 분류되며 디자인 패턴(1)에서는 단일 루프에 대해 소개한다. 단순 VI디자인 패턴 -While loop가 없는 단순 구조 -한 번 실행 일반 VI디자인 패턴 -하나의 While loop가 있는 구조 -정지조건에 만족할 때까지 반복 실행 -연속 데이터 수집에 사용 상태머신(State Machine)디자인 패턴 -While loop와 Case 구조의 조합 -A >> B >> (B결과에 따라) >> C or D , 상태에 따라 실행 -시프트 레지스터를 이용하여 다음 상태의 값을 전달 사용자 인터페이스 이벤트 ..

LabVIEW 2021.01.14
반응형