Comments (6)
報告ありがとう.
特に3Mbpsに上げる必要がなければ従来どおり1Mbpsにしたほうが良いと思います.
ソフトウェアマニュアル P.17
通信速度2Mbps以上で通信を行った時、通信エラーになる場合があります。その場合、ストップビットを2にすることで改善されることがあります。
https://kondo-robot.com/w/wp-content/uploads/B3M_SoftwareManual1.2.0.3.pdf
ちなみに,ゲインはulong(4バイト)なので,他と比べてエラーが発生しやすいかもしれません.
(ソフトウェアマニュアル P.58)
from b3mservochecker.
こちら回答が遅くなり申し訳ありません.
経緯としてはデフォルトの1.5Mbpsで通信エラーが出たので,1.0Mbpsに下げたという流れだったと思います.
3.0Mbpsに関してはあまり検証していないと思います.
(この件はあまり関わっていなかったので詳細は分かりませんが)
from b3mservochecker.
新機体であるSUSTAINAではRS485変換基盤のICの変更したため、B3MのBaurateが1000000 → 3000000に変更しているため、パラメータの書き込みのしやすくするためにはこの問題は解決したほうがよいと考え報告しました。
ストップビットを変更することでこの通信のエラー解決できそうであれば、解決したほうがよいと個人的には考えていますがどうでしょうか?
from b3mservochecker.
B3Mのbautrateを上げることで今まで通信速度の遅さによる問題で取得できずにいた電流値やエラーログ、B3Mの温度等が取得できるようになるため、制御班の意向としてもBautrateは上げたいと考えています。
from b3mservochecker.
3Mbpsでも良いとは思いますが,以下念のためお伝えします.
1)従来の通信回路でもおそらく3Mbpsで通信できます.(少なくともKondoの変換器では通信できます)
3Mbpsを選択していないのは,昔エラーレートを調べて,1Mbpsではエラーが発生しにくいと判断して選んだと記憶しています.
(中島君が調査したドキュメントをどこかで見たような気がしますが見つかりませんでした.)
2)1Mbpsと3Mbpsでそれほど通信できるデータ量は変化しません.
B3Mは送受信に際して200usのガードタイムが必要になりますので,どちらかというとそちらの影響が大きいので連続したデータを受信しない限りはそれほど影響しないと思います.
また,制御周期を変えるのであれば別ですが,制御周期が10msごとだとすると1Mbpsでも十分だと思います.
サーボパラメータ領域の全てのデータ(45バイト分)を送受信するために必要な時間を計算してみました.
送信(7バイトのコマンド)に要する時間
1Mbps 200us(ガードタイム)+70us(7バイト分の送信時間,スタートビットとストップビットを含む)
3Mbps 200us(ガードタイム)+23.3us(7バイト分の送信時間,スタートビットとストップビットを含む)
受信(45バイトのデータ,サーボパラメータ領域全て)に要する時間
1Mbps 200us(ガードタイム)+500us(45バイト分のデータの送信時間,スタートビットとストップビットを含む)
3Mbps 200us(ガードタイム)+166.6us(45バイト分のデータの送信時間,スタートビットとストップビットを含む)
送受信に要する時間
1Mbps 970us (200us+70us+200us+500us)
3Mbps 590us (200us+23.3us+200us+166.6us)
結果的に10msで制御する場合は,1Mbpsでも10台分のデータを取得できます.
角度制御のコマンドを送ることを考慮に入れていませんがこれに比べると微々たるものになります.
あと,これらのパラメータをリアルタイムで得るためには1ms周期程度でデータの送受信を行うプログラムが必要で,リアルタイムOSではないLinuxでこれを行うのはわりと大変かもしれません.
from b3mservochecker.
1)従来の通信回路でもおそらく3Mbpsで通信できます.(少なくともKondoの変換器では通信できます) 3Mbpsを選択していないのは,昔エラーレートを調べて,1Mbpsではエラーが発生しにくいと判断して選んだと記憶しています. (中島君が調査したドキュメントをどこかで見たような気がしますが見つかりませんでした.)
KONDO純正の変換器:RS485USB/シリアル変換アダプターに実装されているチップ,B3M事態に搭載されているのはADM3078Eであり,Baudrate3,000,000[bps]に対応していますが,これが機体に搭載されていたのは2021年の4月頃の163機,165機の数機体に限ります.
それ以外の機体は以前からLT1480が搭載されていてこちらは2,500,000[bps]までしか対応していません.このチップでBaudrate3,000,000[bps]で通信することも推奨されていませんが,一応実機でエラーが出ることがあるようですが,通信はできるようです.
もしかしたら,このチップのBaudrate上限値を知らずに「エラーレート」が高いと判断している可能性もあります.
from b3mservochecker.
Related Issues (5)
- kondoドライバをubuntu1804で認識 HOT 2
- IDの自動検出 HOT 2
- リバースモードの書き込み HOT 8
- KONDO Driver をUbuntu 22.04で認識させる HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from b3mservochecker.