Questions tagged «timer»

在触发事件之后的特定时间生成信号的电路。时序可由RC时间常数或振荡器的时钟脉冲定义。

4
如何将两个微控制器同步至微秒精度?
我需要同步两个微控制器,以便它们可以测量传播波的速度。延时测量需要具有微秒的精度(误差小于1/2微秒)。 我有两个使用12MHz晶体的微控制器(ATmega328)。 它们都配备了蓝牙收发器。蓝牙收发器以约15毫秒的抖动发送和接收数据包。 我希望使用蓝牙收发器或其他一些创新方法来使微控制器同步。 我尝试通过触摸它们来同步它们,但是我需要它们保持同步约10分钟,并且它们的时钟漂移得太快。也许如果可以准确地预测时钟漂移,则此方法将起作用。 我应该如何实现这种同步?

4
为什么现代的数字时钟会依靠电源频率?
我在军队中,驻扎在非洲吉布提。我们在基座上产生240V / 50Hz的功率,但是有些建筑物也有120V的插座,我认为这是在基座上其他地方(可能在柴油发电站)进行了转换的。我还假设它也是50Hz(见下文)。 我们刚收到一个带有120V插头和时钟/计时器的新咖啡壶: 经过两天的时间设置,希望在上班时可以喝杯热咖啡,然后发现显示屏上的时间不正确,我意识到由于电源电压为120V /,时钟可能慢了5/6。 50Hz,而不是60Hz。一点时间证实时钟确实每小时慢十分钟。 我本以为内部时钟将是一个简单的石英时钟,它以整流的直流电为源,但是(我认为)不会影响晶体的频率。那么,我猜测时钟是一个不同的A / C电路。 是否有理由(成本?)时钟依赖于60Hz信号?

5
不稳定555电路不振荡
我是电子产品的完整入门者,但是我尝试遵循Ben Eaters的视频系列“构建8位计算机”。我尝试做一个不稳定的555计时器的第一部分,但LED不会振荡,最重要的是计时器消耗了大量电流并很快发热。有谁知道我做错了什么以及怎么做? 我使用的是NE555P,1uF电容器,5V电压,该电压来自已装配好的电话充电器。


9
我将如何获得一个运行在31,891,269,116 µHz的小型振荡器?
我正在寻找为Mars时间运行的Arduino构建RTC模块。转换因子是1.0274912510地球秒至1火星秒。 虽然我设法通过<2秒的分辨率(不是很理想,我更喜欢300 ms的精度)以编程方式完成此任务,但在连接到常规RTC模块的Arduino Uno上使用定点数学想知道是否有可能在正好31,891,269,116 µHz(31.891269116 kHz)下运行某种低压振荡器,该振荡器或多或少可以与标准的32 kHz时钟晶体互换(但是,我会接受其他想法)只要它们不算贵的话。) 任何想法这怎么可能?或者,也可以接受某种计时器,该计时器每1.0274912510秒关闭一次。
15 arduino  timer 

2
我的该AVR的理论功耗是否正确?
受到基于ATMEGA 168的简单黑暗警报的启发,该警报在使用睡眠模式的电池上理论上的使用寿命为3年,我决定做出与自己类似的事情(唤醒警报,使用振荡器的精度大致不错,而不是光) 我的困惑在于电池寿命的计算方式(请参阅“电池实时时间计算”部分),因此我决定自己计算。 掉电模式下的AVR显然为1.8V,消耗0.1µA电流。在活动模式下,假设外部振荡器为1MHz,则为250µA(此处为数据表)。 现在,一些(也许是理想的)AA电池将具有1200 mAh,因此 1200 / 0.001 / 24 / 365 = ~137 years standby life time 1200 / 0.250 / 24 / 365 = ~0.5 years active life time 假设我的压电蜂鸣器+ 10k串联电阻总共需要5 mA,我可以按小时平均计算电流使用量 5mA * 10 (second alarm)? / 6 (intervals of 10) / 60 (in to hours) …
12 power  avr  batteries  timer 

