2019年05月18日

PCB電磁石

簡単なアクチュエータを作りたいと思い、PCBを使って電磁石を設計してみました。

約35mm x 約35mmのサイズで配線幅0.3mmで両面配線しました。多層基板等使えば、磁力は強められますが、コストの兼ね合いで両面基板を選択しました。基板厚を一般的な1.6mmでなく、0.6mmを使用することで軽く重ねても使用できるようにしてみました。


IMG_7514.JPG


配線幅0.3mmにつき、最大電流約300mA
両面で約60回巻、抵抗値10.2Ωとなりました。


5v印加で500mAの電流が流れるため、流れ過ぎな感じですが、ほんのり温かくなる程度で電磁石としての機能を確認することができました。
PWMでマイコン制御できそうです。電磁石は部品として購入すると入手性やコスト面で難がありますが、PCB基板で実装できれば解決できます。これらの電磁石を組み込んで小型なロボット?的なものを考えてみたいと思います。

posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2019年04月27日

STM32CubeIDE

先日、STからSTM32CubeIDEという純正の開発環境が発表されました。
今回はSTM32CubeIDEを紹介させて頂きます。


今までSTM32の開発環境はSW4STM32、TrueStudioといったパートナー企業が開発したIDEを使用することが一般的でした。
STM32マイコンをワンストップで開発できるようにCubeMXにTrueStudioを統合したSTM32CubeIDEが開発されました。


cubeide1.jpg


SW4STM32、TrueStudioと比べると、
CubeMXで設定して生成したプロジェクトを開発環境にインポートする手間が減っています。

早速、ダウンロードして試食してみました。



cubeide2.jpg

起動するとワークスペース選択画面がでます。
デフォルトのままで「Launch」をクリックします。

cubeide3.jpg

起動するとプロジェクトの新規作成、or 開くボタンが表示されます。

今回は最初なので新規作成から行いました。
「Start new STM32 Project」をクリックします。

cubeide4.jpg

CbeMX同様にマイコン選択画面が表示されます。
今回は手持ちのSTM32F401Nucleoを選択しました。

cubeide5.jpg

続いてプロジェクト設定画面が表示されます。
ここでC,C++で記述するのかといった設定ができます。
プロジェクト名のみ設定して「Next」をクリック。

cubeide6.jpg

コード生成に際して、CubeMXのファームバージョン等の選択画面が表示されます。
デフォルトのままで「Finish」をクリック。


cubeide7.jpg

ピンアサイン、クロック、ペリフェラル設定の画面が表示されます。
一通り設定を行ったあとはコード生成を行います。


cubeide8.jpg

Project→Generate Codeをクリックしてコードを生成します。
CubeMXがすでにインストールされている場合、CubeMXのファームパッケージのディレクトリから自動で読み込まれるようです。
CubeMXのファームパッケージがない場合や古い場合は自動でダウンロードが開始されます。


cubeide9.jpg
コードが生成された後はCtrl+Bでプロジェクトのビルドをします。
デフォルトではデバッグ用のelfファイルのみ生成されます。
必要に応じてプロジェクトウインドウのプロジェクト名を右クリックして、プロパティからbin or hexファイルを生成するように設定します。
Alt+Enterでもプロパティを表示できます。

cubeide10.jpg

C/C++ Build→Settings→MCU Post Build outputsから「Convert to binary file/ Intel Hex file」にチェックを入れます。
これでビルドするとbinファイルが生成され、STLink UtilityやCube Programmer等から書き込みできます。


またデバッグ等を行う場合もこれまでのSW4STM32やTrue studio同様です。

cubeide11.jpg

Debug Configurationからデバッグ設定を行います。

cubeide12.jpg

Search Projectからelfファイルを選択してDebugボタンを押すことでオンラインデバッグが可能です。

SW4STM32やTrueStudioの開発環境にCubeMXのプラグインを予め導入したものがSTM32CubeIDEという感じです。

cubeide13.jpg

