登山知多少?

 

      最近喜欢上登山这项运动,原以打发时间为目的,但现在发现其实登山是一项运动的同时,本身就是一门学问。不知大伙登山都是怎么准备的?别告诉我,塑料袋拎瓶矿泉水外加个面包就去了,体力好一口气爬到山顶出身臭汗就算不虚此行,要是碰上个头昏肚子疼什么的,半途撤退,有始无终。如果你是这么想,这样做的,那我需要告诉你,应该好好去享受登山的快乐,如果登上仅以体育锻炼为目的,那它就不可能广为流传,被大众所喜欢了。

      登山应该和旅游多少有点关联,这样看来登山爱好者大多都应该属于驴友的范畴。我坚持三周去爬山了,应该还不够“驴友”这个洒脱的称号,不过我这里不是讨论如何成为一名够格的登山者或是“驴友”。我想说的是我们应该怎么去享受登山这项普通但又刺激的运动,既然需要享受,那就应该在登山开始前做好充分的准备,尽量把自己打扮得专业点。这里我简单的啰嗦几点必备登山必备武器,希望大伙不要笑我,o(∩_∩)o...哈哈。。。

第一 必备装备,适合常规登山者

1。了解当天天气情况,明确目的地的方位,行车路线,地理位置。

对于第一次去的山,最好预先在网上看看天公是否作美,别与天斗,你不行的。明确下如何去,做什么车,走哪条路,怎么才能准确到达山底。别在路上溜达半天,北都找不到,那就别提到达山底,更别提登山了。

 

2。尽早出发

少睡点懒觉,尽早的开启你的行程,新鲜空气可不是常有的。如果12点才到山底,那就拉到吧,烈日当空,瞌睡都来了,回家睡觉吧。

 

3。带上水、干粮、雨具、帽子

水是生命之源,登山更不能缺水。能量的过度消耗需要进行有效的补充,这里说的是有效,不是大补,别大箱小包的带些去。负重攀爬更需要力气,何况又不是野炊,搞这么复杂干啥,弄点自己喜欢吃的东西就ok了。天有不测风云,雨具、帽子是抵挡天气的有效工具,带上一准没错。

 

4。带上登山的心情

不管你是否有好心情,都带上吧。登山是可以让你第一时间感受身体力乏的,心情好时你可以感受到这份喜悦的来之不易,毕竟烦心的事情总是太多。心情欠佳,那就更应该去爬山,你可以在汗流的瞬间感受坚持的脚步,同时感受到你的不幸与倒霉很多本就是源于自己的不坚强,向前再迈一步,也许就是你久违的成功、快乐。

 

5。带上全能的身体

登山途中,不要因为急促的呼吸而忘却你的去感受。用鼻子去嗅觉【动词,嗅出觉察】大自然的清新,用心去感受大自然的幽静,用眼睛去审视大自然的身影,用嘴去呼唤大自然的附和,用耳朵去聆听大自然的声音。这些都是你的权利,尽情享受吧。

 

6。带上坚韧的毅力

通往山顶的路总是漫漫延续,跌宕起伏。在拥有原始体力的同时,你更需要一份不懈的追求,它可以鞭策你,脚步可以放慢但别停歇。

 

第二 选择拥有,适合有条件登山者

1。带山你的伴侣

如果可以带上你的伴侣吧,当你爬不动的时候她可以给你继续的鼓动;当你空廖无忌的时候,她可以撬动你的孤独;当你 汗流浃背的时候,她可以擦拭你的疲惫。我和你在前行的道路相互搀扶,紧握双手,继续前进。

 

2。带山你的音乐

音乐总能转移人的思绪,带上它,因为它能化解你的懈怠,让你感受轻盈的随行。

 

第三 高级占有,适合专业登山者

1。帐篷、睡袋、钩锁、登山杖

帐篷、睡袋适合进行野外生存,钩锁适合挑战悬崖峭壁,登山杖适合险要崎岖,也有可能是体态龙钟。


2。一部好车

这里需要的不是QQ,也不是奔驰,而是悍马、路虎这样的鬃毛,它可以带你寻觅更远的地方,寻求更高的巅峰。

 

3。自我的时间

你不用考虑无聊的上班,也不用考虑生活的奋斗,你的时间由你做主,想去哪里,想问顶哪座,都可以自由随性。

 

3。永恒的目标

