[Microchip]/dsPIC33-SM2009. 6. 10. 17:04

[dsPIC33 Motor Driver] DC모터 드라이버 보드 제작

[dsPIC33 Motor Driver] DC모터 드라이버 보드 제작



dsPIC33FxMC 를 이용하여 제작한 모터 드라이버용으로 테스트 실험 내용을 기록할 계획임


dsPIC33F202모듈
사용자 삽입 이미지


1


테스트할 모터

Posted by nexp

댓글을 달아 주세요

[Microchip]/dsPIC33-M2009. 4. 28. 20:53

dsPIC, PIC24 M-Type EVM 보드 제작

dsPIC, PIC24 M-Type EVM 보드 제작



dsPIC, PIC24를 사용할 수 있는 EVM보드를 [M-Type EVM] 타입으로 제작했다. dsPIC, PIC24F, PIC24H는 모두 동일한 핀맵을 사용하므로 동일하게 사용할 수 있다.



확장 테스트 보드
확장 보드를 이용하여 Microchip사의 무료 TCP/IP를 사용하는 ENC28J60를 쉽게 연결할 수 있다.

Posted by nexp

댓글을 달아 주세요

[Microchip]/dsPIC33-SM2009. 4. 25. 01:00

dsPIC (Microchip MPLAB C30) 에서 printf 사용 하기

dsPIC (Microchip MPLAB C30) 에서 printf 사용 하기
엔지니어에게 있어서 가장 강력한 디버깅 무기라는 printf를 임베디드에서 사용하기란 쉽지 않다. 특히 컴파일러마다 버젼마다 옵션이 달라서 고생을 많이 하는데... Microchip사의 MPLAB C30의 경우 write()함수를 오버라이딩 하면 된다고 한다.
 
#include <stdio.h> 추가하고 아래 write()함수를 추가해 주면 된다.
 
int write(int handle, void *buffer, unsigned int len)
{
 int i;
 for (i = len; i; --i)
 {
  char c = *(char*)buffer++;
  
  U1TXREG = c;
  while(!U1STAbits.TRMT);
 }
 return(len);
}
 
그리고 PIC은 Heap영역을 따로 할당해 주어야 한다.
MPLAB Project Builder Option에서 힙영역을 할당해 주면 된다.
 
 
물론 printf를 사용하면 20%정도 오버헤드가 걸린다.
 
printf 사용하지 않았을 경우
section                    address   length (PC units)   length (bytes) (dec)
-------                    -------   -----------------   --------------------
.reset                           0                 0x4             0x6  (6)
.ivt                           0x4                0xfc           0x17a  (378)
.aivt                        0x104                0xfc           0x17a  (378)
.text                        0x200               0x2cc           0x432  (1074)
.const                       0x4cc                0x32            0x4b  (75)
.dinit                       0x4fe                 0x8             0xc  (12)
.isr                         0x506                 0x2             0x3  (3)
__FOSCSEL                 0xf80006                 0x2             0x3  (3)
__FOSC                    0xf80008                 0x2             0x3  (3)
__FWDT                    0xf8000a                 0x2             0x3  (3)
                     Total program memory used (bytes):          0x78f  (1935) 5%
                        Total data memory used (bytes):            0x2  (2) <1%
 
 
printf 사용했을경우
section                    address   length (PC units)   length (bytes) (dec)
-------                    -------   -----------------   --------------------
.reset                           0                 0x4             0x6  (6)
.ivt                           0x4                0xfc           0x17a  (378)
.aivt                        0x104                0xfc           0x17a  (378)
.text                        0x200              0x116a          0x1a1f  (6687)
.const                      0x136a                0x3c            0x5a  (90)
.dinit                      0x13a6                0xbc           0x11a  (282)
.isr                        0x1462                 0x2             0x3  (3)
__FOSCSEL                 0xf80006                 0x2             0x3  (3)
__FOSC                    0xf80008                 0x2             0x3  (3)
__FWDT                    0xf8000a                 0x2             0x3  (3)
                     Total program memory used (bytes):         0x1e99  (7833) 23%
                        Total data memory used (bytes):           0xd0  (208) 10%

Posted by nexp

댓글을 달아 주세요

[Microchip]/dsPIC2008. 8. 15. 14:53

dsPIC33F Code Examples

dsPIC33F Code Examples
dsPIC 예제 소스코드

