- 打卡等级:初来乍到
- 打卡总天数:8
- 最近打卡:2025-08-12 10:00:26
已绑定手机
注册会员
- 积分
- 162
|
发表于 2025-8-4 14:24:51
|
显示全部楼层
你好,这个是要做一个servo的程序,
1. p3.1采集电位器的电位值, adc使用了10bit的采样,即0-1023,名为 adc_input_value.
2, 当p3.0这个usart输入一个控制值时(命名为target_input_value),会使用p5.4 p5.5 输出控制双向电调, 去转动电位器。
3. 程序不间断的循环判断,当adc采样值 adc_input_value 和 target_input_value相差不过超2时,停止转动。 即servo到达指定的角度。
测试1, usart:
1. 使用usart (p3.0+ timer1) 输入一个控制值, 如512,
2. 看到电机开始驱动电位器转动, 但到达512附近时,无法停止转动,不停在正反的抖动。
测试2, pwm:
1. 使用pwm (p3.0 + timer 0), 输入一个PWM 控制值, 如512,
2. 看到电机开始驱动电位器转动, 然后很精准的停在512这个目标角度
|
|