テーマ:マイコン

100円 DIP ARMでタッチセンサ

 11月号のトラ技特集でDIP ARMの応用編を書くにあたって、このLPCマイコンは、価格からいってPICなどの8ビットマイコンの対応なので、PICに出来てLPCマイコンで全く実施例を見たことが無いアプリケーションとして、タッチセンサを選んでみました。タッチセンサは、今年6月号のPIC特集でも取り上げましたが、PICにはタッチセンサ専用…
トラックバック:2
コメント:1

続きを読むread more

トラ技11月号付録組み立て

ずいぶん長らく更新をさぼっていました。 10月10日発売のトランジスタ技術の特集11月号を執筆していた関係で、全くブログ更新ができなくなっていました。やっと11月号が発売されたので解禁です。 それにしても、NXPのDIPタイプのARMマイコンが、約100円の値付けになるとは思いませんでした。200円以下なら良いなと思っていま…
トラックバック:1
コメント:0

続きを読むread more

新しいF1シリーズPICを使ったラジアルタッチスライダーの製作

 前回は、PIC18F14K50のAD変換回路を使った、CVD方式のタッチセンサでリニアスライダーを試してみましたが、今回は、新シリーズのPICにも内蔵されているCSM方式のタッチセンサ回路を試してみました。タッチセンス用のパッドも8枚の電極をラジアル型に並べた構成にして、iPODのような操作を意識してみました。  PIC16F193…
トラックバック:0
コメント:1

続きを読むread more

PIC18F14K50を使ったリニアタッチスライダーの製作

 前々回に紹介したDCDCコンバータにI2Cスレーブの機能を実装して、外部からの出力電圧の制御と出力電圧を外部から読み出せるようにしました。これらの外部からの制御の実験のために、USBから色々な機能を使えるように考えている(USBガジェット)18F14K50を使ったマイコンボードにI2Cマスタの機能を組み込みました。DCDCコンバータの…
トラックバック:0
コメント:0

続きを読むread more

10月トラ技オフ会参加(XBee)

 先月に引き続き、10月16日(日)に開催されたトラ技オフ会に行ってきました。今回のお題は、「XBee」です。昨年作った2輪倒立振子ロボットの操縦を現在、安くてお手軽な赤外線リモコンでやっていますが、ロボットの向きによって操作できなくなることが多々あり、何とか安くて扱いやすい無線モジュールが無いか探していました。トラ技9月号が無線デバイ…
トラックバック:0
コメント:0

続きを読むread more

新しいF1ファミリPICを使った昇圧DCDCコンバータ

 長らく更新をしていなかった「からくり玉手箱」のSTM32Discoveryを使ったマイコンプログラミング4の更新を一時中断しましたが、これに代えて、新たに新PICを使った電子工作を始めることにしました。  PICは、2輪倒立振子ロボットで18F2550と18F14K50を使いましたが、ポピュラーなPIC16F84より高速、高性能、高…
トラックバック:0
コメント:0

続きを読むread more

トラ技オフ会(STM32)の参加と頂いたSTM32L-Discoveryの紹介

 前回のブログでちょっと触れましたが、昨日(9月9日)に、初めて、トランジスタ技術主催の「トラ技オフ会」に参加しました。トラ技オフ会は、1ヶ月1回の頻度で、トランジスタ技術誌の発売日に合わせて、高円寺のガジェットカフェで開催しています。数か月前からトランジスタ技術の編集部の方から誘われていましたが、なかなか時間が合わず参加出来ていません…
トラックバック:1
コメント:0

続きを読むread more

STM32マイコン開発環境の構築(IAR IDE)

 ノートPCのHDD破損でSTM32マイコンボートの開発環境も壊れてしまったため、STM32用のIAR のIDEを再インストールしたのですが、元々動いていたworkspaceのコンパイルが通りません。そんなことからHPの更新もかなり滞っていましたが、STM32VLDiscoveryが9月9日のトランジスタ技術のオフ会で取り上げられ、これ…
トラックバック:3
コメント:1

続きを読むread more

USBケーブル接続の自動認識

 PCのHDD障害のため、PICの開発環境も壊れてしまったため、自分のHPを参照しながら環境構築を行いやっと、2輪倒立振子ロボットのソースがビルド出来るようになりました。LIBRA-ONEのソースは全て無くなってしまったため、再度LIBRA=ZEROのソースから、これも自分のブログを参照しながら、PIC 2550→14K50のソースの修…
トラックバック:0
コメント:0

続きを読むread more

Think pad X41のHDD交換で、2010:Postエラー

 Thinkpad X41のHDD交換で、オークションで手に入れたHDDが到着したので、早速HDD交換をやってみました。このPCのHDD交換は非常に簡単で、PC裏面のねじを1本外して、HDDを手前に引き出せば、簡単に外すことができます。あとは、取り出したHDDに付いているブラケットをねじ4本外して、新しいHDDに装着して、元の通りPCに…
トラックバック:2
コメント:0

