在线时间382 小时
UID251816
注册时间2010-12-3
NXP金币0
TA的每日心情 | 开心 2024-4-5 11:15 |
---|
签到天数: 1061 天 连续签到: 1 天 [LV.10]以坛为家III
金牌会员
 
- 积分
- 4979
- 最后登录
- 2024-5-31
|
本帖最后由 story_xjj 于 2018-11-17 09:12 编辑
利用11U68的arduino接口上提供的pwm接口驱动24V直流电机,调速和正反转.驱动电路采用L298驱动板.
如上图所示,使用D2,D3,D4,其中D4(P1_19)为pwm输出,D3(P1_24)方向控制输出1,D2(P1_18)方向控制输出2,程序的初始化代码.
- DigitalOut myled(LED1);
- PwmOut pwm(P1_19);
- DigitalOut in4(D3);
- DigitalOut in3(D2);
复制代码
中间的红色为L298驱动板,还有一个24V电源没有照到.
- int main()
- {
- pwm = 0.0;
- in4=1;
- in3=0;
- flag=0;
- dir = 0;
- fpwm = 0.0;
- while(1) {
- wait(0.2);
- wait(0.8);
- if(flag==0)
- {
- fpwm += 0.1;
- if(fpwm >= 1.0)
- {
- flag = 1;
- }
- }
- else
- {
- fpwm -= 0.1;
- if(fpwm <= 0.0)
- {
- flag = 0;
- if(dir == 1)
- {
- myled = 1;
- in4=0;
- in3=1;
- dir = 0;
- }
- else
- {
- myled = 0;
- in4=1;
- in3=0;
- dir = 1;
- }
- }
- }
- pwm = fpwm;
- }
- }
复制代码 代码中包括pwm脉宽调制,用于调速,又方向控制代码,用于正反转控制.
|
|