电气工程

电子和电气工程专业人士,学生和爱好者的问答

3
相当复杂的传感器网络
我最近正在从事一个项目,这是第一个涉及到足够使传感器网络复杂化的项目。最后,我认为沟通是整体绩效的瓶颈,我想知道更有经验的人会如何解决这个问题。这是一本长篇小说,但我认为这很有趣,因此请坚持使用。问题是设计一种自主飞艇,该飞艇能够导航障碍物路线并将乒乓球放入棕色盒子目标中。开始: 感测器 4D Systems uCAM-TTL摄像机模块-UART接口 HMC6352数字罗盘-I2C接口 Maxbotix Sonar ez4-1针模拟接口 执行器 2个L293D电动机驱动器(连接到简单的爱好电动机)-用于双向驱动6个电动机。他们需要PWM输入才能改变速度。现在,我们的3台电机始终在做相同的事情(控制上下运动的电机),因此它们仅需要我们控制器的2个PWM输出即可控制所有3台电机。其他3个控制横向运动的电机都需要单独控制(全向运动),因此我们的控制器还需要另外6个PWM输出。 伺服电机-PWM接口 控制器 由于稍后将变得清楚的原因,我们最终使用了2个ATmega328P。我们使用Arduino Uno对其进行编程(我们无法访问ISP),但是我们制造了定制PCB,因此我们不必使用arduino板,因为这只会给飞艇增加不必要的重量。至于我们为什么选择ATmega328P的原因,我对arduino环境非常熟悉,我认为这使代码开发变得更快,更容易。 通讯与处理 2个Xbee Basic 2个ATmega328P 带有OpenCV的运行C ++的台式计算机 因此,从相机模块可以看出,我们的大多数项目都依赖于计算机视觉。飞艇只能承载这么多的重量,而在微控制器上实现计算机视觉使我们感到不舒服。因此,我们最终要做的是使用XBee将图像数据中继回台式计算机。因此,在服务器端,我们接收到图像数据,并使用openCV处理图像并从中提取出东西。现在,服务器端还需要知道(来自声纳)的高度信息和指南针信息。 首先的麻烦是由于几个原因,我们无法使相机由微控制器控制。主要问题是uP上的内部存储器无法处理存储整个帧。通过聪明的编码可能有解决此问题的方法,但是出于这个问题的目的,让我们假装这是不可能的。因此,为了解决此问题,我们让服务器端通过XBee收发器发送摄像机命令,而XBee接收器(在飞船上)将其输出连接到摄像机的输入。 下一个难题是,单个ATmega328P上没有足够的PWM来控制所有电机,因为I2C接口使用PWM引脚之一(该死的...)。这就是为什么我们决定使用第二个。该代码实际上实际上完全适合于并行处理,因为高度控制完全独立于横向运动控制(因此2微米可能比连接到PWM控制器的1微米更好)。因此,U1负责2个PWM输出(向上/向下)并读取声纳。U2负责读取指南针,控制6个PWM输出(横向电机)以及读取声纳。U2还负责通过XBee从服务器接收命令。 这导致了我们的第一个沟通问题。XBee DOUT线已连接到微控制器和摄像机。当然,现在我们设计了一个协议,这样我们的微命令将忽略摄像头命令,而摄像头命令将忽略微命令,这样很好。但是,当忽略我们的微指令时,相机会在其输出线上发送回NAK数据。由于该命令是针对微型计算机的,因此我们需要某种方式来关闭相机输出到XBee的功能。为了解决这个问题,我们在相机和XBee(即第一个FET)之间以及在U2和XBee(即第二个FET)之间制作了微控2 FET。因此,当摄像机尝试将信息发送回服务器时,第一个FET为“开”,第二个FET为“关”。 因此,让您大致了解这是如何工作的几个示例: 服务器请求图片-PIC_REQUEST通过XBee到达U2和摄像机。U2会忽略它,并且相机会发回图像数据。 服务器刚刚完成图片处理,并正在发送电机数据以告诉飞艇右转-MOTOR_ANGLE(70)通过XBee进入并到达U2和摄像机。U2识别为微指令,因此关闭了相机的FET(但是相机可能已经响应了NAK?谁知道...)。然后,U2通过更改电动机PWM输出来响应命令。然后,它将相机的FET重新打开(这是默认设置,因为图像数据非常重要)。 服务器意识到我们已经到达障碍物路线的某个位置,默认悬停高度现在需要从90英寸而不是50英寸。SET_HEIGHT通过XBee,与示例2相同。U2识别SET_HEIGHT命令并在U1上触发中断。U1现在退出其高度控制循环,并等待从U2接收串行数据。是的,更多串行数据。此时,U2的FET处于打开状态(而相机的FET处于关闭状态),因此服务器将接收U2也发送到U1的高度。那是为了核实目的。现在,U1将其内部变量重置为height2HoverAt。U2现在关闭它的FET,然后重新打开相机的FET。 我肯定会遗漏大量信息,但是我认为这足以理解一些并发症。最后,我们的问题只是同步所有内容。有时缓冲区中会剩下数据,但是只有3个字节(我们所有的命令都是6个字节序列)。有时我们会失去与相机的连接,必须重新同步。 所以我的问题是:你们建议采用什么技术使所有这些组件之间的通信更可靠/更健壮/更简单/更好? 例如,我知道有人会在板载XBee输出和摄像头之间添加一个延迟电路,以便微机有机会在用NAK响应微指令之前关闭摄像头的通话线路。还有其他想法吗? 谢谢,我确定这将需要进行许多修改,敬请期待。 编辑1:对我们来说,通过微型镜之一拼接摄像机的UART数据似乎是不可能的。相机数据有两个选项:原始位图或JPEG。对于原始位图,相机会尽可能快地向您发送数据。ATmega328P仅具有128字节的串行缓冲区(从技术上讲这是可配置的,但我不确定如何配置),我们认为我们无法将其从缓冲区中取出并足够快地传送到XBee。这就留下了JPEG方法,该方法将它发送到每个包并等待控制器对其进行确认(小的握手协议)。最快速度为115200波特。现在由于某种原因,我们能够通过XBee可靠地传输大量数据的最快速度是57600波特(甚至在我们进行了节点/网络配对以允许自动重发功能之后)。在我们的网络中添加额外的停靠点(将摄像机连接到XBee的微型摄像机,而不是将摄像机连接到XBee的微型摄像机),只会减慢传输过多图像所需的时间。为了使电机控制算法正常工作,我们需要在图像上具有一定的刷新率。

