最近用到了一个自带转速调节功能的水泵,其控制信号需要的是一个0-5v的控制电压,而我使用的是STM32F103ZET6单片机,其IO口只能输出0-3.3v的控制电压,导致无法在高速段对水泵进行调速(3.3v以上)。设想是用一个NPN型的三极管来做一个开关电路。原理图如下:
通过单片机输出的pwm信号,去驱动三极管,控制三极管的通断。但是在实际测试的过程中发现,此电路的输出端输出的电压比3.3v还要小,完全适得其反。查资料的时候,好像说这个是个射极跟随器,其输出的电压不会高于单片机输出的信号。针对电路进行了改进,让其成为一个与输入反相的输出:
上图中当三极管不导通时,其输出的是5v,当三极管导通时输出0v。