Questions tagged «microcontroller»

紧密耦合的独立设备中包括中央处理器(CPU),内存和(通常)各种I / O外设(UART,ADC,DAC,通用I / O,I2C等)的设备包。

3
是否有任何类型的直流电动机可以自我锁定?
我有一个小的直流齿轮电动机,绕线了塑料线。启用电机以拧紧线束后,我想将其锁定到位,以免线束松脱。然后,我希望它机械地保持在该位置,这样我就不必施加保持电流。当我准备释放生产线时,我希望能够以电子方式逆转该过程并释放锁。是否有符合该要求的标准设计?

3
ATtiny45直接USB 2.0连接的固件和电路
我想使用ATtiny45制作自己的模块化USB设备,该设备只需通过USB将数据发送到PC。我没有读取数据,因此单向连接(ATtiny-> PC)完全可以。 我正在使用Arduino Uno作为ISP,并从Arduino软件中加载了标准ArduinoISP草图。我正在考虑使用AVRDUDE与Arduino作为ISP一起对ATtiny45进行编程,因为我希望能够使用编译为HEX的C代码,因为它比Arduino编程语言更高级。 我对电路的基本想法是: 如您所见,我想要一个“直接” USB连接。到目前为止,我知道我必须为此使用基于软件的解决方案。 我已经管理SoftwareSerial与我的ATtiny45一起使用。为此,我使用了Arduino软件通过以下代码对ATtiny45进行编程: #include <SoftwareSerial.h> #define rxPin 3 #define txPin 4 SoftwareSerial serial(rxPin, txPin); void setup() { pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); pinMode(led, OUTPUT); serial.begin(4800); } void loop() { serial.println("1"); delay(1000); } 请注意,我还没有使用Pin 3(但),但需要为SoftwareSerial定义它。 这样,通过使用SoftwareSerial,我能够将数据从ATtiny直接发送到我的Arduino UNO的TX引脚上,该引脚上已加载了此测试的空白草图。我使用Arduino软件的串行监视器读取COM4上的数据(在我的情况下),因为我试图将编程的ATtiny直接连接到USB电缆时,我的PC无法识别任何设备(COM端口)。 不幸的是,我在串行监视器中只有奇怪的unicode字符。我认为是因为数据采用十六进制格式左右。因此,我注意到我需要在USB和ATtiny45之间连接一个USB /串行转换器 ...我已经搜索了此类转换器,但是我不想使用任何预制板,因为我想要所有我的组件放在一块板上。我认为FTDI芯片对我的项目来说太“太多了”,不是吗?(它的引脚太细小,无法焊接...) V-USB是我的第二种方法,因为它不需要USB /串行转换器(据我所知)。因此,要使用V-USB,我需要使用前面提到的AVRDUDE。 我找到了一个很好的示例V-USB EasyLogger。它包含电路设计和示例固件。(C / C ++ …

1
我应该在MCU / CPLD的输入引脚和VCC / GND之间使用电阻吗?
有时候,我希望我的MCU或CPLD输入静态逻辑。因此,我选择将其连接到VCC或GND。问题是我应该串联一个电阻来限制电流吗?我只是想了一会儿,得到了自己的答案:不!以STM32F103(数据表)为例,第86页: 从“输入泄漏电流”中,我知道当施加VDD时,输入电阻至少为1 M ohm,因此不需要串联电阻来限制电流。那合理吗?

2
如何处理模块上的多个上拉电阻
我正在考虑为几天前开发的开发板制作一个模块,其中将包括spi / i2c接口。 问题是我没有在主板的MCU引脚中包括上拉电阻,而是在考虑将它们添加到模块中以使其更“通用”,因此每个用户都可以使用它们而无需在其中添加额外的电阻。原型板。 但是后来我遇到了下一个问题。如果在额外的模块中添加上拉电阻,并且例如将两个或多个模块连接到同一条总线,则这些电阻将并联,这样电阻将下降并且无法实现其功能。 但是,如果我在主板上增加上拉电阻,则这些引脚在MCU中始终为低电平有效。 因此,主要问题是: 如何将多个模块连接到同一条总线上,而每个模块上都有一个上拉电阻,而当一个以上模块时却不能使它们并联?那可能吗? 还是这里最好的解决方案是在MCU中启用上拉电阻,而不在模块中插入上拉电阻? 谢谢。-

