전원 회로 설계 : 외부 전원
·
Balancing robot/HW
0. 외부 전원 뭐 쓸 거임?  KC인증 18650 리튬배터리 3.7V 2200mAh [ZM18650-2200-KC01]제조사 : 중국 OEM / 18650 / 전압 : 3.7V / 용량 : 2200mAh / 리튬이온 Li-ion / 수량 : 1개 / 과방전 보호회로 내장www.devicemart.co.kr이거 두 개 직렬로 연결해서 쓸 거다 (7.4V 외부전원)정확한 스펙은 계산안했지만, 큰 모터를 쓰는 것도 아니고 작은 모터 두 개 굴리는 거니 저걸로 충분할 거다. (사실 써본 적 있음 ㅋㅋ)  1. 회로도회로도는 매우 간단한데 1. 커넥터를 통해 외부 전원(7.4V)을 공급받는다.레귤레이터를 통해 5V로 전환 한 번 더 레귤레이터를 거쳐 3.3V로 전환, MCU에 공급된다.  개요 편에서도 언급했지..
전원 회로 설계 : USB
·
Balancing robot/HW
AN4879stm32을 사용할 때, usb 관련 하드웨어 설계 가이드라인을 제공하는 어플리케이션 노트다. 0.목표이번 프로젝트에서는 usb로 어떤 통신을 하기보다는 전원공급만 하기로 했다. 하지만 경험 삼아 데이터 송수신핀들도 연결했다. 1. USB 규격 및 부품 선택USB는 다양한 커넥터가 존재한다. 요즘 폰 충전기 단자인 C타입(애플도 eu한테 정상화 빔 맞아서 이제 c타입이다). 5핀 8핀 등등..  이거 아시는 분 계시려나? 이것도 usb 24핀이다. 일단 이거 알면 최소 반오십.  이번에 사용할 usb는 Micro b타입이다. 흔히 5핀이라고 부르는 usb이다.    10118194-0001LF | Amphenol ICC | USB Connectors | JLCPCBOne-Stop Turnkey..
전원 회로 설계 : 개요
·
Balancing robot/HW
https://jaewonahn1234.tistory.com/85 MCU 주변회로 설계 : 전원부참고문서(AN2586) 위에 링크해 둔 AN2586은 STM32F103을 이용해 회로 설계를 할 때 참고하라고 만든 매뉴얼이다.   0. 데이터시트 살펴보기 / 회로도하이라이트 한 부분이 이번 글에서 다룰 핀들이다jaewonahn1234.tistory.com이거랑 같은 내용 아님 전원 공급에 있어 usb와 외부전원 포트, 총 두 개의 방식으로 전원을 공급받도록 회로 설계를 했었다.외부전원이라 하면 7.4V의 리튬이온배터리다.  대략적인 흐름은 다음과 같다. USB1. micro b타입의 usb로부터 5V를 받아2. 레귤레이터를 통해 3.3V로 전압 강하된다. 3. 해당 3.3V로 mcu 전원을 구동 배터리1...
LED 회로 설계
·
Balancing robot/HW
밸런싱 로봇 회로에는 총 5개의 LED가 있다. MCU 전원 확인용 LED MPU6050 전원 확인용 LED L293D 전원 확인용 LEDESP32에 연결될 예정인 통신 확인용 LED  (User LED)그냥 PA5번 포트에 달아놓은 예비용 LED (User LED) 전원 확인용 LED는 전부 RED LED를 사용했으며 통신 확인용 LED는 BLUE 예비용 LED는 GREEN을 사용한다. 총 세 가지 종류의 LED(R, G, B)을 사용하며 규격은 전부 0805로 규정했다.  아래는 이번에 사용한 LED들의 전기적 특성을 표로 나타낸 것이다.항목설명REDGREENBLUEIF(Forward Currnet)순방향 전류, 이 이상 전류가 흐르면 안됨25mA30mA20mAVF(Forward Voltage) 순방..
MCU 주변회로 설계 : BOOT
·
Balancing robot/HW
0. BOOT MODE란?MCU가 전원을 받아 켜지거나 리셋될 때, SW을 실행할 위치와 방법을 결정하는 동작 모드다.mcu핀 중에 boot0과 boot1핀이 있는데 이 두 개의 전압 레벨에 따라 결정된다 F103 (LQFT64) 기준 BOOT0은 60번핀에, BOOT1은 PB2인 28번 핀이다.  BOOT0과 BOOT1의 전압 세팅에 따라 Main flash memory, System memory, SRAM에 저장된다. Main flash memory가 우리가 작성한 코드가 올라가는 영역이다.  system memory는 부트로더가 있는 영역으로 uart통신으로 바이너리 파일을 다운로드할 때 사용된다는데 잘 모르겠다 SRAM도 잘 모른다..  아무튼 main flash memory 영역으로 부팅하게끔 ..
MCU 주변회로 설계 : SWD 회로
·
Balancing robot/HW
1. 펌웨어 다운로드/디버깅 방식펌웨어를 mcu에 다운로드 또는 디버깅을 할 때 사용되는 인터페이스는 대표적으로 두 개가 있다.JTAGSWDATmega 시리즈는 ISP방식으로 하기도 하지만 아무튼 이번에 사용할 mcu는 stm32이므로 논외 JTAG방식은 SWD 비해 많은 핀을 사용하기에 회로설계에 있어 복잡해지는 단점이 있다.반면 SWD은 SWDIO핀과 SWCLK핀 두 개의 핀만으로 통신이 가능하기 때문에 이번 프로젝트에서는 SWD방식을 택했다.   2. 회로 설계다음과 같이 외부 포트에 점퍼선으로 꽂아서 사용할 수 있게끔 설계를 했다. TRACESWO핀은 데이터를 그래프로 보고 싶을 때 사용되는 핀이라고 하는데 잘 안 쓴다고 한다. 그래도 인연이 있다면 사용할 수도 있으니까 일단 추가해 놨다.리셋핀도..
MCU 주변회로 설계 : Clock 회로
·
Balancing robot/HW
0. 데이터시트 살펴보기 st사의 an2586 데이터시트를 보면 stm32f10xxx시리즈의 클럭 회로에 대해서 어떻게 설계해야 할지 레퍼런스가 나와있다. 이번 프로젝트에서는 외부 8Mhz 크리스탈을 사용한다(HSE). 참고로 STM32F103에서 외부 크리스탈의 허용 범위는 4MHz에서 16MHz이다.   외부 클락 탐지 후 없을 시, 내부 RC 오실레이터(8 MHz)가 자동으로 설정된다.    데이터시트에는 다음과 같이 회로설계를 하도록 권장되어 있다. 클럭의 각 핀은 mcu에 있는 OSC_IN과 OSC_OUT핀으로 연결하도록 되어있으며, 각 핀마다 커패시터를 병렬 연결하도록 되어있다.  본 프로젝트에서 사용하는 MCU는 stm32f103이며 LQFP64타입이다.  PC14 포트가 OSC_INPC15..
MCU 주변회로 설계 : 리셋회로
·
Balancing robot/HW
데이터시트에서 하라는대로 설계하자.   핀맵보면 7번핀이 NRST핀이다
MCU 주변회로 설계 : 전원부
·
Balancing robot/HW
참고문서(AN2586) 위에 링크해 둔 AN2586은 STM32F103을 이용해 회로 설계를 할 때 참고하라고 만든 매뉴얼이다.   0. 데이터시트 살펴보기 / 회로도하이라이트 한 부분이 이번 글에서 다룰 핀들이다.    우선 intro 읽어보면 Vdd에는 2~3.6V 전원이 인가되어야 한다.   Vdda는 VssA랑, Vdd는 Vss랑  연결되어야 한다.헷갈릴 수도 있지만 Vss, VssA는 gnd이다. Vss : gnd for digitalVssA : gnd for analog 읽다 보면 Vref에 대한 설명도 있는데 내가 쓰고는 64핀에는 없으니 신경 안 써도 될 것 같다. (내장되어서 VddA, VssA에 연결되어 있다네요)   요게 포인트 같다.   1. Vdd핀들끼리 연결할 때, 연결하려는 V..
Mcu 주변회로 설계 완료
·
Balancing robot/HW
MCU : STM32F103RBT6(LQFP64)MCU 선정 이유 : 현재 갖고 있는 뉴클레오 보드가 stm32f103이라서  전원부, 리셋, 클락, 부트로더, swd 파트 했고 지금은 더 필요한 부분들 있나 검토 중