TrueStudioの機能かもしませんがビルド後にメモリの空きスペースが表示される機能は便利だと思いました。
今回のSTM32CubeIDE発表に伴い、残念ながらSW4STM32、TrueStudioの開発環境はNRND、つまり新規開発には非推奨になっています。
今後はSTM32CubeIDEがメインになるようです。
デフォルトでbin、hexが生成されない設定や通常の書き込みボタンやツールがないようなので初心者には少し戸惑う点があると思いました。

sw4stm32.jpg


SW4STM32ではデフォルトでbinが生成され、上記のような書き込みボタンがありました。
これからの発展に期待しましょう。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2019年03月16日

組込ソフトウェア開発で便利なマクロ

今回は組込ソフトウェア開発で便利なマクロを簡単に紹介します。

まずはビルド管理に便利なマクロ、
__DATE__と__TIME__です。

例えば起動時に下記のコードを仕込んでおけば
ビルド時にビルド日時が埋め込まれます。
printf("Build: %s %s \n\r",__DATE__, __TIME__);

例えばシリアルから出力すると下記のようになります。
Build: May 6 2019 13:56:47

自動でビルドの度に埋め込まれるため、
ビルド管理やファームウェアバージョン管理が容易になります。



続いてエラー処理等で便利なマクロ、
__FILE__、__FUNCTION__、__LINE__です。

エラーは発生した際にこれらのマクロを使用するとエラーの出た処理が記述されたファイル名、関数、何行目か出力することができます。

printf("ERR-> File: %s Func: %s Line: %d\n\r",__FILE__,__FUNCTION__, __LINE__);

例えばシリアルから出力すると下記のようになります。
ERR-> File: ../Src/main.c Func: main Line: 264

これらのマクロを仕込むことでデバッグがし易くなります。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2019年03月09日

アンプ内蔵アナログ出力MEMSマイク変換基板

以前からアナログ出力MEMSマイク変換基板を販売しておりましたが、
アンプを内蔵しておらず、外部で別途アンプが必要でした。

外付けアンプの場合、拾う音の対象に応じてアンプのゲインを変えて対応できるというメリットはありますが、回路が別途必要となるのが面倒でした。

そのため、現在のラインアップに加えて、アンプ内蔵アナログ出力MEMSマイク変換基板を設計してみました。


img1.jpg


img2.jpg



デフォルトではアンプゲインを約50倍に設定しています。
大きな音の場合は飽和する場合がありますが、部屋の音などを拾う分にはちょうどよいゲインに設定しました。
また、出力中立電圧を電源電圧/2に設定しました。
アンプ内蔵のため、Arduinoといったマイコンのアナログ入力(ADC)にそのまま接続することが可能です。

もし、拾う対象の音が大きく、出力が飽和してしまう場合はゲインのR4をデフォルトの500kohmから例えば100kohmにすれば、ゲイン約10倍となります。1608サイズの抵抗を使用してください。

基板のサイズ、固定穴径はこれまでのアナログ出力MEMSマイク変換基板と同じにしています。


設計に問題なければ1個2000円弱程度で販売開始予定です。
詳細についてはこちら
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2019年03月02日

RFID機能付きEEPROMモジュール

今回は以前に紹介したRFID機能付きEEPROMのモジュールを紹介します。

STから販売されている「Dual Interface EEPROM」は一般的なEEPROMのI2Cインタフェースに加えて、RFIDのアンテナ端子も付いています。
つまり、EEPROMにI2CとRFIDの2つの通信で内部のデータにアクセスできます。

更に面白いのはRFIDの通信の場合はEEPROMに電源を供給せずともRFIDの電波でそのままパッシブにEEPROMが動作する点です。
RFIDの電波でパッシブで動作するため、マイコンの電源を入れなくともデータの読み書きができます。

このRFID機能付きEEPROMにアンテナとGroveコネクタを接続したモジュールを設計、作成してみました。


img1.jpg


現在、量産前の試作検討をしており、問題なければ春頃、どこかで1個1500円程度で販売開始予定です。
詳細情報はこちら
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする