본문 바로가기

Embedded System

(9)
ATmega128 MPU6050 ATmega128 에서 MPU6050 의 가속도 자이로 값을 읽어오는 방법 100Hz로 샘플링을 하기 위해 타이머 오버플로우로 0.01초마다 인터럽트가 걸리게 설정함 TIMSK = 0x01; TCCR0 = 0x07; TCNT0 = 99; SREG = 0x80; 그리고 인터럽트 소스를 작성 interrupt [TIM0_OVF] void timer_int0(void) { getRawData(); getAcclDegree(); getGyroDegree(); compFilter(); TCNT0 = 99; } 가속도 센서와 자이로 센서 값을 읽어오는건 이전에 올린 소스가 있음 MPU6050_read() 함수는 지난 포스팅 참조 -Click- void getRawData() { buffer[0] = MPU6050_..
Getting Start STM32F103 Dev stm32f103 / iar embedded workbench / iar ewarm / iar 프로젝트 생성 / iar 프로젝트 설정 2014 / 02 / 28 - 23:40 초안 작성
STM32F103 - QuadCopter 참고 소스 첨부 파일 참조 첨부 파일에 IAR EWARM 용 프로젝트 전체가 들어있음 2014 / 02 / 19 - 22:42 최초 작성2014 / 02 / 20 - 01:43 태그 정리2014 / 02 / 20 - 03:33 첨부 파일 재등록
STM32F103 - PWM 소스 STM32F103 / PWM / Cortex M3 STM32F103 에서 PWM 을 생성하는 소스임 Timer 3의 CH 1 / CH 2 / CH 3 / CH 4 에서 PWM 생성 전체 소스에서 PWM 부분만 잘라서 올림 헤더 파일 포함 시키는 것이 맞는지 잘 기억이 안남 소스 내용 자체는 정확하니 참고용으로 쓰시길#include #include #include u16 PrescalerValue = 0; double i_motor1 = 0; double i_motor2 = 800; double i_motor3 = 800; double i_motor4 = 0; void PWM_Init(void); void RCC_Configuration(void); void GPIO_Configuration(void); ..
FB155BC 설정 with USB2UART Downloader usb2usart / fb155bc / btconfig 블루투스 모듈의 설정을 바꾸기 위해선 다양한 방법이 존재하는데 보통 동글을 사용하여 설정을 변경한다. 한번 사용할 모듈인데 설정 한번 하려고 추가 장비를 구매를 한다면 사치라 생각 될 수 있다.우리가 사용하는 모듈인 FB155BC는 3.3V 에서 동작하며 TTL 신호로 통신을 한다.사용된 MCU 는 STM32F103 이며 3.3V 에서 동작한다. STM32를 사용하기 위해 USB2UART 다운로더를 구매해야 했는데이 녀석이 3.3V 를 공급해줄거란 생각과 PC와 Serial 통신을 할 수 있게 해준다.동글의 원리를 잘 모르지만 어쨋든 PC와 통신을 하면 될 거란 생각이 들었다.USB2UART의 VCC GND 를 FB155BC의 각 VCC GND에 결..
STM32F103 - Flash Downloader 에러 ST에서 배포한 Flash Downloader 에러 이슈 성공한 사용 환경 : Komastar-PC ( Intel i5-3570 / RAM 16GB / AMD Radeon HD7860 / Samsung SSD 830 128GB / Windows 7 64bit ) 문제의 사용 환경 : Macbook Pro 13" Standard 2011 / Windows 7 64bit 이슈 내용 : 시리얼 통신 설정 후 통신을 하려고 하면 에러 발생 Komastar-PC 환경에선 정상적으로 다운로드가 진행 되었음 다른 환경을 찾기 위해 학교 전산실의 PC에서 다운로드를 실행하니 마찬가지로 안됨. 맥북만의 문제가 아님을 알고 안도했으나 일단 안되는 것에는 변함이 없었다. ----이슈 해결---- 안정적인 다운로드를 위해 낮..
ATmega128 - PWM Mode 14 소스 atmega128 / pwm / pwm mode 14 / atmega128 pwm #include void main(void) { DDRB = 0xFF; DDRE = 0xFF; PORTB = 0xFF; PORTE = 0xFF; /* FastPWM 14 mode setting */ TCCR1A |= (1
ATmega128 - MPU6050 레지스터 읽기 atmega128 / mpu6050 / gy-521 / 자이로 / 가속도 / 센서 TWI 통신으로 레지스터 0x3B부터 0x40, 0x43부터 0x48까지 그러니까 가속도 XYZ 출력과 자이로 XYZ 출력 레지스터를 읽기까지 성공함. 읽어들인 RAW 데이터를 정제하는데 머리가 아픔 MPU는 ATmega128을 사용했고 GY-521의 SCL -> PD0 / SDA -> PD1에 연결 사용된 센서는 MPU-6050 3축 가속도 / 3축 자이로 / 온도를 감지 오프셋을 설정 / 필터로 안정적인 값을 추출하는 작업을 해야 하는 것 같은데 아직 완벽히 이해하지 못함. 아래의 소스에서 getRawData();는 레지스터에서 읽은 단순한 값을 각 변수에 저장함. 변수의 내용을 확인 하기 위해선 텍스트 LCD로 확인하..