goo blog サービス終了のお知らせ 

寝ても覚めてもPSoC

電子工作とマイコンをやりはじめました。
ど素人ですので配信する情報の取り扱いには十分注意してください。

3.3V版 MimiProg

2010年08月22日 | PSoC
多くの部品が3.3Vで動作する世の中になっていました。
僕もいくつかPSoCを3.3Vで動作するような物を作りました。

そこで困るというか面倒なのが、MiniProgの出力が5Vであるという事です。
5Vを供給すると壊れてしまう部品もあるため、Programで書き込むときは3.3V電源を用意し、PowerCycleではなくResetで書き込むという事をしていました。
これはMiniProgで3.3Vが出力できれば解決できる。

偉大なGoogle先生は知っていました。その方法を。

どうやらMiniProg基板のJP1の0Ω抵抗を逆側に付ければ3.3V出力になるそうです。
なるほど~という事で予備で買っておいたMiniProgでやってみた。
ハンダこてで0Ω抵抗を剥がす。...ゴシゴシと...なかなか難しい。結局、力技で抵抗を吹き飛ばして剥がす事に成功ヒャッハー
逆側へは0Ω抵抗は吹き飛んで消息不明なのでハンダでつなげた。

3.3V版 MiniProg
ちょうどCypressマークの下のジャンパーがそれです。

テスターで測ってみると、ISSP端子のVdd電圧は3.2Vである事を確認


※8/25追記
この3.3V版ですが、ファームのアップデートができない、MiniProgを認識しない場合がある、書き込みできない場合があるという問題が発生しています。
結局、使い辛いので僕は5Vに戻しました...


PSoCで非接触温度センサを使う[MLX90614BAA]

2010年08月04日 | PSoC
PSoCで非接触温度センサ(MLX90614BAA)を使ってみました。
ストロベリーリナックスで購入しました。

このセンサ、なかなか面白いです!
なかなか面白いのですが、温度は検出エリアの平均値という事と、購入したセンサの指向性が悪いのが曲者です
物体をセンサに接触するぐらい近づけるとその温度を表示しますが、離すと周りとの平均温度になってしまいます。
それでも、顔を近づけたりすると温度が上がるので、これはこれでいろいろ使えそうな気がします。
試しに充電完了直後のエボルタをギリギリまで近づけると、50℃近くを示しましたw



ちなみにMLX90614はSMBusでマイコンとやりとりします。SMBusはI2Cとほとんど同じという事なので、とりあえずI2Cmでやってみたらうまくいきました
※もちろん、Google先生のお世話にもなっています。

回路図です。




プロジェクトファイルです。
デザイナ: 5.0 SP6
デバイス: CY8C29466 3.3V
コンパイラ:ImageCraft
PSoC_MLX90614_29466.zip

PSoCで温度計測[LM60]

2010年07月26日 | PSoC
暑い。暑いぞ!
とてつもなく暑い。死者がでるほど。
そういえば、車の中はきっととんでもない温度になっているに違いない!
よし、計測してみよう!

温度センサーは、真冬に計測した時に使ったLM60を使います。

念のため使用部品を調べてみた。
LM60 ........ -40℃ ~ 125℃
TA48M033F ... -40℃ ~ 85℃
PSoC ........ -40℃ ~ 85℃
EVOLTA ...... ??