2
从微控制器驱动LED灯条
我想使用PWM从微控制器驱动LED灯带来控制亮度。我的测试条在12V电压下大约需要1.5A电流。我只熟悉纯低功耗数字电子产品,因此想检查这些假设是否正确并获得建议: 如果我使用NPN晶体管来驱动该晶体管,则该晶体管在导通时将下降约0.7v,因此在导通时将耗散超过1W的功率。 这将需要一个相当矮小的晶体管和一个散热片,如果可能的话,我想避免它们。 因此,最好使用电阻低得多的mosfet,这样我也许可以摆脱较小的mosfet甚至没有散热片的困扰? 但是,从各种MOSFET的规格来看,我可以买到它,看起来像任何能够通过此电流的器件都需要超过3.3v的电压,我可以从微控制器获得完全开启的电压。 那么,我最好让一个小的NPN晶体管将12v开关到mosfet的输入以控制实际的LED灯带吗?(很抱歉,我无法在这台计算机上绘制图表,但以后可以根据需要添加一个图表) 我的假设是正确的,有人有什么建议或更好的方法吗?我也对合适零件的推荐感兴趣,尽管这不是我的主要问题。 (编辑:我正在寻找其他能够回答此问题的帖子,但找不到与我想要的内容完全相同的东西,如果某人具有指向重复项的链接,请发布该帖子,我会很乐意结束问题)。

2
Raspberry Pi是微控制器还是主板?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我对树莓派有一个快速的疑问:它是微控制器还是主板? 它看起来像是主板,但考虑到它具有自己的专用内存和处理器,因此应该是微控制器。

7
使用EEPROM的替代方法
据我了解,EEPROM是计算机(在我的情况下是AVR微控制器)的一部分,它存储数据并即使在设备完全关闭时也可以保留数据。它允许将数据写入其中以及从中读取数据。 我看到的问题是,它的寿命有限,寿命很短。换句话说,在磨损EEPROM之前,我只能读/写有限次。 我正在寻找一种实现与EEPROM相同功能的方法,但尺寸要小。我想我可以使用诸如microSD卡之类的东西,但是我更喜欢不需要用户购买存储卡的解决方案。另外,我最多只需要几个字节的空间。假设1 kB非常非常保守。我将花费超出所需的费用来容纳任何类型的存储卡。 那我有什么选择呢?是否有任何通用的IC解决方案可以使我在不短寿命和高成本的情况下实现这种数据存储/检索?

1
dsPIC芯片以正常速度的一小部分运行
我有两个PCB。一个带有dsPIC30F6012a,另一个带有dsPIC30F6015。两者均使用PICkit 3在MPLAB X中的独立HEX项目中进行编程,在此之前,这两种固件已轻松应用于数十个单元。目前,当从除一台以外的所有PC进行编程时,固件都可以正常运行。在昨天开始的那台PC上,这两个固件均编程无明显错误,但以正常速度的约1/20执行。在昨天之前,那台PC还对这些板进行了编程,没有问题。 初始屏幕花了2分钟而不是5秒,指示灯闪烁得非常慢,但除此之外,一切都正常运行。几乎好像振荡器配置位已被更改,但我不知道MPLAB X中可用于独立项目的任何地方。 因此,在同一PCB设计的多个实例上,在两个不同芯片上的两个不同固件,以不同的速度运行,仅取决于用于对其进行编程的PC。在“性能良好”的PC上对慢速板进行重新编程可解决此问题;在“坏”的PC上对该板进行重新编程即可将其重新带回。我所能想到的是,在那台PC上有人按下了“使其缓慢运行”按钮,但我找不到任何贴有该标签的东西。(不过,我们的技术很有创造力。)我目前正在卸载MPLAB X,擦除用户设置,然后重新安装更新的版本。(从1.3到1.6。)即使修复了问题,我仍然不满意所发生的事情,仍然感到不高兴。有人对此问题有见识吗?

3
在PIC中使用多个外部中断
我已经将PIC16F877(datasheet)用于多个项目。对于单个外部引脚更改中断,可以使用PORTB0中断。但是现在我需要在一个电路中支持8个独立的外部引脚更改中断。 在数据表中,它说有15个中断PIC16F877,但是我想这些都算在内,包括定时器溢出中断等...在这种情况下没有用。 这是数据表关于INTCON寄存器的内容。 我可以使用bit0进行4个独立的中断RBIF吗?它代表的变化PB7:PB4。如何通过读取中断程序中的端口值来识别哪个引脚发生了变化? 即使我得到以上肯定的答案,我也需要8次中断?当然,我仍然可以使用INTE进行PORTB0更改。然后4 + 1 = 5,其他3个呢?(但是,尽管这8个中断事件都是同一类型,但4 + 1 + 3 = 8事情看起来很难看,不是吗?) 除了监视8个引脚之外,微控制器没有其他繁重的任务。(谈论其他任务时,它必须维护一组单独的计数器变量,并经常向PC串行传输约4个字节) 欢迎任何建议。即使是为了将微控制器更改为更合适的一个(但...不要告诉我不要使用PICs)。

