Use a MATLAB Function block in SImulink. You can put the logic in the block. Persist variables could be useful (link).
Design a Transmission Shift Controller
1 次查看(过去 30 天)
显示 更早的评论
Would appreciate some direction on how to design a transmission shift controller in Simulink/Simscape without using State Flow. Basically I need to output a number (1,2,3) noting the desired transmission gear based upon an input engine speed.
My needs are very basic for now (just learning). I envision:
- Input: RPM, engine speed
- Output: GEAR, the desired transmission gear (number 1,2,3)
- UP, engine speed upshift point (increment)
- DN, engine speed downshift point (decrement)
And then the controller would simply:
- If RPM>UP then increment GEAR just once.
- If RPM<DN then decrement GEAR just once.
Also, I imagine that since the engine has substantial inertia, there may need to be some DELAY parameter setting the minimum time between any subsequent GEAR changes because although the transmission may shift gears instantly, the non-instantaneous engine speed change can trick the shift logic to shift twice.
Any design direction is appreciated. Thanks.
0 个评论
回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simscape Multibody 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!