ブログ - 最新エントリー

分配基板

カテゴリ : 
新商品
2025-6-27 15:50
DXSharingBoardはACアダプタで給電する前提だが、実際の運用となるとACアダプタの容量では不足する事もあるし、わざわざ電源元からプラグへ変換して給電するのもイマイチ。
ということで電源コネクタの容量を増やしたシンプルな分配基板を作成。部品を実装しない廉価キットも合わせて近々提供予定。


技術

自爆防止

カテゴリ : 
雑記
2024-10-10 10:40
車もコンピュータのアシストなしではエンジンすらかからない世で、何もかも人任せというのはあり得ず。
形態はラジコン型であっても、こちらもコンピュータが介在していることには違いは無く。しかし受信機のパルスを取り込んでモータの指令電圧に変換しているだけに過ぎず、スピコンと同等の事をしているだけ。
土俵センサで多少なりとも自爆を回避してくれさえすれば、人力ポーリングの負荷は軽減できるだろう。

技術

出稽古

カテゴリ : 
雑記
2024-10-8 11:20
あっという間に大会まで1週間を切り、季節も長袖の出番に。
大したフォローもできない中、今日も今日とて出稽古しながら切磋琢磨。
スピードもだんだん本番仕様に。

技術

UD.....

カテゴリ : 
雑記
2024-9-13 8:40
いつまで続くの灼熱の世。
台風のせい(おかげ)で1ヶ月の熟成期間ができてしまった。

テスターの松本殿も忙しい中お付き合い。
パラメータは緩いままだが、操縦感覚をつかむべく練習。
このサイズで150W 30Vオーバー 起動電流80A越えなモータ2本の運用はなかなかシビれるわん。
耐性は何もかもブスバー頼み。

出稽古しながら微調整に勤しんでおられる。

技術

UD....

カテゴリ : 
雑記
2024-8-25 19:50
外は暑いし実装は灼熱、動いてしまえばアンプは冷え冷え。
MPU変わるとこんなに違うか?
とにかくあと1週間。



技術

UD...

カテゴリ : 
雑記
2024-8-19 15:40
今更だが最後のご奉公のつもりでお絵かき。
基本的には前作と大差無く、気まぐれでRasPiを載せてみた。
が、火を入れたら瞬殺orz。


技術

DXL Yシリーズ試食3

カテゴリ : 
雑記
2024-7-2 16:40
またまた前回に引き続きYシリーズをお試し。

負荷をつなげていない状態で評価してもあまり意味は無いのだが、パワーが有り余って危険なのでご了承のほど。
その代わりと言っては何だが、最大加速度と急峻な指令値の変更を伴う運転を少し長めに行いつつ、温度を含めて観察しておいた。
ちなみに後ろで回っているCyberGearは比較用。


技術

DXL Yシリーズ試食2

カテゴリ : 
雑記
2024-6-28 17:50
前回に引き続きYシリーズをお試し。

ギア無しのモデルは台車の足回りの駆動に使うケースもあるかという事で、速度制御もやっておく。見てくれは先のコードと大差無く、動作モードと指令先が違うだけ。こちらも例に漏れず扱う数値が大きい。
import time
from pyDXL import *
dx = DXLProtocolV2('/dev/ttyAMA0', 57600, 0.05)
ID = 1
dx.Write8(ID, 512, 0)
if input('Clear? (y/N) ') == 'y':
dx.TxPacket(ID, DXLProtocolV2.INST_CLEAR, (0x01, 0x44, 0x58, 0x4c, 0x22))
dx.RxPacket(timeout = 5.0)
time.sleep(1)
dx.Write8(ID, 33, 1)
dx.Write8(ID, 512, 1)
for i in range(-550000, 550000, 550000 >> 4):
dx.Write32(ID, 528, i)
time.sleep(0.5)
dx.Write8(ID, 512, 0)
YM080-230-R099-RHもつなぎ、テキトウに位置決め制御と速度制御を行わせた動画を。簡単に動かすにしても机に置いただけだと暴れまくって危険なので、重しにくくりつけておいた。


