FC2ブログ

名張市つつじが丘おもちゃ病院

三重県名張市つつじが丘でおもちゃの病院を開院しています。年中無休で修理は無料、部品代のみ実費です。おもちゃの修理依頼は tutuji@cb4.so-net.ne.jp へメールにてご連絡下さい。なお、宅配便での受け付けは行っておりません。このブログにはおもちゃ等の修理事例やツール製作などを載せていきます。故障診断や修理方法の改善等、ご意見をお寄せ下さい。

犬のおもちゃの修理(電子オルゴール換装)

本件は、おもちゃの病院新津(新潟)様の修理事例であり、つつじが丘おもちゃ病院(当院)はファームウェアの開発を請け負った。
当記事には依頼元の おもちゃの病院新津(新潟)様 から提供していただいた情報や資料が含まれている。

1.患者
犬のおもちゃ(画像は 依頼元のブログ記事 から転載)
犬のおもちゃの修理(電子オルゴール換装)治療後
犬のおもちゃの修理(電子オルゴール換装)外観1

犬のおもちゃの修理(電子オルゴール換装)外観2

2.症状
①COB不良のためPICで換装するにあたって、ファームウェアの開発が当院へ依頼された。

3.診察
依頼元のブログ記事 を参照

4.治療
【要件定義】
①依頼元からの要件は以下の通り。(おもちゃの病院新津(新潟)様のブログ記事より転載)

    1:電源SWは無く、足元の押しボタンSW(正論理・負論理の選択)で演奏開始
    2:演奏に合わせて M2が演奏の間同一方向・回転(正論理・負論理の選択)
    3:耳のモータはベルト駆動で正転・反転を行う(タイミング不明だが
        演奏の間2秒正回転後2秒反転を演奏の間 数回繰り返す
        停止のリミッタがないので 機械的リミッターで回転し続ける)
      正転・反転の秒数設定(1秒~5秒 5段階)
      正転・反転の中間でディレイタイム設定(1秒・0.5秒・無しの選択3段階)
      演奏中の繰り返し数設定
    4:演奏はラウンドロビンで曲を繰り返す
       曲目は 選択式(5~10曲程度例 以下)
       ptr_mac SMALLWORLD
       ptr_mac MICKY
       ptr_mac MERIHITUJI
       ptr_mac MORIKUMA
       ptr_mac ITOMAKI
    5:演奏終了後 スリープ
    6:演奏開始 足元の押しボタンSWで再開(ラウンドロビンに)
    7:PICは つつじが丘おもちゃ病院 様へ依頼(16F1705・16F1827 あたり)
       同、ブログの2014-07-31 アンパンマン カラオケ(電子オルゴール)当たりの
       原プログラムの改造で依頼
           論理選択
              プログラム内で 1:正論理 2:負論理でプログラム製作の判らない
              人用に容易に論理変更が出来る様な作り込み  
              大変応用度が増し重宝する

    8:その他
      スピーカ回路・SW・モータの接続等はMS工房製作
      電池駆動 4.5V

現状の回路図
犬のおもちゃの修理(電子オルゴール換装)回路図

②依頼元から下記事項が要望された。

・入出力信号の極性(正論理/負論理)は容易に変更が可能であること。

・モーターの動作シーケンスも容易に変更が可能であること。

実装方法としては、ソースコードの先頭部分に 「カスタマイズセクション」 を設けて、上記の動作条件を宣言させることとした。

【ファームウェア開発】
③電子オルゴール+音声再生のファームウェア Ver5_4 をベースに、依頼元からの要件を取り込んで開発した。収容曲数からメモリが大きくて廉価な16F1705(2015年秋月価格@110円)をターゲットとした。

④カスタマイズセクションの内容(ソースコードから抜粋)

;=========簡易カスタマイズセクション(始まり)===============

;------------------------------------------------
;指定値の定義
NON_INV equ 0 ;正論理
INV equ 1 ;負論理
STOP equ 0 ;停止
FORWARD equ 1 ;正転
REVERSE equ 2 ;逆転
REPERT equ 3 ;繰返し
FIN equ 4 ;終了

;------------------------------------------------
;演奏開始のSW信号はRA3で受ける
;ここではSW信号の受け方を宣言する

;NON_INV=正論理で入力する(ポートは外部でプルダウンする必要がある)
;INV=負論理で入力する(ポートは内部プルアップする)
;
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ここを変更++++++↓
SW equ INV ;←適宜変更
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++↑

;------------------------------------------------
;モーター0の正転信号はRA0とRA1に、逆転信号はRA4とRA5に出力する
;ここでは信号の出力方法を宣言する
;
;NON_INV=正論理で出力する
;INV=負論理で出力する
;
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ここを変更++++++↓
MT0 equ NON_INV ;←適宜変更
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++↑
;
;曲の演奏開始と同時にモーター0のシーケンス動作を開始し、演奏が終わると停止する
;
;動作シーケンスを、このソースコード中のラベル「MT0_SEQ」以降に記述する
;
;動作シーケンスの書式
; MT_MAC 動作種別,動作時間
;これを必要行記述する
;
;「動作種別」は以下から指定する