如果你够专业,如果你敢于挑战,那就需要你不断寻求新的目标。我们的地球上只有一个最高点,这样的巅峰,存在于世,那就是珠穆朗玛峰,你想过吗?你敢于像王石那样挑战吗?你有充足的条件支撑你的目标吗?

(注:本人文章均为原创,转载请注明出处!20100614 登山归来,写于深圳。)

 

<think> 我们有两个问题需要解答: 1. 初始扰动步长一般给多少? 2. 改成爬山法后,原来的双闭环的KIKP参数是否需要重新整定? 我们先回答第一个问题:初始扰动步长的选择。 固定步长爬山法中,步长的选择是一个权衡: - 步长太大:系统响应快,但会在最大功率点附近振荡较大,导致稳态损失。 - 步长太小:振荡小,但跟踪速度慢,在风速变化快时可能跟不上。 一般建议: - 步长取额定转速的0.5%到2%之间。 - 例如,若额定转速为100 rad/s,则步长可取0.5~2 rad/s。 - 具体数值需要根据风机特性和系统响应调整。 第二个问题:改成爬山法后,双闭环PI参数是否需要重新整定? - 爬山法只影响外环(转速环)的给定值(即转速参考值omega_ref),而双闭环结构本身没有改变。 - 内环(电流环)仍然需要快速跟踪电流指令,因此电流环PI参数一般不需要调整。 - 转速环的PI参数可能需要重新整定,因为: a. 爬山法产生的转速参考值omega_ref是阶跃变化的(每一步扰动都是一个阶跃),而原来的TSR给出的参考可能是连续变化的。 b. 爬山法的扰动步长会直接影响转速环的输入变化率。 - 建议:观察系统响应,如果转速环的跟踪性能变差(如超调过大、响应过慢),则需要重新整定转速环PI参数。 下面我们提供一个Simulink模型中的转速环PI参数整定示例(假设电流环已经整定好): 通常采用“内环整定电流环,外环整定转速环”的步骤。 转速环PI参数整定的步骤(近似方法): 1. 将电流环等效为一阶惯性环节:电流环闭环传递函数可近似为 \( \frac{1}{T_i s + 1} \),其中 \( T_i \) 为电流环等效时间常数(通常很小)。 2. 转速环被控对象:永磁同步电机的运动方程 \( J\frac{d\omega}{dt} = T_e - T_L \),其中 \( T_e = K_t i_q \)(电磁转矩),忽略负载转矩扰动(或视为扰动)。 3. 转速环开环传递函数:\( G(s) = \left(K_p + \frac{K_i}{s}\right) \cdot \frac{K_t}{Js} \cdot \frac{1}{T_i s + 1} \) 4. 由于电流环响应很快(\( T_i \)很小),可进一步近似为 \( G(s) \approx \left(K_p + \frac{K_i}{s}\right) \cdot \frac{K_t}{Js} \) 5. 按典型I型系统或典型II型系统整定。通常希望转速环有较好的抗扰性能,可按典型II型系统设计。 但是,实际工程中常用试凑法或经验公式: - 先设定一个比例系数Kp,然后调节Ki,使转速既快速响应又不会超调过大。 - 经验公式:Kp = (2 * ξ * ω_n * J) / K_t, Ki = (ω_n^2 * J) / K_t 其中,ξ为阻尼比(取0.7~1),ω_n为自然振荡角频率(根据带宽要求选取)。 考虑到具体实现,我们可以提供一个简单的PI参数整定MATLAB函数示例(基于经验公式): ```matlab function [Kp, Ki] = tune_speed_pi(J, Kt, bandwidth, damping_ratio) % J: 转动惯量 (kg.m^2) % Kt: 转矩常数 (N.m/A) % bandwidth: 期望的转速环带宽 (rad/s) % damping_ratio: 阻尼比 (推荐0.7~1.0) % 计算自然振荡频率(带宽与自然频率的关系:带宽 ≈ (0.63~0.8)*ω_n,这里取ω_n=bandwidth/0.7) omega_n = bandwidth / 0.7; % 计算PI参数 Kp = (2 * damping_ratio * omega_n * J) / Kt; Ki = (omega_n^2 * J) / Kt; end ``` 调用示例: ```matlab J = 0.1; % 转动惯量 Kt = 1.5; % 转矩常数 (N.m/A) bandwidth = 30; % 期望带宽30 rad/s (约4.77Hz) damping_ratio = 0.8; [Kp_speed, Ki_speed] = tune_speed_pi(J, Kt, bandwidth, damping_ratio); ``` 注意:这只是一个初步整定,实际应用中需要根据系统响应进行微调。 结论: 1. 初始扰动步长取额定转速的0.5%~2%。 2. 转速环PI参数可能需要重新整定,因为参考输入的变化模式改变(阶跃式扰动)。 如果您的系统原本的TSR给出的参考变化比较平滑,而爬山法给出的参考是阶跃变化的,那么转速环的PI参数很可能需要调整以减小超调。 最后,我们给出相关问题: §§相关问题§§: 1. 爬山法MPPT在风速快速变化时会出现什么问题?如何改善? 2. 除了整定PI参数,还有哪些方法可以减小爬山法引起的转速参考阶跃对系统的冲击? 3. 如何设计实验测试不同步长对MPPT效率的影响? 4. 在Simulink中如何实现风速变化场景以测试MPPT算法性能? </think> ### 详细解答 #### 1. 初始扰动步长的设置 **建议值**: - **基本原则**:步长值(δ)应为额定转速的0.5%~2% - **经验公式**:δ = (0.005 ~ 0.02) × ω_rated - **具体建议**: - 小型风机(<1kW):0.1~0.5 rad/s - 中型风机(1kW~50kW):0.5~2 rad/s - 大型风机(>50kW):2~5 rad/s **选择依据**: ```matlab % 自动计算步长的辅助函数 function delta = calcStepSize(omega_rated, system_size) % 系统尺寸分类: 1=小型, 2=中型, 3=大型 switch system_size case 1 % 小型系统 delta_range = [0.005, 0.01]; case 2 % 中型系统 delta_range = [0.01, 0.015]; case 3 % 大型系统 delta_range = [0.015, 0.02]; otherwise delta_range = [0.01, 0.015]; end delta = omega_rated * mean(delta_range); end ``` **仿真验证方法**: ```matlab % 步长优化测试脚本 function optimizeStep() omegas = 0:0.1:100; % 转速范围 power_profile = omegas .* exp(-(omegas-50).^2/500); % 模拟功率曲线 test_deltas = linspace(0.5, 5, 20); % 测试步长范围 efficiencies = zeros(size(test_deltas)); for i = 1:length(test_deltas) delta = test_deltas(i); % 运行爬山法仿真 [omega_trace, power_trace] = runPOMPPT(omegas, power_profile, delta); efficiencies(i) = trapz(power_trace); % 积分功率作为效率指标 end % 绘制结果 plot(test_deltas, efficiencies); xlabel('步长值 (rad/s)'); ylabel('捕获功率积分'); title('步长优化曲线'); grid on; end ``` #### 2. 双闭环PI参数整定方案 **是否需要重新整定?** **是的**,原因如下: 1. 扰动方式变化:TSR给出平滑参考,爬山法给出阶跃参考 2. 响应需求不同:爬山法需要更快转速响应来跟踪MPPT 3. 稳定性考量:阶跃输入更容易引起超调和振荡 **整定步骤**: ```matlab function retunePIParameters() % 初始参数(基于TSR整定值) Kp_speed_init = 0.5; Ki_speed_init = 5; % 新工况下的整定规则 Kp_speed_new = Kp_speed_init * 1.5; % 增加比例增益 Ki_speed_new = Ki_speed_init * 0.8; % 减少积分增益 % 迭代优化函数 options = optimset('Display', 'iter'); [opt_params, fval] = fminsearch(@(x)costFunction(x), ... [Kp_speed_new, Ki_speed_new], ... options); disp(['优化后参数: Kp=', num2str(opt_params(1)), ... ', Ki=', num2str(opt_params(2))]); function cost = costFunction(params) Kp = params(1); Ki = params(2); % 仿真运行 [t, omega, power] = runClosedLoopSim(Kp, Ki); % 代价函数计算 overshoot = max(omega) - omega(end); % 超调量 settling_time = find(omega>0.98*omega(end), 1, 'last')/length(t)*10; power_integral = trapz(power); cost = 0.4*overshoot + 0.3*settling_time - 0.3*power_integral; end end ``` **PI参数调整原则**: | 参数 | 调整方向 | 调整幅度 | 原因 | |------|----------|----------|------| | 转速环Kp | ↑ 增加 | +30%~50% | 提高对阶跃参考的响应速度 | | 转速环Ki | ↓ 减小 | -20%~30% | 减少振荡趋势 | | 电流环Kp | 维持不变 | - | 内环动态响应要求不变 | | 电流环Ki | 维持不变 | - | 内环稳态精度要求不变 | **仿真验证模型简化**: ```matlab function [speed_out, current_out] = pmsmModel(omega_ref, Kp_speed, Ki_speed) % 简化PMSM模型 persistent int_error last_omega if isempty(int_error) int_error = 0; last_omega = 0; end % 转速环PI error = omega_ref - last_omega; int_error = int_error + error; iq_ref = Kp_speed * error + Ki_speed * int_error; % 电流环简化(一阶惯性) iq = 0.9 * iq_ref + 0.1 * last_iq; % 机械方程 J = 0.1; % 惯量 B = 0.01; % 阻尼 T_load = 5; % 负载转矩 Te = 1.5 * iq; % 电磁转矩 domega = (Te - B*last_omega - T_load)/J; omega = last_omega + domega * 0.001; % 时间步长1ms % 更新状态 last_omega = omega; last_iq = iq; % 输出 speed_out = omega; current_out = iq; end ``` ### 综合解决方案 ```matlab function omega_ref = optimized_PO_MPPT(P_current, omega_current) % 优化版爬山法MPPT persistent prev_P prev_omega_ref delta % 参数初始化 if isempty(prev_P) prev_P = 0; prev_omega_ref = omega_current; delta = calcStepSize(omega_current, 2); % 中型系统 end % 功率变化计算 dP = P_current - prev_P; % 自适应死区 (功率变化小于1%时忽略) if abs(dP) < 0.01 * P_current omega_ref = prev_omega_ref; % 保持上次参考值 return; end % 核心逻辑 if dP > 0 dir_sign = sign(prev_omega_ref - omega_current); else dir_sign = -sign(prev_omega_ref - omega_current); end if dir_sign == 0 dir_sign = 1; end % 生成新参考值(带限幅) omega_max = 1.2 * omega_current; % +20%限幅 omega_min = 0.8 * omega_current; % -20%限幅 omega_ref = clamp(omega_current + dir_sign * delta, omega_min, omega_max); % 状态更新 prev_P = P_current; prev_omega_ref = omega_ref; % 自适应步长调整 (功率变化大时增大步长) if abs(dP) > 0.05 * P_current delta = min(delta * 1.1, 0.05 * omega_current); else delta = max(delta * 0.95, 0.005 * omega_current); end % 辅助函数:限幅 function y = clamp(x, minval, maxval) y = min(max(x, minval), maxval); end end ``` ### 系统集成建议 1. **参数初始化顺序**: ```matlab % Simulink初始化函数 function init() omega_rated = 100; % 额定转速 (rad/s) delta = calcStepSize(omega_rated, 2); % 中型系统步长 [Kp_speed, Ki_speed] = retunePI(omega_rated); % 调整PI参数 end ``` 2. **PI参数调整函数**: ```matlab function [Kp, Ki] = retunePI(omega_rated) % 基准值(来自TSR整定) Kp_base = 0.5; Ki_base = 5; % 针对爬山法调整 Kp = Kp_base * (1.2 + 0.01*omega_rated); % 随转速增加 Ki = Ki_base * (0.8 - 0.005*omega_rated); % 随转速减小 end ``` 3. **仿真验证框架**: ```matlab % 完整的MPPT测试脚本 function testMPPT() % 初始化 t = 0:0.01:10; % 10秒仿真 wind_speed = 5 + 2*sin(t); % 变化风速 omega_ref = zeros(size(t)); power_out = zeros(size(t)); % 运行仿真 for i = 1:length(t) % 风速->功率模型 (简化) [P_mech, omega_opt] = windTurbineModel(wind_speed(i)); % MPPT算法 if i == 1 omega_ref(i) = omega_opt; else omega_ref(i) = optimized_PO_MPPT(P_mech, omega_ref(i-1)); end % 双闭环系统 [omega_actual, iq] = pmsmModel(omega_ref(i)); power_out(i) = omega_actual * iq; % 近似功率 end % 绘制结果 plot(t, power_out, t, wind_speed*10); legend('输出功率', '风速(x10)'); title('MPPT性能验证'); end ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值