1
如何计算焦耳小偷
一焦耳小偷是一个简单的升压转换器,使用它可以驱动一个3.6V与哪怕是花费其生命的最后滴1.5V电池的LED。它仅由晶体管,变压器和电阻器组成。 该电路非常宽容,特别是在变压器的线圈数方面。但是我想知道是否有一种方法可以精确地计算出产生的电压。使用旧的1.5V电池为微控制器供电会很好。我读到有人报道齐纳二极管会干扰电路的振荡行为。 有谁对这种电路有更深入的了解?并且可以创建一个稳定的5伏电压来为微控制器供电吗? 更新此处 的讨论是我能找到的最接近的请求,其要求与我的要求非常相似。

3
通过数个板路由30MHz时钟
我正在使用TLC5945 LED驱动器。微控制器(我正在使用LPC1343)必须为其内部PWM定时器/计数器提供时钟。允许的最大时钟速度指定为30MHz。 我将使用菊花链连接TLC5945的几块板。板将通过板对板连接器或短带状电缆连接,一块板的宽度为10cm。我最多将其中4个串联。 可能我不会使用完整的30MHz,但是尽管如此,我还是想做对-如何路由/调节时钟信号,使其保持完整? 如果在每个板的输出上添加一个像74HC245这样的缓冲区,那么在每个缓冲区之后都会有10ns的延迟,我不希望这样。我应该使用专用的“零延迟”时钟缓冲器吗?我应该采用哪种终止方案?

1
用合成的ROM内核模拟一个简单的测试台
我对FPGA领域是一个全新的领域,并认为我将从一个非常简单的项目开始:一个4位7段解码器。我纯粹用VHDL编写的第一个版本(基本上是单个组合select,不需要时钟),并且似乎可以使用,但我也想尝试使用Xilinx ISE中的“ IP内核”功能。 因此,现在我正在使用“ ISE Project Explorer” GUI,并使用ROM内核创建了一个新项目。生成的VHDL代码为: LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- synthesis translate_off LIBRARY XilinxCoreLib; -- synthesis translate_on ENTITY SSROM IS PORT ( clka : IN STD_LOGIC; addra : IN STD_LOGIC_VECTOR(3 DOWNTO 0); douta : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END SSROM; ARCHITECTURE SSROM_a OF SSROM IS -- …

1
如何与超低压微控制器接口?
赛普拉斯拥有可在0.5V电源下工作的PSoC。我想知道您如何连接这些。0.5V对于FET和双极晶体管,LED甚至普通二极管来说太低了。那么,这里有什么方法将PSoC连接到其外围设备?低功耗也是这里的一个问题:如果接口需要10倍以上的功耗,PSoC在0.5V时为低功耗无济于事。

4
哪些微控制器可以直接连接到USB端口?
本质上,我只需要通过USB向微控制器发送一些数据,然后微处理器对数据进行解码并驱动LED灯条,该灯条的工作电压为5V。我很难找到适合该工作的微控制器。 该微控制器仅需要具有2个用于USB通信的串行输入端口,两个与LED灯条通信的串行输出端口,并且能够在5V电压下工作。当我需要的只是一个串行COM端口设置时,似乎不需要专用的USB通信IC。 例如,这是将一个字节写入LPD8806条的Arduino代码段: void write8(uint8_t d) { for (uint8_t i=0; i<8; i++) { if (d & _BV(7-i)) digitalWrite(dataPin, HIGH); else digitalWrite(dataPin, LOW); digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW); } } 要锁存数据,请将零发送到测试条。

4
适用于Linux上32位微控制器的最佳IDE
我选择一个32位微控制器来实现卡尔曼滤波器。 Atmel Studio 6 IDE非常吸引我。但是,它似乎只能在Windows上运行。 谁能建议一个好的Linux IDE? 否则,我想我将在虚拟机中使用Atmel Studio 6 IDE。 提前谢谢了,

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.