2018年11月27日火曜日

STM32マイコン体験セミナー(2018/11/26) 発表資料

Summary

2018/11/26 品川開催,STM32マイコン体験セミナーにて発表させていただいた資料を公開します。内容を思い出すためやリファレンスとしてお使いください。展示品の質問やSTM以外の回路設計や作成,3D CADなどのご質問も遠慮なくご相談ください。



入手方法

Google Driveのリンクからダウンロードお願いします。

セミナー資料(pdfファイル)
STMフォローセミナー パンフレット
IoT時代のものづくりセミナー パンフレット


使い方

資料の内容,セミナーのお問い合わせはコメント,ホームページのContact,次のメールなどでお問い合わせください。
contact@mii-system.com

ワンポイント

STMでの使用例とテクニックを発表しましたので,初期設定から作ってみることで理解度が深まります。試してハマって理解して成長につなげましょう。自力でやるも良し,一緒に良いモノを作るも良し,ものづくりを楽しみましょう。

2018年11月23日金曜日

STM32 CubeMX (3) プロジェクトを作る

Summary

STM32-Nucleo の開発ツールである,CubeMXの3回目記事です。操作とやることはそれほど多く無いのですが,昔はマニュアルとにらめっこして何日もかかった作業が,クリックだけで間違い無く設定できます。使いこなして開発を楽しみましょう。


作るもの

PA0(Nucleo-A0)にボリュームを接続し,ボリュームにより基板上のLEDの明るさを変えるプロジェクトを作ってみます。PA0をAD変換し,PB3につながったLEDをPWMにより明るさを変更するだけになります。これだけでも実際に自分で動かすと感動できますよ。

使い方

PB3をクリックしTIM2-CH2を選択します。左側の設定では PWM Generation CH2 を選択します。これは PB3をTIM2-CH2に割り当てて,TIM2の中でPWM CH2の出力に割り当てますよとの宣言になります。知らない人も多いですがタイマーはたくさんのモードと機能があるので,ちゃんと動作モードを指定する必要があり,少し面倒なところです。
PA0は ADC-IN0 を選択すれば細かい設定はここではありません。

タイマーの説明ばかりですが,赤丸の部分を変更します。プリスケーラ=48とはクロックを48分周する設定で,48MHzのCPUクロックを48分周し,1MHz = 1 [us] を作ります。カウンターピリオド = 1000 で 1 [ms] の設定とし,このタイマーは 1 [us] ごとにカウントし,1 [ms] にてゼロに戻るという設定になります。
下のPulse (Value) にてPWMの変化タイミングを指定,プログラム中もこのレジスタを変更することで PWMの幅を変え,擬似的なアナログ出力を行います。
設定値から "-1" しているのは,CPUが0~カウントするためで,お約束として覚えておくと良いでしょう。

 AD変換は変更する部分は少ないですが,Sampling Time は初期値が最速になっているので,安定性のため一番遅い設定をおすすめします。

設定が終わったのでプロジェクトを作成します。プロジェクト名称とツールチェインを選択します。ツールチェインは使用する開発ツールに合わせる必要がありますが,使えるモノが一通り揃っているのと,後で変更できますので安心してください。


プロジェクト生成のコツとして,コード生成のルールを設定できます。初期値では大量のファイルがコピーされバックアップも大きくなるので,上記設定を使っています。ご参考にしてください。

ここまでで起動~ペリフェラルの初期設定~ループまでのコードが自動生成されます。そのままコンパイルして書き込んでも動作しますので,ペリフェラルや回路のデバッグ程度はソフト作れなくてもある程度できますね。時代の進化って感じです。

ワンポイント

プログラムの時にポート割付や設定を変えることも出来ますが,プロジェクトファイルを開いたまま作業すると,設定やコードが消えたり混乱するので,バックアップを取り,ツールは一つだけ立ち上げて作業するクセを付けましょう。

STM32 CubeMX (2) おおまかな使い方

Summary

STM32-Nucleo の開発ツールである,CubeMXの2回目記事です。インストールに苦労された方もいると思いますが,今回は使い方としておおまかな流れを紹介します。慣れれば操作は簡単ですが何を作りたいのかしっかりイメージを持って臨まないと,よく分からない設定のままソフトを作ることになりますのでCPUのリソース設計を先にしっかり行ってください。


使い方

基本的な操作は以下の順になります。
1.右側のピンをクリックし,どのペリフェラルに割り当てるのかを決定します。
2.左側のペリフェラル設定によりピンの詳細を決定しますが,TMRくらいかな。

詳細はコンフィグレーションタブにより行います。設定したつもりの無いデバイスが表示されますが,とりあえずデフォルトでも大丈夫です。

設定が完了したら,Menu - Project - Generate Code に進み,プロジェクト名とToolchaine / IDE を選択します。これはコンパイラ,デバッガのことで各社の統合環境向けのプロジェクトファイルを作成してくれます。


ワンポイント

