Mega 2560合成器电路方案:简易操作与多频控制

5 下载量 200 浏览量 更新于2024-11-24 收藏 82.46MB ZIP 举报
资源摘要信息:"Mega 2560 + 3.2 TFT LCD + Si5351 V2.0上的合成器-电路方案" Arduino Mega 2560、3.2英寸TFT LCD显示屏和Si5351芯片构成了这个合成器的核心。该合成器能够在1.8到10MHz的频率范围内工作,输出频率为标度频率加IF(中间频率)值。它分为三个独立的频率输出:VFO(可变频率振荡器)、BFO_1(主参考振荡器)和BFO_2(双转换收发器的参考振荡器)。 这款合成器之所以吸引人,部分原因是其设计的便利性。它使用了现成的模块,使得在家中制作和组装变得相对简单。控制按钮数量较多,且所有按钮都连接到一条总线上,由串联的电阻决定其功能,这让控制更为灵活且方便。合成器还具有易于编程的特点,可以说是操作起来非常简单。 合成器的主要功能包括: - S表校准:用于精确测量信号的强度。 - 频率和模式记忆:在断电后仍能保存当前的频率值和工作模式,实现快速恢复。 - ±500 Hz的SHIFT功能:用于接收时频率的微调,且这个微调值在传输时也可以编程设置。 - 智能valcoder:能够针对不同的编码器进行微调。 - VFO A/B切换:两个频率输出可供选择,提高操作的灵活性。 - CAT系统支持:计算机辅助传输系统,便于与电脑进行数据交换和控制。 - 内置电压表:虽小但功能实用,能够监测电源电压。 此外,Mega 2560控制器上的合成器还未使用完所有功能,仍然有大约150 KB的可用内存。此外,在印刷电路板上还保留了4个端口,它们可用作模拟端口,并且必要时还可以输出更多的空闲端口。 这个合成器的设计是开源的,支持通过压缩包子文件(Synthesizer on Mega 2560 + 3.2 TFT LCD + Si5351 V2.0.zip)来分享和协作开发。通过这种方式,爱好者和专业人士可以共同探索这款合成器的潜力。 由于这个项目的开源性,开发者和爱好者可以基于此电路方案进行扩展或优化,从而满足不同场合的需求。电路方案的设计为无线电爱好者提供了一个高效且成本低廉的方案,使得他们能够制作出性能优良的合成器。 在开发过程中,文件夹中包含的图像文件(如Fjyqj2PMGxGtKk-OThUJA6Cfo0LD.png、Fm7o1R0_Oovkjop8-rAVsabce-CU.png、Fn_iPExv_9HGZfh-wEPdKq4tt18k.png)可能包含了电路板布局、连接方式等详细信息,为组装和调试提供了直观的参考。 最后,由于使用了Si5351这个精密的时钟发生器芯片,这个合成器的频率精度和稳定度得到了保证。Si5351能够生成多种频率输出,十分适合需要高稳定度信号源的应用场景,例如业余无线电通讯。 综上所述,Mega 2560 + 3.2 TFT LCD + Si5351 V2.0合成器电路方案为用户提供了易于组装、编程简单、功能丰富的合成器设计。通过开源协作,该方案不断得到完善和扩展,为无线电爱好者和工程师提供了一个宝贵的资源。
2021-04-19 上传
适用于家庭无线电设备,例如超外差接收机,SDR,HAM QRP收发器或RF发生器。 硬件部件: 面包板(通用) × 1个 Arduino Nano R3 × 1个 带按钮的旋转编码器 × 1个 Adafruit SSD1306 128X64 OLED显示屏× 1个 Adafruit SI5351时钟发电模块× 1个 拨动开关,SPDT × 2个 松下RCA插孔,用于RF输出设置× 2个 电容100 nF × 3 电容器10 µF × 1个 电容10 nF × 2个 电阻1k欧姆 × 1个 电感100 uH × 1个 软件应用程序和在线服务 Arduino IDE 这是VFO(变频振荡器)的项目,可用于自制设备,例如超外差接收器,DCR,SDR或Ham QRP收发器。它还具有用于信号强度(S-Meter)和20 Band预设的条形图指示器。也可以用作RF /时钟发生器。这是新版本(V.2),我更新了以前的项目,它包含新功能。 特征: 工作范围为10kHz至225MHz。 1Hz,10Hz,1kHz,5kHz,10kHz和1MHz的调谐步长。 中频(IF)偏移(+或-)可调。 BCB和HAM频率的20个频段预设(快捷方式)。 发电机功能模式。 RX / TX模式选择器,用于Homebrew QRP收发器。 通过模拟输入(ADC)的信号表的条形图。 用作Homebrew无线电接收器(如超外差,SDR,直接转换和Homebrew QRP收发器)上的本地振荡器。 用作简单的RF /时钟发生器,用于校准参考或时钟生成。 可与Arduino Uno,Nano和Pro Mini一起使用。 使用通用的128x64 I2C OLED SSD1306显示器和Si5351模块。 I2C数据传输,仅需2条线即可连接显示器/ Si5351和arduino。 频率生成的高稳定性和精度。 简单但非常有效且免费。 设置: 原理图/接线: 演示视频: 指示: 在Arduino IDE上打开scketch,安装所有必需的库。 选择首选项(请参阅注释)并编译草图,然后将其加载到Arduino Nano,Uno或Pro Mini。 按照示意图连接Arduino,Display,Si5351模块,旋转编码器等。 打开Arduino的电源。 旋转旋转编码器以调高或调低频率。 按下按钮1更改频率步进调谐。可用的步进为1Hz,10Hz,1kHz,5kHz,10kHz和1MHz。 按下按钮2浏览(选择)20个频段预设或进入发生器模式。 打开/关闭开关SW 2,以从RX模式更改为TX模式。RX模式= SW 2开路,TX模式= SW 2接地。在TX模式下,不会从RF输出中添加/减去IF值。这是在Homebrew QRP收发器中使用的理想选择。 将无线电的S-Meter输出信号连接到X2连接器(S-Meter输入)。该输入具有可调的灵敏度,必须在Sketch中调整增益,以接受500mV至5V(最大)的信号。 关于用户首选项的注意事项: -可以更改原理图上的以下项目: #define IF 455 //输入您的IF频率,例如:455 = 455kHz,10700 = 10.7MHz,0 =直接转换接收器或RF发生器,+将加和-将减去ffset。 #define BAND_INIT 7 //在启动时输入初始频段(1-21),例如:1 =频率发生器,2 = 800kHz(MW),7 = 7.2MHz(40m),11 = 14.1MHz(20m)。 #define XT_CAL_F 33000 // Si5351校准系数,调整为可得10MHz。增加该值将降低频率,反之亦然。 #define S_GAIN 303 //调整信号仪表A / D输入的灵敏度:101 = 500mv;202 = 1v;303 = 1.5v;404 = 2v;505 = 2.5v;1010 = 5v(最大)。 #define tunestep A0 //调谐步骤按钮使用的引脚。 #define band A1 //波段选择器按钮使用的引脚。 #define rx_tx A2 // RX / TX选择器开关使用的引脚,RX =开关断开,TX =开关闭合至GND。在TX中时,不考虑IF。 #define adc A3 //信号表A / D输入所使用的引脚。
2019-08-30 上传
/******************************************** 主控芯片:STM32F405RGT6主频168Mhz 晶体频率:HSE=8Mhz SYSCLK=168Mhz 模块型号:SI5351A 通讯方式: 函数功能:Si5351时钟芯片 作者:苏夏雨 授权:未经作者允许,禁止转载 ********************************************/ #ifndef _si5351a_h #define _si5351a_h #include "system.h" //Si5351寄存器声明 #define SI_CLK0_CONTROL 16 // Register definitions #define SI_CLK1_CONTROL 17 #define SI_CLK2_CONTROL 18 #define SI_SYNTH_PLL_A 26 #define SI_SYNTH_PLL_B 34 #define SI_SYNTH_MS_0 42 #define SI_SYNTH_MS_1 50 #define SI_SYNTH_MS_2 58 #define SI_PLL_RESET 177 #define SI_R_DIV_1 0x00 // R-division ratio definitions #define SI_R_DIV_2 0b00010000 #define SI_R_DIV_4 0b00100000 #define SI_R_DIV_8 0b00110000 #define SI_R_DIV_16 0b01000000 #define SI_R_DIV_32 0b01010000 #define SI_R_DIV_64 0b01100000 #define SI_R_DIV_128 0b01110000 #define SI_CLK_SRC_PLL_A 0x00 #define SI_CLK_SRC_PLL_B 0b00100000 #define XTAL_FREQ 25000000 // Crystal frequency //IIC总线引脚配置 #define SDA(n) {n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET);} #define CLK(n) {n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_RESET);} //相关函数声明 void Si5351Init(void);//初始化Si5351的GPIO void SetPLLClk(uint8_t pll, uint8_t mult, uint32_t num, uint32_t denom);//设置PPL时钟 void SetFrequency(uint32_t frequency);//时钟Si5351时钟频率 void SetMultisynth(uint8_t synth,uint32_t divider,uint8_t rDiv);//设置多synth #endif