;STOP=停止
;FORWARD=正転
;REVERSE=逆転
;REPERT=シーケンスの頭へ戻って演奏が終わるまで繰返す
;FIN=直前の出力状態を維持したままシーケンスの実行を終わる
;
;「種別時間」は[0.1s]の単位で0~255の値を指定する
;0は動作時間が25.6sとなる
;REPERTとFINのときは0を指定すること
;シーケンスの最後はREPERTかFINを設定すること
;
;記述例
; MT_MAC FORWARD,20 ;2秒正転
; MT_MAC STOP,10 ;1秒停止
; MT_MAC REVERSE,20 ;2秒逆転
; MT_MAC STOP,10 ;1秒停止
; MT_MAC REPERT,0 ;シーケンスを繰返す

;------------------------------------------------
;モーター1の正転信号はRC0とRC1に、逆転信号はRC4とRC5に出力する
;ここでは信号の出力方法を宣言する
;
;NON_INV=正論理で出力する
;INV=負論理で出力する
;
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ここを変更++++++↓
MT1 equ NON_INV ;←適宜変更
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++↑
;
;曲の演奏開始と同時にモーター1のシーケンス動作を開始する
;
;動作シーケンスを、このソースコード中のラベル「MT1_SEQ」以降に記述する
;
;動作シーケンスの書式は、モーター0と同じ

;=========簡易カスタマイズセクション(終わり)===============



;=========動作シーケンスカスタマイズセクション(始まり)==========
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;動作シーケンス定義マクロ
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MT_MAC macro dousa,jikan
dw (dousa<<8)+jikan
endm

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;モーター0の動作シーケンス定義
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MT0_SEQ
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ここを変更++++++↓
MT_MAC FORWARD,20 ;2秒正転
MT_MAC STOP,10 ;1秒停止
MT_MAC REVERSE,20 ;2秒逆転
MT_MAC STOP,10 ;1秒停止
MT_MAC REPERT,0 ;シーケンスを繰返す
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++↑


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;モーター1の動作シーケンス定義
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MT1_SEQ
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ここを変更++++++↓
MT_MAC FORWARD,0 ;25.6秒正転
MT_MAC REPERT,0 ;シーケンスを繰返す
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++↑

;=========動作シーケンスカスタマイズセクション(終わり)==========

⑤開発したファームウェアは ここから ダウンロードできる。
orgel5_demo_PIC1705.X がMPLABXのプロジェクトディレクトリになっている。

【実装】(依頼元で実施)
⑥換装後の回路図
犬のおもちゃの修理(電子オルゴール換装)換装後回路図

⑦換装基板
犬のおもちゃの修理(電子オルゴール換装)換装基板

⑧治療完了(依頼元の動画を共有)

関連記事
スポンサーサイト
  1. 2016/01/10(日) 18:15:05|
  2. マイコン換装
  3. | コメント:0
<<アンパンマンおでかけメロディハンドルの修理(電子オルゴール・音声再生換装) | ホーム | サーフボーイの修理(クローンリモコン製作)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

プロフィール

大泉茂幸

Author:大泉茂幸
名張市つつじが丘おもちゃ病院
名張市つつじが丘南3番町129
tutuji@cb4.so-net.ne.jp
090-5534-6494
連絡は上記のメール、またはSMSでお願いします。

子どもの頃から趣味は電子工作一筋でやってきました。理科離れが進む中で科学技術に興味を持つ子どもが少しでも増えて行くことを願って、子ども達に電子工作の活動の場を提供しています。

1981年からおもちゃ病院の活動を始め、2014年に三重県名張市への移住を機に「つつじが丘おもちゃ病院」を開院しました。自分でおもちゃを設計し製作する【おもちゃ工房】と、マイコンを応用した電子工作を楽しむ【マイコンクラブ】も併設しています。新規参加メンバーを募集しています。

当ブログで公開している技術情報や成果物のご利用および再配布はフリーです。読者様の技術活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。なお、公開ファイルは最新版を載せているので、古い記事の内容から変わっている場合があります。

カテゴリ

おもちゃ修理技術 (87)
¦ ・電子オルゴール+音声 (32)
¦ ・音声再生・録音再生 (4)
¦ ・2.4GHzラジコン (29)
¦ ・レガシーラジコン (12)
¦ ・赤外線リモコン (4)
¦ ・RFID (3)
¦ ・タッチセンス (3)
ツール製作 (24)
¦ ・プログラマー (17)
¦ ・USB-シリアル変換 (3)
¦ ・その他のツール (4)
修理事例 (150)
¦ ・マイコン換装 (70)
¦ ・電子・電気修理 (58)
¦ ・メカ修理 (22)
製作記事 (4)
PIC開発 (4)
おもちゃ病院 (9)
ドクター研修会 (2)
未分類 (0)

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR