当前位置: 首页 > news >正文

DIY 一个汽车方向盘游戏外设(MMOS OSW DIY)

 

 OSW-MMOS直驱方向盘DIY过程记录 - 简书 (jianshu.com)

        DIY 一个汽车方向盘游戏外设(MMOS OSW DIY)  首先讲一下这个直驱系统大概的框架,首先是电脑,电脑里装MMOS的软件(这个软件国内高手把它汉化了的),电脑通过USB线,连接一个stm32板,这个stm 32板上刷MMOS的固件,这个STM32板再通过一根脉冲线,连接到电机驱动器上的CN 2接口,STM32板就作为电机驱动器的上位机,就是这根从stm32到电机驱动器的接线,也是我们这次自行组装需要接线最多的地方,然后电机驱动器再通过两根线与伺服电机相连(这两根线是电机厂商附带免费送的),这就是一个完整的流程,设置好后,我们就可以通过伺服电机来控制游戏里的汽车方向了。
首先就从最上面的ST M32板说起,原教程用的是一个原厂的ST M32开发版。而我这次用到的是一个比较小的ST M32核心板,芯片也和原厂的同样为STM32f407VGT6,这个核心板是不带下载组件的,要另外购买一个下载模块,而我这次是把这个MMOS固件,发给商家,让他帮忙给我下载(也叫刷)上去,晶振用8m的,(他这个晶振有的是25m的,有的是8m的),焊接好两排排针,调试好,他这个核心板是免费送miniusb线,和一组彩色杜邦线,(虽然我后来是自己买了一根绿联的MINIUSB线换上了,和几颗屏蔽磁环),下面有接线的对照图,他这个核心板,比起原厂的开发板,针脚的字母上前面少一个P字母,对应着接就行了是一样的,,他这个核心板我用了这么多天下来,是没什么问题的,可以用,唯一不好的地方,就是因为板子太小,这个地线GND 接口太少,有时候我不得不把两根或者多根地线缠绕在一起用,据说所有的地线在这个板子里,实际上是相通的,比如我这次就把这个com线,接到了SWD调试接口那里的地线上,还有一根地线也缠绕在了一起,,

 

1、电机准备

选择支持外部模拟转矩模式的伺服电机+配套伺服驱动器,注意看外部模拟转矩模式下是否支持指令换向

a.亿丰驱动器、时代超群等支持自定义IO输入控制换向的电机,力反馈使用PWM+DIR模式

b.华大、伊莱斯等转矩模式下只支持-10~+10v模拟信号输入控制,力回馈使用100%-50%-0PWM模式,需要使用运放添加减法电路控制

a类咸鱼较少,淘宝全新成套1200-1400左右,b类咸鱼二手较多,价格更低

交流伺服电机是目前性能最好的方案,普遍使用130电机,但130电机单电机就有11kg,家里小需要经常换地的话就很痛苦,于是选了110 6N电机,方便搬动的同时,转动惯量也更小,理论上响应速度也应该更快,伺服电机最高可以达到额定扭矩的3倍,18N应该可以稳稳的满足原G29选手,早期不了解具体特性,咸鱼选了一个伊莱斯电机,价格合适,成色漂亮,到手测了以后才发现不支持换向,来回折腾一个月,终于调试成功

伺服驱动
伺服电机是模拟方向盘最主要的部件,伺服电机要具有模拟量控制的转矩模式。推荐使用伺服电机驱动器:亿丰AASD,台达ASDA-AB,日鼎DCS。

1.  亿丰AASD接线及驱动器设置

 主控板上的电机信号控制线为DB9母头
恢复默认设置:

设置Pn000=2后可使用Fn004恢复出厂设置,具体方法请查看驱动器说明书。

参数设置:

Pn002=0  转矩模式。

Pn003=0  外部使能。

Pn018=0或1  当方向盘转向与游戏中相反时改动此参数。

Pn052=1  SigIn1设置为伺服使能。

Pn053=18  SigIn2设置为指令取反。

Pn188=5  设置值越大模拟量响应越慢,干扰噪声越小。

