[ST_MICRO]/STM32F103-SM2012. 6. 17. 09:46

[STM32-SM] SUB 1Ghz RF 모듈 테스트

[STM32-SM] SUB 1Ghz RF 모듈 테스트

 

 

 

 

 

SUB 1Ghz RF모듈을  [EXP_ FT2232H EVM]보드에 연결하여 테스트 했다. SPI모듈 연결할 수 있는 커넥터 있고 소형이기 때문에 테스트 하기에 딱 좋은 보드이다.

 

 

 

SPI 모듈 (W5100) 핀맵

 

RF모듈 핀맵

 

 

STM32-SM 핀맵

 

 

 

 

[EXP_ FT2232H EVM] 보드의 RF모듈 드라이버 소스코드

 


#define NRF_PWR_UP                      BIT1
#define NRF_PWR_HIGH()     sbi(GPIOB, NRF_PWR_UP)
#define NRF_PWR_LOW()     cbi(GPIOB, NRF_PWR_UP)

#define NRF_TXEN                        BIT4
#define NRF_TXEN_HIGH()     sbi(GPIOA, NRF_TXEN)
#define NRF_TXEN_LOW()     cbi(GPIOA, NRF_TXEN)


#define NRF_TRX_CE                      BIT0
#define NRF_TXCE_HIGH()     sbi(GPIOB, NRF_TRX_CE)
#define NRF_TXCE_LOW()     cbi(GPIOB, NRF_TRX_CE)

#define NRF_CS_PORT      GPIOB
#define NRF_CS_BIT      BIT12

#define NRF_CS_HIGH()     sbi(NRF_CS_PORT, NRF_CS_BIT)
#define NRF_CS_LOW()     cbi(NRF_CS_PORT, NRF_CS_BIT)

#define NRF_DR_BIT      BIT5
#define NRF_GET_DR()     (GPIOB->IDR&NRF_DR_BIT)

#define NRF_AM_BIT      BIT3
#define NRF_GET_AM()     (GPIOB->IDR&NRF_AM_BIT)


#define NRF_SendByte     SPI1_WriteReadByte
#define NRF_InitSpi()     SPI1_Init()
#define NRF_SpiSpeed_Low()    SPI1_SetSpeed(SPI_SPEED_1MHZ)
#define NRF_SpiSpeed_High()    SPI1_SetSpeed(SPI_SPEED_4MHZ)


#define NRF_PORT_INIT()     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);\
          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;\
          GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;\
          GPIO_InitStructure.GPIO_Pin=BIT0|BIT1|BIT12;\
          GPIO_Init(GPIOB, &GPIO_InitStructure);\
          GPIO_InitStructure.GPIO_Pin=BIT4;\
          GPIO_Init(GPIOA, &GPIO_InitStructure);\
          GPIO_InitStructure.GPIO_Pin = BIT3|BIT5;\
                                        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;\
          GPIO_Init(GPIOB, &GPIO_InitStructure);\
                                        NRF_CS_HIGH()

 


 

[STM32-SM] RF모듈 테스트 동영상 

 

Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC16F2012. 6. 11. 01:44

[PIC16F723] RF 전송 테스트 - 무선으로 ACD값 그래프 표시 하기

 [PIC16F723] RF 전송 테스트 - 무선으로 ACD값 그래프 표시 하기

 

 

PIC16F723은 마아크로칩사의 저렴한 저전력  MCU(실제 쇼핑몰에서 600원대에 구매 했다)이다. 저전력으로 구동할 수 있는 어플리케이션으로 RF가 좋은데 915(433)Mhz RF 모듈로 ADC값을 전송하는 테스트를 해 보았다.

 

 

 테스트 보드는 기존에 다른 용도로 제작되었던 보드인데 핀맵이 호환되므로 PIC16F723 보드를 연결하여 사용이 가능하다.

 

 

 

RF모듈 드라이버 코드

 

//-----------------------------------------------------------------------------
#define NRF_PWR_UP                   BIT6
#define NRF_PWR_HIGH()     Sbi(PORTB, NRF_PWR_UP)
#define NRF_PWR_LOW()     Cbi(PORTB, NRF_PWR_UP)

 