4
低功耗,低电压,慢速(0.1Hz)振荡器?
今天,我有机会使用可编程的单结晶体管作为计时器来分析非常有趣的电路。 电源变化,电路必须在10uA以下的电流下工作(不算对电容充电)。只要电源高于1.8VDC,它就会每10-30秒触发一次SCR,并且必须在1.8和7.0 VDC的范围内工作。 时间并不严格-触发SCR的大约10-30秒间隔很好(短的正脉冲)。电压越低,时间间隔越长。 关键在于低电流要求(10uA或更小),低电压要求(1.8V)以及一如既往的低成本(即用30美分的微控制器代替10美分的PUT是不理想的)。 我应该寻找其他廉价,低电流,低电压,低精度定时器设计的选择吗?

5
监视时钟周期以获取arduino / AVR上的代码?
是否可以监视代码块并确定代码在Arduino和/或AVR atmel处理器上执行的处理器时钟周期数?或者,我应该监视代码运行前后经过的微秒吗?注意:我不关心实时(例如,经过了多少实际秒数),而我担心的是“此代码需要CPU多少个时钟周期” 我可以提出的当前解决方案是来自time.c: #define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) #define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) connection.c添加: #define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) 通过这个帐户,我可以通过监视经过的微秒来计算经过的时钟周期,然后将其传递给microsecondsToClockCycles()。我的问题是,有没有更好的方法? 旁注:是否有足够的资源来监视AVR的性能。lmgtfy.com和各种论坛搜索都没有提供任何明显的结果,除了探索计时器 谢谢
11 arduino  avr  atmel  timer 

4
555计时器:如何将值设定为一个小时
我是电子领域的新手(也是新手)。我来找你的知识,看看是否有人可以帮助我做一个非常基本的电路。 它是555芯片,每小时应点亮一个LED(约1/2秒)。我设法用一个著名的软件制作了电路图。 我的问题是我不知道将电阻和/或电容器设置为什么值才能实现此频率的发光或闪烁。实际上,这会触发一个并联电路(因此我需要每1小时触发一次)。我想必须进行一些计算才能获得这些值,但是我在网上看到的内容很难理解。我不是电子专业的学生,​​只是一个试图学习和实现项目的业余爱好者。现在,电路可以工作了,但是无法在所需的频率下闪烁照明(每小时闪烁一次)。 PS:原理图的附加图像。很抱歉出现文字错误,我使用了Google翻译器。 PS:我认为这是一个不稳定的振荡电路...但是我不确定。

1
4060缺少Q11输出
Q11是否在4060 IC上被遗漏了?我已经知道这样做是为了延长最大脉冲时间(最高时钟分频器),但是为什么要在Q11上完成呢?为什么不Q12并因此拥有完整的8位计数器(Q4-Q11)?

4
如果没有555,是否可以实现一键式按钮?
我的电路很复杂,但是我的问题只涉及一小部分。 我有一个继电器,可以通过使用NPN将低端拉低来激励。我想要一个按钮操作晶体管(以及继电器)一段时间(500毫秒ish),然后将其停用并等待下一次按下(如果保持按下,则忽略按钮)。我了解如何使用计时器(或MCU)来实现这一目标,但我希望可能会有一个更简单,更紧凑的解决方案... 该图显示了起点的简化示意图。
10 switches  relay  timer 

