Advertisement

初次使用AD16绘制PCB的心得体会(一)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文为作者初试Altium Designer 16软件绘制电路板(PCB)的设计心得与技巧分享,旨在帮助电子设计新手更好地掌握这一技能。 AD16软件可以从微信公众号“软件安装管家”获取。 一、信号线应避免直角或折返设计,尽量减少弯折次数。 二、确保线路不直接穿越单片机等器件的引脚排针区域。 三、注意元件封装正确无误。 四、孔径大小要适当合适。 五、GND层可以在最后进行敷铜处理。 六、避免出现似连非连的情况,尤其是在过孔时尤其需要注意。 七、尽量减少不必要的过孔使用,能用一根线完成的就不要多加过孔。 八、板子四个角落应留有足够的通孔用于固定。 九、需要考虑人机交互设计要素,例如串口通信和按键等部分的设计。 十、电容放置在舵机电源线上可以起到稳压的作用。建议舵机电容容量大于470uf,并且去耦电容应该靠近芯片或其他需要去耦的元件,因为每个电容器都有一定的有效范围,在使用时不能离得太远。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • 使AD16PCB
    优质
    本文为作者初试Altium Designer 16软件绘制电路板(PCB)的设计心得与技巧分享,旨在帮助电子设计新手更好地掌握这一技能。 AD16软件可以从微信公众号“软件安装管家”获取。 一、信号线应避免直角或折返设计,尽量减少弯折次数。 二、确保线路不直接穿越单片机等器件的引脚排针区域。 三、注意元件封装正确无误。 四、孔径大小要适当合适。 五、GND层可以在最后进行敷铜处理。 六、避免出现似连非连的情况,尤其是在过孔时尤其需要注意。 七、尽量减少不必要的过孔使用,能用一根线完成的就不要多加过孔。 八、板子四个角落应留有足够的通孔用于固定。 九、需要考虑人机交互设计要素,例如串口通信和按键等部分的设计。 十、电容放置在舵机电源线上可以起到稳压的作用。建议舵机电容容量大于470uf,并且去耦电容应该靠近芯片或其他需要去耦的元件,因为每个电容器都有一定的有效范围,在使用时不能离得太远。
  • 关于定时器使
    优质
    本文分享了作者在实际项目中使用定时器的心得和体会,包括定时器的工作原理、应用场景以及常见问题的解决方法。适合开发者参考学习。 在`ClassWizard`中响应ID为~Dlg中的WM_TIMER消息。使用`SetTimer(nIDEvent,time,NULL)`来建立一个定时器,并用`KillTimer(nIDEvent)`函数关闭该定时器。接下来,可以通过响应ON_WM_TIMER消息,在定时器完成一次计时后处理相关程序事件。具体实现方式如下: ```cpp void CTimeDlg::OnTimer(UINT nIDEvent) { if (nIDEvent == 1000) { // 定时时间为5秒 // 处理相应事件 } else if (nIDEvent == 1001) { // 定时时间为10秒 // 处理相应事件 } CDialog::OnTimer(nIDEvent); } ``` 下面是一个串口通信定时检查接收数据的代码示例: ```cpp void CMyDlg::OnOpenCom() { if (f_open_com == true) { f_open_com = false; GetDlgItem(IDC_OPEN_COM)->SetWindowText(打开通信端口); CloseHandle(hComm); KillTimer(1000); // 关闭定时器 return ; } SetTimer(1000, 1000, NULL); // 设置nIDEvent为1000,时间间隔为5秒 const char *ComNo; DCB dcb; std::string temp(COM1); ComNo = temp.c_str(); hComm = CreateFile(ComNo , GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0); if (hComm == INVALID_HANDLE_VALUE) { // 如果端口未打开 MessageBox(打开通信端口出错!, Comm Error, MB_OK); return ; } GetCommState(hComm , &dcb); // 获取当前的通信状态 dcb.BaudRate = CBR_9600; dcb.ByteSize = 8; dcb.Parity = NOPARITY; dcb.StopBits = ONESTOPBIT; if (!SetCommState(hComm , &dcb)) { MessageBox(通信端口设置出错!, Set Error, MB_OK); CloseHandle(hComm); return; } GetDlgItem(IDC_OPEN_COM)->SetWindowText(关闭通信端口); f_open_com = true; } void CMyDlg::OnTimer(UINT nIDEvent) { char inbuff[1024]; DWORD nBytesRead, dwError; COMSTAT cs; ClearCommError(hComm , &dwError , &cs); if (cs.cbInQue > sizeof(inbuff)) { PurgeComm(hComm , PURGE_RXCLEAR ); return ; } ReadFile(hComm , inbuff , cs.cbInQue, &nBytesRead, NULL ); inbuff[cs.cbInQue] = \0; m_Receive.Format(%s,inbuff); UpdateData(false); CDialog::OnTimer(nIDEvent); } ``` 对于串口通信定时检查的循环部分,可以重写为: ```cpp for(int i=0;;i++) { // 循环体内的代码... Sleep(5); if(i > ...) { // 假设这里的条件是判断是否达到某个阈值或发生特定事件 AfxMessageBox(错误XXX); return; } } // 在循环结束后,记得停止一些机器动作 ```
  • 关于RFID
    优质
    本文分享了作者在学习和应用RFID技术过程中的心得体会,探讨了其工作原理、应用场景及其优势与挑战。 自从投身于RFID应用开发领域以来已有3年半的时间,在2009年7月即将迎来工作的第四个年头。这四年间,我专注于参与了不下二十个项目的实施与二次开发工作,并在2007年初跟随市场团队走访广州和深圳的一些厂家进行实地考察。 今年年初,我加入了一家位于东莞且在当地颇具影响力的RFID研发公司,在这里的工作经历中,不仅参与了一些重要系统的改进项目以及新产品的设计,还成功地推进了与金蝶、用友等企业的合作事宜。通过这些实践机会,我对所在行业有了更为深入的理解和认识。 在此基础上,我决定总结一下自己积累的经验,并对未来RFID系统的发展趋势进行展望规划。
  • 学习JDBC
    优质
    本文分享了作者在学习Java数据库连接(JDBC)技术过程中的心得体会,包括遇到的问题、解决方法以及对编程实践的理解与提升。 本段落将介绍JDBC的概念,基本方法,并分享应用体会、实例编程以及测试等方面的内容。
  • 关于fastdb
    优质
    本文分享了作者在使用FASTDB过程中的经验和感悟,旨在帮助其他使用者更好地理解和运用这一高效数据库系统。 FastDB心得 FastDB是一种高性能的数据库管理系统,它提供了高速的数据存储与查询功能。本段落将对使用体验进行详细阐述,包括其主要特点、工作原理、部署指南及接口调用方式。 一、核心特性概述 1. 高效数据存储:通过位图(Bitmap)技术表示页面占用情况,从而提升数据存取效率。 2. 快速查询功能:提供高效的查询机制以实现快速检索所需信息。 3. 精细化空间管理:利用位图来优化存储资源的使用率。 二、系统运作机理 FastDB的操作逻辑主要涵盖以下内容: 1. 位图控制策略:运用位图记录页面占用状态,每个位置代表一个页的状态。 2. 存储方案设计:通过精确配置和动态调整缓存大小等参数来优化存储性能。 3. 查询速度提升机制:内置算法确保查询操作的快速执行。 三、安装与启动流程 部署FastDB需完成以下步骤: 1. 安装数据库软件; 2. 配置相关设置,如设定最大存储容量及缓存尺寸; 3. 启动服务以开始使用。 四、交互方式介绍 用户可通过多种途径操作和访问数据: - SQL命令行界面:利用标准SQL语法进行查询与修改。 - API调用接口:通过编程语言发送请求获取或更新信息。 - Shell脚本环境:编写批处理任务实现自动化管理功能。 五、位图机制解析 FastDB采用特定数组来跟踪未使用的页面区域: 1. firstHoleSize[] - 记录右侧连续空闲位置数量; 2. lastHoleSize[] - 标注左侧连续空白页数; 3. maxHoleSize[] - 最大连续未使用区间长度; 4. maxHoleOffset[] - 定位最大未分配区域的起始地址。 六、存储策略详解 FastDB通过以下手段提高数据存取效率: 1. 页面状态跟踪:记录每个页面的状态以便高效管理。 2. 存储空间优化:利用上述机制确保有效使用每一寸可用内存或磁盘空间。 七、查询性能增强措施 为了加快检索速度,FastDB实施了多项技术改进: - 索引构建与维护:创建索引来加速查找过程; - 缓存策略调整:合理配置缓存大小来减少重复计算和读取时间; - 查询语句优化器:自动转换复杂查询为更高效的执行路径。 八、总结 综上所述,FastDB凭借其强大的功能集、灵活的工作模式及简便的操作流程,在众多数据库解决方案中脱颖而出。无论是初次接触还是资深用户都能从中受益匪浅。
  • AD16NB-IoT BC26原理图与PCB
    优质
    本教程详细介绍如何使用Altium Designer 16软件绘制基于BC26模块的NB-IoT通信设备原理图及印刷电路板,适合电子工程师学习参考。 BC26 NB-IOT 原理图 AD16 NB-IOT 与 STM32F103RCT6 的结合使用了 CAN 总线和 RS485 总线。
  • Linux学习
    优质
    《Linux学习的心得与体会》是一篇总结个人在使用和掌握Linux操作系统过程中的经验、技巧及遇到挑战的文章。文中分享了作者的学习方法以及对开源文化的理解,并提供了一些实用建议给初学者,旨在鼓励更多人加入到Linux的社区中来。 这篇文章分享了关于Linux学习的心得体会,对于初学者来说非常有帮助,并提供了一些实用的学习方法。读者可以根据自己的实际情况选择合适的方法进行学习。作者认为将来一定是属于Linux的天下,因此鼓励大家积极投入其中进行深入研究和掌握。
  • 关于fluent vof
    优质
    本文分享了作者在使用Fluent VOF(Volume of Fluid)模型进行多相流模拟过程中的经验和感悟,探讨了VOF方法的应用技巧与挑战。 对于初学者来说,在学习FluentVOF模型的过程中积累一些经验和注意事项是非常有帮助的。这些建议可以帮助新手更有效地掌握这个复杂的数值模拟工具,并避免常见的错误与陷阱,从而提高他们的学习效率和实践效果。
  • FPGA学习
    优质
    本文分享了作者在学习FPGA过程中的心得体会,涵盖了基础知识的学习、实践项目的经验总结以及遇到问题的解决方法。 回想自己学习FPGA的经历,已经有一段时间了。从最初的迷茫到后来的疯狂阅读书籍、设计开发板、调试电路以及练习各种FPGA实例,最终能够独立完成项目。
  • 学习TCP/IP
    优质
    《学习TCP/IP的心得体会》:通过系统地学习与实践TCP/IP协议,作者分享了对网络通信原理的理解、遇到的问题及解决方法,旨在为计算机网络的学习者提供指导和启示。 本资源是我个人的学习心得,非常适合刚开始学习网络技术的朋友参考。内容简明扼要且紧扣重点,能够帮助您节省大量查阅经典书籍的时间。