【RT-Thread作品秀】写字机器人作者:乔城阳 概述(说明应用产生的背景、实现功能)写字机器人在实际生产线上由于效率赶不上打印机,应用不是很广,然而由于其结构简单,成本低,并且符合人手写风格,在学习阶段很有价值。写字机器人设计上包含了路径规划、直线插补、加减速控制等常用电机运动控制算法,在软件上也会用到DXF文件解析、openCV图像处理等G代码生成工具,对后期深入研究激光切割机、雕刻机、3D打印机等大型设备有很好的铺垫作用。因此我的作品以写字机器人为题目分享我的制作过程和学习体验,希望对各位小伙伴的学习有所帮助。 开发环境(所采用的软、硬件方案)硬件:ART-PI、arduino、TM4C123GXL RT-Thread版本:3.14 开发工具及版本:MDK-ARM5.31、VSCode RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)内核部分:线程调度,资源分配、同步通信、设备驱动框架 组件:DFS文件系统、UART串行异步通信、CAN通信 其他:UDP通信、cJSON编解码 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)在写字机器人设计上我将其分为三个部分: 图像处理模块 运动控制模块 G代码生成模块 图像处理模块负责把文本图像和照片等图像文件做预处理,去除杂点,然后以合适的算法将图像二值化,突现主要信息,然后提取轮廓骨架以适合机器书写。 G代码生成模块将图像轮廓序列化后进行路径规划,选取一个适合的加工精度,然后按数控加工常用的G代码规范生成NC加工文件。另外对于标准的DXF文件则通过文件解析的方法生成G代码。 运动控制模块是写字机器人中最杂的一个模块,负责各个运动机构的精准快速移动。收到G代码指令后需要结合前后指令信息生成当前指令的合适初速度、最大运行速度,根据运动轨迹进行直线插补点,最后按SPTA梯形加减速算法向电机发出脉冲。 软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)Grbl是一种高性能低成本的开源CNC控制器,基于ATmega328型芯片输出高速精准的电机控制脉冲,完美支持各种标准G代码,并包含了完整的前瞻性加速控制,可以实现平稳的加速和无冲击的转弯动作。 正是由于grbl的前瞻性速度控制功能,所以要保证grbl控制器内一直保持着16-20个G代码指令。这需要ART-PI通过读取grbl控制器缓冲区状态,及时发送G代码指令,避免出现缓冲溢出和缓冲区为空等现象出现。 因此需要运行RT-thread实时操作系统,通读读取SD卡上的NC文件,并与grbl控制器通信,控制设备正常运行。另外RT-thread也可提供丰富的人机交互功能,将设备工作路径、进度等状态实时显示在屏幕上,也可以增加暂停续写等功能。 演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频或其他视频平台,给出链接即可)演示视频 比赛感悟同样是C代码,为什么别人写得那么好,这次比赛用到两个开源软件,一个是RT-thread,负责人机交互和发送控制指令,另一个是grbl,用来完成运动控制。两款软件都设计的非常精巧,只需在2kB大小的RAM上运行,而功能却又非常强大,实现了很多复杂的功能,所有的代码封装的很好,模块启用只需打开对应的宏定义即可。这次专门去图书馆借阅了RTT相关的图书,了解线程是如何调度,设备驱动应该怎么实现,但是内部还是有很多内容不理解,后期需要继续不断充实自己。运动控制一直是我的兴趣所在,这次也终于有机会把它实现,看着电机在一行行指令的控制下乖乖地转动,听着不断变化着频率的电机声音,真正体会到了伺服servo的含义,非常开心~
2022-03-16 20:05:03 1.33MB diy制作 rt-thread 电路设计方案 电路方案
1
本项目原本设计的是一个毫欧表,为了测试C8051F350的24bit ADC,顺便兼容了一个电压表功能。一个直流电压表最关键的有3个部分:模拟前端、ADC和基准电压。这里就做简短描述,详解附件的更详细的图文讲解。 五位半电压表参数特性: - 100mV/1000mV/10V/100V四个档位,大概有50%超量程余量 - 五位半显示,最大150000 count - 支持任意值校正,通过面板按钮即可校正。精度保守一点吧,0.01% Reading+4 LSB,后面有测试图 - Fast/Slow两档速度,Fast:10次/秒,Slow:1次/秒 - 数据从USB UART输出,波特率115200(目前只输出,不能从上位机控制) - 默认5分钟自动关机,可以关闭该功能 - 使用一节锂电池供电,支持从USB充电 - 支持背光,可以关闭 - 工作电流:17mA(背光关闭);44mA(背光打开)。一节14500(5号)锂电池可以连续工作1.5~2天(背光关闭) 五位半电压表实物截图: 模拟前端 模拟前端肩负了几个重要任务:输入信号的衰减或者放大/低通滤波/阻抗变换/防护。 大家都知道一般来说ADC只有一个量程,台式的一般是10/20V,手持的三位半或者四位半是200mV,这个称为基本量程,也是精度最高的量程,其他的量程都要把输入信号放大或者衰减到这个量程再来测量。这个表的基本量程是1V,而且由于MCU内置了PGA,因此模拟前端仅需要考虑衰减。 ADC 使用C8051F350内置的24bit ADC,这个在毫欧表里面已经说的比较多了。这个表再重温一下,在PGA=1,10Hz的条件下,RMS noise是2.38uV,峰峰值 noise为2.38*6.6=15.7uV,也就是1V档的1.5个LSB(五位半),大概看到两个数在跳(极端情况可能3个),在Slow模式下,把10个读数平均,提升log(10)/log(4)=1.66bit,2^1.66=3.16LSB,因此在Slow模式基本上不会跳数了(当然,由于舍入问题导致的最后一位跳是不能避免的)。 基准电压 这里可以使用C8051F350的内置基准(最大15ppm温度系数),或者外部基准可以用REF5025(工业级:2.5ppm(典型)/3ppm(最大)温度系数;商业级:3/8ppm)或者MAX6192(A级:2/5ppm;B级:4/10ppm;C级8/25ppm)。 使用内置和外置基准的frimware是不一样的,不能搞错。
2022-03-15 20:19:09 3.67MB 电压表 diy制作 电路方案
1
DAPlink--原理图和源程序--兼容ST LINK2
2022-03-15 14:34:28 30.18MB diy制作 电路方案
1
可能感兴趣的项目设计:把妹神器—自制的电子萤火虫(https://www.cirmall.com/circuit/1673/detail?3) 前言: 前段时间,看到某论坛网友制作的一款萤火虫,觉得很好。于是自己便开始制作,目前还只是停留在理论阶段,正在画原理图,现在将全彩LED萤火虫的原理图开源出来,同时附上部分所用到的芯片资料。 LED彩灯制作思路: 采用的主控芯片为ATMEGA328P,芯片详情还请各位自行百度吧,这里不多介绍。通过一个按键,进行模式的切换,单个按键怎么切换,当然是判断这个按键长按,短按或者连续按压一次,二次,三次...等等,尽可能的简化电路,为后面的实物缩小体积。 TM1826是一款十二通道LED恒流驱动,单个芯片能驱动四个RGB全彩的LED,我用了四片,虽然说这个芯片可以联级,但我觉得这发送的数据量有点大,因此放弃这个方式。直接MCU的四个I/O口分别控制,其实,这款芯片我还是第一次使用,芯片已经到货,正准备板子出来了,做几个实验,熟悉下这款芯片怎么操作。 我还加入了SD卡,生日嘛!肯定要有生日快乐歌,将某某的原音存入SD卡中,到时候直接调取就可以了,为什么我不用音乐模块呢?因为很简单,那个声音太呆板了。SD卡中再存几首她喜欢的音乐,哎呀,说着说着有点像MP3了。还加入了MD8002A 集成功放,驱动一个小小的扬声器,没得问题。电源部分,加入太阳能,告别USB充电的烦恼!太阳能板采用100mm直径的,5V 150mA,应该够了。 系统设计框图: 大致的3D效果图,也分享出来给大家看看效果,PCB直径是100mm的,这个直径的根据选的玻璃瓶而定,暂时是定这么大,后期等瓶子到货了,再进行缩小处理。还有,LED采用【共阳 高亮全彩LED 5MM 四脚红绿蓝三色 】,图中LED的封装还未更改,还在考虑要不要加限流电阻,这个只有等货到,再确定了。电源部分,3.3V使用的是AMS1117-3V3的模块,有点小奢侈,这个是给SD卡供电的,因为单片机是5V的,中间有个电平转换问题.
2022-03-06 18:35:29 656KB diy制作 恒流驱动 tm1826 电路方案
1
仿真图: 舞蹈机器人步进电机仿真设计(源程序+Proteus仿真)-电路方案
1
该LED雪花灯挂件外形精美,具有闪动效果,身受人们的喜爱,主要用于圣诞节或者生日等节日宴会渲染气氛。同时,该LED雪花灯电路设计简单,非常适合电子爱好者DIY制作。该LED雪花灯控制板主要由STM32F03xF单片机、多个LED RGB5050 及电源模块等构成。 雪花 LED灯PCB及实物截图: 附件资料截图;
2022-02-17 00:36:22 6.02MB diy制作 电路方案
1
功能如下 使用STM32F103ZE芯片,通过DM9000AEP把互联网上的网络音频流(支持shoutcast、http mp3流)抓取下来,先在板子上外扩的SRAM上缓存。然后在STM32F103ZE上通过mp3软件解码器解码变成PCM音频,通过DMA方式送到PCM1770进行回放; 它也可以流畅播放SD卡上的mp3、wav格式文件。(支持大于4G的SD卡); 通过3.2寸240*320的TFT触摸屏、五向按键、红外遥控器进行控制; 红外遥控器具备自学习功能; 系统信息显示; LCD背光、音量可调,触摸灵敏度可随时校准;
2022-01-26 17:07:11 7.66MB mp3 diy制作 网络收音机 电路方案
1
应用领域: 三相冰柜散热扇、空调内外风机驱动、吊扇灯驱动、直流风筒、冰箱压缩机驱动、盘管风机驱动等310V高压直流无刷电机方案应用 半桥IPM关键特性: 集成1颗高可靠性HVIC+2颗FRMOSFET或2颗IGBT 功率覆盖0~700W功率范围 集成带限流自举高压二极管,>5us短路容耐度 内置过流检测保护和FO/SD错误指示和关断功能 内置防穿通100ns死区 高精度过温度检测保护 高低侧电源欠压保护 定制化小体积DIP8和LasSOP-10封装 应用领域: 智能功率模块(IPM) 典型应用框图 IPM产品规划图
1
昨天发了一篇关于SW3518S全协议快充模块QC3.0诱骗测试的帖子(http://bbs.ntpcb.com/read-htm-tid-161412.html), 其中涉及到两种接口形式的QC3.0诱骗电路,今天有空将这两款画了原理图PCB,并做了拼板。 现在分享出来给你大家。 A型USB公头版 A型USB公头版原理图: 单片PCB正面图:单片尺寸为26.2mm*15mm 3D正面图: 3D背面图: 拼板PCB正面: 拼板3D正面: 拼板3D 背面: 拼板尺寸为52.4mm*60mm TYPE-C公头版 TYPE-C公头版原理图: PCB正面:单片尺寸为25mm*15mm 3D正面: 3D背面: 拼板正面: 拼板背面: 拼板尺寸为50mm*60mm
2022-01-15 13:20:28 3.97MB diy制作 Type-C 电路方案
1
将航模所用的SBUS信号翻转成为标准串口信号,信号电平3.3,5v电平和3.3电平都是兼容的
2022-01-13 15:07:18 2.5MB diy制作 电路方案
1