STM32はポート設定の自由度が高いですが,タイマーなど重なる部分があるので試行錯誤してみましょう。無理な設定はCubeMXで選択できないので,コンパイルが通っても動作しないというハマりが減るので,とても良いツールです。クセが強いところもあるので諦めずにいろいろ試してみましょう。

STM32 CubeMX (1) インストール~起動まで

Summary

STM32-Nucleo の開発にとても便利なツールであるCubeMXの紹介です。組込が難しい理由にOSを使わない場合が多く,初期設定からスタートアップ,割込タイミング,通信の設定など,プログラムを動かすまでにやることが多いし,難しいし...と,プログラムを勉強したい方にはとても高いハードルでした。しかも動かす前の作業のため動かない場合,理由を表示してくれるわけもなく,調査も難しく経験が必要なため,経験を積む前に挫折する方が多く,組込は難しいし…と技術者が増えない要因のひとつでありました。
これらの課題を解決するツールのひとつがCubeMXになります。グラフィカルにデバイスを選び,設定を選ぶと,自動でプログラムを作ってくれます。STM開発には欠かせないツールですので,使い方をマスターしましょう。


入手方法

下記,STのHPから入手します。ダウンロード~インストールと進みます。
さらにCPUのデータがダウンロードされますので,高速ネットのある場所で行いましょう。インストール先のフォルダにはルートから日本語が無いフォルダにします。
また2018/11月時点でV5.00となっておりますが,当記事はV4.25.0になりますので変更点がありましたら注意ください。

STM32CubeMX


使い方

起動するとプロジェクト作成画面となりますので,New Projectを選択。思わずアップデートが始まったりするので,外出前に一度起動しておきましょう。

 CPU選択画面となりますが,さすがのSTとして大量に出てきて混乱します。まずはNucleoにて使うと思いますので,Board SelecterタブやCPU Typeの選択で絞り込みましょう。私のよく使うF042の場合,Type = Nucleo32,MCU = F0 を選択すると2種類まで絞り込めました。

無事起動できました。ここからピン設定,ペリフェラル設定をに進みます。このあたりは次の記事に掲載予定です。


ワンポイント

起動するだけで大量の情報がでてきますが,焦らず対応しましょう。突然のダウンロードが多いため,新しいプロジェクトを始める場合,ネット環境の整った場所で作業しましょう。

2018年9月18日火曜日

20180910 ロボコン勉強会 発表資料

Summary

2018/09/10 に大学ロボコンの有志により開催された勉強会にて発表と展示させていただきました。クローズドなセミナーですが,有効な情報があるかと思いますので,参考資料として公開させていただきます。テクニック等のご質問も遠慮なくご連絡ください。



入手方法

Google Driveのリンクからダウンロードお願いします。

セミナー資料(pdfファイル)


使い方

資料の内容,セミナーのお問い合わせはコメント,ホームページのContact,次のメールなどでお問い合わせください。
contact@mii-system.com

ワンポイント

STM32-Nucleo(F303K8)を2台使い,マスタースレーブシステムの作り方を発表しました。初学から複数CPUをリンクさせる事は難しいかと思いますが,基礎的な話から記載しましたので試してみましょう。無料サンプルソース,開発用ボードもありますのでお問い合わせください。

2018年9月12日水曜日

STM32マイコン体験セミナー 発表資料

Summary

2018/09/07 品川にて開催されました,STM32マイコン体験セミナーにて発表させていただいた資料を公開します。内容を思い出すためやリファレンスとしてお使いください。テクニック等のご質問も遠慮なくご連絡ください。



入手方法

Google Driveのリンクからダウンロードお願いします。

セミナー資料(pdfファイル)
STMフォローセミナー パンフレット
IoT時代のものづくりセミナー パンフレット


使い方

資料の内容,セミナーのお問い合わせはコメント,ホームページのContact,次のメールなどでお問い合わせください。
contact@mii-system.com

ワンポイント

STMでの使用例とテクニックを発表しましたので,初期設定から作ってみることで理解度が深まります。試してハマって理解して成長につなげましょう。

2018年9月6日木曜日

STM32 日本語情報

Summary

Nuculeo基板が人気なSTM32,CubeMXやMDKを使い効率的な開発が人気のひとつですが,謎の動きや思ったとおりに行かない事もしばしば...そんな時に頼りになるのが公式のデータシートですが,分量は多いものの英語版ばかり,フォーラムやネット情報も英語ばかりで,ハマっている時にさらに困った感じになる経験ありませんか?
そんな方に,日本語情報の入手方法をご紹介します。


入手方法

STM DatasheetのHP
https://www.stmcu.jp/design/document/datasheet/

ST 技術ノート(日本語)
https://www.stmcu.jp/design/document/technical_note/


ワンポイント

少ないながらもBlog等にSTM32の使用例を公開いただいている方もいますが,残念ながらArduino / Raspberry Pi とは比べるもない情報量で,欲しい情報にはなかなかたどり着けないのが現状です。
知らない方も多いと思いますが,STは、毎月15日にSTM32マイコンのニュースレターを発行しており,その中に日本語ハードウエアマニュアルが公開されています。下記にリンクを置いておきますので,是非登録のうえ,快適なSTMライフを楽しんでください。
まとめて登録してほしいなど,当社からST様への取次やフォロー,セミナーもご支援可能ですので,遠慮なくお問い合わせください。