5
有人知道没有时钟速度或没有超过1.705 MHz的振荡器的微控制器/ DSP吗?
我打算制造一种简单的电子设备,如果可以的话,我最终可能会尝试将其推向市场。在尝试并大规模生产之前,我将首先尝试在互联网上出售一些产品,看看是否有人想要它。 但是,事实证明,要在美国销售任何产品,您都需要通过FCC测试,或符合使其免检的条件。据我了解,FCC测试的费用高达10,000美元,我现在不愿意支付。在网上大量搜索了官方FCC文档(几乎找不到)之后,似乎其中一个条件是,如果电路中没有振荡器或频率超过1.705 MHz的频率,则使您无需进行FCC测试(请让我知道这是否是错误的,我在查找文件之前先在这里询问,每个人都说这是9 kHz并关闭了线程)。 这是法规的链接: 标题47:电信第15部分-无线电频率设备B部分-无意辐射器§15.103豁免的设备。 以下设备仅受§§15.5和15.29中的一般操作条件约束,并且不受本部分中包含的特定技术标准和其他要求的约束。如果委员会或其代表发现该设备造成有害干扰,则应要求被豁免设备的操作员停止操作该设备。在纠正造成有害干扰的条件之前,不得恢复操作。尽管不是强制性的,但强烈建议豁免设备的制造商努力使设备符合本部分中的特定技术标准。 ... (h)数字设备,其产生的最高频率和使用的最高频率均低于1.705 MHz,并且不能通过交流电源线进行操作,或者包含在连接至交流电源线时进行操作的规定。包括或允许使用除电装置,交流适配器或充电器的数字设备,这些设备可以在充电时进行操作或间接连接至交流电源线,并通过与交流电源线连接的另一台设备获得电源,请勿因此免税。 有谁知道一个具有时钟速度且所有振荡器均低于1.705 MHz的微控制器?我发现有些微芯片的时钟速度为1 MHz,但振荡器的频率为4 MHz。时钟速度可能超过500 kHz,但最好为1 MHz!

3
一家电力公司将如何检测无线窃电?
由于传说它也许可以窃取电力线路的电力无线方式(也看到这个和这个相关的问题)。传说继续说,一旦有人这样做,他就会被电力公司抓住。 假设我实际上是这样做的-在电源线下挖足够的电线,播种一些快速生长的杂草,以便隐藏挖矿的事实,这样就不会造成明显的干扰,这样就可以窃取一千瓦的功率。 电气公司将如何检测到无线盗窃?

