본문 바로가기

[Microchip]

(132)
[dsPIC MotorDriver] PID제어 PC프로그램 작성 [dsPIC MotorDriver] PID제어 PC프로그램 작성 PC에서 PID값을 설정 및 위치를 제어하고 엔코더 값을 읽어올 수 있는 프로그램 작성 dsPIC33 PID 제어 테스트 동영상
[dsPIC MotorDriver] PWM테스트 [dsPIC MotorDriver] PWM테스트 dspic의 PWM출력 핀은 GPIO와 공통으로 사용할 수 있도록 되어 있으므로 PWM기능으로 설정할 필요가 있다. PWMCON1레지스터의 PMODx, PENxH, PENxL 비트를 설정하면 된다. PWM1CON1 PMODx : PWM 출력모드 설정 1 = 개별모드 0 = Complementray PENxH : PWMxH I/O 동작설정 1 = PWM핀으로 사용 0 = I/O용으로 사용 PENxL : PWMxL I/O설정 1 = PWM핀으로 사용 0 = I/O용으로 사용 OVCON OVCON 레지스터는 각각의 PWM출력핀을 임의로 제어할 수 있는 오브라이드 기능을 설정하기 위한 레지스터이다. 1일때 PWM active상태. dsPIC33-SM EVM의 PW..
[dsPIC MotorDriver] QEI 테스트 [dsPIC MotorDriver] QEI 테스트 dsPIC33은 PPS기능을 제공해 Pin map을 PRx 핀에 원하는 형태로 설정할 수 있다. 입력과 출력에따라 설정 방법은 다른데 UART의 경우 RPINR18에 입력 RP를 설정하면 된다. //U1RX를 RP20에 입력으로 연결 RPINR18bits.U1RXR = 20; //RP19를 U1TX에 연결 RPOR9bits.RP19R = 3; PPS제어를 위해서는 UNLOCK_PPS() 해서 설정하고, 설정후에는 LOCK_PPS() 를 해 주어야 한다. 이 설정은 런타임시 한번만 가능한것 같다.
[dsPIC33 MotorDriver] 타이머 인터럽트 테스트 [dsPIC33 MotorDriver] 타이머 인터럽트 테스트 모터 제어기가 수행될 타이머 인터럽트는 가장 기본 사항이 될것같다. 일반적으로 사용되는 제어 주기인 1ms로 설정해 테스트 dsPIC의 타이머 인터럽트는 상당히 간단하다. 먼저 인터럽트 초기화 하고 클럭 소스의 설정을 위해 TCS비트를 설정하는데 0이면 내부 Tcy를 선택한다. Tcy는 Fosc/2 이므로 80Mhz/2 인 40Mhz가 된다. 그리고 이 클럭소스를 TCKPS비트 설정으로 1/8/64/256 으로 분주 할 수 있다. 타이머 인터럽트 PR1 레지스터 값과 일치할때 발생한다. dsPIC Timer 블록도 1ms 주기로 인터럽트 생성하기 하기 위한 PR1값 설정은 625이다. 계산법은 아래와 같다. 40Mhz / 64 = 625000..
[dsPIC33 Motor Driver] DC모터 드라이버 보드 제작 [dsPIC33 Motor Driver] DC모터 드라이버 보드 제작 dsPIC33FxMC 를 이용하여 제작한 모터 드라이버용으로 테스트 실험 내용을 기록할 계획임 dsPIC33F202모듈 1 테스트할 모터
[PIC18F-s EVM] C#을이용한 HID Host Program작성 [PIC18F-s EVM] C#을이용한 HID Host Program작성 [PIC18F-s EVM] 보드를 이용하여 C#에서 HID 테스트 프로그램을 작성 했다. HID장치는 윈도우에서 기본 드라이버를 제공하므로 USB 드라이버 작성없이 아주 간단하게 USB통신을 할 수 있다. USB연결만 하면 동작하므로 사용자 입장에서 상당히 편리하게 사용할 수 지만 표준 디스크립트로 (Report)로 통신을 해야 하므로 속도면에서는 Bulk통신보다는 느린 단점이 있다. 특히 연속적 데이터를 송수신 하는경우 확실히 느려짐을 알 수 있다. PIC18F2450 펌웨어 작성 C#을 이용한 HID테스트 프로그램 LED제어 및 64 Bulk로 데이터 수신 예제 PIC18F2450 USB HID 테스트 동영상
[PIC18F4x EVM] USB Bulk Transfer테스트시 에러발생 [PIC18F4x EVM] USB Bulk Transfer테스트시 에러발생 2009-05-08 14:56:26 금요일 USB로 연결했을때 동작하지 않는 현상 발생 PICkit2로 동작하면 정상동작함 PIC18F4455는 5V용이고 4.7V 이하로 공급하면 정상동작하지 않는다. (브라운아웃 리셋 설정의 문제일 수도 있겠다.) USB로 연결하면 역전압 방지 다이오드 4148을 통해 들어가는데 드롭이 0.7V정도 생겨서 4.3V가 공급되니 정상동작하지 않았다. 그래서 다이오드를 드롭이 적은 MBR0540으로 교체하니 정상 동작한다. Bulk USB 드라이버 설정 완료
[PIC18F4x EVM] USB Bulk Transfer 테스트 [PIC18F4x EVM] USB Bulk Transfer테스트 USB로 연결했을때 동작하지 않는 현상 발생 PICkit2로 동작하면 정상동작함 PIC18F4455는 5V용이고 4.7V 이하로 공급하면 정상동작하지 않는다. USB로 연결하면 역전압 방지 다이오드 4148을 통해 들어가는데 드롭이 0.7V정도 생겨서 4.3V가 공급되니 정상동작하지 않았다. 그래서 다이오드를 드롭이 적은 540으로 교체하니 정상 동작한다. Bulk USB 드라이버 설정 완료