电气工程

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

3
阻止和非阻止分配Verilog之间的区别
遇到以下情况时,我正在阅读此页面http://www.asic-world.com/verilog/verilog_one_day3.html: 通常,我们必须重置触发器,因此,每当时钟从0过渡到1(摆位)时,我们都会检查是否声明了重置(同步重置),然后继续执行正常逻辑。如果仔细观察,我们会发现在组合逻辑的情况下,分配时使用“ =”,对于顺序块,则使用“ <=”运算符。好吧,“ =”是阻止分配,而“ <=”是非阻止分配。“ =”在开始/结尾内顺序执行代码,而非阻塞“ <=”并行执行。 我相当确定非阻塞分配是顺序的,而阻塞分配是并行的。毕竟,您可以使用always块之外的assign语句进行块分配,并且所有块并行运行。这是一个错误,还是Always块内部的行为不同?而且,如果在始终阻止块内的行为不同,是否可以在始终阻止块外进行非阻止分配?
15 verilog 

3
使用12V电池,同时通过太阳能电池板充电
我有几个12v电池,我想在野营几天的时候为冷却设备供电。 我还有一个15W的太阳能电池板,想用它来给电池加电。 充电时可以使用电池吗?还是在使用电池之前必须断开太阳能电池板的连接? 另外,我可以在使用另一块电池时给其充电,然后将其换掉-这可取吗?


2
蓝牙HID模块
我正在尝试实现自己的蓝牙HID设备(一种自定义游戏控制器),但是找不到我想要的东西。 我仅遇到了两种解决方案,根据任务来看,这些解决方案对我来说似乎有些昂贵。两种解决方案是RN42-HID(单击购买以查看HID版本)和Bluegiga WT12。就我的目的而言,两者对我而言似乎都很昂贵。我想知道使用HID配置文件而不安装任何东西的典型蓝牙键盘和外围设备如何做到这一点。我还有其他我不知道的模块吗? 只是要清楚一点,我不希望PC上有任何软件可以将串行蓝牙连接的命令转换为HID命令。我严格希望将蓝牙模块识别为HID设备并可以将其操作。
15 bluetooth  hid 



3
有没有晶体管比较表或数据库?
在选择晶体管时,我通常会从供应商的目录开始,然后根据我最感兴趣的规格进行搜索和优化。但是,我似乎常常会得出一些奇怪的选择。例如,我最近需要一个NPN来使用MCU基本切换200mA电流,最终选择了BC337。它似乎可行,但是它似乎也被归类为“音频放大器”而不是“通用”或“开关”晶体管,因此我不禁认为自己可以做出更好的选择(或者也许没有没关系)。同样,我有一个很大的袋子BC548,我经常使用它,因为我刚好在我的第一个“初学者”套装中放了一个,而在通常情况下,无论是否是最佳选择,我都坚持这样做。 我认为我会发现有用的最简单的图表,其中包含最常见的类型及其特征,我可以打印出来,而不得不动手简单地查找合适的类型。Google搜索找到了一些60年代的图表,几本书(价格高得离谱,几乎已经过时了),但我找不到一个简单的“选择器”或“比较表”。 有人可以推荐一个吗?还是有更简单的挑选方法?还是“类型”到底是真的重要吗(如果我只是用它来进行切换(就像我现在一直在做的那样,因为到目前为止我只做数字电路))? 也许一个更简单的问题是...如何选择开关工作的晶体管?