Pn189=30  模拟量与转矩的比例。

Pn191=0或1  反馈力方向不对时改动此参数。

Pn270=300  电机最大转速。

所有设置完成后重新上电。

自动校准模拟量(尽可能不要用自动校准):

断开电机使能,MMOS FFB中进行方向盘对中,进入Fn007,长按SET后显示donE,完成模拟转矩指令校正。如方向盘还会自行转动,可用Pn190进行微调。

使用亿丰伺服电机的设置


2.  台达ASDA-AB接线及驱动器设置

接线如下图

 主控板上的电机信号控制线为DB9母头

 

恢复默认设置: 

 

P2-08=10  恢复出厂配置,完成后重新上电。

参数设置:

P0-02=09  可以在伺服驱动器上看到模拟量电压的大小。

P1-01=03  设定伺服扭矩模式。

P1-46=12500  编码器一圈输出的脉冲数为2500。

P1-55=200  最大转速,根据实际使用情况设置。

P2-10=01  DI1-设置为使能接口。

P2-13=06  DI4-设置为命令输入反向控制。

所有设置完成后重新上电。

自动校准模拟量(尽可能不要用自动校准):

断开电机使能,MMOS FFB中进行方向盘对中,P2-08=20,P4-10=2

如果有报警:

ALE14(逆向极限异常)解除方法P2-16参数值设为0。

ALE15(正向极限异常)解除方法P2-17参数值设为0。

使用台达伺服电机的设置


3.   日鼎DCS接线及驱动器设置

 主控板上的电机信号控制线为DB9母头
恢复默认设置:

按MOED/ESC到Fn-01,按向上键到Fn-06,长按SHIFT/ENT出现LoAD后放开,出现donE,初始化成功,重新上电。

参数设置:

Pn-09=2 转矩模式。按MOED/ESC到Pn-01,按向上键到Pn-09,长按SHIFT/ENT数值闪动后放开,按向上/向下键调数值为2(转矩模式),长按SHIFT/ENT出现Pn-09,设置完成。

Pn-10=1       COUNT1设置为使能。

Pn-11=2       COUNT2设置为复位。

Pn-19=2500    编码器单圈脉冲数。

Pn-34=300     最大转速,根据实际使用情况设置。

Pn-54=0.01    VREF电压滤波。

Pn-70=1到1.5  扭矩倍数。

Pn-74=15  15:正向力反馈,14或16:反向力反馈。

所有设置完成后重新上电。

模拟量调零(尽可能不要用自动校准):

断开电机使能,MMOS FFB中进行方向盘对中,运行Fn07,查看ON-10是否为0+/-0.02V,打开电机使能,查看方向盘是否转上一边,Pn-71可进行微调。

 作者:fred_wu_xs https://www.bilibili.com/read/cv10344806/ 出处:bilibili

 

2、STM32控制板

MMOS方案使用stm32f4作为主控板,淘宝上STM32F407普遍50左右,512K的版本就可以,mini的版本体积更小,引脚也够,就选用了这个

使用usb转TTL串口烧录固件后,通过usb连接电脑,启动MMOS软件,可以识别并进行设置

3、扩展输入输出电路

MMOS固件是读取电机编码器数据作为方向盘角度输入,游戏里力回馈数据转换为PWM+方向输出控制电机转动实现力回馈,伺服电机转矩模式支持模拟输入,用pwm当做模拟信号直接输入,电机会有震动,体验并不好,所以需要添加外围电路转换为模拟信号,

编码器信号输入:

便宜的电机都是增量式编码器,ABZ三路信号,每路差分输出,A+A-B+B-Z+Z-,总共6路信号,差分信号可使用单路直接输入,但容易受到干扰,因此使用AM26LS32或sn75175对差分信号进行采集,转换为单路ABZ方波信号,输入至STM32,波形更稳定,方向识别也更精准

力回馈pwm输出:

a.支持指令换向的电机,使用pwm转0-10v模块转换为模拟量后输入,dir作为单独指令输入

