矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: sjp

uBITX (Arduino+Si5351)

  [复制链接]
发表于 2024-1-3 22:43:14 | 显示全部楼层
编译没问题,上传失败
QQ图片20240103223255.png
回复 支持 反对

使用道具 举报

发表于 2024-1-3 23:02:43 | 显示全部楼层
天太冷 明天继续
回复 支持 反对

使用道具 举报

发表于 2024-1-5 15:53:15 | 显示全部楼层
上传成功
开发板版本的问题
1.png
回复 支持 反对

使用道具 举报

发表于 2024-1-5 16:20:01 | 显示全部楼层
经过测试,一切基本正常,二个本振频率数值相符,与LCD显示的频率符合相应的逻辑关系,
频率稳定度相当不错。
上图
回复 支持 反对

使用道具 举报

发表于 2024-1-5 16:25:48 | 显示全部楼层
上图  uBITX (Arduino+Si5351)
1.png
2.png
3.png
4.png
回复 支持 反对

使用道具 举报

发表于 2024-1-5 18:39:52 | 显示全部楼层
uBITX (Arduino+Si5351)菜单
1.png
2.png
3.png
4.png
5.png
回复 支持 反对

使用道具 举报

发表于 2024-1-5 18:47:49 | 显示全部楼层
总之,实验算是成功的
发现调整频率时步长(step)不规律,无法精确调整,菜单中也没有步长设置项,这给实际操作带来很大麻烦。
请教楼主该如何解决这个问题
回复 支持 反对

使用道具 举报

     
发表于 2024-1-5 21:15:14 | 显示全部楼层
本帖最后由 超级夜猫子 于 2024-1-5 21:31 编辑
BG4_009 发表于 2024-1-5 18:47
总之,实验算是成功的
发现调整频率时步长(step)不规律,无法精确调整,菜单中也没有步长设置项,这给实 ...


发一段我前一阵做5351的代码,谈不上优化,实测步进误差在100Hz以内,看看你能不能借鉴。

  //短波1
  //波段及调谐频率数据(3-7.5MHz),10.7MHz一中频,5KHz步进
  if (band == 3) {
    if (tuning > 901) {
      tuning = 901;
    }
    if (tuning < 1) {
      tuning = 1;
    }
    tuning_X = 3 + (tuning - 1) * 0.005;
    dtostrf(tuning_X, 3, 3, tuning_0);  //浮点数转换为字符串

    //发送给显示屏
    OLED_ShowChinese(2, 3, 6, 16);   //短
    OLED_ShowChinese(18, 3, 7, 16);  //波
    OLED_ShowString(34, 3, "1   3-7.5MHz", 16);
    OLED_ShowString(30, 6, tuning_0, 16);
    OLED_ShowString(85, 6, "MHz", 16);

    //发送给SI5351
    if (tuning <= 122) {
      tuning_F = 24;
      tuning_F0 = 25852 + 327 * (tuning - 1) + tuning / 2 + tuning / 15 + tuning / 30;
    } else if (tuning <= 322) {
      tuning_F = 25;
      tuning_F0 = 285 + 327 * (tuning - 123) + (tuning - 122) / 2 + (tuning - 122) / 15 + (tuning - 122) / 30;
    } else if (tuning <= 522) {
      tuning_F = 26;
      tuning_F0 = 270 + 327 * (tuning - 323) + (tuning - 323) / 2 + (tuning - 323) / 15 + (tuning - 323) / 30;
    } else if (tuning <= 722) {
      tuning_F = 27;
      tuning_F0 = 253 + 327 * (tuning - 523) + (tuning - 523) / 2 + (tuning - 523) / 15 + (tuning - 523) / 30;
    } else {
      tuning_F = 28;
      tuning_F0 = 238 + 327 * (tuning - 723) + (tuning - 723) / 2 + (tuning - 723) / 15 + (tuning - 723) / 30;
    }
    si5351.init(SI5351_CRYSTAL_LOAD_6PF, 0, 0);
    clockgen.setupPLL(SI5351_PLL_A, tuning_F, tuning_F0, 65535);
    clockgen.setupMultisynth(0, SI5351_PLL_A, 25, 0, 65535);
    clockgen.setupPLL(SI5351_PLL_B, 24, 495020, 1048575);
    clockgen.setupMultisynth(1, SI5351_PLL_B, 28, 0, 65535);
    clockgen.enableOutputs(true);
    Serial.println(tuning);
    Serial.println(tuning_F);
    Serial.println(tuning_F0);

    //打开相应波段控制脚
    digitalWrite(K0, LOW);
    digitalWrite(K1, LOW);
    digitalWrite(K2, LOW);
  }
回复 支持 反对

使用道具 举报

     
发表于 2024-1-5 22:14:20 | 显示全部楼层
这 1602 是台风泡水版?
回复 支持 反对

使用道具 举报

发表于 2024-1-5 23:09:13 | 显示全部楼层
哈哈 都是当年玩玩9850、9851时用过的,字迹也淡了,应该是老化了。
业余玩玩,手边有什么将就用哈
回复 支持 反对

使用道具 举报

发表于 2024-1-5 23:17:55 | 显示全部楼层
超级夜猫子 发表于 2024-1-5 21:15
发一段我前一阵做5351的代码,谈不上优化,实测步进误差在100Hz以内,看看你能不能借鉴。

  //短波1 ...

感谢您的好意,对于编程我一点都不懂,最多就刷个固件而已,最近正好有空闲,看到老乡的老帖子,试验一下。
其实,我感觉这个电路离实用还有一定的距离,需要再完善一下。
感谢您的回帖
回复 支持 反对

使用道具 举报

发表于 2024-1-10 17:43:21 | 显示全部楼层
补全几张实验截图,算是完成此次实验
从功能菜单看,一般使用还是可以的,唯一美中不足的是步长:
1 缺少步长设置功能,
2 步长精度较低、不稳定(缓慢旋转编码开关时有时550hz,有时是70hz,有时是40hz:稍快调整时,显示的频率跨度能让你无法相信,并且正向调整和反向调整完全不在你想象的范围内)。
那么,问题来了
这个帖子已经很多年了,不知道楼主后来是如何改进的?
有没有哪位实际应用了,效果又如何?
是否有爱好者对程序进行了改进?
一个电路开源的最终目的是完善,否则便没有意义了。
希望
6.png
10.png
7.png
8.png
9.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-5-3 05:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表