查看: 20799|回复: 43

[线上活动] 活动结束,快来看工程师“鹊桥”PCB作品秀

  [复制链接]

该用户从未签到

发表于 2019-8-6 09:31:40 | 显示全部楼层 |阅读模式
分享到:



眼看着又一年七夕就到了,牛郎和织女早就在银河两端彼此遥望,喜鹊却一只都没飞来。现小编邀请广大硬件工程师“画线布桥”,在银河上搭起一座“鹊桥”,让牛郎织女在此鹊桥相会。

950x155.jpg

鹊桥搭建注意事项:
1、借助PCB画图工具(如:Protel,PADS,Altium Designer,Multisim,OrCAD、Viewlogic、PowerPCB等),画出鹊桥线路图,并文字阐述其表达的意义。
2、鹊桥实物展示,用图片的或者视频方式,并描述出去各环节的相关性。
以上二种方式,可任选其中一种。
如图:
122636qherrrewvh0qe5xn.png


点击查看作品秀

作者
标题
链接
sanqerqi
七夕鹊桥搭建-“我的STM32 PCB鹊桥” LED组成的“鹊桥”
AUST
七夕鹊桥搭建-基于超宽带技术的心动“鹊桥”设计
dadaddy
七夕鹊桥搭建-柯南系列之新兰永恒
april-2026210
七夕鹊桥搭建 HUB+双串口+Jlink
北冥名鲲
七夕鹊桥PCB板
小影-370587
七夕鹊桥搭建-“爱在七夕,我的PCB鹊桥”
caigege1
搭建鹊桥,与织女相会




活动规则 :
1) 活动结束后,我们将汇总参赛者的作品的质量,浏览量,回复数等来进行评选,选出最受欢迎的前20%作品,免费获树莓派3B+一块。
2)获奖者,在收到奖品,即开始晒奖品开箱,和大家一起分享喜悦,视频或图文形式均可(视频时长建议在1到3分钟左右)。




活动奖品
树莓派3B+

活动时间:
2019.8.6——2019.8.12

活动流程:
在活动时间内,参赛者在“综合交流板块”,发表新帖阐述您鹊桥的搭建
发表完成后,可在评论区发布帖子链接

活动咨询:
QQ:918172763

回复

使用道具 举报

该用户从未签到

发表于 2019-8-6 16:42:19 | 显示全部楼层
xiaocaihong 发表于 2019-8-6 16:38
自己画,送女孩子表白成功率更高哦