2
USB转GPIO模块
我正在做一个项目,涉及让用户按下网页上的按钮,服务器需要将这些按钮以GPIO信号的形式发送到微控制器上。服务器上唯一可用的端口是USB。 我有几点想法: 只需使用Arduino板作为USB至GPIO接口即可。 使用专用模块(例如http://numato.com/8-channel-usb-gpio-module)(这几乎是Google快速搜索中出现的唯一模块)。 使用类似此问题中所述的内容。通过USB驱动LED 有在这方面有经验的人可以提出建议吗?
15 usb  gpio 

2
实际反馈电路中的稳定性(相位裕度)分析
因此,我有一个绝妙的主意,那就是在数据采集电路中使用负反馈来控制失调电流。当然,您可以用软件完成此操作,但是消除输入级的失调将减少摆幅,并允许ADC前放大器具有更大的增益而不会出现饱和,从而提高了SNR。 因此,我设计了这个反馈回路,并由我的公司进行了构建。而且它以大约50kHz的频率振荡,这对大多数专家来说并不奇怪,因为我所做的唯一稳定性分析是对我的负反馈进行三重检查。 实际的环路包括一个采样保持放大器(此部分包括和两个R 轨电阻,已在先前的迭代中得到证明),但是振荡仅在跟踪阶段发生,因此我重现了该环路因为它在跟踪阶段存在。C跟踪C跟踪C_{\text{track}}[R跟踪[R跟踪R_{\text{track}} 核心思想是,反馈环路应将OA2的两个输入强制为相同的电压(输出电压除以OA2开环增益),以使的偏移电压被强制为V offset。然后,采样保持切换到保持模式,我获取V out。V出V出V_{\text{out}}V抵销V抵销V_{\text{offset}}V出V出V_{\text{out}} 我在学校学习了增益裕度和相位裕度,但是最近还没有进行任何实践,因此我不确定如何为该真实电路创建波特图。OA1和OA2是OPA2376,而OA3是OPA340。还有其他一些用于电源旁路的连接等,由于我认为它们与信号路径无关,所以我将其省略。但是,请随时询问这些问题是否对稳定至关重要。与供给表示从传感器,它不是一个真正的理想电流源的电流。一世1个一世1个I_1 如何使用非理想运算放大器为此类电路开发波特图,该运算放大器除了由无源元件产生的极点外,还包含重要的极点?只需阅读数据表中的内容并叠加 我很担心,因为振荡频率太低并且接近我想要的通带。 我是否认为相移问题是由运放的转折频率低于10Hz引起的?如果使用电阻器反馈网络,我将截断开环增益,将转折频率向右移动(开环图与新增益相交的地方)?而且相移也会从更高的频率开始吗? 我的印象是,由于现有反馈,OA1和OA3都具有统一的电压增益(反相)。这使OA2成为问题。什么是对OA2稳定整个环路良好的反馈回路,同时保持偏移误差小,没有稳定时间超过(因为那时我已经切换到保持模式)?还是应该改为调整C tia和/或R 轨迹,以移动现有的磁极而不是创建新的磁极?250个μ 小号250μs250 \mu sCtiaCtiaC_{\text{tia}}[R跟踪[R跟踪R_{\text{track}}

3
使用电池时升压或降压?
当使用电池通过稳压器驱动负载时,是从两个并联的电池上调电压,还是从两个串联的电池下调电压?如果没有绝对答案,是否有通用规则(或一组规则)来确定哪种方法最适合特定情况? 在某些有趣的情况下,特定的电路类型会逆势发展吗?(双关语无意)

5
如何实现自调节类PID控制器
我正在尝试编写一个用于控制具有以下特征的系统中的温度的微控制器程序: 输出只能是开或关,具有固定的循环频率(每小时约2-10) 工厂的响应速度很慢(可测量的温度变化需要10分钟以上的长时间)。 该工厂会根据环境条件降低温度。 设定点可以根据用户需求大步变化。 我正在编写一个控制器,旨在最大程度地减少错误,并坚持提供作为输入的循环速率。 使用PI控制器可以轻松完成此操作,并将其输出转换为占空比。问题在于程序需要自动调整并选择正确的Kp,Ki常数,并适应变化的环境条件和加热能力的变化。因此,预先调整PI控制器不是很有用。 不需要使用实际的PI或PID。如果有帮助,我愿意使用Fuzzy-Logic,也可以在芯片上使用机器学习算法来对系统响应和热损耗(线性近似)建模,该算法可提供有关所测阶跃响应的信息。只是不知道该怎么办。 有几篇文章建议我可以使用建模数据来在线调整PI,还可以通过实验室查看手册来建议我可以使用Fuzzy-Logic来调整PI。 我的问题是,对于这种情况(例如PID,模糊PID,卷积等),最好的方法是什么?我将如何在软件/实践中实际实现它? 我不是EE,因此不胜感激。

7
为什么计算机只使用0和1?
为什么计算机只使用0和1?其他数字(例如2或3)的增加不会加快计算机的速度吗?同样,2和3可以用来缩短整数的位长(2和3可以用来结束整数,因此数字1只需要一个两位。)。 为什么二进制计算机更受欢迎?

5
Y5V或Z5U电容器有什么用?
我当时正在考虑去耦,但由于其高耐受性和温度稳定性,您必须将其尺寸过大。1uF电容器(而不是100nF)不具有与1uF X7R去耦相同的电感问题吗? 是否还有其他应用中的公差和变化不那么重要,以至于X5R或X7R可能更喜欢Y5V或Z5U?我知道它们便宜一些,但如果质量太差而无法使用,那就算不上,IMO。
15 capacitor 

5
重置:同步与异步
我使用fpgas已有多年,并且一直对电路的每个部分(需要它)使用同步复位。它有助于电路在给定的时钟周期内全局复位。 但是,有人告诉我,在ASIC电路中,人们倾向于在各处使用异步复位。我想知道为什么,以及某些fpga设计是否也是如此。我很想听听专业意见。 谢谢
15 fpga  reset  asic 

1
磁力计∞形校准
在移动电话和其他使​​用3轴电子罗盘的设备中,使用∞/ 8 / S形运动来校准磁力计,如这些视频所示。 为什么要执行此动作,其理论是什么,任何人都可以提供一些示例C代码来实现它吗? 您必须经历另一个包含更多信息的类似问题。 有关此特定问题的一些其他信息:该平台是使用AVR Studio 5的8位AtMega32。 到目前为止,我已经尝试过:我尝试将平均值除以制作形状的磁力计的矢量值的2。思考可能有助于计算偏移量。我认为形状的两个相同部分/侧面如何抵消地球的磁场并给出偏移值。我可能错了。但是特别是对于基于形状的校准,这是我目前所在的位置。我认为校准是通过这种方式进行的。这样做的目的是找出这样做的效果吗? 好的代码,通过它我可以计算出偏移量,然后再从原始3D矢量中简单地减去这些偏移量。我可能完全错了,没有任何解释。看完视频和球面上绘制的数据后,某种程度上加快了我的想法,我将这种想法用于方程式。B) 码: 的Read_accl();和Read_magnato(1);功能正在阅读的传感器数据。我希望代码可以自我解释。希望明智的ppl一定会以更好的方式使用它。:\ void InfinityShapedCallibration() { unsigned char ProcessStarted = 0; unsigned long cnt = 0; while (1) { Read_accl(); // Keep reading Acc data // Detect Horizontal position // Detect Upside down position // Then detect the Horizontal position …
15 calibration  imu 

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.