b.只支持-10v~+10v的电机,使用pwm转0-10v转换为模拟量,再使用运放减法电路,得到-5v~+5v的模拟输出(https://www.jianshu.com/p/9f9480f7aaca)

-5~+5V的信号可以直接输入至伺服驱动器,驱动器中模拟信号增益可调,将原增益参数调大即可达到300%的转矩控制

pwm转电压目前有两种方案,LTC2644芯片-延迟低速度快价格高,GP8108芯片-价格低速度一般,引脚简单够用

运放减法使用OP07芯片

驱动器使能信号:

驱动器可以设置为通电使能,或IO引脚控制使能,使用控制使能,可以单独外接紧急切断按钮更加安全

无方向控制的-10v~+10v方案中,使用GP8101 pwm转模拟信号模块输出需要10ms左右稳定,未稳定前模块输出为0,通过减法电路后,输入到模拟引脚为-5v,此时如果先伺服电机已经通电,会有一下大幅度反转,比较危险,因此需要添加RC延时导通电路,控制使能信号延时200ms发送(https://www.jianshu.com/p/98396fd67af3)

4、方向盘部分电路连接

电机编码器  ——  驱动器编码器接口CN1(伺服电机成套匹配)

电机动力 —— 驱动器动力接口U V W PE(伺服电机成套匹配)

220V交流电—— 电源滤波器 —— 驱动器rst输入,地线 —— 驱动器外壳或单独接地引脚(地线十分重要,必须接,电机对电网有干扰,会影响踏板的模拟量的输入,可以使用电源录波器来进行隔离,效果显著)

驱动器控制接口CN2 —— STM32控制及板外围电路 (编码器ABZ、驱动器模拟输入、模拟地、方向指令,驱动器使能)

伊莱斯电机编码器为2500线,mmos转数设置10000,勾选反向编码器,PWM设置100.50.0,频率8.2KHz

5、方向盘机械部分组装

电机轴去掉定位梢后,使用张紧套连接方向盘或快拆,张紧套与快拆见需要一个转接法兰连接固定,可3D打印或淘宝CNC定制,竞技方向盘孔距一般为70mm,快拆分70mm和75mm两种

电机本身需要对应尺寸的基座,固定至方向盘支架,淘宝有成品伺服电机支架,孔距需要和游戏支架匹配

DIY 一个汽车方向盘游戏外设(MMOS OSW DIY) | MR (mr-cn.net)

MMOS软件界面

 

控制方案

所谓的力反馈其实就是扭矩控制。游戏将相应的力反馈信号发送给外设的驱动程序,驱动程序通过USB传输给主控后,主控产生一个PWM信号,其占空比对应游戏的力反馈力度;PWM信号再传输给PAC(PWM-Analog Converter)芯片,PAC芯片按其占空比产生对应幅度的模拟量给伺服驱动器,驱动器将控制电机产生对应扭矩的力。

Manaul-1.png

具体如何设置为扭矩模式需要阅读伺服的说明书。以我的台达为例,扭矩模式下扭矩值通过T_REF的电位控制,所以我们需要PAC芯片根据占空比产生-10~10V的电压信号。要产生正的的模拟量简单,但是负的会麻烦许多,但我们又肯定是需要不同方向的扭矩的。

Manaul-2.png

所以阅读说明书,发现我们可以通过输入一个开关量,控制扭矩的方向。也就是所谓的指令取反功能。这下就简单了,我们将DI4设置为方向取反,之后只需要管扭矩的绝对值,方向通过设置一根单独的方向信号线就可以解决。这也就是所谓的PWM+DIR模式。

不同的伺服有着不同的控制功能和要求,比如日鼎用的是H桥模式,那么我们就需要产生两组PWM信号,用以控制H桥等等。具体的情况需要具体分析,也需要仔细阅读说明书。相对来讲,PWM+DIR是比较简单的一种。

summary.png

我们使用的是MMOS这一闭源方案,作者提供的固件是没有源码的,因此我们的芯片型号、引脚定义都已经固定好了,我们直接套用即可。如果是日鼎的方案,PE11就是另外一个PWM,仿照PE9串接一个PAC芯片即可。

Manual-3.png

Manual-4.png

还需要注意的是,DI-默认是上拉使能的,接在COM-上才是失能。此外,在设计时应该按照说明书的要求,严格区分模拟电与数字电,不同的部分使用不同的电源。使用了差分驱动的信号线,应将差分信号双绞成对传送到光耦。PAC芯片前的光耦,因为传送的是PWM信号,我们需要使用高速光耦,在选型时应注意相关参数。

之后按照说明书,将信号线焊接在相应的引脚上。

参考资料

国内中文资料较多的是哔哩哔哩各个作者的专栏。

DIY伺服直驱方向盘试玩神力科莎 @pkintel DIY伺服直驱方向盘试玩神力科莎_哔哩哔哩_bilibili

这里要特别感谢 @pkintel 前辈,他在视频评论区分享了完整的资料,包括MMOS固件、驱动、设置指南、接线指南以及他设计的多种方案的控制板图纸。

(待完善)台达ASDA-AB伺服器DIY MMOs 直驱力回馈方向盘教程 @极速外卖 (待完善)台达ASDA-AB伺服器DIY MMOs 直驱力回馈方向盘教程 - 哔哩哔哩

该贴内有正确的台达伺服的连接以及设置方法。

MMOS FFB伺服直驱方向盘主控板DIY @fred_wu_xs MMOS FFB伺服直驱方向盘主控板DIY - 哔哩哔哩

该贴内有多种品牌的伺服的连接及设置方法。

【一张图】看懂台达ASDA-AB伺服驱动器diy osw ffb力反馈反向盘参数配置for mmos @辅助全关 【一张图】看懂台达ASDA-AB伺服驱动器diy osw ffb力反馈反向盘参数配置for mmos - 哔哩哔哩

该作者提供了详细的伺服设置方法以及接线方法(不止台达一种,同作者还分享了多种其他伺服的教程)。

 DIY国产伺服方向盘完成,教程,MMOS汉化 (stmicroelectronics.cn)

DIY国产伺服方向盘完成,教程,MMOS汉化 (stmicroelectronics.cn)


                这次DIY未用到12-24V电源,是直接去电STM32不知道对此有什么影响(后期看是否能慢慢调整)
                具体参数设置:1丶驱动器设置Pn02设置为0  (转矩模式)
                                                         Pn03设置为0  (外部使能)
                                                         Pn53设置为58 (指令取反)用于接PWM&DIR中的DIR
                                                         Pn161自定义设置(这个是设置接收型号的区间:自己理解的undefined )
                                                         Pn162同上
                                                         Pn190模拟转矩指令偏移调整:自定义设置(受STM32影响)

输出的DAC电压值大小
                                                         Pn191模拟转矩指令方向:这个也要用到,当方向反转时伺服停止使能,设置本参数(1-2)具体看自己之前设置,然后
                                                                                             调转A.B相
                                                         驱动器参数设置到这里基本上就可以了,其他关于刚性等需设置Pn190往下的参数,详情请自己研究说明书
                                      2丶接线:本次接线CN2公用了8根线算上外接使能那根一共10根  (抱歉接线错了,上班整的怕领导发现,现在更新下)                                                   
                                                        驱动器     连接线     STM32
                                                           6-----------红-----------使能
                                                           9-----------蓝-----------电源(12-24V这里我用了5Vundefined )
                                                         10-----------白-----------COM(应该是12-24V的地线)                                                  
                                                         13-----------黑-----------地AGND模拟量输入地线    接STM32地
                                                         15-----------黄-----------编码器Z+      对应stm32的PA2
                                                         18-----------橙-----------编码器B+      对应stm32的PA1
                                                         20-----------清-----------编码器A+      对应stm32的PA0
                                                         25-----------紫-----------Vref模拟量输入     对应stm32的PE9
                                                           7 -----------绿-----------指令取反             对应stm32的PE11
                                               链接线只做参考,具体颜色请自己区分

哔哩哔哩几个UP的视频参考

超详细低成本自制模拟器教学 教程向!_哔哩哔哩_bilibili

OSW MMOSFFB 多功能自制主控板调试_哔哩哔哩_bilibili

好用不贵,自制MMOS,国产伺服直驱方向盘,新手小白详尽流程_哔哩哔哩_bilibili

MMOS FFB伺服直驱方向盘主控板DIY - 哔哩哔哩 (bilibili.com)

好用不贵,自制MMOS,国产伺服直驱方向盘,新手小白详尽流程-硬件综合区-外设天下-电脑外设发烧友聚集地 (wstx.com)

 

有的方向盘会在正中位置来回左右摆动,的这样一个问题,我们今天来解决一下

这是通过调整三个参数来解决的,一个是电脑上mmos软件的“最小力反馈”,另外两个是电机驱动器上面的pn159和 pn190,调整pn159用dn017观察,而调整pn190是用dn016观察。

好用不贵,自制MMOS,国产伺服直驱方向盘,新手小白详尽流程

      先说说mmos软件的“最小力反馈”这个参数,首先这个参数不要设置过大,我一般用都是3%到5%,其次,比较有意思的一点,这个参数一变动的话,电机驱动器上面的pn159和 pn190的数值也要相应的重新调整才匹配。

    而调整pn159和pn190,我不建议用自动调整的方法,因为方向盘来回左右摆动,无法读准数值。

    注:这次电机驱动器调整的这些参数都是即时生效的,不用断电重启都可以。

好用不贵,自制MMOS,国产伺服直驱方向盘,新手小白详尽流程

   
       下面详解一下我的实战例子,电机驱动器上电,打开电脑的mmos软件,(因为这个软件经常不能保存参数,我们稳妥一点),先点安装,把电机的“设备设置”参数设置好,再点保存,关闭,然后把软件的“最小力反馈”设置到3%,这时发现方向盘有来回左右摆动现象,调整电机驱动器pn 190参数,我的pn 190默认参数是24,我们先把它归0,然后观察dn 016参数,(因为方向盘来回左右摆动的原因,这个数值是不停跳动的,需要我们用手扶住方向盘,把它固定在正中央位置),这时读得它的数值是0.19,经过单位换算,我们就把pn190的参数给设置成-190(负数),这时候我们发现方向盘已经不摆了,我们再用同样的方法,同样的步骤,通过观察dn 017把pn 159的参数也给改一下,我这里这两个参数也基本上是一样的,到这里基本大功告成。(感觉主要起作用的还是pn190,调好以后,方向盘不来回摆动正常了以后,就把pn159的数值也调到和pn190一样的就行了)


 

      接下来我们再折腾一下,验证一下,我们把mmos软件里的“最小力反馈”设置到5%,这个时候发现方向盘又开始摆动了,观察dn 016的参数,(当然还是要用手扶正盘子),读数为0.11,再次调整pn 190参数,因为这次没有归0,上面的数值已经是负190了,我们累加在一起,直接设置成负300,好了,又搞定了,pn159也一样的。


 

      就是说我们电机驱动器调好一个数值后,就可以不动了。由于mmos的参数经常不能保存,每次打开就只需要改mmos里面软件的参数,(改成和你电机驱动器相对应的那个数值),就行了。

 

【一张图】看懂台达ASDA-AB伺服驱动器diy osw ffb力反馈反向盘参数配置for mmos - 哔哩哔哩 (bilibili.com)

 

 【一张图】配置台达伺服diy osw ffb mmos力反馈直驱台达方案_哔哩哔哩_bilibili

 

相关文章:

DIY 一个汽车方向盘游戏外设(MMOS OSW DIY)

OSW-MMOS直驱方向盘DIY过程记录 - 简书 (jianshu.com) DIY 一个汽车方向盘游戏外设(MMOS OSW DIY) 首先讲一下这个直驱系统大概的框架,首先是电脑,电脑里装MMOS的软件(这个软件国内高手把它汉化了的),电脑通过USB线&a…...

校园网络技术需求分析

路由技术: 路由协议工作在 OSI 参考模型的第 3 层,因此它的作用主要是在通信 子网间路由数据包。路由器具有在网络中传递数据时选择最佳路径的能力。 除了可以完成主要的路由任务,利用访问控制列表(Access Control List&#x…...

计算机网络(二):TCP篇

文章目录 1. TCP头部包含哪些内容?2. 为什么需要 TCP 协议? TCP 工作在哪一层?3. 什么是 TCP ?4. 什么是 TCP 连接?5. 如何唯一确定一个 TCP 连接呢?6. UDP头部大小是多少?包含哪些内容&#xf…...

测试登录界面:Python

import unittest from selenium import webdriver class LoginTest(unittest.TestCase): def setUp(self): self.driver webdriver.Chrome() def test_login(self): # 打开登录页面 self.driver.get("http://example.com/login") # 输入用户名和密码 user…...

Rust踩雷笔记(7)——两个链表题例子初识裸指针

目录 leetcode 234leetcode 19 leetcode 234 题目在这https://leetcode.cn/problems/palindrome-linked-list/,leetcode 234的回文链表,思路很简单,就是fast和slow两个指针,fast一次移动两个、slow一次一个,最后slow指…...

用什么命令看Linux系统的体系架构

要查看Linux系统的体系架构,可以使用uname命令。在终端中运行以下命令: uname -m该命令将返回系统的体系架构,例如x86_64表示64位系统,i686表示32位系统。 uname 使用方法 uname命令用于获取操作系统的相关信息。它可以用于显示…...

消息中间件大揭秘:选择之前你必须知道的关键信息

Hello大家好!我是小米,很高兴再次和大家见面!今天的话题非常精彩,我们将深入探讨消息中间件,并了解一些常见的消息队列:RabbitMQ、RocketMQ、Kafka以及Redis。如果你正在准备面试,或者只是对这些…...

【Unity基础】4.动画Animation

【Unity基础】4.动画Animation 大家好,我是Lampard~~ 欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢 (一)Unity动画编辑器 (1)Animation组件 这一张我们要学习如何在unity编辑器中&…...

FreeRTOS移植以及核心功能

文章目录 freertos和ucos区别,优缺点比较移植步骤核心功能内存管理(5种内存管理策略)FreeRTOS任务调度算法有三种时间管理通信管理 栈管理 freertos和ucos区别,优缺点比较 FreeRTOS(Free Real-Time Operating System&…...

重装系统(配置环境)

这里写目录标题 0.重装系统1.python1.1 anaconda1.2 pycharm1.3 深度学习环境配置 2.java2.1.安装JDK2.2.配置JDK环境变量2.3IDEA2.4 Maven 3.大数据3.1 虚拟机3.2 Hadoop平台3.3 存储3.4 采集3.5 计算3.6 查询3.7 可视化 0.重装系统 // An highlighted block var foo bar;1.…...

docker系列-报错以及解决指南

1. windows运行docker报错Windows Hypervisor is not presentDocker Desktop is unable to detect a Hypervisor.Hardware assisted virtualization and data execution protection must be enabled in the BIOS. Docker Desktop - Windows Hypervisor is not presentDocker D…...

Vue3快速上手

1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址:Release v3.0.0 One Piece vuejs/core GitHub 2.Vue3带…...

二叉搜索树(BST,Binary Search Tree)

文章目录 1. 二叉搜索树1.1 二叉搜索树概念1.2 二叉搜索树的查找1.3 二叉搜索树的插入1.4 二叉搜索树的删除 2 二叉搜索树的实现3 二叉搜索树的应用3.1二叉搜索树的性能分析 1. 二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树&#xf…...

分析key原理

总结: key是虚拟dom对象的标识,当数据发生变化时,vue会根据新数据生成新的虚拟dom,随后vue进行新虚拟dom与旧虚拟dom的差异比较 比较规则: ①旧虚拟dom中找到了与新虚拟dom相同的key 若虚拟dom中的内容没变&#xff0c…...

[CISCN2019 华东南赛区]Web11 SSTI

这道SSTI 差点给我渗透的感觉了 全是API 我还想去访问API看看 发现这里读取了我们的ip 我们抓包看看是如何做到的 没有东西 我们看看还有什么提示 欸 那我们可不可以直接修改参数呢 我们传递看看 发现成功了 是受控的 这里我就开始没有思路了 于是看了wp 说是ssti 那我们看…...

百度春招C++后端面经总结

这次的面经,主要都是问操作系统、网络编程、C++ 这三大方向。 能明显感觉到,C++面试和Java或者Go面试重点,Java/Go主要是问MySQL、Redis。 一、介绍一下webserver项目 服务器开始运行,创建(初始化)线程池(IO密集型,线程数n+1); 创建 epoll 对连接进行监听 监听到连…...

小程序开发一个多少钱啊

在今天的数字化时代,小程序已经成为一种非常流行的应用程序形式。由于它们的便捷性、易用性和多功能性,小程序吸引了越来越多的用户和企业。但是,很多人在考虑开发一个小程序时,都会遇到同一个问题:开发一个小程序需要…...

C# 随机数生成 Mersenne Twister 马特赛特旋转演算法 梅森旋转算法

NuGet安装MathNet.Numerics 引用: using MathNet.Numerics.Random; /// <summary>/// 包括lower&#xff0c;不包括upper/// </summary>/// <param name"lower"></param>/// <param name"upper"></param>/// <para…...

C++进阶(二)

目录 1、Vector2D 默认构造、重载 2、char 深度理解 3、深度理解简单的类操作 1、Vector2D 默认构造、重载 #include <iostream> #include <cmath>class Vector2D { private:double x; // X坐标double y; // Y坐标public:// 默认构造函数&#xff0c;将向量初…...

zoneinfo

在Linux系统中&#xff0c;zoneinfo是一个包含了世界各地时区信息的目录&#xff0c;通常位于/usr/share/zoneinfo。这个目录下的子目录和文件名对应了各个时区的名称。例如&#xff0c;/usr/share/zoneinfo/America/Los_Angeles文件就包含了美国洛杉矶的时区信息。 你可以通过…...

基于微信小程序的实验室预约管理系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…...

腾讯mini项目-【指标监控服务重构】2023-08-17

今日已办 定位昨日发现的问题 来回测试发现依然出现该问题 将 pub/sub 的库替换为原来官方基于 sarama 的实现&#xff0c;发现问题解决了&#xff0c;所以问题的根本是 kafkago 这个库本身存在问题 依据官方的实现&#xff0c;尝试自定义实现 pub/sub sarama 与 kafka-go …...

前端需要知道的计算机网络知识----网络安全,自学网络安全,学习路线图必不可少,【282G】初级网络安全学习资源分享!

网络安全&#xff08;英语&#xff1a;network security&#xff09;包含网络设备安全、网络信息安全、网络软件安全。 黑客通过基于网络的入侵来达到窃取敏感信息的目的&#xff0c;也有人以基于网络的攻击见长&#xff0c;被人收买通过网络来攻击商业竞争对手企业&#xff0…...

#循循渐进学51单片机#定时器与数码管#not.4

1、熟练掌握单片机定时器的原理和应用方法。 1&#xff09;时钟周期&#xff1a;单片机时序中的最小单位&#xff0c;具体计算的方法就是时钟源分之一。 2&#xff09;机器周期&#xff1a;我们的单片机完成一个操作的最短时间。 3)定时器&#xff1a;打开定时器“储存寄存器…...

基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(五)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 数据增强3. 模型构建4. 模型训练及保存5. 模型评估6. 模型测试 系统测试1. 训练准确率2. 测试效果3. 模型应用1&#xff09;程序下载运行2&#xff09;应用使用说明3&#xff09;测试结果 相关其它…...

Linux: Cache 简介

文章目录 1. 前言2. 背景3. Cache 硬件基础3.1 什么是 Cache &#xff1f;3.2 Cache 工作原理3.3 Cache 层级架构3.4 内存架构中各级访问速度概览3.5 Cache 分类3.6 Cache 的 查找 和 组织方式3.6.1 Cache 组织相关术语3.6.2 Cache 查找3.6.2.1 Cache 查找过程概述3.6.2.2 Cach…...

常见位运算公式使用场景

判断奇偶性&#xff1a;数值 x 为偶数当且仅当 (x & 1) 0。数值 x 为奇数当且仅当 (x & 1) 1。 交换两个数&#xff1a;使用异或操作符 ^ 进行交换。假设有变量 a 和 b&#xff0c;则可以使用以下公式交换它们的值&#xff1a; a a ^ b; b a ^ b; a a ^ b;取绝…...

virtualbox配置ubuntu1804虚拟机相关流程

virtualbox配置ubuntu1804虚拟机相关流程 相关版本能解决的问题安装流程1&#xff1a;新建虚拟机安装流程2&#xff1a;配置虚拟机安装流程3&#xff1a;安装虚拟机系统安装流程4&#xff1a;设置ubuntu 相关版本 virtualbox使用VirtualBox官网下载的6.1.34 r150636 版。ubunt…...

防火墙基本概念

思维导图 1. 什么是防火墙&#xff1f; 网络在远古时期没有防火墙大家都是联通的&#xff0c;any to any&#xff0c;没有防火墙的时代就相当于没有门的房子&#xff0c; 没有城墙的城市。 路由器与交换机的本质是转发&#xff0c;防火墙的本质是控制和防护。 防火墙&#xff…...

易点易动固定资产管理平台:打通BMP,实现高效流程管理与全生命周期管理

在现代企业管理中&#xff0c;固定资产的流程管理和全生命周期管理是提高效率和降低成本的关键。易点易动固定资产管理平台通过打通BMP&#xff08;Business Process Management&#xff09;系统&#xff0c;实现了固定资产流程管理和全生命周期高效化管理的目标。本文将详细介…...

必要这个网站怎么样/郑州网站关键词推广

注&#xff1a;这篇文章是应人人都是产品经理社区之邀而写就&#xff0c;本来的主题就只是陌陌新推出的7.0版本&#xff0c;不过我还是尝试把陌陌从1.0版本开始在产品和运营等方面发展的大框架给梳理出来了&#xff0c;并尽力想做到又全面又深入&#xff0c;但由于时间仓促等原…...

视频网站建设公司/如何建立免费个人网站

2.把MXS的帮助文档搬到了码云&#xff0c;以后在线帮助就可以更快加载和使用在线翻译了 https://trykle.gitee.io/3dsmax-2020.1-maxscript-help 1.MXS混淆器添加了一个操作&#xff0c;让目前市面上的解析器部分失效 转载于:https://www.cnblogs.com/trykle/p/11337184.html...

新疆模板网站建设/网站推广外贸

https://www.cnblogs.com/hyl8218/p/5088287.html转载于:https://www.cnblogs.com/xt-Corrine/p/10685869.html...

个人建站如何赚钱/鞍山seo外包

一&#xff0c;浮点数的2种表示形式 二&#xff0c;浮点数使用的注意事项 ①浮点数不应进行大小比较 ②小数转二进制的做法&#xff1a;乘2并顺序取整数部分③当整数运算的结果超出整数的范围后&#xff0c;会自动转换为浮点数 转载于:https://www.cnblogs.com/you…...

酒店网站制作策划/seo为什么要进行外部优化

见&#xff1a;http://topic.csdn.net/u/20100625/21/cb7295e6-0514-4e28-888f-2935537208f4.html有个表pages ,有5个属性&#xff0c;id, url, title, body, site.问&#xff1a; 用一条SQL语句搜出url,body,或site中包含’test’字符串的数据&#xff0c;且将含有‘test’的u…...

网站关键词可以做几个/企业邮箱哪个好

点击上方“蓝色字”可关注我们&#xff01;暴走时评&#xff1a;日本交易所集团最近发布超级账本研究报告&#xff0c;对比目前主要的几种DLT方案&#xff0c;阐述该技术如何提高交易效率&#xff0c;以及该技术在金融服务中的可行性。作者提到秘密资产交易可能带来中心化和交易…...