技術

DXL Yシリーズ試食1

カテゴリ : 
雑記
2024-6-24 9:10
DXLシリーズはモデルが大きく変わると運用方法が変わってしまう。せめてモデルが違っていても同じアイテム名のアドレス程度は同じであって欲しいのだが、Yシリーズも例に漏れず他のモデルとの互換性は低い。
毎回ドキュメントを読み返すのも何なのでDX2LIBを真似てModel Noを元にグループ化し、一部の共通するアイテムのアドレスを引っ張り出せる簡単なクラスを作成

次に電源だが、既存との互換性は一切ない。それなりに大きいターミナルブロックが2箇所設けられているが、単独で消費する電流程度しかまかなえないので、DXLをまたぎながらマルチドロップ接続する事は避けた方が良さそうだ。またYM70とYM80ではターミナルブロックのサイズが異なるので、使い回しができない。
通信はRS-485という事で、電気的に既存のDXL用のI/Fが使える。シグナルGNDは電源と共通で、D+とD-のみの1.25mmピッチ2ピンのコネクタが用意されている。筐体のサイズに対してコネクタが華奢なのと、自前でツイストシールド線を使った場合のシールド設置処置が少々面倒。


今回は諸々の電気的な不都合を無視した上で4ピンのEHコネクタに変換するケーブルを作成し、例のRasPi Zero 2W + キャリアボードに接続。


Pingを叩いたら応答するので電源と通信はOK。しかしLEDが点滅し続ける状態でトルクイネーブルができない。コントロールテーブルばかりを眺めていたので見逃していたが、e-manualの冒頭に記載されているバックアップバッテリに関する注意書きを読み飛ばしていた。筐体に内蔵されているバックアップバッテリのリード線が外れているので接続。


しかしまだ動かない。Clear Errorを行わないといけないようだ。特殊なパケットだが書いてある通りのバイト列を送信するのみ、DXL Wizardを使うのであればその操作方法に従うまで。
 dx.TxPacket(ID, DXLProtocolV2.INST_CLEAR, (0x01, 0x44, 0x58, 0x4c, 0x22))
 dx.RxPacket(timeout = 5.0)
なおError Clearはステータスパケットの返答までの時間が4秒程度と長かったり、その処理の直後はインストラクションパケットを受け取らない期間があったりと変な癖が見つかったので、pyDXL.pyのRead関数にtimeoutの引数を追加しておいた。

ようやく下準備が整ったところで、まずは位置決め制御を行ってみる。その所作は他のモデルと大差無く、トルクディスエーブル→動作モード設定→トルクイネーブル→目標位置へ任意の値の書き込み、といった段取り。今回試したYM070-210-M001-RHの場合、360度の範囲で動かそうとすると最大分解能が19ビットとかなり大きい数値を扱う事になる。
import time
from pyDXL import *
dx = DXLProtocolV2('/dev/ttyAMA0', 57600, 0.05)
ID = 1
dx.Write8(ID, 512, 0)
if input('Clear? (y/N) ') == 'y':
dx.TxPacket(ID, DXLProtocolV2.INST_CLEAR, (0x01, 0x44, 0x58, 0x4c, 0x22))
dx.RxPacket(timeout = 5.0)
time.sleep(1)
dx.Write8(ID, 33, 3)
dx.Write8(ID, 512, 1)
for i in range(-262144, 262144, 512):
dx.Write32(ID, 532, i)
dx.Write8(ID, 512, 0)

といったところで1時間が経過したので一旦休憩、続きは次回に。

技術

DXL Yシリーズ

カテゴリ : 
新商品
2024-6-17 15:30
リリースされたのに詳細の案内を行っていなかったDXL Yシリーズ
少々高価なので手が出にくいが、210W/230WのBLDC・高分解能なエンコーダ・絶対位置のバッテリバックアップ、といったPシリーズを置き換えるには十分すぎる性能を持っているので、これらも後ほどRasberry Pi Zero 2 Wを使って動かしてみようと思う。



技術