蜂鸣器,分有源蜂鸣器和无源蜂鸣器,这里的“源”不是指的电源,而是内部是否自带振荡源 有源蜂鸣器加上就会持续发声,频率固定,驱动简单,分正负极 无源蜂鸣器则需要用波形来驱动,内部不带振荡器,用直流信号无法令其鸣叫,需要用必须用2K~5K的方波去驱动它,可以通过调节驱动的PWM频率还有占空比,来改变无源蜂鸣器的鸣叫声音;不分极性 有源蜂鸣器往往比无源的贵 无源蜂鸣器的优点是: 1.便宜 2.声音频率可控,可以做出“多来米发索拉西”的效果 电路 单片机控制三极管驱动蜂鸣器,有源的直接通电,无源的需要用PWM 压电式蜂鸣片 (Pizeo buzzer) 由于自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对驱动口输出驱动电平并通过三极管放大驱动电流就能使蜂鸣器发出声音,很简单,这里就不对自激蜂鸣器进行说明了。这里只对必须用1/2duty 的方波信号进行驱动的他激蜂鸣器进行说明。 单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。 PWM 输出口直接驱动是利用PWM 输出口本身可以输出一定的方波来直接驱动蜂鸣器。在单片机的软件设置中有几个系统寄存器是用来设置PWM 口的输出的,可以设置占空比、周期等等,通过设置这些寄存器产生符合蜂鸣器要求的频率的波形之后,只要打开PWM 输出,PWM 输出口就能输出该频率的方波,这个时候利用这个波形就可以驱动蜂鸣器了。比如频率为2000Hz 的蜂鸣器的驱动,可以知道周期为500μs,这样只需要把PWM 的周期设置为500μs,占空比电平设置为250μs,就能产生一个频率为2000Hz 的方波,通过这个方波再利用三极管就可以去驱动这个蜂鸣器了。 而利用I/O 定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。比如为2500Hz 的蜂鸣器的驱动,可以知道周期为400μs,这样只需要驱动蜂鸣器的I/O 口每200μs 翻转一次电平就可以产生一个频率为2500Hz,占空比为1/2duty 的方波,再通过三极管放大就可以驱动这个蜂鸣器了。 PWM 输出口自然就能输出频率为2000Hz、占空比为1/2duty 的方波。 1 2k的样子
本文目录
本文目录