2
需要帮助了解AVR ATMEGA / ATTINY计时器镜像输出
我正在尝试使用Atmel AVR微控制器的Timer1(用于Arduino的AtMega328或ATTiny85)来输出两个彼此互为镜像的时钟信号。我试图生成的频率是一个1 MHz到2 MHz或更高的变量,除非使用控制器中几乎不需要执行的其他任何操作,否则它们太高了,无法使用代码来切换输出引脚。因此,我想直接在关联的引脚上使用计时器输出。我正在使用GCC工具链,因此不受arduino库或语言的限制。 Atmega328中的Timer1有两个与之相关的引脚,我可以从中获得两个相同的1MHz至2MHz信号。尽管数据表似乎说我可以得到一个反相波形,但它使我感到困惑。通过使用Timer1的PWM设置,我还能够获得两个在1 MHz时占空比不同的信号,但是两个信号同时变为高电平,而较短的信号则较早变为低电平。这不适合我的项目。我什至不需要PWM脉冲宽度变化,仅需要两个相位相同的相同“时钟”类型信号即可。 我并不是要有人为此写代码,我只需要有人告诉我定时器的哪个模式/标志应该在与定时器相关的两个引脚之一上给我一个简单的反相波形。如果可能的话,我想避免对其中一个输出使用外部反相电路,除非这是唯一的选择。 如果在ATTiny中完全可行,那就更好了。ATTiny也有2个与一个定时器相关的引脚,但是我不确定它具有与ATMega相同的选项。 我已经在PCB上连接了20 MHz晶体和电容器,并且ATMega328上的20 MHz时钟工作可靠。在ATTiny85 PCB上,我有一个8 MHz的晶体,该晶体也能可靠地工作。 请帮忙。谢谢。 更新:到目前为止,答案和评论中存在一些无效的假设,所以也许我应该澄清一下:请注意,在我的原始帖子中,我已声明我使用的是20 MHz时钟,而不是8 MHz,并且不需要PWM。 提供足够高输出频率的唯一模式似乎是CTC模式,因为PWM模式不适用于2 MHz输出。有没有办法在CTC模式下将定时器1的输出A或输出B反相? 我现在已经切换到标准的Arduino Uno(ATMega328,16 MHz)而不是我自己的20 MHz板上来检查我的代码,这是我的代码,用于在CTC模式下从9和10引脚(定时器)获得一个稳定的2 MHz稳定时钟1个输出引脚: #define tick 9 #define tock 10 void setup() { pinMode(tick, OUTPUT); pinMode(tock, OUTPUT); TCCR1A = _BV(COM1A0) | _BV(COM1B0) ; // activate both output pins TCCR1B = …

4
STM32:定时器中断立即起作用
这是我的STM32F429项目中的计时器代码: //timer initialization void timerInit() { uwPrescalerValue2 = (uint32_t) ((SystemCoreClock / 2) / 100000) - 1; RS485Timer.Instance = TIM5; RS485Timer.Init.Period = 67400000; // high value to notice interrupt even without debugging RS485Timer.Init.Prescaler = 400000; RS485Timer.Init.ClockDivision = 0; RS485Timer.Init.CounterMode = TIM_COUNTERMODE_UP; HAL_TIM_Base_Init(&RS485Timer); } void timerReset() { HAL_TIM_Base_Stop_IT(&RS485Timer); HAL_TIM_Base_DeInit(&RS485Timer); HAL_TIM_Base_Init(&RS485Timer); HAL_TIM_Base_Start_IT(&RS485Timer); printf("%d …

1
ATmega328上的AVR计时器加速
当在ATmega328上以64的时钟预分频器运行时,我的一个定时器在执行的特定时间由于未知原因而加速。 我在ATmega328上使用了两个定时器来生成TLC5940所需的时钟(请参见下面的原因;这与问题无关紧要)。TIMER0使用快速PWM开启生成时钟信号OC0B,其设置如下: TCCR0A = 0 |(0<<COM0A1) // Bits 7:6 – COM0A1:0: Compare Match Output A Mode |(0<<COM0A0) // |(1<<COM0B1) // Bits 5:4 – COM0B1:0: Compare Match Output B Mode |(0<<COM0B0) |(1<<WGM01) // Bits 1:0 – WGM01:0: Waveform Generation Mode |(1<<WGM00) ; TCCR0B = 0 |(0<<FOC0A) // Force Output Compare A …
9 avr  atmega  spi  timer 

3
建议计时器芯片
我需要进行长时间延迟(几个小时)分开的电压测量,并在达到电压水平时蜂鸣器蜂鸣。 功耗很重要。 我想要的是一个像RTC芯片这样的简单计时器芯片,但是很笨拙,没有串行接口,内存等。这些串行RTC芯片的优点是,功耗仅为nA范围。 我知道,我可以使用555,但发现的最低功耗约为500uA。 谁能推荐一个低功耗的简单定时器芯片?

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.