QRP and DIY
-->

原创:CB机改频新思路,适用所有CB机

4316795

新版来袭 收藏
      最近迷上了29.6MHZ的短波通讯。本着少花钱,多办事的原则。购买了一台淘宝上的CB机。CB机就是美国或欧洲免许的对讲机。27MHZ频段。功率4w。我买的这台是全新库存,105元,貌似价格还可以。
    
    
     以前的改法,需要用到一个混频器,垫高本振频率。我的改法和这个不同。我的改法相当于更换晶振。将CB机的MCU的晶振,原来是4.5MHZ的,换成一个DDS,DDS板上面有MCU控制。将CB机的发射控制电平接DDS板,这样在发射的时候,DDS产生的频率和接收时候的频率是不同的。例如用9频道,接收时候的晶振输入频率调整到5.196854001MHZ,这样通过CB机自己的PLL能倍频到18.905MHZ,正好是29.600接收时候的一本振频率。一本振频率计算公式是:接收频率- 1次变频中频放大器的工作频率。即 29.6-10.695 = 18.905MHZ。发射的时候,将输入晶振引脚的频率调整到4.921485313MHZ。发射是二倍频,CB机的VCO输出14.8MHZ,二倍频后发射频率刚好29.6MHZ。


       这样就相当于更换了机内的晶振,只是这个晶振是可控,可变频率的。对原机改动最小,只接电源、地、晶振输入、发射切换4根线。改动成功率高。适合所有CB机的改装。当然,改装了频率后,还需要调整VCO谐振感,发射回路和接收回路的中周。我用我原创的方法,已经改好了一台。收发正常,灵敏度好。已经和几个HAM在29.6上进行了通联。
    这样改后有个问题,机器本身设定的频率就是一个固定值,不能改变,例如设定9频道。改变频率后,收发频率就不在一起了。相比垫高本振,还是有一定不足。我将机内的频率上下调整的按钮,接入改装板的单片机,用改装板的单片机可以控制晶振的输入频率,仍然可实现40或80个信道。DDS就这一点好处,频率分辨率很啊。但频率不能显示,这个怎么解决?有办法,让单片机输出语音,把语音馈送到机内功放输入引脚。这样,按一下向上,喇叭中就发出29.625这样的声音了。至此,改装完毕。通过调整发射回路,可以将输出功率调整到8w,现在10米传播较好,通联没有问题。

    DDS芯片用AD9850 MCU用的是STM32F101。
部分主要程序:
int main(void)
{
#ifdef DEBUG
  debug();
#endif
  Status ret;
  u8 j=0;
  u32 i;
  u8 old_key=0,current_key;
    /* Setup STM32 system (clock, PLL and Flash configuration) */
   Stm32_Clock_Init(2);
    
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

    GPIO_Configuration();

   delay_init(16);
   uart_init(16,115200);  //UART INIT TO BAUT = 115200
  
   printf("start");
   JTAG_Set(0X10);     //JTAG MIRROR GPIO
  
  ad9850_wr_serial(0x00,5196854);   //接收频率
  delay_ms(1);
  ad9850_wr_serial(0x00,5196854);   //接收频率
  old_key = 0;
while(1)
{    
    //ad9850_wr_serial(0x00,1000);
   // ad9850_wr_serial(0x00,4867531.58);   //发射频率
// ad9850_wr_serial(0x00,5196854);   //接收频率
   current_key = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_13);
if(old_key  !=current_key )
{
  old_key = current_key;
  if (current_key==0)  //返回按键所端口电平状态   0 为接收
  {  
   ad9850_wr_serial(0x00,5196854.001);   //接收频率
   delay_ms(1);
   ad9850_wr_serial(0x00,5196854.001);   //接收频率
   delay_ms(100);
  }
  else
  {
   ad9850_wr_serial(0x00,4921485.313);   //发射频率
   delay_ms(1);
   ad9850_wr_serial(0x00,4921485.313);   //发射频率
   delay_ms(100);
  }
}

}
}
程序未加整理,让大家见笑了。此程序没有语音和频道切换功能。
     作者:BG7PNK 欢迎转载。

本主题包含附件,请 登录 后查看, 或者 注册 成为会员
2012-11-06 11:44:14
回复
欢迎加入讨论。
我是有底线的