3
如何从Verilog生成原理图框图图像文件?
我想创建一个特定的Verilog模块层次结构的示意图,以显示哪些块连接到哪些其他块。与Novas / Springsoft的Debussy / Verdi nschema工具非常相似,或者与许多提供RTL图形设计浏览器的EDA工具一样。 哪些工具区域可用于从verilog或vhdl定义或从其他一些基于文本的输入格式以编程方式绘制原理图?
9 vhdl  verilog 

4
一些电源问题-多路或多路单路?
我有兴趣使自己成为12V电源。我需要一个,因为我经常到很少或没有电源的地方去,并且需要一些电力来为我的装备供电(基本上是望远镜,照相机和一些配件-全部以12V供电)。 我不希望它由市电供电,而是使用12V深循环电池。为了进行调节,我将使用7812。我需要大约6个输出,每个输出具有4A的能力。我的问题是这样的: 最好用7812(带有功率晶体管以提高电流容量)单独调节每个输出,还是将单个7812和多个功率晶体管一起使用,额定电流为25A,然后将其分成6个输出。 其次,由于我使用的是12V电池,所以我了解到稳压不会很好,因为Vout也是12V。不幸的是,我没有新电池,所以我在想,也许将DC-DC转换器的电压提高到约14V,然后再将其馈入稳压器将有助于调节。这是一个好主意吗? 我需要一些体面的调节,因为我的望远镜对电源质量非常敏感。我很抱歉,如果这些都是脑筋急转弯的问题,但是在网络上搜索并没有返回好的结果。

5
长导线上的信号会受到影响吗?
我需要从我的微控制器模拟输入到LDR或类似传感器的电线很长。导线的长度可能约为100m,那么它会对ADC的读数产生任何影响吗?无论如何,我可以减少影响吗?
9 ldr 

2
我应该使用什么螺丝来安装TO220封装?
将TOP封装中的TIP31安装到裸露的PCB上(没有散热器?)应使用什么螺钉尺寸?我想在另一侧也需要一个螺母,因此,请您一定注意零件编号。(我对机械方面的知识不太了解,所以对我轻松一点。)
9 mount  to220 

8
我可以将组件留在面包板上多长时间?
在学校里,我被告知不要将部件长时间放在面包板上。但是,这种时间长度从未被量化。原因是接触者最终将失去“弹性”。在稍后的某个时间点,您可能正在调试电路问题,而只是发现接触不良。 我不知道这是否真的是真的,或者面包板现在做得如此好以至不是问题。我有一些不错的选择,但最终它们似乎使用了其他所有人使用的相同的白色窄条。 我收集了一些我不想拆开的原型,而且我也不知道何时恢复。我的mbed板现在在我刚收到的Netduino中占有一席之地。:)



2
Cadsoft Eagle中的圆角
我正在发送一个PCB进行制造,但是最好将它们修整掉。 如何制作漂亮的圆角?我以前用过三点弧形的东西,但是我真的不喜欢那样。 我应该在哪一层指定要铣掉的内容? 编辑: 我也很想知道如何指定要在卡片中间铣削的小矩形(大约20 x 10毫米)?

4
FFC电缆是否断裂?
断开扁平软电缆(FFC)的最佳方法是什么?具体来说,我有一个使用0.5mm间距FFC的传感器,我想将其扩展到面包板上。您可能已经知道这些电缆非常细,很细,几乎不可能直接将电线焊接到它们上。 注意我没有进入传感器内部的通道,因此不能选择直接焊接/连接到电路板。
9 connector  ffc 

5
两个芯片可以读写的SRAM
我正在寻找一个32KB左右的小型SRAM设备,以便两个MCU可以读取或写入(在两个不同的时间;我不需要同时进行读取/写入。)如果它也使用串行接口,那就太好了。 我要解决的问题是在两个设备之间发送数据,而另一个设备不必暂停接收数据。我将音频样本传输到缓冲区中,然后根据需要另一个芯片将音频读出,并对其进行处理。 我发现串行SRAM类似于Microchip的23A256 / 23K256,但是,它们似乎只有一个串行接口。有什么办法让两个芯片访问这个? 此外,接收设备仅具有2KB的可用数据存储器(最大),因此看起来似乎无法使用DMA或通过I2C或其他接口进行的类似传输机制。
9 pic  memory  sharedbus 

3
Arduino引导程序
我对嵌入式世界非常陌生。到目前为止,我只从事软件方面的工作 谁能解释一下Arduino Bootloader的用法?我希望Arduino使用一些必须放入芯片的其他组件来执行一些简单的数学运算。 我是否需要引导加载程序?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.