• もっと見る
« 250817 街をきれいに清掃車、基板故障(動作シナリオ解析) #おもちゃ病院 #おもちゃドクター #糸魚川 #クラブハウス美山 | Main | 「技適マークなし」のラジコンを、適法に治療する方法 »
<< 2026年07月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
診療記録の検索
検索語句
種類別アーカイブ
タグクラウド
最新の診療記録
最新コメント
最新トラックバック
リンク集
※修理技術に関すること以外で、おもちゃ病院に関するご意見・ご感想等がありましたら、ぜひ下のブログからコメント入力してください。
kousaku_2_c.png
250817 街をきれいに清掃車、プログラム編(マイコン換装) #おもちゃ病院 #おもちゃドクター #糸魚川 #クラブハウス美山[2025年09月21日(Sun)]

患者さまは、街をきれいに清掃車 SmartAngel(西松屋)

走らない、音が出ない、LEDが時々しか光らない
250817_SEISOSYA (1).JPG
(画像クリックで拡大表示)


前々回は、周辺部品や基板の部品を徹底検証するも、基板上COB故障と診断した報告
前回投稿は、このおもちゃ本来の元々の動作シナリオを解析した報告

この続報では、マイコン換装用ファームウェア開発と実際の基板作成について、報告する

(以前と重複したり修正した記述はご容赦を)


【プログラム開発】

基板故障の場合でも諦めず、マイコン換装という選択肢を提案できる
(他の治療手段を尽くしたうえで、お客さまの納得診療が前提)

おもちゃクリニックゆりかご では、先進おもちゃ病院の治療記録の内容を中古品でシミュレーション治療するなどして、治療技術の向上を図っている

オルゴール演奏だけでなく音声再生もでき、音に合せてLEDチカチカやモーター制御も可能
多くのサンプルプログラムが公開されていて、自分の開発環境にあったものを適宜選択できる

最初は丸ごとコピーからスタート、そこから必要な機能に絞り込んだプログラム要件を提示して、ご指導・添削を開発者にメールで依頼することから始まる

依頼元の当方における「カスタマイズ要件の整理」が、アプリの出来栄えに関わって来る
今回依頼の際に提示した プロジェクト仕様要件は、前回(動作シナリオ解析)報告のとおり

開発者とのメール応答で詳細を固めていくことになるが、毎度、仕事が速いのには驚かされる
(当方での評価基板の 試作が間に合わないほど、しかも無償!)

後日、完成されたファームウェアは、設計要件とともに、開発者のブログで公開されている
開発者としては 意外なほどスムーズ に開発が進められたとのこと


【シーケンス定義】

動作シナリオの再現では、シーケンス定義は依頼元ドクターが記述 できるような枠組みで、ご指導いただいたので、納得できるまでやり直して 「ファイナルアンサー」 まで漕ぎついた

//動作シーケンス定義の枠組み
struct SEQ
{
    short tim;        //正値は当シーケンスの経過時間[固有処理コールバック周期]
                  //0はシーケンスの終わり
                  //-1はリピート開始
                  //-2はリピート終了
    unsigned char mtr;  //モーター制御(0=ブレーキ、1=正転、2=逆転)
                  //timが-1のときはリピート回数を指定する
    unsigned char led0;  //LED0制御(0=消灯、1=点灯)
    unsigned char voiceS; //音声S制御
                   //(0=操作無し、1〜254=再生開始、255=再生停止)
};


完成版の「動作シーケンスの定義」を、前進走行とバック走行を抜粋して紹介する
解析画像とソースコードを見比べていただくと、分りやすい

SW0では前進走行モード。途中で音声が切り換わる
250826_DriverOUT (1).png

SW1でバック走行モード。7秒間バックし自動停止
250826_DriverOUT (2).png

上段:前進走行モード全体の音源波形
下段:バック走行時の音声S3の波形
250908_ONSEI.png

動作シーケンスは文言で表現するより、記号化した形式で提示するのが正確で合理的
開発者からのリピート分岐の機能提供は、大変ありがたかった

//動作シーケンスの定義 (Dr.W)
static const struct SEQ seq1[]= //前進走行
{
{64/KOYUU_PR,1,1,1}, //音声S1再生開始
{-1,8,0,0}, //リピート開始、8回
{96/KOYUU_PR,0,1,0},
{64/KOYUU_PR,2,1,0},
{96/KOYUU_PR,0,1,0},
{64/KOYUU_PR,1,0,0},
{96/KOYUU_PR,0,0,0},
{64/KOYUU_PR,2,0,0},
{96/KOYUU_PR,0,1,0},
{64/KOYUU_PR,1,1,0},
{-2,0,0,0}, //リピート終了
{32/KOYUU_PR,0,0,2}, //音声S2再生開始
{256/KOYUU_PR,1,1,0},
{-1,18,0,0}, //リピート開始、18回
{256/KOYUU_PR,1,0,0},
{256/KOYUU_PR,1,1,0},
{-2,0,0,0}, //リピート終了
{32/KOYUU_PR,0,1,9}, //音声S9再生開始
{160/KOYUU_PR,0,0,0},
{160/KOYUU_PR,0,1,0},
{160/KOYUU_PR,0,0,0},
{160/KOYUU_PR,0,1,0},
{160/KOYUU_PR,0,0,0},
{160/KOYUU_PR,0,1,0},
{160/KOYUU_PR,0,0,0},
{0,0,0,255},
};

