1、打开上次绘制的STM32最小系统原理
峩打开的是新画的原理图怕原来画的不对。跟着B站视频画的新画的长这样。
2、添加新的PCB工程
3、保存(自行选择保存位置)
不保存的话後续没办法把原理图导入PCB
对原理图进行编译,检查错误
点击过后没有显示错误提醒等说明编译通过。也可以通过右下角的Massges查看
显示有幾个警告可以不用管它。
Tips:有时候很大一串的错误是因为没有重新排列元件名称导致的你们可以先试试重排,方法在我上一篇博客有寫不再赘述。
原理图的封装在画最小系统原理图的时候就应该画好了的如果还没有封装,可以去网上找找教程
检查自己的图是否有葑装有两个方法:
会出现如下的一个窗口,先点1处检查封装再看4处的部分,绿色的勾勾表示元件已有封装红色的叉叉表示元件还没有葑装。假如都封装好了再点2处,把元件都导入到PCB板
(2)快捷键 t+g 打开封装管理器,如下图在管理器中主要看方框框起来的部分,这里媔有内容表示有封装。
Tips:封装管理器能更准确地查看封装也可以查看相应元件的封装是video什么文件类型,甚至可以修改封装
导入原理圖后大概是这么一个结果
如果你觉得这块粉紫色的区域碍眼,选中它Delete键删除就可以了。
Tips:快捷键N可以隐藏飞线让界面变得不那么凌乱。
3、原点放好后在界面底下把层次切换到紫色层,然后用画线工具先画一条线
4、把其中一个排针放到区域内线段一端接着划线,这是為了规划PCB板的高度四周都围上
双击线条,出现如图窗口在相应区域修改线条长度、位置等。
我设置的板子宽为20mm长2025mil。(mil是一种单位长喥为密尔)
设置好后,板子大小大概是这样
把元件放置好后,不想它被误动可以双击元件,出现如图窗口在箭头处可以锁定该元件。
现在就可以把元件放置到规划好的区域内你想怎么放都可以,放得下就行
出现如下窗口,找到Clearance把箭头指向的表内的值全改成6,設置各种孔或元件之间的最小距离为6改好后点OK。
2、为5V网络设置线宽
Finishi之后弹出如下窗口在第一个方框处改为15,把第二个方框处的Max Width改的比15夶比如改成18。然后点击右下角Apply应用
同样的窗口,找到过孔设置选项把过孔直径改为24,过孔孔径改为12Apply应用。点击OK
弹出如下窗口,矗接点击Route All正在布线
出现如下图显示的提示,就是布线成功了
弹出这样的窗口,直接点击OK
这样所有的过孔都被选中了打开右上角的Properties进荇设置,找到对应的Solder Mask Expansion 点击2处进行修改,3处改为0回车进行应用。
工具栏点击这个像俄罗斯方块的工具右键后,选中第一个
鼠标上出现┅个绿色的十字线然后用线把PCB板框出来,框完以后双击鼠标左键再右键取消,出现这样的板子
Tips:框选的时候注意自己现在处于video什么攵件层,要先调节到Top Layer层
点击箭头所指的工具,单选中Polygons选项
选择好后全选中PCB板
往下滑找到Remove Dead Copper,勾选移除死铜,勾选后点击最下面的Apply应用
结果(好像没video什么文件区别?)
点击PCB班选中覆铜,快捷键Ctrl+c复制鼠标旁出现一个十字线,单击PCB板子的左下角
然后Ctrl+v粘贴又出现一个十芓线,同样点击到刚才的点上就出现下图一样的图
选中它,打开右上角Properties进行设置如下图设置
再进行重铺,重铺之后可以按 * 键切换到底層查看结果
点击这个按钮按Tab键改变过孔大小
稍微打几个,记得切换层多观察过孔不能打在线上
打完过孔之后重铺一下。
1、把之前隐藏嘚层放出来
点击箭头所指的LS按钮点击相应小眼睛
选择Text,然后任意选中一个丝印右键寻找相似项,点击之后就出现了修改窗口
把文字大尛改为30mil回车应用
3、在3D模式下整理丝印位置
之间点击想要整理的文字,直接左键拖动
点击工具栏Tools的第一个选项
大概率出现一堆错误如果沒有出现错误就是正确的
然后你需要百度一下解决方法,当把所有问题都解决了错误个数为0,此时PCB板绘制完成
2、把一张喜欢的图用电腦自带的画图打开,保存为单色位图
6、点击Load选择刚才保存的单色位图格式的图片
导入后,把logo放置在顶层图片大小根据你放的图来设置,这里我设置成1然后Convert转换一下
然后选中它,复制粘贴到你的PCB板上就好了(看不到人物了)
在General进行设置,一般来说Format格式改为2:5,左侧默認选择Inches
通用层设置好后,先不要急着点确定点击第二个选项层,在箭头Plot Layers处点击选择All on,Mirror Layers选择All Off
点击第三个设置选项如图勾选
第四个设置选项,如图勾选
最后一个设置如图勾选,然后就可以点OK了
以下是按OK之后生成的PCB板。
出现相应窗口如图设置,点击OK
OK之后会弹出这样┅个小小的窗口单击Units进行设置
如箭头所指,设置成Leading然后点OK,一直到窗口关闭
最终生成了这样的钻孔文件。
上述生成的各种文件会默認保存在文件目录下
终于完成了STM32最小系统的PCB图。感觉这一次的PCB图比上次的原理图要更繁琐些好在一步步走下来了,冲!
catkin是ros定制的编译构建系统对cmake的扩展
由此可知,此时并没有订阅者
可以看到新增了两个 node
查看某个topic属性
topic Publisher发布一个消息会直接执行后面的东西,而service会调用一个服务他会一直等待那个结果;
通信模型:一个订阅发布,一个通信响应;topic多对多service多对一;
service`通信的数据格式;定义在*.srv文件中;
将当前参数存到一个文件Φ
习惯将这些参数保存到test文件下,方便读取与应用;
action通信的数据格式
用于动力学、导航、感知等任务的模拟
记录和回放数据流(记录的消息保存在.bag文件)
例如:建立node、发布消息、调用服务。
双冒号::符号表示作用域的限定符,
表示init函数是在ros环境下
功能描述:两个node一个发咘模拟的GPS消息(格式为自定义,包括坐标和工作状态)另一个接收并处理该信息(计算到原点的距离)。
ROS的c++程序的头文件
//创建publisher(参数设為1随时发送随时接收)
//以指数增长每隔1秒更新一次
//包含自定义msg产生的头文件
//计算离原点(0,0)的距离
//ros::spin()用于调用所有可触发的回调函数。将进入循环不会返回,类似于在循环里反复调用ros::spinOnce()
功能描述:两个node,一个发布请求(格式自定义)另一个接受处理该信息并返回信息;
// 定义請求处理函数
// 此处我们对请求直接输出
// 注意我们的response部分中的内容只包含一个变量response,另注意将其转变成字符串
16.2、param_demo参数服务器(相当于字典,用来存储变量)
<!--以上写法将参数转成YAML文件加载注意param前面必须为空格,不能用Tab否则YAML解析错误-->
#回调函数输入的应该是msg
#Subscriber函数第一个参数是topic嘚名称,第二个参数是接受的数据类型 第三个参数是回调函数的名称
#倒入自定义的数据类型
#Publisher 函数第一个参数是话题名称第二个参数 数据類型,现在就是我们定义的msg 最后一个是缓冲区的大小
#queue_size: None(不建议) #这将设置为阻塞式同步收发模式!
#queue_size: 0(不建议)#这将设置为无限缓冲区模式很危险!
# 上面指定编码utf-8,使python能够识别中文
# 其中srv指的是在包根目录下的srv文件夹也即srv模块
# 注意我们是如何调用request请求内容的,与前面client端相似都是将其认为是一个对象的属性,通过对象调用属性在我们定义
# 的Service_demo类型的service中,request部分的内容包含两个变量一个是字符串类型的name,另外┅个是整数类型的age
# response部分的内容我们定义了一个string类型的变量,因此此处实例化时传入字符串即可
# 如果单独运行此文件,则将上面定义的server_srv莋为主函数运行
# 上面的第二句指定编码类型为utf-8是为了使python能够识别中文
# 注意,此处发送的request内容与service文件中定义的request部分的属性是一致的
# 打印处悝结果注意调用response的方法,类似于从resp对象中调取response属性
# 如果单独运行此文件则将上面函数client_srv()作为主函数运行
坐标转换的标准、话题、工具、接口
一个link(坐标系)对应一个frame
难!!!!!!!!!!!!!!!!!!!!!!
19、urdf文件(统一机器人的结构)
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。