まぁ、大丈夫でしょう。たぶんww
って事で計測してみました。
車内のグラフ
※1分毎にEEPROMに記録(途中で温度が下がっているのは車を使ったため
※計測時間:約9時間
※電池 開始電圧:7.56V 終了電圧:7.48V
※天候:晴れ

結果、最高で54.5℃を記録しました!
予想ではもう少し高くなるかと思った...(少し窓開けといたのもあるけど)


冬バージョンとほとんど同じなので回路図とプロジェクトは省略しました。


サーボが壊れた[GWS NARO]

2010年07月08日 | PSoC
サーボが壊れました。GWSのNAROです。
電源をつないでスイッチON!
あれ?いつもと挙動が違うなと思っていると、なにやら変な臭いがする。
むむむ、こ、これは!?
すると煙がモクモクと出て、外側ケースが少し溶けました
すぐに電源をOFFにしましたが、時すでに遅し...。

原因は、7.2Vの電圧をかけてしまった事かなww
耐えれると思っていたけどダメでした。うーむ。
ちなみに同じ電源にGWS S03Tもつないでいたのですが、何故かこいつは無事でした。
※追記
S03Tは10Vぐらいまでは大丈夫のようです。


くそー、1200円がーーーーーーーっ!!

改めてググってみると、GWSフォーラムにGWS4CEOという人がいくつかコメントしていたので拾ってみました。

・The GWS servo only good for 1.0~2.0ms pulse width. Over this range may cause damage to servos.
・GWS Naro or Pico servo should be applicated under 1.0~2.0ms pulse width modulation.
・A GWS will be only run under less than the 6.0V.
・GWS servo should use an ESC which provide 5~6V BEC out put. The 7+V is a killer!

....orz

PSoCをPSoCで書き換え その2

2010年07月05日 | PSoC
いろいろ検索してたら、どうやら(昔から)普通にやってるみたいですね。
HSSPがキーワードのようです。

●Host Sourced Serial Programming [AN44168]
●In-System Serial Programming (ISSP) Protocol [AN2026b]
●Assembly Language User Guide
●16進数からC構造体への変換アプリケーション [IP34462]

このへんを見ればできそうですが....英語ばかりで
時間を見つけてなんとかチャレンジしたい!

PSoCをPSoCで書き換え

2010年06月30日 | PSoC
PSoCのROM(HEX)を(MiniProgを使わずに)PSoCで書き換えたい!!

無理かなぁ....

Xbeeでデータを受けてプログラムの書き換えしたいんですが

以前、コマンドラインツールを使って、プロジェクトビルドとMiniProgを使ってROM更新するのをWeb上からできるようにしてみたのですが、今回はさすがに無理か orz



PSoC Designer5.0のバグ

2010年06月11日 | PSoC
PSoC Designer5.0のバグを発見しました!

Workspaceに複数のプロジェクトを作成し、アクティブプロジェクトを切り替えて”Save Workspace”を実行しても状態が保存されないというwwww
子プロジェクト作成時しか保存されんのか?これは。
appファイルの中身を書き換えれば良いって問題じゃないよね~
SP7はまだか!?


関係ないけど、このブログのバグもなんとかしてほしい。
記事をせっせと書いて保存しようとしたら認証画面になるバグ。また発生したぞ。


PSoCでロータリーエンコーダ[EC16B]

2010年06月09日 | PSoC
タミヤギアボックスタイヤの回転数を把握したくなったのでロータリーエンコーダを使ってみました。
秋月のEC16Bという物です。
状態を細かく取る必要がある事とチャタリングの問題がありました。

解決するために、いつものように検索して参考にしながら、テストしてなんとかできました~!
添付プロジェクトファイルでギアボックスのシャフトとエンコーダ軸を直結してタイヤの回転数(正負)を取得する事ができます
※正確にはタイヤの回転から移動距離を求めています。

さて、値を取れたのは良いのですが、新たな問題が発生~!(ピーポーピーポー)
エンコーダを回すのに結構なトルクが必要になってしまったのだ...orz
とりあえずミニ四駆用の高トルク型モーターを使いましたが、それでも電圧が低いとピーピーとモーター音(?)が鳴るだけで動かないケースもwww
実は最初はリードスイッチで非接触でやりましたが、一つしか取り付けができなかったため失敗に終わりました。まぁこれはこれで正確に状態が取れない問題もありそうですが...できれば非接触で計測したかったなぁ。

DCモーターは難しいですね。30cm進んで30cmピタリと戻るのが難しいとかいろいろwww
乱数PWMもやってみたいなと。


回路図です。
ロータリーエンコーダ[EC16B]


プロジェクトファイルです。
デザイナ: 5.0 SP6
デバイス: CY8C24794 5V
コンパイラ:ImageCraft
PSoC_RotalyEncoderGPIO_24794.lzh


PSoCでRobo-Qを制御[赤外線 TLN119]

2010年06月03日 | PSoC
前回書き込みからだいぶ間があいちゃったな....

GW連休前、Androidアプリが完成した。(正確には完成させたw)
無料ゲームとしてマーケットに公開もなんとかできた
ほぼ1ヶ月経って、DL数は2000ちょいです
思ったよりパワーがないなぁというのが感想。次はもう少しDLされそうなネタで勝負したいところ。

さて、ここ1ヶ月ほどは何もしていなかったわけではなく、ちゃんと工作していました。
ただ長期化しそうです。というか、既に長期化していますw
ガラクタ作ってるのに長期化する傾向はよくないなぁと思いつつも...

それで先日面白いネタを見つけたので息抜きついでに作ってみました。
そのネタとは、タカラトミーのRobo-Qという世界最小の二足歩行ロボをAndroidで制御するというものです。
ロボットとの通信は赤外線で制御するため、Androidとか関係ないのでPSoCでやってみようと。
”こんなこともあろうか”と、少し想像しながら1体買っておいたしwww
制御コマンドは既に解析された方がいて、それを参考にパクりました~





回路図です。
PSoCでRoboQ制御

プロジェクトファイルです。
デザイナ: 5.0 SP6
デバイス: CY8C27143 5V
コンパイラ:ImageCraft
PSoC_RoboQ_ctrl_27143.lzh


おもちゃの改造 完成[TA7291P]

2010年04月16日 | PSoC
なんとか完成しました。\(^o^)/


モーターの制御は、モータードライバ[TA7291P]を3つ使用しました。
PCからRS232C経由でPSoC(CY8C29466)にコマンドを送ると、モーターの制御ができます。
ちょっとパワー不足を感じますね。
また、必要に応じて前回作ったmp3playerから音声を出します。
フォトセンサは、やっているうちに壊してしまいました

回路図です。
モータードライバによる電圧低下のため、実際には5V電源からTA7291Pに供給しています。
おもちゃ制御の回路[PSoC,TA7291P]

さて、何を改造したのでしょう?(謎)