#define NRF_TXEN                     BIT3
#define NRF_TXEN_HIGH()     Sbi(PORTA, NRF_TXEN)
#define NRF_TXEN_LOW()     Cbi(PORTA, NRF_TXEN)


#define NRF_TRX_CE                   BIT7
#define NRF_TXCE_HIGH()     Sbi(PORTB, NRF_TRX_CE)
#define NRF_TXCE_LOW()     Cbi(PORTB, NRF_TRX_CE)

 

#define NRF_CS_PORT      PORTC
#define NRF_CS_BIT      BIT2

#define NRF_CS_HIGH()     Sbi(NRF_CS_PORT, NRF_CS_BIT)
#define NRF_CS_LOW()     Cbi(NRF_CS_PORT, NRF_CS_BIT)

 

#define NRF_DR_BIT      BIT2
#define NRF_GET_DR()     (PORTB&NRF_DR_BIT)

#define NRF_AM_BIT      BIT3
#define NRF_GET_AM()     (PORTB&NRF_AM_BIT)

 

 

#define NRF_SendByte     SPI0_WriteReadByte
#define NRF_InitSpi()     SPI0_Init()
#define NRF_SpiSpeed_Low()    SPI0_SetSpeed(SPI_SPEED_1MHZ)
#define NRF_SpiSpeed_High()    SPI0 _SetSpeed(SPI_SPEED_4MHZ)

 

 

#define NRF_PORT_INIT()     Cbi(TRISB, (BIT6|BIT7));Sbi(TRISB, (BIT2|BIT3));Cbi(ANSELB, (BIT2|BIT3|BIT6|BIT7));\
          Cbi(TRISA, BIT3);Cbi(ANSELA, BIT3);\
          Cbi(TRISC, BIT2);
//-----------------------------------------------------------------------------

 

 

 

PIC16F723 RF테스트 동영상

저렴하게 구성한 RF모듈임에도 실제 전송되는 속도는 2ms로 아주 고속으로 전송이 가능하다.

아래는 PIC16F723 보드에서 가변저항의 ADC값을 RF로 전송하는 테스트 데모이다.

 

 

Posted by nexp

댓글을 달아 주세요

[INTERFACE]/ZIGBEE2012. 6. 6. 20:52

915Mhz RF 테스트 - RF를 이용한 ADC값 출력 테스트

915Mhz RF 테스트 - RF를 이용한 ADC값 출력 테스트

 

 

SUB 1Ghz RF모듈 을 이용하여 센서 데이터 전송 테스트를 했다. SUB 1Ghz로 속도는 아주 빠르지는 않지만 저렴하고 사용하기에 편리해서 센서데이터 전송에 사용하기 좋은것 같다.

 

 

가변저항으로 변화되는 ADC값을 915Mhz 무선 통신으로 전송하여 TFT LCD에 출력하는 테스트

 

 

 

 

 

PIC16F723을 이용하여 좀더 고속으로 무선데이터를 전송하도록 했는데 한번 전송에 2ms정도 소요된다. (물론 PIC가 빨라서가 아니라 드라이버 코드를 수정 했다.  PIC사용한 이유는 저럼하게 하기 위해서이다.)

 

Posted by nexp

댓글을 달아 주세요

[INTERFACE]/ZIGBEE2012. 6. 3. 18:18

SUB 1Ghz RF 모듈 제작

 SUB 1Ghz RF 모듈 제작

 

 

 

 

SUB 1Ghz (915/433 Mhz) 저렴한 소형의 RF모듈 보드를 제작했다. 

 

 

 

 

여러 MCU에 적용할 수 있도록 모듈형태로 제작했는데, 전적력 MCU모듈인 MSP430 보드에 바로 연결 가능하므로 제어를 위한 MCU가 필요하다면 연결 가능하다.

 

 

 

RF모듈 핀맵

 

 

 

테스트 동영상 보기

 

 


 

 

SPI 표준 핀맵으로 여러 확장 보드에서 테스트 가능하도록 했다.

 

 

 

 

 

 

 

 

 

Posted by nexp
TAG NRF905, Zigbee

댓글을 달아 주세요