공학 66

자료구조)링크드리스트-단일 링크드 리스트

링크드 리스트 Linked List란? 각 노드가 데이터와 포인터를 가지고 한줄로 연결되어있는 방식으로 데이터를 저장하는 자료구조로 포인터를 통해 다음노드와 연결시켜 사용하는 자료구조다. 링크드 리스트의 장단점 링크드 리스트는 배열과 자주 비교되는데 링크드 리스트와 배열의 차이는 이러하다 링크드 리스트 배열처럼 연속적으로 저장하는것처럼보이지만 메모리상에는 연속적으로 위치하지 않고 포인터를 통해 링크한다. 장점 삽입 및 중간 수정이 매우 편하다. 단점 항목 접근 속도가 오래 걸린다 특히 뒤로있을수록 단일 연결 리스트의 경우 앞에서부터 탐색해 가야하기때문에 오래걸린다 메모리 연산으로 접근 불가능하다 포인터를 저장하는 공간을 따로 가져야 해서 메모리를 더 잡아먹는다 vs 배열 메모리상에 물리적으로 연속된 메모..

전기모터-DC모터- 특성

저번 전기모터 DC 모터의 물리량 설명에 이어 이번엔 특성 곡선들에 대해 설명할까 합니다. 어찌 설명해야 하나 고민하고 있었는데 저도 공부할 겸 모터 하나를 선정해서 그려가며 설명해볼까 합니다 이번에 할 건 NP01D-48을 가지고 할까 합니다 NP01D-48 데이터 시트 제품 사양에 기재된 건 이것뿐이라 이대로 진행하겠습니다 기어박스는 48:1로 알고 있으나 기어박스는 나중에 설명하기로 하고 일단 모터 스펙만 가지고 이야기하겠습니다 토크와 회전수의 관계 (T-N특성 곡선) 토크와 회전수의 관계는 무부하 운전일 경우 모터의 회전수는 최대가 되고 토크는 0에 가까워집니다 여기에 우리가 부하를 걸게 되면 회전수가 줄면서 토크가 발생합니다 또한 DC 모터는 전압을 바꿨을 경우 전압에 따라 회전수와 토크가 평행..

전기모터-DC모터

DC 모터란? DC 모터란 건전지 혹은 전원 등으로 공급받는 전압이 변동 없는 직류전압으로 작동하는 모터 소위 직류모터라 합니다 작동원리는 플레밍의 왼손법칙에 기반을 두고 있으며 회전을 지속시키기 위해 정류자라는 부품을 사용합니다 전류는 전원으로부터 브러시라는 부품을 이용하여 코일로 흘러갑니다 dc모터의 종류는 이 브러시의 유무에 의해 나누기도 하는데 브러시가 없는 모터를 브러시리스(Brushless) 모터라 하여 BLDC라 부릅니다 일반적으로 DC 모터 제어에는 전압의 변화로 회전수를 변화시키는 방식을 이용합니다 BLDC는 차후 설명하겠습니다 DC 모터를 나타내는 물리량 RPM(회전수) 토크 (힘) DC 모터 특징 장점 회전수 제어나 회전 방향 전환이 쉽다 시동 토크가 크다 저렴한비용 단순화된배선으로 ..

액추에이터(actuator)란?

액추에이터(actuator)란 액추에이터란 외부로부터 어떤 에너지를(대부분 전기에너지) 받아 동력으로 변환하는 기기를 말합니다 회전 운동이나 직선운동 등의 운동방향에 따라 구분하기도 하고 방식이나 형태로 구분하기도 합니다 위 사진 외에도 수십 가지 액추에이터가 지금도 개발되고 있으며 로봇은 이 액추에이터를 조합해서 팔/다리/바퀴 등의 움직임을 만들어 내게 됩니다

BCD코드

BCD 코드(Binary Coded Decimal)는 10진수 0부터 9 까지를 2 진화한 코드로 실제 표기는 2진 수지만 10진수처럼 사용하는 코드이다 즉 0000~1001까지만 사용하고 1010~1111은 사용하지 않는다 자릿수마다 2진법으로 매칭 합니다 또한 BCD코드는 각 자리에 대한 가중치를 가지고 있습니다 7을 예를 들어 설명하겠습니다 이렇게 0~20까지 BCD코드로 표현해보면 아래 표와 같이 나옵니다 BCD 코드의 연산은 10진수처럼 연산합니다 하지만 계산 결과가 9를 초과하는 경우 계산 결과에 6 =0110(BCD) 더해야 합니다 6을 더함으로써 캐리지 리턴이 생겨서 자릿수가 넘어감을 볼 수 있습니다. 6을 더하는 이유는 이진수 4자리는 0 ~ 15까지 표현할 수 있는데 BCD에서는 10~..

표본화,양자화,부호화