CE100 - Using A/D Converters and DSP Library for Signal Filtering 13-Sep-2007 424KB
CE101 - Configuring 10-bit A/D Converters for 1MSPS Conversion Rate 19-Dec-2008 22KB
CE102 - Performing A/D Conversions in SLEEP (Low-Power) Mode 13-Sep-2007 19KB
CE103 - Implementing DOZE Mode for Dynamic CPU Power Control 13-Sep-2007 16KB
CE104 - Dynamic Clock Switching for Low Power Operation 13-Sep-2007 16KB
CE105 - Address Error Traps for Easy Debugging 13-Sep-2007 13KB
CE106 - Math Error Traps for Robust Operation 13-Sep-2007 16KB
CE107 - Stack Error Traps for Easy Debugging 13-Sep-2007 15KB
CE108 - Oscillator Failure Traps and Failsafe Clock Monitoring 13-Sep-2007 16KB
CE109 - Run-Time Self Programming of FLASH Program Memory 18-Sep-2007 20KB
CE110 - Dyanmic Tuning of Internal Fast RC 13-Sep-2007 16KB
CE111 - External Interrupt Pins Configuration and Use 13-Sep-2007 17KB
CE112 - Fast Wake-up From Sleep Mode 13-Sep-2007 11KB
CE113 - Timer1 used in Real-Time Clock Applications 13-Sep-2007 33KB
CE114 - Using the DMA with the UART in Loopback mode 13-Sep-2007 49KB
CE115 - Example of Handling a DMA Trap 13-Sep-2007 19KB
CE116 - Using the DMA with the SPI module 13-Sep-2007 19KB
CE117 - Using the DMA with DCI peripheral for I2S driver 13-Sep-2007 20KB
CE118 - Using FIR Filters From dsPIC Filter Design and DSP Library 13-Sep-2007 18KB
CE119 Interfacing to I2C Serial EEPROM using I2C peripheral 24-Sep-2007 16KB
CE120 A/D Conversions with Scanning through selected Analog Inputs with DMA 13-Sep-2007 25KB
CE121 A/D Conversions with Scanning through selected Analog Inputs without DMA 13-Sep-2007 20KB
CE122 - ADC Alternate Sampling 13-Sep-2007 20KB
CE123 - CodeGuard(TM) Security: segment creation and code placement 13-Sep-2007 28KB
CE124 - CodeGuard(TM) Security: Program flow changes between segments 13-Sep-2007 36KB
CE125 - CodeGuard(TM) Security: Secure Segment Erase 13-Sep-2007 26KB
CE127 - Crosswire Communication between ECAN 1 and ECAN 2 modules 10-Jun-2008 44KB
CE128 - ECAN FIFO Receive Example 10-Jun-2008 50KB
CE132 - Si3000 Driver 13-Sep-2007 18KB
CE135 - SPI Demo 13-Sep-2007 20KB
CE136 - SPI without DMA 13-Sep-2007 30KB
CE137 - UART without DMA 13-Sep-2007 125KB
CE138 - SPI with two slaves 13-Sep-2007 30KB
CE139 - 10-bit ADC Sampling at 2.2MSPS 13-Sep-2007 134KB
CE140 - Inverse tangent operation using CORDIC iterative approximation 13-Sep-2007 23KB
CE141 - SPI with Framed mode 13-Sep-2007 31KB
CE142 - Open Drain configuration 13-Sep-2007 28KB
CE143 - Using Timer1 for Period Interrupts 13-Sep-2007 55KB
CE144 - CodeGuard Application Example 13-Sep-2007 327KB
CE145 - Using I2C module as a Slave device 5-Oct-2007 18KB
CE146 - Adaptive Notch Filter 3-Mar-2008 20KB
CE147 - Signal Matching using Coherence Function Cross Spectral Density 3-Mar-2008 53KB
CE148 - ADC Sampling with DMA and FIR Filtering - Apps include Circuit Breakers 3-Mar-2008 55KB
CE149 - Signal generation, fractional sampling rate, interpolation, decimation 3-Mar-2008 30KB
CE150 - JPEG Entropy Coding 3-Mar-2008 16KB
CE151 - CRC Generation 26-Mar-2008 11KB
CE152 - Parallel Master Port (PMP) Example 28-Mar-2008 20KB
CE153 - RTCC 26-Mar-2008 11KB
CE154 - ADC to DAC Loopback 26-Mar-2008 13KB
CE155 - Real-Time Data Monitoring (RTDM) Example 12-Jun-2008 29KB

Posted by nexp
TAG DSPIC

댓글을 달아 주세요

  1. Management Thesis topic

    관리자의 승인을 기다리고 있는 댓글입니다

    2012.04.24 23:12 [ ADDR : EDIT/ DEL : REPLY ]

[Microchip]/dsPIC33-SM2008. 7. 12. 23:48

[dsPIC33F4x EVM] 관련자료 - 정리중

[dsPIC33F4x EVM] 관련자료

사용자 삽입 이미지


dsPIC33F - QFN44 타입용 소형 보드를 제작 했다. 기본 기능만 두고 모든 포트를 빼서 간단한 태스트 용으로 사용할 수 있도록 했고 생각보다 깜찍하게 나왔다.



기존의 STM32-48 Application Board에 연결해서 테스트 할 수 있도록 기본 포트 배열을 맞추어 확장보드에서 쉽게 테스트 해 볼 수 있도록 했다.




회로도









예제 소스:




테스트 동영상



수정사항
급하게 하느라 PGD, PGC선 두개를 빼먹었다. 뒷면에 점퍼 날려야 할듯.... 윽




Posted by nexp

댓글을 달아 주세요