STM32マイコン マンスリー・アップデート
https://www.stmcu.jp/monthly-update/

2018年9月4日火曜日

Nucleo基板からST-Link/V2-1を作る

Summary

STM32のデバッグにとても便利なST-Linkの話。Nucleo基板が楽にデバッグできるのは,制御CPUと別にST-Link用のCPUが載っているためです。CPU単体で使う場合は別途ST-Linkを用意する必要がありますが,Nucleo基板を改造する事で安価に入手,活用できるので方法をメモします。

入手方法

RS Components
Amazon

RSは本家のST-Link V2です,高いほどでもありませんがAmazonなどで互換品が安価に出回っていて十分使えます。ST-Link V2の場合,USBのリンクスピードが1.8Mbpsで少し遅く,Nucleo基板に付いている ST-Link/V2-1 は4Mbpsなので快適になります。

Nucleo基板から作る場合



まず犠牲となるNucleo64を入手しましょう。基板割ってしまうと,実質書込できなくなりますので後悔しない基板を使いましょう。
配線はJP1の写真を見て左側が+3.3V,CN4の2-4がそれぞれ,SWCLK / GND /SWDIOになります。簡単すぎるからなのかネット探しても割り基板からST-Linkを作る配線の話が見つからず,少し悩みましたのでご参考になればいいかな。ハーネスは自作になりますが使いやすいハーネスやコネクタを選びましょう。

ワンポイント


私の場合,ケースは3Dプリンタで作成しました。フリスクケースに入れるなど,いろいろ楽しんでいる事例がありますので参考にすると良いでしょう。私は高さを抑えるために2.54ピッチの所に2.00のPHコネクタを付けました,足を広げますがUSBコネクタと同じ高さでスッキリしますので,ご参考に。



安価だけど,謎が多いSTM基板,STM32F103C8T6 につないで書込,デバッグ,問題なくできました。壊れると困るのでいくつか作っておくと良いですね。



2018年9月3日月曜日

STM32-Nucleo

Summary

当社教材でも使用しております、おすすめのマイコンボードである、STM32-Nucleoを紹介します。Nucleo-64と呼ばれる64pinタイプとNucleo-32と呼ばれる32pinタイプがあり,それぞれArduino UNO / Arduino Nano とピン互換性を持ちます。


入手方法


秋月電子
RS Components

いろいろなネット通販にて購入できます,RSの方が安い場合が多いです。
たくさん種類がありますが,当社では F042 をメインに使用しています。小型で機器組込も容易で性能とコストのバランスが良く,チップを秋月電子にて購入できるので量産へ移行する場合も安心です。年末年始や夏休みなど,試してみたい人が多い時期は入手困難になる場合がありますので,大量に使用する場合は早めに行動するのもポイントです。


使い方

開発環境を構築する必要がありますので,プログラミングがある程度できる方でないと難しい部分があります。ネットに構築方法がたくさんありますので参考にしましょう。
参考リンク:mbedではじめよう

当社のおすすめ環境は CubeMX → MDK-ARM  → ST-Link→ STM Studio を使い,コンパイル~デバッグまで行います。標準の無料環境にてステップ実行やリアルタイムモニタが行えるので困る部分は少ないでしょう。使い方は別の記事にてまた紹介します。

Arduinoに比べて環境構築が難しく感じ,挫折する機会が多いようで,当社ではフォローセミナーにより,基礎~開発スキルまでサポートしておりますので,短時間で確実にスキルを高めたい企業様,学校様などはお問い合わせください。

ワンポイント

Nucleo32は設定用のショートジャンパ(SB1-18)がたくさんあります。ユーザーズマニュアル(UM1956)に説明と回路図がありますが,読みづらく複雑です。
ポイントとしてデフォルトでは SB16/SB18 がショートされており,PB6/PA6,PB7/PA5がショート状態で自由に使えません。Arduino NanoとI2C機器の互換性を持たせる為のようですが説明が少なく,何故かソフトが動かないとハマりやすい所です。開封したらすぐに,写真の赤枠あたりのチップ抵抗を外すことをおすすめします。小さい部品なので注意して行いましょう。









2018年8月24日金曜日

Profile

プロフィール

ミイシステム株式会社 代表取締役 稲玉 繁樹(イナタマ シゲキ)

大手電機メーカを退職し起業しました。パソコンのプログラムが好きから始まり,デジタル,アナログ,メカトロなど斜めに興味を広げながらモノづくりを楽しんでいます。
電子関係の技術メモや製品紹介の場として公開します。
得意分野は1chipマイコンを中心にした組込機器~モータ制御ですが,一つの技術にこだわらず周辺の技術に目を向けてスキルを広げられるお手伝いになればと思います。

ミイシステム株式会社ホームページ
お問い合わせメールアドレス

2018.8.20