[经验] 【树莓派3B+测评】PWM呼吸灯&控制12V电机

donatello1996   2018-12-16 23:45 楼主
wiringPi软件库中可直接操作树莓派的特定GPIO接口输出PWM波,但只能是特定支持PWM复用输出功能的GPIO接口,其它不支持PWM输出的引脚只能模拟PWM。树莓派目前有三个GPIO接口支持PWM输出,分别是GPIO1、GPIO24、GPIO25,并且同时最多只能有两路PWM波输出: 26.jpg 在程序中用wiringPi软件库初始化PWM引脚,做法跟STM32单片机差不多,将LED灯阳极接到GPIO24,阴极接地: #define MOTOR 1 #define RGB_LED 24 void Raspi_PWM_Init(int range) { pinMode(RGB_LED,PWM_OUTPUT); pinMode(MOTOR,PWM_OUTPUT); pwmSetRange(range); } 然后是在程序中设置呼吸灯的效果算法: while(1) { for(i=0;i<=100;i++) { pwmWrite(RGB_LED,i); usleep(10*1000); } for(i=100;i>=0;i--) { pwmWrite(RGB_LED,i); usleep(10*1000); } } 看看效果: 2.gif 将L298N模块的IN1接口接GPIO1,IN2接地,OUT1和OUT2接风扇的两个极,然后在VCC端接12V供电,即可利用L298N这个大H桥做到TTL电平控制风扇转速: 3.gif 在实际效果中,L298N模块要稳定控制风扇,需要设置输入PWM占空比大于40%才可以,不知道这是什么情况,不然的话风扇不转或者转速无法恒定,还请教搞直流电机的大佬们。 本帖最后由 donatello1996 于 2018-12-17 01:01 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复