2019-01-01から1年間の記事一覧
個人的に今年取り組んだ最大のネタはEtherCATでした。今年の成果をまとめます。 ブログ記事 (はてなブログ) ソース(GitHub) 動画 (YouTube) スライド資料 (SlideShare) ブログ記事 (はてなブログ) ソース(GitHub) 動画 (YouTube) スライド資料 (SlideShare) …
EtherCATに関する文章を読んでいて、何のことわりもなく唐突にSDOとかPDOとかいう異質な言葉が出て来て面食らったことはないですか? SDOとかPDOとかってCANの用語じゃないの? SDOとかPDOとかいうのは、EtherCAT用語というよりは本来はCANopen用語のはず。E…
EtherCATについて語る Advent Calendar 2019 はもう埋まりそうなので、こちらはニッチすぎる番外編記事です。 やりたいこと オープンソースのEtherCATマスターであるSOEMをDLL化し、ExcelのVBAマクロから呼び出せるようにする。これによって、ExcelからEther…
この記事は EtherCATについて語る Advent Calendar 2019 の19日目です。昨日は@nonNoiseさんの EtherCAT 動画集(デモストレーション編) でした。 【注意!】 今日の記事はかなり偏った見解を含んでいる可能性があります。今日はロボットに使われる通信方式…
この記事は EtherCATについて語る Advent Calendar 2019 の16日目です。昨日は@nonNoiseさんの EtherCATでステッピングモータ を動かしてみる でした。さて、12月14日に開催されたルネサスナイト15にて「GR-SAKURAでEtherCAT」と題してLTしてきました。今日…
この記事は EtherCATについて語る Advent Calendar 2019 の11日目です。昨日は@nonNoiseさんの EtherCAT開発方法 フレーム編(ライトまで) でした。今日はオープンソースのEtherCATマスターであるSOEMをWindows上の.NETアプリで使う方法を解説します。 SOEM…
この記事は EtherCATについて語る Advent Calendar 2019 の8日目です。昨日は@nonNoiseさんの EtherCAT開発方法 概要編 でした。今日はオープンソースのEtherCATマスターであるSOEMをOS無しのマイコンに移植する上でのポイントをまとめます。(本件の位置づけ…
この記事は EtherCATについて語る Advent Calendar 2019 の4日目です。昨日は@nonNoiseさんの EtherCATスレーブに使える半導体 (1) でした。さて、11月30日(土)に開催されたIoTつくるよ!2に出展し、「ArduinoでEtherCATのデモ」を展示してきました。すこし…
EasyCATとは? AB&T社が開発・販売しているEtherCATスレーブ基板の製品群。この記事ではおもに EasyCAT Shield for Arduino について述べる。その名の通り、Aruino用のシールドである。 EasyCATのコンフィグとは? EasyCATは、出荷時には入力32バイト+出力32…
日本圧着端子(JST)の基板対電線用圧着コネクタのうちよく使うものを以下にまとめる。JSTのコネクタはやたらと種類が多くてメーカーのサイトを見てもよく分からないが、入手しやすく現場でよく使われるものをチョイスしたつもりである。(※わりと独断と偏見が…
Visual Studio CodeでGADGET RENESAS(がじぇるね)の開発をする裏技です。 GR-SAKURAとGR-CITRUSで確認ずみ。 Windowsで確認ずみ。Macでもたぶんできるはず。Linuxは未対応。 Arduinoベース(C++言語)での開発です。Rubic / mrubyではありません。 Visual Stud…
LPC111xマイコンのピン機能は基本的にはGPIOがデフォであり、IOCONFIGレジスタのFUNC=0がGPIOとなっているが、一部そうでないピンがある。特に下記(2)の場合が要注意である。 (1) RESET, SWCLK, SWDIO RESET, SWCLK, SWDIOのピン(PIO0_0, PIO0_10, PIO1_3)は…
同じ2.54mmピッチのストレートピンヘッダにも、太さ・長さのちがうやつがあるので注意。 細いピンヘッダはブレッドボードに無理なくさせるのが利点だが、ふつうのピンソケットに挿すとスコスコになってしまう。 ふつうのピンヘッダ 太さ: 0.64mm 長さ: コン…
ロームのデジトラ、見た目のピン配置は同じなのにパッケージによってピン番号の振り方が違うの、落とし穴すぎる。CADでライブラリを作成するときに要注意。どうも、ペタ足のパッケージは左側が1番ピンで、ニョロ足のパッケージは右側が1番ピンの法則があるよ…
べつに内部の動作を知らなくても使えるのだけど、ムズムズするのでいちおう簡単に計算してみた。 参考 www.tij.co.jp
(1) やりたいこと nRF52832のソフトウェアをMbedで開発したい オンラインコンパイラは嫌(※1)なのでローカルで開発したい EclipseベースでもいいのでGUIなIDEで開発したい Windows上で開発したい Mbed Studioなにそれ? (※2) デバッガはnRF52-DKボードのJ-Lin…
いまどきのRail-to-Rail(フルスイング)なOPアンプならあまり気にしないことですが、昔のOPアンプを5Vや3.3Vの単電源で使うとわりと思った通りになりません。このあたり、アナログ回路やってる人には当たり前の話でしょうが、僕はいままで実測して確かめたこ…
LPC1114のA/Dコンバータでちょっとつまづいたのでメモ。 LPC1114のA/Dコンバータには以下の2つのモードがある。 (1) ソフトウェア制御モード A/D制御レジスタ(AD0CR)のBURST=0とするとこのモードとなる。 AD0CRのSELでチャンネルを選択し、AD0CRのSTART=001…
Arduino IDEはなにかと不便なのでVisual Studio Code (VSCode) を使ってArduinoの開発をするメモ。 VSCodeとArduino IDEをインストール 当然ながら、まずVSCodeをインストールしておくこと。また、VSCodeでArduinoの開発をするといっても、内部ではArduino I…
System Workbench for STM32 (SW4STM32) でハマったのでメモ。ST-Linkをマイコンボードに接続してデバッグしようと思ったら、下記のようなエラーが発生した。 Error: timed out while waiting for target halted どうも SWCLK と SWDIO だけを接続して RESET…
※この記事はかなり偏った思想にもとづいて書かれています。20年以上も秀丸を使い続けてきたおじさんだけど、ついにVSCodeへの移行をはじめている。VSCodeはたしかにすごく便利なのだけど、長年秀丸を使ってきた者にとっては痒いところが多々あるのも事実。と…
手順をメモする。 (1) piユーザでログイン 仮ユーザ(tmp)を作成し、sudoグループに追加し、パスワードを設定する。 sudo useradd -M tmp sudo gpasswd -a tmp sudo sudo passwd tmp exit (2) tmpユーザでログイン piユーザのユーザ名(ここではnewnameとする)…
ArduinoやラズパイでカジュアルにEtherCATを組むまとめ。 EtherCATマスターとEtherCATスレーブ EtherCATスレーブ : EasyCAT + Arduino Uno EtherCATマスター(1) : Rasoberry Pi EtherCATマスター(2) : Ethernet Shield 2 + Arduino DUE EtherCATマスター(3) …
NeoPixel Ring (12連フルカラーシリアルLED)でイヤリングを作ってみました。点灯パターンは青と白を基調として「ゆらゆら」「ぐるぐる」「ちかちか」の3パターンを繰り返します。かなり重いので耳掛け式(イヤーフック)です。ピアスではありません。マイコン…
やりたいこと Mbedのオンラインコンパイラで作成したLPCマイコンのプロジェクトをエクスポートしてLPCXpressoにインポートしたい。以前はエクスポート時の選択肢にLPCXpressoがあったのだけど、今はなくなっている。代替手段を見つけるのに手間取ったのでメ…
6軸IMUセンサ(3軸加速度+3軸ジャイロセンサ)と言えば、InvenSense(現TDK)のMPU-6050やSTマイクロのLSM6DS3が電子工作界隈ではメジャーですが、BOSCHのBMI160もがなかなか良いです。BOSCHといえば気圧・温湿度センサBMP280/BME280がすごく流行りましたが、こ…
PSoC 5LP Prototyping Kitの注意点 PSoC 5LP Prototyping KitのP0_2, P0_3, P0_4, P3_2にはでかいコンデンサ(1uF)がついてるので要注意。とくにOPアンプで使うときに不都合。(不都合なときはC12, C13, C9, C7をはずす。) P1_0, P1_1もデバッガ用ピンなので使…
BOSCHの気圧・温度センサBME280とBMP280の差は、基本的には湿度センサの有無ですが、configレジスタのt_sbビットの解釈も一部異なっているので要注意。t_sbビットはセンサ測定値の更新周期に影響する tstandby を設定します。 tstandby[msec]の設定 t_sb[2:0…
手順メモ。 ワークスペースにライブラリプロジェクトを追加 左ペインのWorkSpace ExploerでWorkspaceを右クリックして「Add」>「New Project」 Select project typeで「Library project」を選択 ライブラリの場所と名前を指定。ここではプロジェクト名を「M…
ベアリポジトリ(bare repository) = 作業コピーを含まないリポジトリ ノンベアリポジトリ(non-bare repository) = 作業コピーを含むリポジトリ ベアリポジトリは集中管理用 つまり、リモートリポジトリはベア、ローカルリポジトリがノンベアが基本 ノンベア…