続きを読むread more

再びノートPCがダウン

 先週の金曜日(6月10日)に使っていたノートPCのIBM(Lenovo)Thinkpad X41が突然青画面になりOSがクラッシュしたと思ったら、再立ち上げしてもしばらく使うと、頻繁にこの状態で落ちるようになってしまいました。Thinkpad X41は、昨年9月にそれまで使っていた、VAIOのHDDがクラッシュしまったので、急遽、秋葉…
トラックバック:0
コメント:0

続きを読むread more

STM32の倍精度浮動小数点演算速度の測定

 前回作成したprintfのLCDへの表示を使って、STM32マイコン(32bit)の色々な浮動小数点演算速度の測定をやってみました。元々STM32マイコンを選んだのは、ロボットの制御に浮動小数点演算を使いたかったためで、これがどの位のスピードで動くのか試しておきます。  測定に使ったプログラムは以下です。各演算を10000回ループさ…
トラックバック:0
コメント:1

続きを読むread more

printfのためのLCD出力用低レベルIOの実装

 前回でやっとLCD表示が出来るようになったので、78K0やPICのときと同じように、標準出力で使われる低レベルIOを実装することで、printfの出力をLCDに行えるようにしました。  IAR Embedded WorkbenchのC/C++開発ガイドによると、標準出力を自前のデバイス(今回はLCD)に行うためには、    siz…
トラックバック:0
コメント:0

続きを読むread more

STM32マイコンでのキャラクタLCD表示のテスト

キャラクタLCDを動かすのは初めてではないので、もっと簡単に動くかと思ったのですが、まる1日悪戦苦闘してしまいました。LCD初期化の処理は、何回もチェックして問題ないはずなのです。ネットで調べてみると、コマンドを送出するタイミングがかなりシビアであるとか、マイコンとLCDが離れているとNGだとか、パスコンが無いとうまく動かないとか色々…
トラックバック:0
コメント:0

続きを読むread more

STM32マイコンボード(STM32VLDISCOVERY)を動かしてみる

 IAR Embedded Workbenchが動かせるようになったので、まずは、LEDとスイッチを動かす簡単なプログラムを作ってみました。普通のタイマカウンタは、まだ仕様が読み切れていないので、比較的簡単に動かせるシステムタイマ割り込みでLED表示を制御しています。初めて使うマイコンは、ハードウェアの初期化やタイマ割り込みの設定など使…
トラックバック:0
コメント:0

続きを読むread more

STM32マイコンの開発環境(IDE)選び・・・その2

 前回のブログで、STM32の開発環境(IDE)を生成コード量の制限の無い、Atollic TrueSTUDIO/STM32にしようと思いましたが、簡単なプログラムを書いてみて、実際に使ってみると、78K0やPICで使っていたIDEに比べ、いくつか機能が不足しているところがあることが分かりました。   ①ブレークポイントが1カ所し…
トラックバック:1
コメント:0

続きを読むread more

STM32マイコンの開発環境(IDE)選び

 このマイコンの場合、PICのようにソフトの開発環境をマイコンベンダのSTMicroelectronicsが用意してくれているわけではないので、何を使うか迷います。無償で手に入るIDE候補として以下の3つの中から選ぶことにしました。   ①Atollic TrueSTUDIO®/STM32   ②マイコン徹底入門で提供し…
トラックバック:0
コメント:1

続きを読むread more

ブログ再開

 東北地方太平洋沖地震で被災された方は、大変な苦労をされていることをテレビや新聞で見るにつけ、こんなブログを書いている場合か!とおしかりを受けそうで、しばらく更新を控えていました。ただ、皆が萎縮していても始まらないとも思い、気を取り直して更新を再開することにしました。  3月11日は、ここ東京でも今までに経験したことのない揺れで、職場…
トラックバック:0
コメント:2

続きを読むread more