static const struct SEQ seq2[]= //バック走行
{
{320/KOYUU_PR,0,1,3}, //音声S3再生開始
{-1,6,0,0}, //リピート開始、6回
{512/KOYUU_PR,2,0,0},
{512/KOYUU_PR,2,1,0},
{-2,0,0,0}, //リピート終了
{32/KOYUU_PR,0,1,9}, //音声S9再生開始
{160/KOYUU_PR,0,0,0},
{160/KOYUU_PR,0,1,0},
{160/KOYUU_PR,0,0,0},
{160/KOYUU_PR,0,1,0},
{160/KOYUU_PR,0,0,0},
{160/KOYUU_PR,0,1,0},
{160/KOYUU_PR,0,0,0},
{0,0,0,255},
};



【ダウンロード】

完成したプロジェクトは 清掃車の音声データをインデックスに追加、シーケンス制御を追加した PUYA電子オルゴール(音声再生)は、回路図なども同梱して当方共有フォルダで公開する

なお、これらのプロジェクト(オリジナル音源以外)は、複製・改変・再配布は自由であることを、あらためて付け加えておく

清掃車のディレクトリは
 orgel1_4_SEISOSYA\orgel_SW_F002A_16
プロジェクトは PY32F002.uvprojx


メーカーHPでは、同じシリーズに「はたらく車トラック」もラインナップされている
今回のマイコン換装ファームウェアは、トラックにも流用できると思う


・GPIO機能に変更するツール「PY_GPIO」
・NRST機能に戻すツール「PY_NRST」



【マイコン換装】

メールで数回の応答を繰り返して、ほぼ完成が見えてきたので、
途中経過を開発者にも動画で情報提供する
当クリニック医局会においてもマイコン換装に至る経過を報告し、
もしもの再入院時にも慌てぬよう、情報共有を図っておく

モーター制御出力やLEDドライバ用出力は、ここではLEDで代用


評価版の回路図を再掲しておく
orgel_SW_F002A_16_SEISOSYA_TEST.png

部品配置図は、部品面と半田面とを並べている
orgel_SW_F002A_16_SEISOSYA_TEST_pb.png

右側の青LEDは見づらいので黄LEDに要交換
250908_SEISOSYA_test (1).JPG

半田付け失敗跡あるが、動作は確認済
250908_SEISOSYA_test (2).JPG

私は秋月の両面ユニバ基板を愛用しているが、高価なのが玉にキズ
(なので、コスト計算では除外している)

電源とLEDドライバ基板の回路図・配置図も再掲
LED出力の電流制限抵抗は、現物に合わせて調整
SEISOSYA_Supply_Driver.png SEISOSYA_Supply_.Driver_pb.png

青LEDはVfが高いハズと、制限抵抗を省略
大失敗! LEDを一つを焼損してしまった!
250910_SEISOSYA_Supply_Driver (1).JPG

配置図と実物とは、若干の違いがあるので要注意
あとで、電流制限抵抗10オームを追加している
250910_SEISOSYA_Supply_Driver (2).JPG

元基板は故障COBを縁切り、要改造
250830_清掃車_基板改造.png

撤去したコンデンサとモータードライバ、何と小さい事か
250910_SEISOSYA_chips.JPG

改造配線が完了後、MX612を半田付けする
250913_SEISOSYA (1).JPG

既存のSW接点に支障ないよう、ウラ面から配線
250913_SEISOSYA (2).JPG

このあと元基板、電源+LEDドライバ基板、マイコン基板をリード配線して完成となるが、
その前に、お客さまに ここまでの治療経過を報告する

子どもさんには、退院まで、もう少々 お待ちいただきたい

【組み上げ、動作確認】

リード配線は、その接続先ごとにまとめておく
250913_SEISOSYA (3).JPG

切れ掛けの配線や短すぎる配線は新品に交換する
250913_SEISOSYA (0 ).JPG

全て配線したあとに動作確認、ブレーキが良く効いている


(※動画を作成後に、字幕のSW番号に間違いがあることに気付いた
 誠に申し訳ないが、ここでお詫びして訂正させていただきたい)


一番最初の「ピヨピヨ」音は、「SW0」ではなくて「電源スイッチ」オンの起動音声で、
その次の音声は、「SW1」ではなくて、これこそ「SW0」オンの前進走行モードです。

清掃車の内部(電池BOXウラ)には
この記事の二次元コードを貼り付ける
250817_SEISOSYA_qr.png

元の清掃車本体に組み込んでの動作確認も無事クリア、これにて完治
約1か月の長期入院で、子どもさんには寂しい思いをさせてしまったが、
9月21日、「おもちゃ修理工房みやま」にて、直接お渡しして退院済

子どもさんは大喜び、ママさんは大感激!!


この記事のURL
https://blog.canpan.info/charts/archive/490
トラックバック
※トラックバックの受付は終了しました
 
コメントする
コメント
パパさんへ、丁寧なコメントありがとうございます。
お客さまの声が、おもちゃドクターの励みになります。
清掃車の退院と入れ替わりに入院した レジスター も、無事に完治しましたよ。
今後とも大事に遊んでくださいませ。
Posted by:ToyDr.わたなべ  at 2025年10月04日(Sat) 03:00

この度は長期に渡りご対応いただきありがとうございました。
さっそく私のところに「みてみてー!」と治していただいたおもちゃを嬉しそうに見せにきました。
修理の過程も細かく掲載していただき、こんなに複雑なおもちゃだったんだなあとびっくりしました。
今後も修理のお願いをすることが多々あると思いますが、その際はよろしくお願いいたします。
本当にありがとうございました。
Posted by:パパさん  at 2025年10月04日(Sat) 02:37