スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Arduinoもどきを使ったフォークリフト(おもちゃ)運転の自動化

例年連休になると、いつもは時間がかかってなかなか手が出せない課題をやることにしているが、今回はオーディオでは無く、おもちゃいじりである。
子供の頃を思い出し、心をくすぐるものがあります。
(尤もコマーシャルの一環でもあるので、休み前から進んでおりますが・・・)

さて、お題は、「Arduinoもどきを使ったフォークリフトの自動運転」です。

FRK_4.jpg
最近のおもちゃは、なかなか手が込んでいます。Amazonで売ってます。
これはかなり大きな1/8スケールモデルなので、全長45cm、全高35cm、全幅15cmもあります。
ラジコンで前後進、左右旋回、リフト上下、クラクション操作ができ、運転操作を覚えさせると自動運転までできます。

FRK_5.jpg

でも、やはりおもちゃはおもちゃです。
・旋回半径が大きい。
・旋回が安定しない。
・急停止できない。
と、今回の課題をこなすには少し荷が重いです。

課題は安全教育に使うための以下のデモ走行ができることです。

1.フォーンを2回鳴らして発進・走行後、急停止する(フォーク上の荷が滑る)
2.同上発進・走行後、急旋回する(後輪の外輪差が大きくはみ出す)

この動作を常に安定して再現させなければなりません。ラジコンの手動ではどうも再現性に乏しいです。

FRK_1.jpg
中を開けてみると、基本的な構造はしっかりしているようです。

・駆動輪にはディファレンシャル・ギアが付いていますので(ハンドル安定すれば)、旋回動作はしっかりできます。
 しかし、速度調整機能がありません。スピードが速過ぎます(暴走フォークリフトの感強い)
 また、停止する際は電源OFFだけなのでブレーキ停止になりません。モータの短絡ブレーキ改造が必要です。

・旋回輪の角度が足りません。ロッドを削って角度を増やしました。
 また、装着されていた旋回角度用駆動モータは内部スリップするためトルクが足りません。
 汎用サーボに交換します。
 
FRK_6.jpg

Arduinoもどきの秋月・AE-ATmegaボードです。汎用サーボを付けて動作テストしました。
(4,5年前に買っておいた機材が役にたってます。当りでした。理由は下記)

いつも愛用しているPICを使用せずArduinoを使った理由は2つあります。
・servoをコントロールする関数を内蔵しており、servo動作に安定性がある。
・ポテンションボリュームからの電圧を計測し、動作させる中心サーボ角等を調整する値を演算する場合、mapという関数がありとてもプログラムが楽に行える。

忘備録1:Arduino化するためブートローダーをBitBang法(こちら)で書き込もうとしたがうまくいかなかった。結局AtmelStdioのToolsにあるDeviceProgrammingとAVRライターを使うことになった。しかし、その後はマイコン(ATMEGA328)を新品に変えてもBitBang法が使えるようになった。PC側の状態が変わったとしか思えないのですが、その根源が不明です(継続調査中)

忘備録2:Arduinoの電源とサーボの電源を同時に入れると、サーボが0位置付近まで動いてしまう。これではフォークリフトのハンドル角がロック状態になるので問題となる。サーボの電源はArduino起動後にArduinoで入れるようにする。これならば少しの揺るぎで収束します。

発進前のフォーン音やエンジン音(最近はバッテリフォークに変わって来たので不要?)もマイコンで鳴らします。

FRK_7.jpg

汎用基板に効果音IC2種とアンプを付けました。3V~5Vで駆動できます。5cm程の小さなスピーカーを鳴らします。
エンジン音は電源を入れておくと12秒程度鳴ってOFFします。フォーンは信号ピンをHIGHにすると鳴ります。マイコンで駆動できます。
詳細はデジットを参照してください。HK637シリーズの4,5とHT82V739アンプを使いました。
2つのICからの出力を1つのアンプに入れると音はミキシングされます。IC出力側に個別の半固定抵抗でボリュームを付けました。

さて以上の準備ができれば、制御回路作りと、Arduinoのプログラミングですが、その前に頭の中をまとめる必要があります。
要点は、できるだけプログラムは修正せずとも、ハードで調整ができるように作っておくことです。

FRK_2.jpg

【制御基板回路図】
FRK_8.jpg

サーボへの信号はマイコンから直接出ます。その電源はNPNトランジスタ出力で駆動するリレー経由で供給します。
フォーンへの信号は念のためNPNトランジスタ経由で出します。多分マイコン直接でもOKです。
駆動モータへの電源はCMOSトランジスタスイッチでで供給しますが、これがOFFの時はモータ回路がリレーによって短絡し、ブレーキがかかるようになっています。
ただ、このままではリレー応答遅れや故障時に電源ショートになるため、本番では回路変更の可能性があります。
速度調整はMOTOR端子後に設けた切り替えスイッチ(図には無い)で固定抵抗値を切り替えて行います。走行させてみないと速度が判らないので完成後の抵抗値選択になります。

【基板図】
FRK_3.jpg

Arduinoもどき基板AE-ATmegaの上に差し込めるように作りました。

さあてと、基板を作ってプログラムを流し込めば動くはずです。結果は連休明けです。




スポンサーサイト
プロフィール

haiga

Author:haiga
私のブログへようこそ!
電気オンチが始めた自作オーディオです
2010/3/17 電子工作をプラスしました。

自作オーディオの楽しみ共有のため、私が作ったパーツ提供をしてます。質問や要望を遠慮なくコメント欄に書き込んでください。

FC2カウンター
その日1回目にアクセスいただいた方の総カウントです
最新記事
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。