STM32VLDISCOVERYマイコンボードの組み立て

 STM32DISCOVERYモジュールを使ったマイコンボードの組み立てを始めました。まだ、グランドと電源周りをスズメッキ線で配線しただけですが、以下に現状の写真を載せます。  SDカードのホルダが表面実装のものしか無かったので、ユニバーサル基板にうまく載せられるか心配でしたが、ホルダの裏面にある出っ張り(位置決め用?…
トラックバック:1
コメント:0

続きを読むread more

新マイコンの選択(STM32VLDISCOVERY)

 今まで、安価な8ビットの78K0、PIC18Fマイコンを使ってきましたが、倒立振子ロボットの制御では、8ビットマイコンでは演算速度の関係でどうしても短いビット長での演算が必要となります。浮動小数点演算が使えればなあと思うところあったので、今年はマイコンを16ビットにレベルアップしようと色々調べていたところ、秋月通商にSTM32と呼ばれ…
トラックバック:0
コメント:0

続きを読むread more

あけましておめでとうございます

 このブログを初めてまる1年経ちました。電子工作の初心者に見て貰らえるように、平易な書き方をしたつもりですが、これを見て初めて挑戦される方にはハードルの高い部分も多々あったようです。そういう方達とは、直接メールでのやりとりもさせて頂きましたが、まだまだ難しいことには違いないようです。  そんなこともあり、今年は何をやろうか悩むことしき…
トラックバック:0
コメント:0

続きを読むread more

18F14K50版倒立振子ロボットの車輪を変更

 先日、車軸が折れてしまった車輪の代わりに、径の小さい車輪に交換してみました。ステッピングモータにギア比の小さいSPG20-1362を使ったお陰で小径のタイヤでもゲイン調整で何とか倒立できるようになりました。タイヤが小さいので車体と床面にほとんど余裕がありませんが、床に触れない範囲の揺れで収まっています。以下に倒立している時の車輪の様子…
トラックバック:1
コメント:0

続きを読むread more

18F14k50版倒立振子ロボット(LIBRA-ONE)の動作電流の測定

 18F14k50版倒立振子ロボット(LIBRA-ONE)がゲイン調整で何とかそれなりに動くようになったので、動作時の電流測定をしてみました。前回、「偶に暴走する」と書きましたが、これは、ジャイロからの出力が変わった(AD変換の基準電圧5V→3.3V)ので、計算値をint型の範囲に収めるところのチューニングのミスで、偶にint型の範囲を…
トラックバック:0
コメント:1

続きを読むread more

LIBRA-ONE(18F14K50版倒立振子ロボット)を動かす

 LIBRA-ONEのPID制御のゲインを調節することで、LIBRA-ZEROと同様に倒立が出来るようになりました。ただし、18F14K50では、マイコンのフラッシュメモリが16KBしか無いため、LIBRA-ZEROのソフトをそのまま移植するとメモリオーバになってしまうようです。そこで、LIBRA-ONEでは、コードの大きい最小二乗法予…
トラックバック:0
コメント:0

続きを読むread more

LIBRA-ONE(18F14K50版Balancing Robot)完成

 LIBRA-ZEROで余ったアルミ板を使って、LIBRA-ONEの車体を作って、制御ボードとモータ(SPG20-1362)を組み込みました。下の写真を見て貰えば分かるように、ひと回り小さくなりましたが、車体の構造は、LIBRA-ZEROを踏襲しています。(単なる手抜き)バッテリに単4充電池を使ったのとDCDCコンバータを3回路から1回…
トラックバック:0
コメント:0

続きを読むread more

ステッピングモータ(SPG20-1362)を使ってみた

 秋月のHPを見ていたら、ステッピングモータのページに今まで載っていなかったステッピングモータ(SPG20-1362)が出ていたので仕様を確認してみると、コイル抵抗は68Ωと今までのSPG20-332と同じですが、ギアー比は、-332が1/24であるのに対して、-1362は1/18なので3割位回転が速くできそうです。値段も250円と-3…
トラックバック:0
コメント:0

続きを読むread more

18F14K50ボードへの倒立振子ロボット処理の実装(メモリ配置の調整その2)

 移植した倒立振子ロボットのプログラムの不要部分を整理していたら、USBデータ化けが再発してしまいました。最小二乗法の処理を削ったので、使っていた配列の削除でメモリの配置が変わってしまったためのようです。やはり根本的に調べないとまずそうです。  試しに、前回影響のあった高優先割り込みで動いている赤外線リモコンとモータ制御周りをコメ…
トラックバック:0
コメント:0

続きを読むread more

18F14K50ボードへの倒立振子ロボット処理の実装(メモリ配置の調整)

 18F14K50ボード(LIBRA-ONE)でCDCクラスの動作確認が出来たので、LIBRA-ZERO(18F2550マイコン)の倒立振子ロボットプログラムをポートなどを変えて移植しました。16KBのフラッシュは殆ど満杯ですが、コンパイルは無事に通りました。次にBootloaderでボードに書き込んで動かしましたが、どうもUSBがうま…
トラックバック:0
コメント:0

続きを読むread more

18F14K50ボード完成(CDCクラスの動作確認)

18F14K50を使ったLIBRA-ONE(倒立振子ロボット)ボードが完成しました。BootLoaderのテスト後残りの部品を実装してボードが完成しました。実は先週にはボードが出来上がっていたのですが、CDCクラスを動かすのに手間取っていました。18F14K50のUSB周りは、BootLoader(Bootクラス)が動いているのだから、…
トラックバック:1
コメント:0

続きを読むread more

PIC18F14K50のBootLoader(2KB版)を作る(実装編)

 18F14K50のマイコンボードをマイコン周りだけ作って(新しい倒立振子ロボの制御ボードになる予定)、前回のBootLoaderのテストをしてみました。いくつか問題がありましたが、何とか完成に漕ぎ着けたようです。18F14K50は、3.3Vで動かしていますが、USBは安定して動いています。 ■前回作ったソースからの変更点  ①…
トラックバック:1
コメント:1

続きを読むread more