原始文件在这里哇https://www.cirmall.com/bbs/thread-108312-1-1.html
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2020-10-20 18:19
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2019-8-8 16:21:20 | 显示全部楼层
    七夕鹊桥搭建-基于超宽带技术的心动“鹊桥”设计https://www.cirmall.com/bbs/thread-108233-1-1.html
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-9-16 11:34
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2019-8-9 09:59:01 | 显示全部楼层
    七夕鹊桥搭建 HUB+双串口+Jlink
    https://www.cirmall.com/bbs/thread-108268-1-1.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-8-6 12:44:22 | 显示全部楼层

    七夕鹊桥搭建-“我的STM32 PCB鹊桥” LED组成的“鹊桥”

    七夕,这个美丽的日子里。我也想画一块板子-----藉此,有情人终成眷属。先把效果图晒一下吧哈哈哈
    介绍一下这块板子,以免各位看官看得云里雾里:
      这是利用Altium Designer 画图软件做的一个基于STM32F103C8T6单片机的系统板,搭载的若干个LED灯,最大的特点是将“七夕”的元素用在丝印层画图的方式表现出来,这是一对“有情人”,板子启动后,LED组成的“鹊桥”交替闪烁。当然了,Altium Designer、STM32的原始工程文件我将会放在文末,最最重要的也就体现在这里,我在系统板中引出了串口,直接接口Micro USB就可以进行调试了。有初学的小伙伴可以对此进行二次开发哦。
    硬件篇:
    1、电路使用STM32f103C8T6,片内FLASH:64KB, RAM:20K,48脚
    2、控制电路:LED采用74LS138译码器输出控制信号,通过三极管驱动,这样能够实现以较少的管脚控制较多的外围设备。
    3、DEBUG电路:将JTAG、SW调试引脚尽数引出。将串口通过CH340C转换电平后引出。
    4、复位电路:采用RC复位,考虑到没有外围干扰和噪声,省去了电压监控。
    软件篇:
    1、首先,初始化系统时钟,调用标准固件库V3.5.
    1. RCC_Configuration();//展开这个函数,可以得到如下代码
    2. void RCC_Configuration(void)
    3. {
    4.         SystemInit();
    5.         RCC_HSICmd(ENABLE);
    6.         while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY)== RESET);
    7.         RCC_HCLKConfig(RCC_SYSCLK_Div1);
    8.    RCC_PCLK2Config(RCC_HCLK_Div1);   /* 设置高速AHB时钟(PCLK2)RCC_HCLK_Div1——APB2时钟 = HCLK*/     
    9.    RCC_PCLK1Config(RCC_HCLK_Div2); /*设置低速AHB时钟(PCLK1)RCC_HCLK_Div2——APB1时钟 = HCLK / 2*/      
    10.    FLASH_SetLatency(FLASH_Latency_2);   /*设置FLASH存储器延时时钟周期数FLASH_Latency_2  2延时周期*/   
    11.    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);  /*选择FLASH预取指缓存的模,预取指缓存使能*/
    12.    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_16);/*设置PLL时钟源及倍频系数,频率为8/2*16=64Mhz*/   
    13.    RCC_PLLCmd(ENABLE);          /*使能PLL */
    14.    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) ; /*检查指定的RCC标志位(PLL准备好标志)设置与否*/   
    15.    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  /*设置系统时钟(SYSCLK) */  
    16.    while(RCC_GetSYSCLKSource() != 0x08);     /*0x08:PLL作为系统时钟 */
    17. }
    复制代码
    时钟配置,使用HSI作为时钟源,经过二倍分频后送入PLL,再通过PLL倍频到64MHz.
    2、虽然板子不需要串口输出数据,但是为了方便调试和二次开发,所以将串口电路引出,直接插Micro USB即可在串口调试助手中看到打印的信息,串口初始化代码如下:
    1. void USART1_Configuration(void)
    2. {
    3.         RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA,ENABLE);
    4.         
    5.         USART_InitTypeDef  USART_InitStructure;                    
    6.         USART_InitStructure.USART_BaudRate=115200;                    
    7.         USART_InitStructure.USART_WordLength=USART_WordLength_8b;  
    8.         USART_InitStructure.USART_StopBits=USART_StopBits_1;      
    9.         USART_InitStructure.USART_Parity=USART_Parity_No;         
    10.         USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
    11.         USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
    12.                                                             
    13.         USART_Init(USART1,&USART_InitStructure);                    
    14.         USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
    15.         
    16.         //USART_ITConfig(USART1,USART_IT_IDLE,ENABLE);
    17.         USART_Cmd(USART1,ENABLE);                                   
    18.         USART_ClearFlag(USART1,USART_FLAG_TC);                     
    19.         
    20.         GPIO_InitTypeDef GPIO_InitStructure;
    21.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    22.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  
    23.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    24.    GPIO_Init(GPIOA, &GPIO_InitStructure);
    25.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    26.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  
    27.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    28.         GPIO_Init(GPIOA, &GPIO_InitStructure);
    29. }
    复制代码
    3、因为这个板子只用到了串口和基本IO,所以没有配置NVIC,但是将配置方法列出,例子中,将DMA和定时器的中断优先级进行了配置,需要注意的是,中断优先级分组在整个程序中只配置一次就可以:
    1. void NVIC_Configuration(void)
    2. {
    3.   NVIC_InitTypeDef NVIC_InitStructure;
    4.         
    5.          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
    6.         
    7.   NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel1_IRQn;   
    8.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
    9.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;     
    10.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  
    11.   NVIC_Init(&NVIC_InitStructure);
    12.         
    13.   NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;   
    14.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
    15.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;     
    16.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  
    17.   NVIC_Init(&NVIC_InitStructure);  
    18. }
    复制代码
    因为用灯带的原因,运行花样灯的时候需要延时,所以,延时程序由以下代码产生(注意:系统时钟为64M):
    1. void delay_ms(u16 nms)
    2. {
    3.          u32 temp;
    4.          SysTick->LOAD = 8000*nms;
    5.          SysTick->VAL=0X00;//清空计数器
    6.          SysTick->CTRL=0X01;//使能,减到零是无动作,采用外部时钟源
    7.          do
    8.          {
    9.           temp=SysTick->CTRL;//读取当前倒计数值
    10.          }while((temp&0x01)&&(!(temp&(1<<16))));//等待时间到达
    11.          SysTick->CTRL=0x00; //关闭计数器
    12.          SysTick->VAL =0X00; //清空计数器
    13. }
    复制代码
    4、在stm32中使用printf()的方法:
    (1)工程使用的是MDK,属性的“Target“-》”Code Generation“中勾选”Use MicroLIB
    (2)main 文件中 包含“stdio.h”(标准输入输出头文件)
    3)在主函数文件中重定义<fputc>函数
    1. int fputc(int ch, FILE *f)
    2. {
    3.       USART_SendData(USART1, (unsigned char) ch);
    4.       // USART1 可以换成 USART2 等
    5.       while (!(USART1->SR & USART_FLAG_TXE));
    6.       return (ch);
    7.   }
    复制代码
    5、控制信号管脚初始化:
    1. void LED_Init(void)
    2. {         
    3.          GPIO_InitTypeDef  GPIO_InitStructure;        
    4.          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);         
    5.          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 |GPIO_Pin_6| GPIO_Pin_7);        
    6.          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;                  //推挽输出
    7.          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    8.          GPIO_Init(GPIOA, &GPIO_InitStructure);                                 //初始化IO口
    9. }
    复制代码
    6、串口的不定长指令接收:
    程序里利用了RXNE这个接收中断,当接收到数据时立即产生中断,利用这个标志位,将指定长度或者标志的指令数据接收完毕后再对指令进行处理。处理完毕后要将处理的数组清零,并且长度计数值要清零,为下一次接收指令做准备。
    7、完成系统、外设初始化后就可以进入大循环程序了:
    由于外设LED的驱动使用了74LS138译码器,所以只需要对A5,A6,A7三个IO口编写循环程序就可以驱动8个LED闪烁,程序的使用方法:向串口写入指令控制循环的速度即可。指令如下:
    M1(CR,LF)           M2(CR,LF)           M3(CR,LF)
    下达指令后只能进入一种循环模式,不能退出,当然你有更好的花样,可以进行二次开发。


    链接: https://pan.baidu.com/s/1zNl4TX_-LAxeuSEuqToIzw 提取码: wxn4
    效果图.png
    PCB图.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2019-8-6 13:01:46 | 显示全部楼层

    赶快行动起来,参加
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-8-6 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-8-6 13:50:36 来自手机 | 显示全部楼层
    想看看文件
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-8-6 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-8-6 13:54:30 | 显示全部楼层
    好像收藏文件,然后去表白
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-5-29 18:00
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-8-6 14:21:08 | 显示全部楼层
    哇哇,好漂亮的PCB,祝所有工程师有情人终成眷属,天下和平PEACE!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-5-29 18:00
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-8-6 14:22:03 | 显示全部楼层
    好漂亮的PCB,祝所有工程师有情人终成眷属,天下和平PEACE!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-2-25 17:02
  • 签到天数: 15 天

    连续签到: 2 天

    [LV.4]偶尔看看III

    发表于 2019-8-6 15:03:30 | 显示全部楼层
    6666666但是我不怎么画板啊
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 06:38 , Processed in 0.248884 second(s), 43 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.