이번 포스팅에서는 Analog를 Digital로 바꿔보겠습니다 A->D를 하기 위해서는 표본화, 양자화 부호화를 거치게 됩니다 표본화 시간축을 따라 이산 값으로 변환하는 과정 소위 샘플링이라 합니다 샤논(shannon)의 표본화 정리에 따르면 신호 주파수의 2배 이상의 빈도로 샘플링하면 샘플링된 데이터로부터 본래의 데이터를 재연할 수 있다 합니다 표본화 정리는 나중에 따로 정리하는 걸로 하고 위 sin*10의 파형을 2π/50간격으로 표본화해보겠습니다 양자화 진폭 축을 따라 이산 값으로 변환하는 과정을 양자화라 합니다 즉 아날로그 신호의 진폭을 양자화 레벨의 숫자로 나누어 간격에서 뽑아낸 표본 값을 미리 정해진 값에서 가장 가까운 값으로 변환합니다 이과정에서 불가피하게 양자화 잡음이 생기는데 예를 들어 ..

Arduino-포트레지스터(port Registers)

레지스터란? -CPU가 요청을 처리하는 데 사용하는데 고속의 데이터 임시저장공간이다. 레지스터는 공간이 작고 가격이 비싸지만 CPU에 직접 연결돼있어서 속도가 다른 저장장치보다 빠르다 또한 CPU는 자체적으로 데이터를 저장할 수 없으므로 레지스터를 이용하여 연산처리나 번지 지정을 도와주며 컴퓨터 장치들을 제어한다 오늘 우리가 사용할것은 포트 레지스터(Port Registers)이다 이걸 뭘 할 수 있을까? 바로 낮은 레벨에서 포트를 묶어서 빠르게 조작할 수 있다 예컨대 led2개를 동시에 키고 끈다거나 할 수 있게 된다 이번 설명글에서는 UNO에들어가는 ATmega 328(Atmega168도 동일)을 통해 설명하도록하겠습니다 핀 맵을 보면 PB0이나 PD0나 PC0이 보일 겁니다. 아두이노 우노 칩에는 ..

공학/임베디드 2021.04.13

전압레벨

디지털 정보에서의 전압 레벨이란 전 포스팅에서 말한 2진수 체계인 0과 1 True와 False를 결정하는 전압의 레벨을 말합니다 시스템에 따라 변동돼있습니다 예를 들어 TTL이라 하는 형태에서는 1=5V입니다 하지만 우리가 쓰는 CPU는 CPU마다 0.8 xxxxV부터 1.3V를 1로 받아 드립니다 이러한 전압 레벨은 여러 파라미터와 출력 신호와 입력 신호의 전압 레벨이 다를 수도 있고 반도체 칩에 따라 다를 수도 있습니다. 집적회로에 따라 크게 CMOS와 TTL로 나눌 수 있습니다 TTL : 바이폴라 트랜지스터를 이용하여 만든 디지털 로직 IC CMOS : 증가형 MOSFET을 이용하여 만든 디지털 로직 IC TTL TTL은 저전압에서는 입력은 2~5V를 HIGH로 인식하고 출력은 2.4V~5V를 H..

정/부논리,펄스파형,주기,주파수,듀티사이클

정논리 부논리 시스템에서 상태을 표시할 때 크게 두 전압 레벨을 이용하여 0과 1을 나타냅니다 정논리와 부논리란 회로 관점에서 논리 전압 레벨을 서로 반대로 대응시킨 것으로 정 논리(Positve Logic) : Ture혹은 1을 높은 전압에 대응시키고 False 혹은 0을 낮은 전압에 대응시켜 해석 부 논리(Negative Logic) : 정논리와 반대로 False와 0을 높은 전압에 대응시키고 Ture혹은 1을 낮은 전압에 대응시켜 해석 펄스 파형 펄스란 짧은 시간 동안만 존재하는 일련의 파동으로 전압 레벨이 일반적으로 low와 high 상태를 반복하게 됩니다 이 펄스는 디지털 시스템에서 사용하는 대부분의 파형 형태이고 크게 주기 펄스(periodic pulse)와 비주기 펄스(non-periodic..

디지털 시스템과 아날로그 시스템

이번 포스팅에서는 디지털 시스템과 아날로그 시스템을 비교를 해볼까 합니다 하지만 그전에 시스템에 대해 알아야 합니다 시스템 : 시스템(영어: system)은 각 구성요소들이 상호작용하거나 상호 의존하여 복잡하게 얽힌 통일된 하나의 집합체(unified whole)다. 시스템 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 시스템은 분야마다 조금씩 다르게 그리고 굉장히 폭넓게 쓰이지만 쉽게 입력과 출력이 상호작용/상호의존하는 하나의 집합체라 볼 수 있습니다 쉽게 Y=X 출력=입력 와 같이 종합된 형태이거나 특정 기능을 수행하는 체계라 볼수있습니다 그러므로 아날로그 시스템과 디지털 시스템이란 결국 아날로그 입력 -> 아날로그 출력 / 디지털 입력 -> 디지털 출력의 형태의 시스템이란 걸 알 ..