2017年12月21日木曜日

TrueSTUDIOでLチカ

この記事はMice Advent Calendar 2017 - Adventarの21日目の記事です。
昨日はnanoさんの「quadceptはいいぞ」でした。

さて,今回はSTM32マイコンのIDEの一つであるTrue STUDIOについての記事です。

来年はSystem Workbench for STM32 (SW4STM32)
開発しようかな、なんて思っていたのですが、このニュースを見て
そんな気も吹き飛びました。

STMicroelectronicsがTrueSTUDIOを開発しているatollicを買収し
有料だったTrueSTUDIO Pro が近々無償で利用できるようになるとのことです。

というわけで,とりあえずTrueSTUDIOに慣れてみようと思い
インストールからLチカまでやってみました。

ちなみに今回はNUCLEO-F446REを使い、付属のST-LinkをJ-Link OB化して
J-Linkで書き込んでみます。

インストール

まずはatollicのサイトでTrue STUDIOのインストーラをダウンロードします。
インストーラを起動したら, どんどんポチポチと進めて行きます。
コンポーネントの選択をするように言われるので、
今回はST-LinkとJ-Linkのところにチェックを入れて進みます。
さらに、ポチポチ進めてインストールを完了させましょう。

CubeMXをTrueSTUDIOに導入

 TrueSTUDIOにコードジェネレータのCubeMXプラグインを入れます。
まずは以下のリンクからEclipse用プラグインのzipを入手します (要アカウント登録)。

ダウンロードが終わったら、TrueSTUDIOのメニューバーで
ヘルプ->新規ソフトウェアのインストール...
を開き、出てきたウィンドウにある作業対象の追加ボタンを押し、
リポジトリーを追加のダイアログを出します。

ダイアログの名前入力欄に任意の名前を入力し、
ロケーション欄はアーカイブボタンを押し、先ほどインストールしたzipを選択すればOK

あとは流れで進んでいき、インストール後再起動すればTrueSTUDIO上で
CubeMXが使えるようになります。

プロジェクトをつくる

まずはCubeMXでプロジェクトを作ります。
TrueSTUDIOの右上にある「パースペクティブを開く」ボタンを押し




出てきたダイアログにある 「STM32CubeMX」をクリックしCubeMXを開きます。
CubeMXが起動したら、New Projectをクリックしデバイス選択に進みます。

今回はNUCLEO-F446REを使うので、「Board Selector」タブから選択し
ダブルクリックで進みます。

進むと下のような画面に進みます。ここでピン設定やクロック設定ができます。
今回はLチカだけなのでいじらず進みます。
まずはプロジェクトの設定を行います。メニューバーから
 Project->Settings...
と進み、以下のように、Project Nameを適当に決め
Project Locationを好きな場所に設定し、Toolchain/IDEをTrueSTUDIOにすればOK
設定が終わったら
 Project->Generate Code
でプロジェクトを生成し、「Open Project」をクリックします。
 右上のボタンを押してCubeMXからC/C++パースペクティブに戻ります。
  
一度ビルドしてみてエラーが出ないか確かめておきます。

ST-LinkのJ-Link OB化

下記のリンクからSTLinkReflashをインストールします。
Converting ST-LINK On-Board Into a J-Link
 ST-LinkをPCに接続した状態でSTLinkReflash.exeを起動し
指示に従ってJ-Link OB化します。

デバッガの設定

TrueSTUDIOのデバッガをJ-Linkに設定します。メニューバーから
実行->デバッグの構成
を選択し、出てきたダイアログの左欄にある「(プロジェクト名).elf」を選択し
デバッガタブのデバッグプローブ欄を「SEGGER J-LINK」に設定します。
適用を押したらダイアログを閉じます。


Lチカのプログラムを書く

TrueSTUDIOのプロジェクト・エクスプローラーからSrcフォルダにあるmain.cを
開きます。main.c 内にはCubeMXで生成されたコードがすでにあります。

CubeMXで再度コード生成を行ったときに、自分が書いたコードが
消えないようにするには
/* USER CODE BEGIN */
/* USER CODE END */
のようなコメントの間に書いていきます。

今回はLチカなのでコード生成で用意されているwhile(1)ループを使います。
/* USER CODE BEGIN WHILE */
/* USER CODE END WHILE*/
の間に次のようにコードを書きます。

これをビルドしてエラーが出なければOK。あとはJ-Linkで書き込むだけです。

書き込み

 ツールバーの虫アイコンをクリックすることでデバッグのパースペクティブが開き
デバッグが開始されます。
 ツールバーの再開ボタンを押してみるとNucleoボード上のLEDがチカチカと
輝き始めます。

まとめ

SW4STM32に比べて環境構築がらくちん



明日のMice Advent Calendar 2017
アブノーマルくんの「elecrowでクリスマスツリー【2年目】」です。

2017年1月1日日曜日

POMを染めよう!!!

 POM(ポリアセタール,ジュラコンとも)等の樹脂を染めて
にしたい方向けの記事でございます

準備するもの
・樹脂製のパーツ
・鍋(今回は百均のボウルで代用しました)
・染料(ダイロンマルチまたは樹脂着色用染料SDN)

 以上!簡単ですね

 染料について説明しておくと

ダイロンマルチ
サイト:www.dylon.co.jp/catalog/dylonmulti.html
価格:約500円
本来衣料用染料のようですがPOMも染められるとの情報があったので使ってみました.
粉末の染料で水に溶かして使います.様々な色があり混色も可能なようです.
内容量は約5gです.小鍋に入る程度のパーツであれば3,4回は使える量です.
今回は32番スカーレットを使ってみました.
 使用済み希釈溶液をもう一度使ってみましたが色が汚くなったので
一度使ったら廃棄したほうがよさそうです

樹脂着色用染料SDN
サイト:www.osaka-kaseihin.co.jp/sdn.htm
価格:約800円
POMを染色するのにはメジャーな染料のようです.
液体の染料です.水で5%に希釈して使います.刺激的な香りがするので換気扇を回しましょう.
こちらもダイロンマルチ程ではありませんが多くの色があり混色可能です.
内容量は70gとなかなか使いきれそうにない量です.
一度使った希釈溶液は再利用可能です.
今回は黒を使ってみました.

2つの染料を紹介しましたが,基本的にやることは同じです.

染料を水で薄める

希釈した染料とパーツを鍋に入れとろ火で煮込む
(溶液の量が減ってきたら水を継ぎ足す)

ちょうどいい色になったらパーツを取り出す

これだけです.本当は指定された濃度と温度で染めた方がよいのでしょうが
面倒だったので目分量&煮込むという雑な感じでやってしまいました(おい

今回の染色では鍋ではなく百均で買ってきたボールとざるを使いました.
下の写真のような感じでぐつぐつと30分ほど煮込みました.




染色した結果,下の写真のような感じに染まりました.思ったよりもきれいに染まって満足です.


一方のSDNで染めた方もしっかりと黒に染まってます.



長くなりましたが,樹脂には塗装だけでなく染色するという選択肢があることがわかっていただけたと思います.
 ぜひ皆さんも染色にトライしてなライフを!!!