怎样利用好单片机 数据存储器上的存储器资源来实现OD的存

INTEGRATED AUTOMATIC MANUAL MECHANICAL-TYPE STEPLESS TRANSMISSION DEVICE
WIPO Patent Application WO/
Disclosed is an integrated automatic manual, mechanical-type stepless transmission device based on a clutch-brake system with a left pedal brake and a right pedal accelerator, which is of an intrinsic safety model, free from erroneous treading on pedals, the fear of treading on both pedals at the same time, and puffs of black soot. A lotus gearshift lever provided with a lotus petal-type clutch switch is capable of being used in a fully manual mode and an automatic mode, in which the gearshift lever is coupled to a motor-driven gearbox by means of a flexible to rigid link, and the traditional geared transmission is upgraded to a stepless transmission device by means of a three-loop PID controller, so that according to the driver's intention, the gear shifting and trip shifting are automatically performed, and a computer program for achieving the above mentioned functions is developed, with a human machine interface (HMI) being capable of setting at will the vehicle manoeuvrability, such as a smooth and comfortable type or a sporty and powerful type, thus making driving easy and as personal as one wishes. The invention further comprises an upgraded transmission device for a clutch-brake system, which system isolates the clutch action when the vehicle is braking after its speed has exceeded a set value, so as to set the engine at an idling speed, together with two half-stroke mechanical clutch pulling bars, one half-stroke brake pulling bar, and one half-stroke adjustable wire-wound resistor-type clutch pulling bar.
Inventors:
SUN, Houjie (Room 510, No.32 Yuanling GardenFutian Distric, Shenzhen Guangdong 0, 518000, CN)
Application Number:
Publication Date:
07/25/2013
Filing Date:
12/25/2012
Export Citation:
SUN, Houjie (Room 510, No.32 Yuanling GardenFutian Distric, Shenzhen Guangdong 0, 518000, CN)
International Classes:
B60T7/06; B60K23/02; F16H59/14; F16H59/18; F16H59/24; F16H59/48; F16H61/16
View Patent Images:
&&&&&&PDF help
Foreign References:
CNACNACNAJPHACNYCNACNACNA4088044
权 利 要 求 书
1、 一种基于离刹系统的机动车变速装置, 其特征在于, 包括手自一体机械式无级变速装置及其计 算机程序、 配件结构和升级版手动变速装置及其计算机程序、 配件结构;
手自一体机械式无级变速装置具有以下结构功能: 采用离刹系统的左脚踩刹车、 右脚踩油门并取 消离合踏板. 因此属于本安型产品; 手动自动一体, 公用莲花软硬换档手柄, 加装自动驱动的传统齿 轮变速箱通过 3回路 PID调节而拥有无级变速功能, 计算机程序可根据驾驶意图自动换档, 具有任意档 启车、 平稳或快速启车、 低速蠕动、 低速断离合、 踩刹车断离合、 停车自动挂空挡、 人机对话任意设 置机动性等功能, 以及为实现上述功能的计算机程序和相关配件结构图;
升级版手动档变速装置具有如下结构功能: 采用离刹系统的左脚操作刹车和离合踏板、 或二者合 一的离刹踏板, 右脚踩油门, 具有本质安全性: 启车及低速时, 由离刹踏板半联动控制车辆及挂离合 停车, 在车速超过设定值刹车时可屏蔽离合动作并使发动机处于怠速, 配合图 8所示 6及 61莲花手柄换 挡; 为实现上述功能开发有计算机程序, 以及几种半行程离合、 刹车拉杆用于对离刹系统机动车的改 进升级。 2、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第一种方案, 其特征在于: 取消传统离合踏板,左脚踩踏刹车踏板,在踏板行程的始末分别装有行程开关, 右脚踩踏油门踏板, 该油门踏板链接一全行程划线变阻器, 其输出电阻信号对应踏板行程, 通过微机输出电阻值对应的节 气门控制信号; 在传统机械式齿轮变速箱上方加装电动式自动换档驱动装置,离合器由伺服电机控制, 由微机程序控制自动换档; 自动换档驱动装置也可选用气动式、 液压式;
图 8所示的 6、 61为本装置的莲花换档手柄, 端部 3-4个莲花瓣式微动电气离合开关形成半封闭壳体 覆盖手柄上端, 调节微动开关的动作力度, 使之适手、 不误动不惰动; 此开关用于换档和模式切换, 在计算机程序中使用其逻辑 "或"信号, 具有脉冲保持功能, 直到分断或啮合到位为止, 并可相互闭 锁, 在无低速强制分断离合信号时手动模式下按下开关离合分断, 松开离合啮合, 在换档过程中离合 器将无法啮合, 自动状态下可换档但不能操纵离合;
如图 9所示档位及编号以图示为例,各档档位各安装一行程开关, 包括空档的三个档位, 为了手动 换挡期间使档位到位到离合片完全啮合这段 PID调节时间延长, 设计了较长的档位行程开关, 如图 9 的 67, 软质弹簧支撑, 以便换档轻松且提前传送档位到位信号; 或者一个档位装设两个档位开关, 如 图 9的 65, 以便提前预知到位信号; 或者使用电磁接近开关, 在换档手柄准备进入档位前正好感知, 隐蔽性好, 又可防污染;
图 9所示步进电机 Ml、 M2分别位于三条导轨上驱动轴承支撑驱动板 62实现平面运动, 程序实现换档 手柄的各个档位及各个空档位的定位,步进电机 M2对侧有一套球型滚动轴承与之位于同一可移动驱动板 62上,该板与轴承万向节式链接,用于移动手柄. 如图 8所示装配图, 轴承套在图 10所示机械换档柄 64 上, 以减少换档时摩擦, 中间插入莲花换档手柄,在手动模式时,手柄带动电机换档,在自动模式时,电 机带动手柄换档,步进电机无断电位置保持或锁死功能, MT的变速箱无外力驱动手柄时不会自行换档; 图 10、 图 11所示为莲花换档手柄与机械换档柄的链节, 图 10为自动状态, 此时手柄柔性, 以硬质 弹簧连接, 以防快速换档时伤人, 但压接榫头 7及链节结构可以保证少量的手动换档动作, 如停车时挂 空档; 当机械换档柄链节处电磁线圈 72带电时将使该链节处于图 11的手动状态, 此时手柄刚性, 以便 快速换档, 当电磁线圈 74带电时卡铁 71回缩从而手柄回到自动状态, 计算机程序将根据手、 自动模式 的状态信号控制电磁线圈接通数秒来转换换档手柄状态。
3、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第一种方案, 其特征在于: 自动模式下, 可选择 1档或 1、 2、 3档或任一档启车并可手动挂入相应档位, 挂入未被选中的档位 将被强制退至 1档, 2、 3档等高档位启车后数秒内将强制挂入 3、 4档等高位档维持数秒, 至车速达到 该档车速或超时后解除强制; 非一档启车在启车后数秒内禁止进入按车速自动换档程序;
自动模式下, 正常情况下按车速度换档, 设有数秒的车速确认时间; 在加速度达到设定值后而未 达到换档车速时, 将按程序逐级跳档, 加速度再大将越级跳档, 在车辆减速加速度或收油加速度达到 设定值后而未达到换档车速时, 将逐级减档, 再大将越级减档: 这些设置己经包含了驾驶过程中可能 出现的上下坡、 急刹车等各种行驶状况, 在逐级或越级跳档、 减档后, 将进入数秒的强制档位稳定期 , 至车速达到该档车速或超时后解除强制, 随后进入正常按车速换档模式, 此功能可避免因车速不符 合正常换档要求而退回原档等反复自动换档, 也可一直驾驶在某档位; 这些性能将使驾驶得心应手。
4、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第一种方案, 其特征在于: 开机进入手动控制模式, 档位在非倒车档与车速大于等于 0 时可进入自动模式且手动模式与自动 模式可以相互切换 ,只需在 1 秒钟内快速按动手动离合开关达到 2 次及以上即可, 可在驾驶室合适位 置或 HMI 触摸屏上设置切换按钮代替此操作, 在自动模式下挂倒档或因意外等倒车将强制退出自动模 式至手动, 在自动模式前进时手动换非倒车档无效, 在任何模式下停车或开机检测到静止超过 1 分钟 后仍未挂空档, 将自动挂空档并维持原模式;
在任何模式下静止时只要有刹车不管踩到底与否都可以换档或挂空档, 全刹车启车模式: 当手动 离合开关闲置且刹车踩到底后轻抬刹车踏板, 车辆即可平顺启车,即在手动离合开关和刹车到底信号都 消失后可启车; 无刹车启车模式: 手动离合开关闲置刹车不踩到底且刹车信号消失将平顺启车; 半刹 车启车模式: 刹车不踩到底且手动离合开关闭合又消失将平顺启车; 任何情况下由静止启车都可同时 踩踏油门踏板达到迅速启车的目的, 提高启车动力性, 同等功率下启车速度无与伦比, 比背普通的手 动档 MT更加优越, 并可选择平顺启车即半联动启车或快速启车即全联动启车: 车速低于低速限值非静 止时踩踏刹车不管到底与否都将强行分断离合, 此时可换档、 挂空档或直接停车, 刹车消失车辆如未 静止将进入与启车一样的半联动加速状态即低速蠕动; 除启车阶段外踩下刹车发动机将被强制怠速, 可通过怠速电磁阀或节气门控制, 微机通过程序控制换挡及启车时的离合啮合运动曲线和时间, 以达 最佳的启车平顺性和动力性, 见相关程序;
如图 7所示, 电磁岡 51关断时仍有一定油量维持发动机怠速, 或者完全关断供油, 但其旁路可通过 维持发动机怠速的油量。
5、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第一种方案, 其特征在于: 本装置通过先进的双回路 PID调节可快速平稳换档, 从而拥有齿轮无级变速功能, 并设有恶劣路 况供油稳压滤波 PID回路, 都可在任何模式下运行;
车速同步 PID loopl:
在手动模式下换挡, 车速同步 PID可以根据发动机空载转速 -供油量特性曲线或函数, 按照当前档 位、 车辆加速度、 供油等状况实时预设目标档位变速比参数, 计算发动机转速折算的车速 Vy=K*N/DX 作为被调量跟踪实时车速即设定值,其输出值调节节气门, 档位到位后实际档位折算的车速将作为 PID 调节的被控量即过程变量, 在实际到位档位与目标档位不符时, 增加微分 D调节功能, 从而缩短调节 时间, 以使在离合器啮合前快速、 准确调节发动机转速同步车速, 达到换档车速无扰切换; 如仍不能 达到平顺换档的目的, 只要延时松弛手动离合开关 1 秒左右即可: 行车期间挂空档及停车 PID不参与 跟踪;
在自动模式下, 此时在 PID跟踪程序中,被控量 Vy函数中的变速比寄存器 Dx值由目标档位标号 寄存器 ZD决定赋值,不产生跳变,在离合分断、 换档、 离合啮合过程中, PID有充足的时间调节 Vy跟踪 车速; 自动换档期间空档位置离合不会啮合并维持继续调节;
因发动机对供油的迟滞时间小、 系统响应快,当微机性能及相关机械性能足够好时换档时间将足够 短,将无动力间断现象且无因换档造成的顿挫感。
啮合跟踪 PID 1οορ2:
该回路在 loopl 调节完毕马上介入, 其输出值用于调节节气门, 设定值为油门踏板行程电阻值 Rfuel对应的供油量 Ls, Ls应通过实验获得 L-R数据表、 曲线, 进而得出经验公式 L=f (R) 或拟合函 数, 根据此函数向 1οορ2提供设定变量值; 过程量 PV为实际供油量 Lp, 通过测量得到; 在自动、 手动模式调节中, 1οορ2用于克服踏板给油与 PID loopl调节输出给油切换衔接时的偏差 , 从而克服人为的顿挫感, 即在换档完并不马上将油门切换为 "脚动" , 而是用 PID 1οορ2 调节节气 门使供油量跟踪并平稳尽快地与油门踏板行程对应的供油量相同, 在达到误差限值后将节气门控制权 交由手动, 此 PID参数设置应该取消微分调节, 比例带设定 1, 积分时间适中, 尽量使节气门开度按单 值斜率曲线尽快接近油门踏板行程对应的节气门开度, 避免供油震荡, 以使换档后车速平顺;
稳压滤波 PID 1οορ3:
该 PID 回路用于因各种不良路况或人为过激踩踏油门时导致的供油即动力突然变化或不稳定现 象- 设定值为油门踏板行程电阻值 Rfuel对应的供油量 Ls, 过程量 PV为实际供油量 Lp, 当在子程序 acceleratefuel O中检测到供油量剧烈抖动时, 该回路开始投入调节, 平滑缓冲供油量, 直至偏差小 于设定值后退出, 此 PID参数整定与 1οορ2相同; 其输出用于调节节气门, 优先权高于踏板油门而低 于 1οορ1、 1οορ2输出, 刹车怠速具有最高优先权;
可在供油泵之后连接一容量足够的 "稳压罐"达到类似的功能;
6、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第一种方案, 其特征在于: 本装置设有用户维护 (参数设置) 人机接口 HMI 子程序, 在驾驶室设置触摸屏, 或与导航仪等设 备共用, 在任何时候可输入密码对以下参数进行设置: 密码修改, 启车半联动与全联动选择, 低速刹 车强制分断离合车速设值, 低速蠕动功能选择, 启车选档及启车后档位强制在 4、 5档使能及其强制锁 定时间设定, 换档车速及其确认时间设置, 换档车速同步 PID使能, 啮合跟踪 PID使能, 供油稳压滤 波 PID使能, 自动跳档选择及其加速度阈值以及供油加速度阈值设定, 跳高档或跳低档后档位锁定时 间设置, 停车挂空档时间设置, 手动开关启车选择, 恢复出厂值; 即时生效即时运行, 重新启动微机 将读取上次设置参量。
7、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第一种方案, 其特征在于: 为了实现上述功能本发明设计了主程序 (inian) , 其中的自动控制程序 (auto ) 包括: 起步档位选 择程序 (startup class select ing), 2、 3档起步挂 4档程序 ( switching to 4 class after starts with 2 or 3 class ) , 跳档程序 ( auto switchs for exceeding class ) , 逐级换档程序 ( auto switchs class by class); 其中的手动控制程序 ( semiauto ) 包括: 变速比预设程序 (presetting the ratio of semiauto shift gears ) ; 以及各种子程序: 停车挂空档子程序 (stopped to 0 class () ) , 主控子程序(master controller () ) , 换档子程序 (ZDHDn () ), 三种频率测量子程序 ( frequency () ), 加速度测量子程序 (accelerate O ), 供油加速度测量子程序 (acceleratefuel (), 包 括供油抖动测量), 参数设置子程序 (HMI () )。
8、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第二种方案, 其特征在于: 如图 4-5所示为电气式离合拉杆主要配件半行程划线电阻器, 前半部为滑线电阻, 后半部为短路 片, 滑动片侧上方设有电磁铁 31, 以便在车速超过一定值时, 电磁铁动作使滑动片离开滑线电阻断开 控制信号, 减少滑线电阻器磨损;
本方案手动离合开关使用图 8所示 6、 61莲花手柄, 端部 6的 3- 4个电气开关在程序中使用其逻辑 "或"信号, 具有脉冲保持功能, 直到分断或啮合到位为止, 并可相互闭锁, 按下开关离合分断. 松 开离合啮合, 在换档过程中离合器将无法啮合;
半行程划线电阻器应用于本方案的离合与刹车二合一踏板的离合拉杆, 当离合踏板与刹车踏板同 时布置在驾驶室左侧时, 改为全行程划线电阻器;
划线电阻器电阻值通过计算机程序转换为标准工程信号控制离合伺服电机, 手动离合开关通过计 算机程序输出拟合好的运动控制信号控制离合伺服电机, 依照离合器 "快踩慢放"的原则设定离合片 的动作时间, 当车速超过设定值时切断划线电阻器对离合的控制, 手动换档离合在任何时候对脚动离 合具有优先权;
刹车行程始端安装一行程开关, 通过程序逻辑, 当车速超过设定值时并有刹车时, 输出闭节点控 制图 7所示的怠速电磁阀使发动机处于怠速;
9、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第二种方案, 其特征在于: 设计了基于离刹系统的升级版手动挡变速装置的计算机程序, 其逻辑功能详见说明书相关程序段 落, 当用伺服电机控制器的高低速功能或双速电机控制时,用 Q0. 3控制电机合适速度代替 Network 5 、 6逻辑啮合, 用 Q0. 2控制电机高速分断, 则本装置程序用中间继电器、 逻辑芯片即可实现控制。
10、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第二种方案, 其特征在于: 如图 1 所示为离刹系统机动车离合与刹车二合一踏板所用的半行程刹车拉杆, 用于对该类机动车 改进; 踏板前端的复位弹簧使钉字拉杆 13在踏板松弛状态时回到圆筒式拉杆 15的下部, 15被与机动车 一体的止挡板 16阻挡不能后退, 在踏板动作时拉杆钉字头 14被端冒 17阻挡, 从而造成前半行程自由空 行程。
11、 根据权利要求 1所述的一种基于离刹系统的机动车变速装置的第二种方案, 其特征在于- 如图 2-3所示为离刹系统机动车离合与刹车二合一踏板所用的半行程离合拉杆, 图 2中的外壳为方 筒或圆筒, 侧壁开有凹槽 25, 此外壳与车体固定. 其内上部为叉形拉杆叉柄与踏板轴链接且端部有复 位弹簧 21支撑于车体以提供回复力, 叉形拉杆一支叉的端部设有挂接顶针 23及其储能弹簧、 导向杆, 当叉形拉杆下移时依靠侧向分力将箭头拉杆 26挤出凹槽并挂接在叉形拉杆另一只叉端的倒钩上, 凹槽 对面合适位置设有脱钩顶针及其储能弹簧、 导向杆, 当拉杆上移时使箭头拉杆入槽定位; 下部为箭头 形拉杆通过拉伸弹簧 22连接于离合器摆臂, 拉伸弹簧的拉力及脱钩顶针的侧向脱钩力使箭头拉杆固定 于凹槽;
图 3离合拉杆的不同在于, 倒钩 28轴连接于叉形拉杆的一叉端且倒钩另一端有压缩弹簧及导向杆支 撑于叉端, 凹槽对侧相应位置设有压缩弹簧支撑的弹簧膜片 27, 当箭头拉杆 26上移至合适位置时, 依 靠此弹簧膜片将其挤入凹槽并实现与倒钩的分离; 在箭头拉杆进入凹槽前依靠其与倒钩的摩擦力维持 挂接, 箭头拉杆进入凹槽后依靠拉伸弹簧 22及摩擦力挂接在凹槽上:
上述拉伸弹簧 22可挂接在外壳上, 另外以无拉张力的拉杆连接离合其摆臂上, 以免影响摆臂的机 械 0点。
上述两种拉杆在前半部有效行程与空行程切换时有回程差, 通过精密机械设计、 制造可以使之尽 量减少, 但不能达到 0, 所以应将此回程差位置设计在有效离合行程末端以外, 避免回程差造成的错觉 对控制离合的影响。 当上述离合拉杆与莲花换档手柄配合时, 换档离合开关通过伺服电机或双速电机操做离合, 如图 6 所示, 机械式离合拉杆与离合电机输出轴分别通过刹车线连接在离合器摆臂上, 实现二者 "或"的逻 辑关系与电机离合的优先控制权, 优先控制权主要用于机械式离合拉杆半联动状态时实现换档离合电 机的优先控制, 由换档手柄端部离合开关控制换档时的离合动作比踏板更易操作。
Description:
手自一体机械式无级变速装置 m
本发明涉及一种基于离刹系统的机动车变速装置, 尤其涉及一种手自一体机械式无级变速装置和 一种升级版手动变速装置, 以及他们的计算机程序和配件结构; 目前各种手动档机动车换档时必须踩踏离合踏板, 加之油门、 刹车踏板等频繁而复杂的动作, 在 市区交通繁忙、 复杂路段时, 很容易发生错踩油门或刹车因此酿成重大交通事故, 造成重大生命才生 损失。 而众多手动挡、 自动挡汽车的刹车踏板与油门踏板也都沿用发明汽车时的布置方案, 都布置在 驾驶室右侧由右脚来操作, 造成启车时尤其坡道启车不能同时加油, 启车困难, 负荷都有一只脚承 担, 而另一只脚成了剥削者, 如果以驾驶为生涯, 势必造成一定的生理障碍, 如同我们要经常锻炼左 手从而促进右半大脑发育一样, 我们也要经常锻炼左脚以防"半身不遂"。 同时, 两个踏板由一只脚操 作, 有些不堪重负, 尤其表现在危急时刻, 有些不知所措, 尤其一旦误踩, 我们的 "修正主义"反应速 度显得太慢。 无法跟上事态的发展, 众多交通事故证明, 紧急时刻一旦误踩, 是没有时间纠正的。 发 明专利 《离刹系统机动车刹车装置》 (申请号 201U ) 已经将离合刹车踏板置于左脚操作并相 关联动, 也可以合二为一并由左脚操作, 右脚仅操作油门, 此设计大大减少了事故率, 节能环保不冒 黑烟, 节省发动机及刹车片, 缓解了驾驶强度、 心里紧张情绪, 便双脚平均劳动负荷, 可同时踩踏, 不憋发动机, 即使误踩, 也有纠正机会。
目前普遍使用的手动挡机动车, 齿轮变速, 动力性好, 无动能流失, 是其他变速装置无法匹敌 的, 但因为是有级变速, 但带来换挡时的顿挫感, 操作复杂, 不适合高级轿车, 即具优良的动力传输 性能, 又具有无级变速特性的变速装置, 一百多年来一直是世界众多汽车厂商追求的梦想, 也因此开 发出了众多的变速装置: 液力耦合变速器、 双离合变速器、 行星齿轮变速器、 皮带式无级变速器、 金 属链条式无级变速器等等不一而足, 但或多或少存在着不尽人意的缺陷, 不是动力显得不足, 就是变 速不够平顺, 也正是这样的缺陷、 矛盾、 人们的无休止的追求, 给事物的发展带来动力, 促使汽车变 速装置不断地向前发展, 在遭遇诸多困境后, 人们又掉过头来顾望机械式齿轮变速装置, 迷惑于他的 优良动力特性, 竞相开发齿轮式无级变速装置, 上世界七八十年代出现了各种各样的机械式自动换挡 装置, 有电动式、 液力式、 气动式, 根据机动车所具有的资源优势, 选择动力方案, 但不足之处仍然 是换挡不平顺问题. 鉴于此, 齿轮式变速装置即使自动化了, 也被列入低挡行列, 久久沉冤于地下, 不登大雅之堂。 本发明鉴于上述技术现状, 基于上离刹系统机动车刹车装置和普通手动挡齿轮变速箱, 优化了刹 车拉杆和离合拉杆的机械机构, 设计了电气式离合油门拉杆, 同时优化了电动式齿轮变速装置的结构 和控制方案, 采用先进的三回路 PID控制方案, 以及离合动作控制方案, 产生了手自一体机械式"无级 变速' '换挡装置, 左脚踩刹车踏板, 右脚踩油门踏板, 该装置具有本质安全性, 同步了换挡车速、 平顺 了换挡后供油波动, 消除了换挡顿挫感, 同时采用稳压滤波器使供油平顺, 克服坎坷路况燃油脉动。 自动程序可以根据车速及驾驶意图自动换挡, 可 2、 3档及任意档启车, 并强制档位以防频繁换挡, 计 算机程序允许用户直接对各项驾驶参数进行设置, 调试成各种模式, 如平稳舒适型、 赛车型, 得手应 心, "为所欲为", "我行我素 即时生效, 即时运行, 同时具有模式切换简单. 任何模式停车可自动挂 空挡, 操作方便, 在传统换挡手柄基础上. 设计了莲花手柄及同时适合于手动模式和自动模式的软硬 链节, 保持原有手动挡换挡手柄风格的基础上使之功能多样化, 适应性强, 美观实用。 使手动换档时 几乎不用有"离合"的意识与动作, 自动换挡时安全可靠, 一推了之、 一档到家, 既满足了驾驭纯手动 挡的飙车欲望与热情, 又满足了高档豪车的幸福与虚荣。
本装置将使驾驶更加舒适、 安全、 易驾, 手动档的成本, 高档车的享受. 本装置将使轿车成为一 种体育器材, 使驾驶成为一种乐趣、 一种锻炼、 一种智力活动。
过于智能的车我们可能也不愿意开, 如同我们得富贵病一样, 有时我们要寻求一种劳动、 一种锻 炼, 如同登山野游一样, 智能轿车可能会被束之高阁, 如果仅仅追求高智力汽车, 我们坐在副驾驶位 置就可以了, 如果为了锻炼我们的智力、 体力以及他们的配合能力、 健康长寿, 那么将一款即安全舒 适、 环保易驾又能充分锻炼我们的真正手动与真正自动的齿轮无级变速轿车作为健身器材, 将是最具 明智、 最具性价比的时尚选择。 发明内容
本发明的目的是提供一种基于离刹系统的手自一体机械式无级变速装置, 本安型, 通过 3回路 PID 调节器将传统齿轮变速箱升级为无级变速装置, 还包括一种当车速超过设定值后刹车时屏蔽离合动作 并使发动机处于怠速的升级版离刹系统变速装置, 以及几种该装置的半行程机离合、 刹车拉杆。
为实现上述目的, 本发明提供一种基于离刹系统的机动车变速装置: 其特征在于, 包括手自一体 机械式无级变速装置及其计算机程序、 配件结构和升级版手动变速装置及其计算机程序、 配件结构; 手自一体机械式无级变速装置具有以下结构功能: 采用离刹系统的左脚踩刹车、 右脚踩油门并取 消离合踏板, 因此属于本安型产品; 手动自动一体, 公用莲花软硬换档手柄, 加装自动驱动的传统齿 轮变速箱通过 3回路 PID调节而拥有无级变速功能, 计算机程序可根据驾驶意图自动换档, 具有任意档 启车、 平稳或快速启车、 低速蠕动、 低速断离合、 踩刹车断离合、 停车自动挂空挡、 人机对话任意设 置机动性等功能, 以及为实现上述功能的计算机程序和相关配件结构图;
升级版手动档变速装置具有如下结构功能: 采用离刹系统的左脚操作刹车和离合踏板、 或二者合 一的离刹踏板, 右脚踩油门, 具有本质安全性; 启车及低速时, 由离刹踏板半联动控制车辆及挂离合 停车, 在车速超过设定值刹车时可屏蔽离合动作并使发动机处于怠速, 配合图 8所示 6及 61莲花手柄换 挡; 为实现上述功能开发有计算机程序, 以及几种半行程离合、 刹车拉杆用于对离刹系统机动车的改 进升级。
取消传统离合踏板,左脚踩踏刹车踏板,在踏板行程的始末分别装有行程开关, 右脚踩踏油门踏板,该 油门踏板链接一全行程划线变阻器, 其输出电阻信号对应踏板行程, 通过微机输出电阻值对应的节气 门控制信号; 在传统机械式齿轮变速箱上方加装电动式自动换档驱动装置,离合器由伺服电机控制.由微 机程序控制自动换档; 自动换档驱动装置也可选用气动式、 液压式;
图 8所示的 6、 61为本装置的莲花换档手柄, 端部 3-4个莲花瓣式微动电气离合开关形成半封闭壳体 覆盖手柄上端. 调节微动开关的动作力度, 使之适手、 不误动不惰动; 此开关用于换档和模式切换. 在 计算机程序中使用其逻辑' '或"信号, 具有脉冲保持功能, 直到分断或啮合到位为止, 并可相互闭锁, 在无低速强制分断离合信号时手动模式下按下开关离合分断, 松开离合啮合, 在换档过程中离合器将 无法啮合, 自动状态下可换档但不能操纵离合;
如图 9所示档位及编号以图示为例,各档档位各安装一行程开关, 包括空档的三个档位, 为了手动 换挡期间使档位到位到离合片完全啮合这段 PID 调节时间延长, 设计了较长的档位行程开关, 如图 9 的 67, 软质弹簧支撑, 以便换档轻松且提前传送档位到位信号; 或者一个档位装设两个档位开关, 如 图 9的 65, 以便提前预知到位信号; 或者使用电磁接近开关, 在换档手柄准备进入档位前正好感知, 隐蔽性好, 又可防污染;
图 9所示步进电机 Ml、 M2分别位于三条导轨上驱动轴承支撑驱动板 62实现平面运动,程序实现换 档手柄的各个档位及各个空档位的定位,步进电机 M2对侧有一套球型滚动轴承与之位于同一可移动驱 动板 62上,该板与轴承万向节式链接,用于移动手柄, 如图 8所示装配图, 轴承套在图 10所示机械换档柄 64 上, 以减少换档时摩擦, 中间插入莲花换档手柄,在手动模式时,手柄带动电机换档,在自动模式时,电机带 动手柄换档,步进电机无断电位置保持或锁死功能, MT的变速箱无外力驱动手柄时不会自行换档; 图 10、 图 11所示为莲花换档手柄与机械换档柄的链节, 图 10为自动状态, 此时手柄柔性, 以硬质 弹簧连接, 以防快速换档时伤人, 但压接榫头 7及链节结构可以保证少量的手动换档动作, 如停车时挂 空档; 当机械换档柄链节处电磁线圈 72带电时将使该链节处于图 11的手动状态, 此时手柄刚性, 以便 快速换档, 当电磁线圈 74带电时卡铁 71回缩从而手柄回到自动状态, 计算机程序将根据手、 自动模式 的状态信号控制电磁线圈接通数秒来转换换档手柄状态。
自动模式下, 可选择 1档或 1、 2、 3档或任一档启车并可手动挂入相应档位, 挂入未被选中的档位 将被强制退至 1档, 2、 3档等高档位启车后数秒内将强制挂入 3、 4档等高位档维持数秒, 至车速达到 该档车速或超时后解除强制; 非一档启车在启车后数秒内禁止进入按车速自动换档程序;
自动模式下, 正常情况下按车速度换档, 设有数秒的车速确认时间; 在加速度达到设定值后而未 达到换档车速时, 将按程序逐级跳档, 加速度再大将越级跳档, 在车辆减速加速度或收油加速度达到 设定值后而未达到换档车速时, 将逐级减档. 再大将越级减档; 这些设置已经包含了驾驶过程中可能 出现的上下坡、 急刹车等各种行驶状况, 在逐级或越级跳档、 减档后, 将进入数秒的强制档位稳定期 , 至车速达到该档车速或超时后解除强制, 随后进入正常按车速换档模式, 此功能可避免因车速不符 合正常换档要求而退回原档等反复自动换档, 也可一直驾驶在某档位; 这些性能将使驾驶得心应手。 开机进入手动控制模式, 档位在非倒车档与车速大于等于 0时可进入自动模式且手动模式与自动模 式可以相互切换,只需在 1秒钟内快速按动手动离合幵关达到 2次及以上即可, 可在驾驶室合适位置或 HMI触摸屏上设置切换按钮代替此操作, 在自动模式下挂倒档或因意外等倒车将强制退出自动模式至 手动, 在自动模式前进时手动换非倒车档无效, 在任何模式下停车或开机检测到静止超过 1 分钟后仍 未挂空档, 将自动挂空档并维持原模式;
在任何模式下静止时只要有刹车不管踩到底与否都可以换档或挂空档, 全刹车启车模式: 当手动 离合开关闲置且刹车踩到底后轻抬刹车踏板. 车辆即可平顺启车.即在手动离合开关和刹车到底信号都 消失后可启车; 无刹车启车模式: 手动离合开关闲置刹车不踩到底且刹车信号消失将平顺启车; 半刹 车启车模式: 刹车不踩到底且手动离合开关闭合又消失将平顺启车; 任何情况下由静止启车都可同时 踩踏油门踏板达到迅速启车的目的, 提高启车动力性, 同等功率下启车速度无与伦比, 比背普通的手 动档 MT 更加优越, 并可选择平顺启车即半联动启车或快速启车即全联动启车; 车速低于低速限值非 静止时踩踏刹车不管到底与否都将强行分断离合, 此时可换档、 挂空档或直接停车, 刹车消失车辆如 未静止将进入与启车一样的半联动加速状态即低速蠕动: 除启车阶段外踩下刹车发动机将被强制怠 速, 可通过怠速电磁阀或节气门控制, 微机通过程序控制换挡及启车时的离合啮合运动曲线和时间, 以达最佳的启车平顺性和动力性, 见相关程序;
如图 7所示, 电磁阀 51关断时仍有一定油量维持发动机怠速, 或者完全关断供油, 但其旁路可通过 维持发动机怠速的油量。
本装置通过先进的双回路 PID调节可快速平稳换档, 从而拥有齿轮无级变速功能, 并设有恶劣路 况供油稳压滤波 PID回路, 都可在任何模式下运行;
车速同步 PID loopl :
在手动模式下换挡, 车速同步 PID可以根据发动机空载转速 -供油量特性曲线或函数, 按照当前档 位、 车辆加速度、 供油等状况实时预设目标档位变速比参数, 计算发动机转速折算的车速 \ 3/4 '=K*N/DX 作为被调量跟踪实时车速即设定值,其输出值调节节气门, 档位到位后实际档位折算的车速将作为 PID 调节的被控量即过程变量, 在实际到位档位与目标档位不符时, 增加微分 D 调节功能, 从而缩短调节 时间, 以使在离合器啮合前快速、 准确调节发动机转速同步车速, 达到换档车速无扰切换; 如仍不能 达到平顺换档的目的, 只要延时松弛手动离合开关 1 秒左右即可; 行车期间挂空档及停车 PID不参与 跟踪;
在自动模式下, 此时在 PID跟踪程序中,被控量 Vy函数中的变速比寄存器 Dx值由目标档位标号 寄存器 ZD决定赋值,不产生跳变,在离合分断、 换档、 离合啮合过程中, PID有充足的时间调节 跟踪 车速; 自动换档期间空档位置离合不会啮合并维持继续调节;
因发动机对供油的迟滞时间小、 系统响应快,当微机性能及相关机械性能足够好时换档时间将足够 短,将无动力间断现象且无因换档造成的顿挫感。
啮合跟踪 PID 1οορ2: 该回路在 loopl 调节完毕马上介入, 其输出值用于调节节气门, 设定值为油门踏板行程电阻值 Rfuel对应的供油量 Ls, Ls应通过实验获得 L-R数据表、 曲线, 进而得出经验公式 L=f ( R) 或拟合函 数, 根据此函数向 1οορ2提供设定变量值; 过程量 PV为实际供油量 Lp, 通过测量得到;
在自动、 手动模式调节中, 1οορ2用于克服踏板给油与 PID loopl调节输出给油切换衔接时的偏差 , 从而克服人为的顿挫感, 即在换档完并不马上将油门切换为 "脚动 ", 而是用 PID 1οορ2调节节气门使 供油量跟踪并平稳尽快地与油门踏板行程对应的供油量相同, 在达到误差限值后将节气门控制权交由 手动, 此 PID参数设置应该取消微分调节, 比例带设定 1, 积分时间适中, 尽量使节气门开度按单值 斜率曲线尽快接近油门踏板行程对应的节气门开度, 避免供油震荡, 以使换档后车速平顺;
稳压滤波 PID 1οορ3 :
该 PID 回路用于因各种不良路况或人为过激踩踏油门时导致的供油即动力突然变化或不稳定现 象;
设定值为油门踏板行程电阻值 Rfuel对应的供油量 Ls, 过程量 PV为实际供油量 Lp, 当在子程序 acceleratefudO中检测到供油量剧烈抖动时, 该回路开始投入调节, 平滑缓冲供油量, 直至偏差小于设 定值后退出, 此 PID 参数整定与 1οορ2 相同; 其输出用于调节节气门, 优先权高于踏板油门而低于 loopU 1οορ2输出, 刹车怠速具有最高优先权;
可在供油泵之后连接一容量足够的 "稳压罐"达到类似的功能:
本装置设有用户维护 (参数设置) 人机接口 HMI子程序, 在驾驶室设置触摸屏, 或与导航仪等设 备共用, 在任何时候可输入密码对以下参数进行设置: 密码修改, 启车半联动与全联动选择, 低速刹 车强制分断离合车速设值, 启车选档及启车后档位强制在 4、 5档使能及其强制锁定时间设定, 换档车 速及其确认时间设置, 换档车速同步 PID使能, 啮合跟踪 PID使能, 供油稳压滤波 PID使能, 自动跳 档选择及其加速度阀值以及供油加速度阈值设定, 跳高档或跳低档后档位锁定时间设置, 停车挂空档 时间设置, 手动开关启车选择, 恢复出厂值: 即时生效即时运行, 重新启动微机将读取上次设置参 量。
为了实现上述功能本发明设计了主程序 (iman), 其中的自动控制程序 (auto ) 包括: 起步档位选择 程序 (startup class selecting), 2、 3档起步挂 4档程序 ( switching to 4 class after starts with 2 or 3 class ) , 跳档程序 (auto switchs for exceeding class ), 逐级换档程序 ( auto switchs class by class); 其中的手 动控制程序 (semiauto ) 包括: 变速比预设程序 (presetting the ratio of semiauto shift gears ) ; 以及各种 子程序: 停车挂空档子程序 (stopped to 0 class() ) , 主控子程序 (master controller()) , 换档子程序 ( ZDHDnO ), 三种频率测量子程序 (frequencyO), 加速度测量子程序 ( accelerate() ) . 供油加速度测量子 程序 (acceleratefiielO, 包括供油抖动测量), 参数设置子程序 (HMI())。
如图 4-5所示为电气式离合拉杆主要配件半行程划线电阻器, 前半部为滑线电阻, 后半部为短路 片, 滑动片侧上方设有电磁铁 31, 以便在车速超过一定值时, 电磁铁动作使滑动片离开滑线电阻断开 控制信号, 减少滑线电阻器磨损; 本方案手动离合开关使用图 8所示 6、 61莲花手柄, 端部 6的 3-4个电气开关在程序中使用其逻辑"或'' 信号, 具有脉冲保持功能, 直到分断或啮合到位为止, 并可相互闭锁, 按下开关离合分断, 松开离合 啮合, 在换档过程中离合器将无法啮合;
半行程划线电阻器应用于本方案的离合与刹车二合一踏板的离合拉杆, 当离合踏板与刹车踏板同 时布置在驾驶室左侧时, 改为全行程划线电阻器;
划线电阻器电阻值通过计算机程序转换为标准工程信号控制离合伺服电机, 手动离合开关通过计 算机程序输出拟合好的运动控制信号控制离合伺服电机, 依照离合器' '快踩慢放"的原则设定离合片的 动作时间, 当车速超过设定值时切断划线电阻器对离合的控制, 手动换档离合在任何时候对脚动离合 具有优先权:
刹车行程始端安装一行程开关, 通过程序逻辑, 当车速超过设定值时并有刹车时, 输出闭节点控 制图 7所示的怠速电磁阀使发动机处于怠速:
设计了基于离刹系统的升级版手动挡变速装置的计算机程序, 其逻辑功能详见说明书相关程序段 落, 当用伺服电机控制器的高低速功能或双速电机控制时,用 Q0.3 控制电机合适速度代替 Network 5 、 6逻辑啮合, 用 Q0.2控制电机高速分断, 则本装置程序用中间继电器、 逻辑芯片即可实现控制。
如图 1 所示为离刹系统机动车离合与刹车二合一踏板所用的半行程刹车拉杆, 用于对该类机动车 改进; 踏板前端的复位弹簧使钉字拉杆 13在踏板松弛状态时回到圆筒式拉杆 15的下部, 15被与机动车 一体的止挡板 16阻挡不能后退, 在踏板动作时拉杆钉字头 14被端冒 17阻挡, 从而造成前半行程自由空 行程。
如图 2-3所示为离刹系统机动车离合与刹车二合一踏板所用的半行程离合拉杆, 图 2中的外壳为方 筒或圆筒, 侧壁开有凹槽 25, 此外壳与车体固定, 其内上部为叉形拉杆叉柄与踏板轴链接且端部有复 位弹簧 21支撑于车体以提供回复力, 叉形拉杆一支叉的端部设有挂接顶针 23及其储能弹簧、 导向杆, 当叉形拉杆下移时依靠侧向分力将箭头拉杆 26挤出凹槽并挂接在叉形拉杆另一只叉端的倒钩上, 凹槽 对面合适位置设有脱钩顶针及其储能弹簧、 导向杆, 当拉杆上移时使箭头拉杆入槽定位; 下部为箭头 形拉杆通过拉伸弹簧 22连接于离合器摆臂, 拉伸弹簧的拉力及脱钩顶针的侧向脱钩力使箭头拉杆固定 于凹槽;
图 3离合拉杆的不同在于, 倒钩 28轴连接于叉形拉杆的一叉端且倒钩另一端有压缩弹簧及导向杆支 撑于叉端, 凹槽对侧相应位置设有压缩弹簧支撑的弹簧膜片 27, 当箭头拉杆 26上移至合适位置时, 依 靠此弹簧膜片将其挤入凹槽并实现与倒钩的分离; 在箭头拉杆进入凹槽前依靠其与倒钩的摩擦力维持 挂接, 箭头拉杆进入凹槽后依靠拉伸弹簧 22及摩擦力挂接在凹槽上;
上述拉伸弹簧 22可挂接在外壳上, 另外以无拉张力的拉杆连接离合其摆臂上, 以免影响摆臂的机 械 0点。
上述两种拉杆在前半部有效行程与空行程切换时有回程差, 通过精密机械设计、 制造可以使之尽 量减少, 但不能达到 0, 所以应将此回程差位置设计在有效离合行程末端以外, 避免回程差造成的错觉 对控制离合的影响。 当上述离合拉杆与莲花换档手柄配合时, 换档离合开关通过伺服电机或双速电机操做离合, 如图 6 所示, 机械式离合拉杆与离合电机输出轴分别通过刹车线连接在离合器摆臂上, 实现二者' '或"的逻辑 关系与电机离合的优先控制权, 优先控制权主要用于机械式离合拉杆半联动状态时实现换档离合电机 的优先控制, 由换档手柄端部离合开关控制换档时的离合动作比踏板更易操作。
本发明具有如下效益: 古老的文明传统与现代科技结合, 动力性能优良的齿轮变速与先进的微机 控制结合, 无疑会盛开璀璨的花朵。 本装置在手动 (MT)、 自动 (AMT )任何模式下通过先进的三回 路 PID调节实现了真正的齿轮无级变速功能, 绝无顿挫感, 可与 CVT竞相媲美。
可半联动启车、 低速蠕动, 任何情况下不溜车, 可在任意坡道启车, 同时加油提速; 也可以可全 联动启车、 快速换档, 提高了启车、 加速等的动力性能, 同等功率下启车速度无与伦比, 比普通手动 档 MT更加优越, 堪称 MT及 AMT的换代升级版, 满足飙车"酷党"欲望的同时得到了"绝对"的安全保 障. 这是其他变速装置所无法匹敌的。
同时具有有恶劣路况下供油稳压滤波功能, 简化了繁琐的驾驶动作, 提高发动机性能, 降低制造 成本, 提高车辆安全性, 永不误踩, 也无同时踩踏刹车油门的损害、 不冒黑烟。 体现"以人为本"的社 会生产原则, 体现了本装置 AMT的一个中心: 本质安全, 两个基本点- 齿轮变、 无级变的设计思想。 本发明的 MT、 AMT的驾驶与手动档一样, 符合传统、 正常的驾驶逻辑观念: 即松离合 (AMT没有离 合) 抬刹车, 加油或不加油 (MT、 AMT均可同时加油) 车辆开始启动; MT模式下正常手动换档; AMT模式下可任意档启车 (可选)并避免频繁自动换档 (可选), 推上任一前进档, 一推了之、 一档到 家; 自动根据车速、 加速度、 供油加速度换档跳档 (可选); 二者停车后均能自动挂空档并保持原模式 ; 用户可根据自己的行驶路况, 驾驶技能、 习惯和用途与目的总结经验并设置各项性能参数。 附图说明
下面结合附图, 通过对本发明的具体实施方式详细描述, 将使本发明的技术方案及其他效益显而 易见。
图 1为机械式半行程机动车刹车拉杆示意图。
图 2为机械式半行程机动车离合拉杆之一剖视图。
图 3为机械式半行程机动车离合拉杆之二剖视图。
图 4为电气式半行程机动车离合拉杆侧视图。
图 5为电气式半行程机动车离合拉杆正视图。
图 6踏板离合与手动电机离合同时使用时的拉线布置示意图。
图 7怠速电磁阀安装示意图。
图 8莲花手柄装配图。
图 9齿轮变速箱电动驱动装置平面布置示意图。
图 10莲花手柄软硬链节自动状态剖视图。
图 11莲花手柄软硬链节手动状态剖视图。 图 12 基于离刹系统的升级版手动挡变速装置计算机程序梯形图
图 13-16手自一体机械式无级变速装置计算机主控子程序梯形图 master controller 0 具体实施方式
以下结合附图对本发明进行详细描述。
离刹系统机动车刹车装置的几种半行程拉杆 如图 1 所示刹车拉杆, 为离合与刹车二合一踏板所用的半行程刹车拉杆, 用于对装有离刹系统机 动车刹车装置的机动车进行改进; 离刹踏板 1前端的复位弹簧 12使钉字拉杆 13在踏板松弛状态时回 到圆筒式拉杆 15的下部, 15被与机动车一体的止挡板 16阻挡不能后退, 在踏板动作时拉杆钉字头 14 被端冒 17阻挡, 从而造成前半行程自由空行程。
如图 2-3 所示为半行程离合拉杆, 为离合与刹车二合一踏板所用的半行程离合拉杆, 用于对装有 离刹系统机动车刹车装置的机动车进行改进; 图 2中的外壳 29为方筒或圆筒, 侧壁开有凹槽 25, 此外 壳与车体固定, 其内上部为叉形拉杆叉柄与踏板轴链接且端部有复位弹簧 21 支撑于车体以提供回复力 , 叉形拉杆一支叉的端部设有挂接顶针 23及其储能弹簧、 导向杆, 当叉形拉杆下移时依靠侧向分力将 箭头拉杆 26挤出凹槽并挂接在叉形拉杆另一只叉端的倒钩上, 凹槽对面合适位置设有脱钩顶针 24及 其储能弹簧、 导向杆, 当拉杆上移时使箭头拉杆入槽定位; 下部为箭头形拉杆通过拉伸弹簧 22连接于 离合器摆臂, 拉伸弹簧的拉力及脱钩顶针的侧向脱钩力使箭头拉杆固定于凹槽。
图 3离合拉杆的不同在于, 倒钩 28轴连接于叉形拉杆的一叉端且倒钩另一端有压缩弹簧及导向杆支 撑于叉端, 凹槽对侧相应位置设有压缩弹簧支撑的弹簧膜片 27, 当箭头拉杆 26上移至合适位置时, 依 靠此弹簧膜片将其挤入凹槽并实现与倒钩的分离; 在箭头拉杆进入凹槽前依靠其与倒钩的摩擦力维持 挂接, 箭头拉杆进入凹槽后依靠拉伸弹簧 22及摩擦力挂接在凹槽上。
上述拉伸弹簧 22可挂接在外壳上, 另外以无拉张力的拉杆连接离合其摆臂上, 以免影响摆臂的机 械 0点。
上述两种拉杆在前半部有效行程与空行程切换时有回程差, 通过精密机械设计、 制造可以使之尽 量减少, 但不能达到 0, 所以应将此回程差位置设计在有效离合行程末端以外, 避免回程差造成的错觉 对控制离合的影响。
当上述离合拉杆与下文所述莲花换档手柄配合时, 换档离合开关通过伺服电机或双速电机操做离 合, 调整电机速度以适合换挡离合动作的需要。 如图 6所示, 41为踏板离合拉线, 42为换档电机拉线, 4为离合器摆臂, 机械式离合拉杆与离合电机输出轴分别通过刹车线连接在离合器摆臂上, 实现二者 "或"的逻辑关系与电机离合的优先控制权, 优先控制权主要用于机械式离合拉杆半联动状态时实现换 档离合电机的优先控制, 由换档手柄端部离合开关控制换档时的离合动作比踏板更易操作。 基于离刹系统的升级版手动挡变速装置及计算机程序 该装置为本发明"一种基于离刹系统的机动车变速装置"的一实施例。 本装置的硬件构成- 图 4-5所示为电气式离合拉杆主要配件半行程划线电阻器, 用于本发明的升级版手动档变速装置, 前半部为滑线电阻, 后半部为短路片, 滑触片 3的侧上方设有电磁铁 31, 以便在车速超过一定值时, 电 磁铁动作使滑动片离开滑线电阻断开控制信号, 减少滑线电阻器磨损。
该划线电阻器与车体固定, 在离合拉杆 38带动下, 将划线电阻器的起始位置 34开始运动, 此时输 出离合片彻底啮合电阻值 R2, 33为公共引线, 运动过程中输出电阻值 RX, 为离合片半联动电阻值, 通过引线 35输出, 当踏板运动到一半行程时, 通过引线 36输出离合片彻底分离电阻值 Rl, 以后的行程 为短路片 37的空行程, 输出 Rl。
半行程划线电阻器应用于离刹系统机动车刹车装置的离合与刹车二合一踏板的离合拉杆, 当离合 踏板与刹车踏板同时布置在驾驶室左侧时, 改为全行程划线电阻器, 其电阻值信号直接输入到微机控 制器或通过电阻变送器转变为标准信号后送到微机控制器, 通过程序控制输出标准信号或转换为离合 伺服电机需要的信号从而控制离合器动作, 由莲花换挡手柄端部的离合开关通过微机控制程序控制离 合伺服电机, 从而控制换挡时的离合动作。 离合电机应具对任何量程内有效信号定位功能, 信号超量 程时锁定在相应离、 合位置功能, 以及离、 合位置锁定功能, 对断信号有使离合器回复分断位置功 能。
图 8所示 6、 61为本变速装置方案的莲花换档手柄, 端部 6的 3-4个莲花瓣式微动电气离合开关形成 半封闭壳体覆盖手柄上端, 调节微动开关的动作力度, 使之适手、 不误动不惰动: 此开关用于换档, 除 此之外与普通手动挡换挡手柄结构相同, 使用其逻辑"或"信号, 本装置计算机程序中的手动离合开关 具有脉冲保持功能, 直到分断或啮合到位为止, 并可相互闭锁, 当换档手柄在任一档位时, 其上的离 合开关全部处于断开位置超过离合器分断时间时, 离合片将处于啮合状态; 在离合片啮合状态下有任 一或多个手动离合开关发出脉冲闭合信号或常闭信号时离合片将分断, 在换档过程中离合器将无法啮 合, 在挂空挡时松开开关离合器可以啮合, 以保证机动车调试;
手动离合开关通过计算机程序输出拟合好的离合器运动控制程序控制离合伺服电机. 依照离合器 "快踩慢放"的原则设定离合片的动作时间, 保证车辆换档平稳; 手动换档离合在任何时候对脚动离合 具有优先权;
刹车行程始端安装一行程开关, 通过程序逻辑, 当车速超过设定值时并有刹车时, 输出闭节点控 制图 7所示的怠速电磁阀使发动机处于怠速, 图中 5为供油油路, 怠速电磁阀 51关断时仍有一定油量维 持发动机怠速. 或者完全关断供油, 但怠速旁路 52可通过维持发动机怠速的油量。
本装置采用离刹系统机动车刹车装置方式布置踏板,左脚踩踏刹车踏板及离合踏板 (或二者合一的 离刹踏板), 由滑线电阻器及离合电机取代机械式离合装置, 右脚踩踏油门踏板,配合图 8所示莲花手动 换挡手柄,在启车及低速时,仍由离刹踏板半联动控制车辆及挂离合停车, 达到半联动启车、 换挡、 低速 蠕动等驾驶目的, 在车速超过设定值时,屏蔽离合踏板滑线电阻器对离合器的控制,从而减少了因离合器 的频繁动作对其寿命的影响, 且有效地利用发动机的曳动效应。
上述基于离刹系统的升级版手动挡变速装置计算机程序如下: 本装置计算机程序以 STEP7-MICRO WIN梯形图编程, 实际应用时可转化为相应 C等语言。
当用伺服电机控制器的高低速功能或双速电机控制时,用 Q0.3控制电机合适速度代替 Network 5、 6 逻辑啮合, 用 Q0.2控制电机高速分断, 则本装置程序用中间继电器、 逻辑芯片即可实现控制。
如图 12所示程序逻辑诠释如下:
Network 1: IIX-. 速度阇值变量.如输入 8km/h;V: 实时车速。 当车速超过一定值时,输出闭接点 Q0.0。
Network 2: 隠.' 刹车信号: Q0.1 : 发动机怠速电磁阀控制继电器。
〃当有 Q0.0、 B1同时出现时,输出 Q0.1,使发动机处于怠速。
Network 3: // SI : 手动离合开关闭合"或"信号,即离合器分断命令。 // ENDI : 离合器分断到位信号。 //当 S1 动作时,此时只要没有离合器分断到位信号,且没有离合器啮合命令信号 Q0.3,则输出离合器分断 命令 Q0.2并自锁,以防中途 S1消失直至到位;此命令无关挡位,保证空挡及换挡过程中离合器可以分断。
Network 4: 〃DD: 档位位置"或''信号, (可以含空挡); //END2: 离合器啮合到位信号。
//当 S1 无动作时,此时如果没有离合器啮合到位信号以及分断命令 Q0.2,并且换挡手柄己位于任一挡位, 则输出离合器啮合命令 Q0.3并自锁,直至啮合到位,此逻辑保证空挡位及换挡过程中离合器无法啮合。
Network 5: //内部常通继电器 SM0.0保证运动控制模块 POS0— CTRL始终有效,在有 Q0.3命令时,通过 POS0— RUN运动模块控制离合伺服电机按预定速度啮合到位。
Network 6: 〃当有啮合命令 Q0.3时,使 POS0_RUN有效,在上升沿脉冲 P启动下,存有 motion profiles 的 POS0— RUN读取 VB228中的包络表,该表可以包含两步运动曲线: 离合片接触前以最快速度运动,开 始接触后以一个合适的速度运动直至完全啮合, 此速度主要保证动力的传输及离合片的寿命。 //在 Q0.3命令有效期间,通过 Aclth实数寄存器输出实数控制离合伺服电机运动到位,啮合到位信号 END2结 束 POS0— RUN对电机的控制,伺服电机应具有具有断信号、 断电保位功能。 本段 Aclth寄存器与下述两 个 Aclth公用一寄存器,通过 D/A转换模块输出 4-20mA、 1-5DCV、 pulse等标准工程量控制离合伺服电 机。 可以利用伺服电机控制器的高低速功能或双速电机实现此逻辑,此时用 Q0.3控制电机低速。
Network 7: // Rxx: 数字量 REAL,离合滑线电阻器输出的电阻变量对应的工程量。
//在车速小于预设阈值时,且没有离合器啮合或分断命令时,离合器由离刹踏板滑线电阻器输出的电阻控 制,以便在车辆启停及低速行驶时控制车速。 手动换档离合在任何时候对脚动离合具有优先权。
Network 8: // R11 : 数字量 REAL,离合片彻底分时离合滑线电阻器电阻值 R1对应的工程量,传输指令 保证在有离合器分断命令时第一时间将此值输入伺服电机控制器,确保离合器以最快速度分断。 手自一体机械式无级变速装置及计算机程序 本装置为本发明"一种基于离刹系统的机动车变速装置"的另一实施例。 本装置的硬件构成: 本装置基于离刹系统机动车刹车装置 (.8 ), 取消离合踏板,左脚踩踏刹车踏板,在踏 板行程的始末分别装有行程快关 Bl, B2, 右脚踩踏油门踏板,该油门踏板链接一划线变阻器, 其输出 电阻信号通过微机输出对应的节气门控制信号 M3。 图 8所示的手动离合开关 6、 换档手柄 61 为本装 置的莲花换档手柄, 端部 3-4 个莲花瓣式微动电气离合开关形成半封闭壳体覆盖手柄上端, 调节微动 开关的动作力度, 使之适手、 不误动不惰动; 此开关用于换档和模式切换, 在计算机程序中使用其逻辑 "或"信号, 具有脉冲保持功能, 直到分断或啮合到位为止, 并可相互闭锁, 在无低速强制分断离合信 号时手动模式下按下开关离合分断, 松开离合啮合, 在换档过程中离合器将无法啮合, 自动状态下可 换档但不能操纵离合; 离合伺服电机性能如上一实施例所述;
图 8-9所示 66、 69分别为步进电机 Ml、 M2,分别位于三条导轨 68上驱动轴承支撑驱动板 62, 实 现 xy平面运动,从而实现换档手柄的各个档位及各个空档位的定位,档位及编号以图示为例, 程序根据开 关状态将 CLSP变量置入相应编号,步进电机 M2对侧有一套球形万向节式滚动轴承 63与之位于同一可 移动支撑驱动板 62上,该板与轴承万向节式链接,用于移动手柄, 如图 8、 图 10所示, 轴承套在机械换 挡柄 64上, 中间穿过莲花换档手柄 61,以减少换档时摩擦,在手动模式时,手柄带动电机换档,在自动模式 时,电机带动手柄换档,由此可见,本自动换挡装置只是在手动挡变速箱加装 XY平面驱动装置电机及导轨 即可,其余不动。 步进电机无断电位置保持 (锁死)功能, MT的变速箱无外力驱动手柄时不会自行换档; 如图 9 所示,本装置各档档位各安装一行程开关, 包括空档的三个档位, 编号如图所示, 为了换 挡期间使档位到位到离合片完全啮合这段调节时间延长, 设计了较长的档位行程开关, 如图 9的 67, 软质弹簧支撑, 以便换档轻松且提前传送档位到位信号; 或者一个档位装设两个档位开关, 如图 9 的 65, 以便提前预知到位信号; 或者使用电磁接近开关, 在换档手柄准备进入档位前正好感知, 隐蔽性 好, 又可防污染。
图 10、 图 11所示为莲花换档手柄与机械换档柄的链节, 图 10为自动状态, 此时手柄柔性, 以 硬质弹簧 75连接, 以防快速换档时伤人, 但压接榫头 7及链节结构可以保证少量的手动换档动作, 如 停车时挂空档; 当机械换档柄链节处电磁线圈 72 带电时将使该链节处于图 11 的手动状态, 此时手柄 刚性, 以便快速换档, 当电磁线圈 74带电时卡铁 71 回缩从而手柄回到自动状态, 计算机程序将根据 手自动模式的不同控制电磁线圈接通数秒来转换换档手柄状态。
本装置在传统机械式变速箱上加装电动式换挡驱动装置,离合器由伺服电机控制其动作,由微机程序 控制自动换挡,将普通手动挡机动车升级为"无级变速"自动挡机动车,并可切换至纯手动换挡。
机械式自动换挡装置也可选用气动式、 液压式,根据具体机动车资源状况及节能环保性视方便而定 , 但实际液压系统并不节能, 只要发动机工作就提供足够的液压维持工作,常常是过剩的油压, 而伺服 电机只在换挡期间耗能。 本发明装置属于本安型, 基于离刹系统刹车装置而拥有如下本质安全性:永不误踩, 也无同时踩踏 刹车油门的损害、 不冒黑烟。 可以避免一个重大交通安全隐患: 因误踩油门且来不及换脚踩刹车造成 的重大交通事故: 因左脚刹车 (本装置手动挡 MT 可联动离合) 在右脚误踩油门时左脚在意识及动作 上有足够的闲暇及时遏制事态的发展。 本装置的软件功能: 本发明的 ΜΤ、 ΑΜΤ的驾驶与手动挡一样, 符合传统、 正常的驾驶逻辑观念: 即松离合 (ΑΜΤ没 有离合) 抬刹车, 加油或不加油 (ΜΤ、 Α Τ 均可同时加油) 车辆开始启动; ΜΤ 下正常手动换挡; ΑΜΤ下可任意档启车并避免频繁自动换挡动作, 简化了复杂的驾驶动作, 推上任一前进挡, 一推了之 、 一档到家: 自动根据车速、 加速度、 供油加速度换挡跳档。
自动模式下, 可选择 1 档或 1、 2、 3档或任一档启车并手动挂入相应档位, 挂入未被选中的档位 将被强制退至 1档, 2、 3档等高档位启车后将强制挂入 3、 4档等高位挡维持数秒, 至车速达到该档 车速或超时后解除强制; 非一档启车在启车后数秒内禁止进入按车速自动换挡程序。
自动模式下, 正常情况下按车速度换挡, 设有 1 秒的车速确认时间; 在加速度达到设定值后而未 达到换挡车速时, 将按程序逐级跳档, 加速度再大将越级跳档, 在车辆减速加速度或收油加速度达到 设定值后而未达到换挡车速时, 将逐级减档, 再大将越级减档; 这些设置己经包含了驾驶过程中可能 出现的上下坡、 急刹车等各种行驶状况, 在逐级或越级跳档、 减档后, 将进入数秒的强制档位稳定期 , 至车速达到该档车速或超时后解除强制, 随后进入正常按车速换挡模式, 此功能可避免因车速不符 合正常换挡要求而退回原档等反复换挡, 也可一直驾驶在某档位; 这些性能将使驾驶得心应手。
开机进入手动控制模式 (Q0=0), 档位在非倒车档与车速大于等于 0 时可进入自动模式且手动模式 (Q0=0)与自动模式 (Q0=1)可以相互切换 ,只需在 1秒钟内快速按动手动离合开关达到 2次及以上即可 ( 可在驾驶室合适位置或 HMI 触摸屏上设置切换按钮代替此操作), 在自动模式下挂倒档 (静止踩刹车 可挂任何档) 或倒车 (意外等) 将强制退出自动模式至手动, 在自动模式前进时手动换非倒车挡无效 , 在任何模式下停车或开机检测到静止超过 1分钟后仍未挂空挡, 将自动挂空挡并维持原模式。
在任何模式下静止时只要有刹车不管踩到底与否都可以换档或挂空挡: 当手动离合开关闲置且刹 车踩到底后轻抬刹车踏板, 车辆即可平顺加速启车 (全刹车启动) ,即在手动离合开关和刹车到底信号 都消失后可启车; 刹车不踩到底刹车信号消失 (无刹车启动) 或出现 SD又消失 (半刹车启动) 将启车 ; 任何情况下由静止启车都可同时踩踏油门踏板达到迅速启车的目的, 并可选择蠕动 (平稳) 启车或 全联动 (快速) 启车; 提高了启车、 加速等的动力性能, 同等功率下启车速度无与伦比, 任何情况下 不溜车, 可在任意坡道启车, 比背普通的手动挡 MT更加优越. 堪称 MT及 AMT的换代升级版, 满足 飙车"酷党"欲望的同时得到了"绝对"的安全保障, 体现了齿轮变、 无级变的设计思想。
车速低于限值非静止时踩踏刹车不管到底与否都将强行分断离合, 此时可换挡、 挂空挡或直接停 车, 刹车消失车辆如未静止将进入与启车一样的半联动加速状态 (低速蠕动); 除启车阶段外踩下刹车 发动机将被强制怠速。 可通过如图 7所示怠速电磁阀或节气门控制, 微机通过程序控制换挡及启车时 的离合啮合运动曲线和时间, 以达最佳的启车平顺性和动力性, 见本装置计算机程序; 3套 PID调节回路:
本装置无论在手动 (MT)、 自动 (AMT) 模式下通过先进的双回路 PID 调节可实现齿轮无级变速 功能, 并设有恶劣路况供油稳压滤波 PID 回路, 使在换挡过程中无顿挫感, 当换挡时间很短时, 性能 已直逼无级变速 CVT了, 动力强劲, 平顺舒适。
车速同步 PID loopl :
在手动模式下, 车速同步 PID 可以根据发动机空载转速-供油量特性曲线 (函数), 按照档位状况 , 车辆加速度、 供油等状况预置 PID变速比参数, 根据实时预设目标档位及档位到位后的实际档位计 算发动机转速折算的车速 Vy=K*N/DX,作为 PID 调节的被控量、 过程量, 使发动机转速跟踪车速, 在 实际到位档位与目标档位不符时, 增加微分 D 调节功能, 从而缩短调节时间, 以使在离合器啮合前快 速、 准确调节发动机转速同步车速. 达到换挡车速无扰切换, 如仍不能达到平顺换挡的目的, 只要延 时松手动离合 1秒左右即可。 行车期间挂空挡及停车 PID不参与跟踪。
在自动模式下, 此时在 PID跟踪程序中,被控量 函数中的变速比寄存器 Dx值由目标挡位标号 寄存器 ZD决定陚值,不产生跳变,在离合分断、 换挡、 离合啮合过程中, PID有充足的时间调节 Vy跟踪 vx。 自动换挡期间空挡位置离合不会啮合维持继续调节。
啮合跟踪 PID 1οορ2:
该回路在 loopl调节完毕马上介入, 其输出 M3用于调节节气门, 使实际供油跟踪油门踏板, 直至 无扰切换; 设定值为油门踏板行程电阻值 Rfiiel对应的供油量 Ls, Ls应通过实验获得 L-R数据表、 曲 线, 进而得出经验函数 L=f (R) 或拟合函数, 根据此函数向 1οορ2提供设定值变量; 过程量 PV为实 际供油量 Lp, 通过测量得到。
在自动、 手动模式调节中, 1οορ2用于克服踏板给油与 loopl-PID调节输出给油切换衔接时的偏差 , 从而克服人为的顿挫感, 即在换挡完并不马上将油门切换为 "脚动", 而是用 PID 调节节气门使供油 量跟踪并平稳尽快地与油门踏板行程对应的供油量相同, 在达到误差限值后将节气门控制权交由手动 , 注意此 PID 参数设置应该取消微分调节, 比例带设定 1. 积分时间适中, 尽量使节气门开度按单值 斜率曲线尽快接近油门踏板行程对应的节气门开度, 避免供油震荡, 以使换挡平顺, 这个调节时间主 要取决于司机对油门的操控程度, 如果换挡后油门踏板抖动比较激烈, 这个时间就会比较长, 但这个 没关系, 因为己经换挡完毕, 不存在动力不足问题, 这个环路 PID的存在相当于滤波器 (稳压器), 平 滑、 优化了踏板供油的阶跃、 抖动等的扰动, 不存在换挡延时与动力流失的概念。
因发动机对供油的迟滞时间小、 系统响应快, 在一般路况下及驾驶技术下, 扰动量只有 loopl手动 状态下偶尔' '失算 "的变速比的阶跃扰动, 这个己经采取措施克服, 以及驾驶技术的不熟练, 因此两个 PID调节时间都相当短, 缩短换挡时间的前提是 PID 整定参数至最佳状态, 调节时间足够短 (前提是 保证偏差足够小), 这要求微机性能、 时钟频率足够高, PID 整定恰当合适。 然后保证换挡、 离合响应 时间在 PID调节时间内 (机械性能足够好: 提高换挡、 离合电机功率、 转速), 当换挡时间足够短时, 将无动力间断现象且无因换挡造成的顿挫感。 稳压滤波 PID loop3 :
该 PID回路用于因各种不良路况或人为过激踩踏油门时导致的动力突然变化现象。
设定值为油门踏板行程电阻值 Rfuel对应的供油量 Ls, 过程量 PV为实际供油量 Lp, 当在子程序 acceleratefuelO中检测到供油量剧烈抖动时, waveWY=l 该回路开始投入调节, 平滑缓冲供油量, 直至 APV5偏差小于设定值 ASET5退出。 其输出 M5用于调节节气门, 优先权高于踏板油门而低于 loopl、 1οορ2输出, 刹车怠速具有最高优先权。
此 PID参数整定与 1οορ2相同。
实际这个功能可以应用于没有赛车需求的机动车, 尤其在路况恶劣、 复杂情况下, 可协助司机控 制脚的抖动对供油量 "骚扰 ", 这个环路 PID 的存在相当于滤波器 (稳压器), 平滑、 优化了踏板供油 的阶跃、 抖动等的扰动。 也可在供油泵之后连接一容量足够的''稳压罐 "达到类似的目的。
当换挡时间极短时, 换挡过程中几乎没有动力不足的失速感, 换完档就一路顺风、 一路平安了, 颠簸路况时当供油波动比较大时即投入稳压滤波功能 PID . 从而使供油稳定, 达到舒适驾驶、 无顿挫 的目的, 即使急速加速或刹车 (必要时要有 ABS ), 整个驾驶过程也比较平顺。
人机接口 HMI:
本装置设有用户维护 (参数设置) 人机接口 HMI子程序, 在驾驶室设置触摸屏, 或与导航仪等设 备共用, 在任何时候可输入密码对以下参数进行设置: 密码修改, 启车半联动与全联动选择, 低速刹 车强制分断离合车速设值, 启车选档及启车后档位强制在 4、 5档使能及其强制锁定时间设定, 换档车 速及其确认时间设置, 换档车速同步 PID使能, 啮合跟踪 PID使能, 供油稳压滤波 PID使能, 自动跳 档选择及其加速度阈值以及供油加速度阈值设定, 跳高档或跳低档后档位锁定时间设置, 停车挂空档 时间设置, 手动开关启车选择, 恢复出厂值; 即时生效即时运行, 重新启动微机将读取上次设置参 量。 用户可根据自己的行车路况, 驾驶技能、 习惯和用途与目的总结经验并设置各项性能参数, 量体 裁衣, 到什么山唱什么歌, 我的车我驾驭, 我做主, 高档、 时尚、 潮流. 可心可人, 任我驱使。
为了实现上述功能本发明设计了主程序 (mian), 其中的自动控制程序 (auto ) 包括: 起步档位选择 程序 (startup class selecting ), 2、 3档起步挂 4档程序 (switching to 4 class after starts with 2 or 3 class ) , 跳档程序(auto switchs for exceeding class ), 逐级换档程序 (auto switchs class by class); 其中的手 动控制程序 (semiauto ) 包括: 变速比预设程序 (presetting the ratio of semiauto shift gears ); 以及各种 子程序: 停车挂空档子程序 (stopped to 0 class() ), 主控子程序 (master controllerO), 换档子程序 ( ZDHDnO ), 三种频率测量子程序 (frequencyO) , 加速度测量子程序 ( accelerate() ), 供油加速度测量子 程序 (accelerateftiel(), 包括供油抖动测量), 参数设置子程序(HMI())。 手自一体机械式无级变速装置计算机程序:
/?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
main program主程序
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/ Λ本程序用 C语言编写,在实际工程中应根据需要将本程序转换为相应的统一可执行语言。 */ /*编写本程序的目的在于阐明本发明装置的结构及其控制逻辑、 算法、 控制策略,并非提供可实施 用户程序,所以只写了必要的程序.但辅以说明足以使普通程序员使用相应软件编写可实施程序,如 51 单 片机的 C语言 。
/*本程序以硬件晶振频率扫描刷新数据,主程序、 子程序、 中断程序等各程序那段满足条件即执行 那段程序,可能若干程序同时执行.如 master controller程序始终"在线" 。 */
#include &stdio.h& /* 库函数头文件 */
#include&match.h&
#include& stdlib.h &
#include& process.h &
^include &reg51 h& /*如果用 MS51编程等 */
#define DX1 3.94 /* 定义变速比宏常量, 以凯美瑞 2405AT为例, 根据实际需要修改 */ #define DX2 2.20 /*这类参数用于更换车型, 可批量生产时更改或设置二级密码 */
#define DX3 1.41 /*或由厂家技术人员通过 HMI触摸屏更改 */
#define DX4 1.02
#define DX5 0.74
Int Q0, Q0.5, Q0.8, X0.8,ZD,CLSP,S1,M1,M2, SD, SDL SD2, SD3, SD4, /* SI: 离合分断命 令,全局变量 */
D1,D2,D3,D4, D5, D10, D30, D50, D-l, /* Dl— D5,各档位见附图 9*1
swth, END1, END2, /* 全局手动离合触发频率变量,离合分断、 啮合到位信号
classtoO, 1* 手动模式离合动作标志 */
waveWY=0; 1* 供油供油抖动超限标志 */
TCGZ; /*手动挡停车停止 PID跟踪 */
float VX, DX, fuel, acce, accef, /*分别为实时车速、 变速比寄存器、 供油量、 加速度、 供油加速度 * Int ZDHD1 (viod); 1* 换挡子程序 */
Int ZDHD2(viod);
Int ZDHD3(viod);
Int ZDHD4(viod);
Int ZDHD5(viod);
Int ZDHD0(viod); /* 换 0挡子程序 */ viod frequency (); /* 手动离合开关触发频率子程序 */
void master controller (int S 1,foat DX, int waveWY, int TCGZ,int SDQC); I*主控子程序 */ int delay_xs(unsigned int X); I* 延时子程序 */
viod stopped to 0 class (unsigned int Y); /*停车挂空挡子程序 */
viod accelerate(viod); /*加速度测量子程序 *1
viod acceleratefuel (viod); /*供油加速度测量子程序 */
viod HMI (viod): /*参数设置模式子程序 */
/?XXXXXXXXXX setable program variable XXXXXXXXXXXX*/ /*触摸屏"设置"按钮变量 */
float YT, QB23G4T, TDQZT. ZDQZT, /*停车挂空挡等待时间, 起步 23档跳 4档强制时间,行车跳 高档强制时间 , 行车跳低档强制时间 */
V 2, V 3, V 4, V 5, XXT, X0.1 ; /*换挡车速及其确认时间, 低速摘离合低速限值 */ acce2 ,acce 2 ,accel,acce l , accef 2 , accef 1 ; /*跳档加速度、 供油加速度设定 */
χχχτ; /*非 1档启车进入按车速换挡程序延时 */
Int QBXD, QB23G4, /* 起步选档 (出厂默认值只允许一档起步). 起步 23档跳 4档选择 */ XBTDS, QXBLD, HDTB,NHGZ, GYLB, /*跳档、 起车半联动、 换挡同步、 啮合跟踪、 供油滤波 等选择项 */
XXXX, SDQC, DS D; /*密码寄存器, 手动启车许可, 低速蠕动 */
Void main()
int i,m, Dgo ;
Q0=0; setupin=0; /*initializing for manual mode */
Int spavml ( int P— WAIT, char * HMI()); /* Call HMI subprogram for evaluating*/
Int spawnl ( int P_NOWAIT. char * frequency (》; ,* running frequency and running main program at the same*/
Int spawnl ( int P— NOWAIT, char * accelerate( ));
Int spawnl ( int P— NOWAIT, char * acceleratefuel (viod》;
while(l) /* always running when power on */
Printf ("setup\n"); /*show with a stable position on touch-srceen */
scanf(4i%d"-&setupin); /*scan the 10 of touch-screen,when press "setup" send 1 to main, otherwise 0 */ if ( setupin )
Int spawnl ( int P— NOWAIT, char * HMI0); /* Call HMI subprogram for setting and running main at the same time */ /?XXXXXXXXXX evaluating and Mode selecting XXXXXXXXXXXX*/
If (Dl) CLSP==1; else If (D2) CLSP=2; devaluating CLSP with real class variable in real time*/ else If (D3) CLSP=3; else If (D4) CLSP==4; else If (D5) CLSP=5; else If (DlO) CLSP==10; else If (D30) CLSP== 30;
else If (D50) CLSP= 50; else if (D-l) CLSP==-1; else CLSP==88;
Dgo=Dl||D2||D3||D4||D5||D10||D30||D50; /* Dgo evaluated by any going and empty class */ If(Dgo &&VX&=0&&!Q0&& swth &=2) {Q0=1 ; sw h=0;Sl=0; ZD=1 ; TCGZ=1; } I* go into auto mode and initializing, also can set a button in cab or on
touch-screen then isteads the frequency() subprogram * I
If(CLSP=-l||VX&0||(Q0&& swth &=2)) {Q0=0:swth=0: classto0=0; } /* go into manual mode and initializing */
/?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx auto program 自动档程序
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ if(Q0) /*go into auto mode *l
Printf ( "auto mode %d class \n " .CLSP); /*show"auto mode CLSP class"on a stable position of touch-screen*/
If(ZD=l) DX= DX1 ; /* the value of DX decided by ZD */
Else If(ZD=2) DX= DX2:
Else If(ZD=3) DX= DX3;
Else If(ZD==4) DX= DX4;
Else If (ZD==5) DX= DX5;
Else If (ZD==0) DX= DX 1; /* have no practice signification */
int spawnl ( int P NOWAIT, char * master controller(), char *S1, char *DX,char * waveWY, char * TCGZ, char * SDQC); /* running the sub-program and running this program at the same time , and bring the parameters of s 1 & DX 、 waveWY、 SDQC to subprogram*/
/*XXXXXXXXXX startup class selecting XXXXXXXXXXXX*/
{ Switch (QBXD)
{ Case 0: ; /* allow any class to start */
Case 23: I* allow 1、 2、 3 class to start */
if(CLSP == 4||CLSP = 5)
{ S1=1; ZD=1; Int spawnl ( int P WAIT, char * ZDHD1()); /* running the sub-program of auto switching class of ZDHDO */
if (Q0.5 ) {for (;;) {if (Q0.8 ) } } S I = ZDHD1(); }
default: I* only allow 1 class to start with any others input*/ if(CLSP == 2||CLSP = 3|| CLSP = 4||CLSP == 5)
{ S1=1; ZD=1;
Int spawnl ( int P—WAIT, char * ZDHD 1 ());
if (Q0.5 ) {for (;;) {if (Q0.8 ) } } SI = ZDHD1(): }} /* switch to 1 class or others class permitted to start but do not go out of the last mode when suddenly stop such as urgently braking */
/?XXXXXXXXXX*** switching to 4 class after starts with 2 or 3 class ***XXXXXXXXXXXX*/
If (QB23G4)
If(X0.8&&CLSP = 2){ for(;;){If(!X0.8) }delay_xs(l); S1=1; ZD=3;
Int spawnl ( int P—WAIT, char * ZDHD3());
if (Q0.5 ) {for (;;) {if (Q0.8 ) } } SI = ZDHD3(); m=QB23G4T* 1000; while( m -) {
for(i=0;i&=100;i-H-){ if(VX&V3) } } } /* suppose that QB23G4T=1 circle waste Is, when velocity still not reach V3 the coerce will be released */
else If(X0.8&&(CLSP == 3){ for(;;){If(!X0.8) }delay_xs(l);
S1=1; ZD=4;
Int spawnl ( int P—WAIT, char * ZDHD40);
if (Q0.5 ) {for (;;) {if ( Q0.8 ) } } SI = ZDHD40;m=QB23G4T* 1000; while( m --) { for(i=0;i&=100;i++){ if(VX&V4); } } }
else If(X0.8&& ( CLSP == 4)){ delay_xs(8); m=QB23G4T*1000; while( m -) { for(i=0;i&=100;i++){ if(VX& V4); } } }
else If(X0.8&& ( CLSP == 5) { delay— xs(8); m=QB23G4T*1000; while( m -) { for(i=0;i&=100;i++){ if(VX&V5); } } }
auto switchs for exceeding class
/* not reaching the next class velocity */
/* ONE ACCELERATION, TWO DECELERATION */
If (XBTDS)
{ If (CLSP == 1)
{ If (acce&= acce2) /* 1.8m/s2(about with 15s accelerate to lOOkm/h, confirmeds it in practice based on the experimented car */ { S1=1; ZD=3 ;
Int spawnl ( int P—WAIT, char * ZDHD3()): /* can be compiled as ZDHD4();*/
if (Q0.5 ) {for (;;) {if (Q0.8 ) } } SI = ZDHD3(); m=TDQZT* 1000; while( m --){ for(i=0;i&=l 00;i++){ if(VX&V3): } } } /*will released force supposed circled with setted time still not reached V4 */
If (acce& acce2&&acce&= accel) /* 1.5m/s2(l 8s accelerate to lOOkm/h) */
{S1=1; ZD=2 ;
Int spawnl ( int P— WAIT, char * ZDHD2());
if (Q0.5 ) {for(;;){if ( Q0.8 ) } } SI = ZDHD2(); m=TDQZT* 1000: while( m -) { for(i=0;i&=100;i++){ if(VX&V2): } } } }
else If(CLSP = 2)
{ If (acce&= acce2) /* 1.8m/s2(about with 15s accelerate to lOOkm/h, confirmeds it in practice based on the experimented car */
{S1=1; ZD=4 ;
Int spawnl ( int P—WAIT, char * ZDHD4()); /* can be compiled as ZDHD4();*/
if (Q0.5 ) {for (;;) {if ( Q0.8 ) } } SI = ZDHD4(); m=TDQZT* 1000; while( m -){ for(i=0 ;i&= 100;i++) { if(VX&V4): } } } /*will released force supposed circled with setted time still not reached V4 */
If (acce& acce2&&acce&= accel) /* 1.5m/s2(18s accelerate to lOOkm/h) */
{S1=1; ZD=3;
Int spawnl ( int P—WAIT, char * ZDHD3());
if (Q0.5 ) {for (;;) {if ( Q0.8 ) } } SI = ZDHD3(); m=TDQZT*1000; while( m --) { for(i=0;i&=100;i-H-){ if(VX&V4); } } }
if(acce&= acce _1|| accef& accef _1) I* suddenly decelerated for any case such as rapidly reducing oil, the 1.5ml/s2 is estimated, */
{S1=1; ZD=1;
Int spawnl ( int P—WAIT, char * ZDHD1());
if (Q0.5 ) {for (;;) {if (Q0.8 ) } } S1 = ZDHD1(); m=ZDQZT*1000; while( m -) { for(i=0;i&=100;i-H-){ if(VX&V2); } }} }
else If (CLSP = 3)
{ If (acce&= acce2) /*not permitted with 0 class when running in auto mode, the acceleration only because oil being inceased */
{S1=1; ZD=5 ;
Int spawnl ( int P—WAIT, char * ZDHD5());
if (Q0.5 ) {for(;;){if CQ0.8 ) } } SI = ZDHD5(); m=TDQZT* 1000; while( m --){ for(i=0;i&=100;i++){ if(VX&V5); } } }
If (acce& acce2&&acce&= accel)
{S1=1; ZD=4 ; Int spawnl ( int P— WAIT, char * ZDHD4());
if (Q0.5) {for (;;) {if (Q0.8) } } SI =ZDHD4(): m=TDQZT*1000; while( m -) { for(i=0;i&=100 if(VX&V4); } } }
if(acce&= acce _2|| accef& accef 2)
{S1=1;ZD=1;
Int spawnl ( int P— WAIT, char * ZDHD1());
if (Q0.5) {for(;;){if (Q0.8) }} S1=ZDHD1(); m=ZDQZT*1000; while( m --) { for(i=0;i&=100:i++){ if(VX&V2); break: } }}
if(acce&= acce _1|| accef& accef _1)
{S1=1:ZD=2;
Int spawnl ( int P— WAIT, char * ZDHD2()):
if (Q0.5) {for(;;){if (Q0.8) } } SI = ZDHD2(); m=ZDQZT*1000; while( m -) { for(i=0;i&=100;i++){ if(VX&V3); } }} }
else If(CLSP = 4)
{ If (acce&= accel)
{S1=1;ZD=5;
Int spawnl ( int P— WAIT, char * ZDHD5());
if (Q0.5) {for (;;) {if (Q0.8) break: } } SI =ZDHD5(); m=TDQZT* 1000; while(m--){ for(i=0;i&=100;i++){ if(VX&V5); } } }
if(acce&= acce _2|| accef& accef 2)
{S1=1;ZD=2;
Int spawnl ( int P— WAIT, char * ZDHD2());
if (Q0.5) {for (;;) {if (Q0.8) } } SI =ZDHD2(); m=ZDQZT*1000; while( m --){ for(i=0;i&=100;i-H-){ if(VX&V3); } }}
if(acce&= acce _1|| accef& accef一 1)
{S1=1;ZD=3;
Int spawnl ( int P— WAIT, char * ZDHD30);
if (Q0.5) {for(;;){if (Q0.8) } } S1=ZDHD3(); m=ZDQZT* 1000; while( m -) { for(i=0;i&=100;i++){ if(VX&V4); } }} }
else If (CLSP == 5) { if(acce&= acce _2|| accef& accef—2)
{S1=1;ZD=3;
Int spawnl ( int P— WAIT, char * ZDHD3());
if (Q0.5) {for (;;) {if (Q0.8) } } SI =ZDHD3(); m=ZDQZT*1000; while( m -) { for(i=0;i&=100;i++){ if(VX&V4); } }}
if(acce&= acce _1|| accef& accef—1)
{S1=1;ZD=4;
Int spawnl ( int P— WAIT, char * ZDHD4());
if (Q0.5) {for(;;){if (Q0.8) } } S1=ZDHD4(); m=ZDQZT*1000; while( m --) { if(VX&V5); } }}
/* already reaching the next class velocity */
if(X0.8&& CLSP !=l) delay_xs(XXXT);
{ loop88:;
If(VX&0 &&VX &= V 2&&CLSP != 1) /* to 1 class*/
{ m= XXT *1000; while( m -){ || VX & V 2)
goto loop88; } } /* to sunprogram of delay— xs, delay Is) */
{ Sl=l: ZD=1; /* disjoining clutch.evaluating ZD to adjust the parameter of PID */ Int spawnl ( int P—WAIT, char*ZDHDl()); /*running the sub-program of auto switching class of ZDHDl */ if (Q0.5 ) {for (;;) {if (Q0.8 ) }} SI = ZDHDl (); ^completed swithing S1=0 to close the clutch*/} } else If(VX&V2 &&VX &=V 3&&CLSP != 2) /* to 2 class*/
{ m= XXT *1000; while( m --){ for(i=0;i&=I00;i++){ If(VX&= V2 || VX & V 3)
goto loop88; } } /* to cut off the pulse of velocity*/
{ S1=1; ZD=2 ;
Int spawnl ( int P—WAIT, char * ZDHD2());
if (Q0.5 ) {for (;;) {if (Q0.8 ) } } SI = ZDHD2(); } }
else If (VX&V3 &&VX &= V 4&&CLSP != 3)
{ m= XXT * 1000; while( m -) { for(i=0;i&=100;i++){ If(VX&= V3|| VX & V4 ) goto loop88; } } { S1=1; ZD=3;
Int spawnl ( int P—WAIT, char * ZDHD3()); if ( Q0.5 ) {for (;;) {if ( Q0.8) } } SI = ZDHD30; } } else If (VX&V4 &&VX &= V5&&CLSP != 4)
{ m= XXT *1000; while( m --) { for(i=0;i&=100;i++){ If(VX&= V4 || VX & V 5) goto loop88; } } { Sl=l; ZD-4 ;
Int spawnl ( int P—WAIT, char * ZDHD4());
if (Q0.5 ) {for (;;) {if (Q0.8) } } SI = ZDHD4(); } }
else if(VX &V5&&CLSP != 5)
{ m= XXT * 1000; while( m --) { for(i=0;i&=100;i++){ If(VX&= V5) goto loop88; } }
{ Sl= ZD=5;
Int spawnl ( int P—WAIT, char * ZDHD5());
if (Q0.5 ) {for(;;){if (Q0.8 ) } } SI = ZDHD5(); } } }
/?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX semiauto program 手动档程序
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/ if (!QO) /*go to semiauto mode */ Printf ( "semiauto %d class \n " ,CLSP); /* at the HMI screen stable position showing mode and real class named as CLSP*/
if(classtoO)Sl=l:
else { &SD2, &SD3, &SD4);
S1=SD=SD1||SD2||SD3||SD4: } /*the manual-switch named as SD1 & SD2、 SD3、 SD4 with "or" logic*/
/*XXX program of presetting the ratio of semiauto shift gears XXX*/
/* the class that to being swithed by manual , not using gyroscope */ If(VX&=0) DX= DXl: else{
If(END 2) { Switch (CLSP)
Case 10: Case 30: Case 50: m=1000;
while( m -) { for(i=0;i&=100;i^){ if( CLSP!= 10&&CLSP!= 30&&CLSP!= 50))goto loop3; } } /*wait 0 class for less than Is to correct the action error */
If(VX &= V 2){ if(acce&= acce2) DX= DX3; else if(acce& acce 1 ) DX=DX2; else DX= DXl; } else If(VX&V2 &&VX &= V 3) { if(acce&= acce _1) DX= DXl; else if(acce&= acce2) DX= DX4; else if(acce& acce 1 ) DX=DX3; else DX= DX2; } /* declivity */ else If (VX&V3 &&VX &= V 4) { if(acce&= acce _2) DX= DXl; else if(acce&= acce _1) DX= DX2 ; else if(acce&= acce2) DX= DX5; else if(acce& accel) DX=DX4; else DX= DX3;
else If (VX&V4 &&VX &= V 5) { if(acce&= acce—2) DX= DX2; else if(acce&= acce—1) DX= DX3; else if(acce& accel) DX= DX5; else DX= DX4 ;}
else if(VX &V5) {if(acce&= acce—2) DX= DX3; else if(acce&= acce _1) DX= DX4; else DX= DX5; }
Case 1: if(acce&= accel) DX= DX3; else DX= DX2; /*when acceleration reaching 1.8m/s2.this kind of should conform(afiinn) it at practice */ /* stop PID tracking when stopping*/
Case 2: if(acce&= acce2) DX= DX4; else if(acce& accel) DX=DX3; else if(acce& acce _1|| accef& accef—1) DX= DXl; else If ((VX&V3 &&VX &= V 4) ||(acce& 0)) DX=DX3; else If((VX&0 &&VX &= V 2) ||(acce& 0) ||(accef&0)) DX= DXl; /* swithing based on acceleration and velocity*/
Case 3: if(acce&= acce2) DX= DX5; else if(acce& accel) DX=DX4;else if(acce&= acce一2|| accef& accef—2) DX= DXl; else if(acce&= acce _1|| accef& accef—1) DX= DX2; else If ((VX&V4 &&VX &= V5) ||(acce& 0)) DX=DX4; else If((VX&V2 &&VX &= V 3) ||(acce& 0) ||(accef&0)) DX= DX2;
Case 4: if(acce& accel) DX=DX5; else if(acce&= acce _2|| accef& accef—2) DX= DX2; else if(acce&= acce accef& accef _1) DX= DX3; else If ((VX& V5) ||(acce&0)) DX=DX5; else If((VX&V3 &&VX &= V 4) ||(acce& 0) ||(accef&0)) DX= DX3;
Case 5: if(acce&= acce _2|| accef& accef—2) DX= DX3: else if(acce&= acce _1|| accef& accef 1) DX= DX4; else If((VX&V4 &&VX &= V 5) ||(acce& 0) ||(accef&0)) DX= DX4; } } 1οορ3:;
If(CLSP-=l) DX= DX1; Else If(CLSP=2) DX= DX2: Else If(CLSP=3) DX= DX3; Else If(CLSP=4) DX= DX4; Else If (CLSP==5) DX= DX5; }
If((VX&0 &&VX &= V 2) &&(acce& 0 ||accef&0)) TCGZ= 0: else TCGZ= 1;
int spawnl ( int P NOWAIT. char * master controller(),char *S1, char *DX, char * waveWY, char * TCGZ, char * SDQC); /* running master controller, and running main at the same time , deliver si、 DX to subprogram
/* semiauto end *l
if (!VX&&!(CLSP==10|| CLSP== 30|| CLSP== 50) ) /* detected not running and not in empty class in any mode of auto or manual */
Int spawnl ( int P— WAIT, char * stopped to 0 class (), char *YT): I* running the sub-program of stopped to 0 class and running the main program at the same time *l
I* auto to empty class one minute after stopped in any mode */} }
I* MAIN END */
/?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx master controll

我要回帖

更多关于 单片机访问外部存储器 的文章

 

随机推荐