[][mobile][Homepage][BBS][Blog][YouTube][asablo]

過去の記事の検索が簡単にできるよ (・∀・) 例 ランチャー9
カスタム検索

気になるPICマイコン2種の紹介(PIC16F1716、PIC18F25K22)2016/06/19 23:29:10


オペアンプ内蔵PIC

久々に秋月の通販を利用した。前回は1年半前だ。そうか、最近は本腰を入れて電子工作やってなかったな。というわけで、気になるPICを買ってみた。

★PIC16F1716 (データシート) (秋月
これはオペアンプが2つ、DACが8ビットが大きな特徴。内部発振もPLLが入っている。ということは、これ一つで音声出力ができる可能性を秘めているのだ。DDEの様な波形ジェネレータもワンチップで出来るかもしれない。

色々な希望を抱きながら調査中。180円


USARTが2chあるPICマイコン

★PIC18F25K22(データシート)(秋月
一見普通の18FPICであるが、国内で小売りしているUSART(シリアル通信)が2本あるPICだ。
つまり、これで通信の仲介とか、XBeeなどでの通信アダプタなどに利用できる。

普通の16/18PICはUSARTは1本しか持たないものが殆ど。シリアル通信を2つ持ちたい場合は、片方をソフトウェアUSARTにする事になるが、オーバーヘッドなどを考えると、プログラムが面倒になる。このデバイスなら、スプールバッファだけ用意すれば、単純に処理に専念できるだろう。
通信電文を混合させるインジェクターや、特定の電文を抽出するデテクターなんか作れそうだ。
値段はなんと200円。32Kバイトもプログラムエリアがあるのが嬉しい。


積みPICにならないように、アイディアを膨らませてみるw


PICkit3もEEPROMが書ける(要改造)追記あり2016/06/12 23:15:55



2年以上も前にPICkit2はEEPROMが書けて便利 PICkit3では?」の記事を書いたのだが、その後、書き込める事のコメントを頂いていた。
最近になってEEPROMを読み書きする事がでてきたので、ここに書き留めておくとしよう。

Microchipフォーラムにも同様な質問が寄せられており、PICkit3の部品を2つ外す事が説明されている。この説明書は、PICkit(TM) 3 Programmer Application with scripting supportのテキストファイルに記載されているのだが、気が付きにくいファイルでもある。




改造は、まず以前にも紹介した3か所の抵抗100オームを0オーム(もしくはショート)する改造が必要になる。




PICkit3でもEEPROMはかける(要改造)

次に、TR3(5Vツェナーダイオード)とR50(4.7kΩ)の2つの部品を外す。はんだごてが2本あると簡単に外せるが、そうでない場合は、以前行った銅線などではちまきを作る方法が使える。


さて、これを外した後の影響とすれば、6番ピンがフローティングになることだが、PICの通常書き込みでは使われない所である。PICkit3の未使用ビンの状態がどうなっているのかは、シーケンスが不明なので何とも言えないが、ハイインピーダンスになって心配というのであれば、R50を100kΩ以上に交換するのもいいだろう。(でも、最近のデバイスはESDに強くなった)

ツェナーは外部から電源が5V以上電圧がかかったらバイパスする役目があるが、電流制限がないから保護もあまり意味がないので、取っても問題ないだろう。



改造は以上で終わり。

あとはI2Cに接続するだけである。Vdd部分はIPEの設定でPICkit3から供給出来るかもしれないが、未検証なの不明。

以下、マイクロチップのReadmeより抜粋

> 24LC I2C bus devices:
Bus Speed-
                400kHz with Tools -> Fast Programming checked
                100kHz with Tools -> Fast Programming unchecked

        NOTE: Bus pullups are required for all
              programming operations.  400kHz requires
              2k Ohm pullups. ←400kHzで動かすなら2kΩで外部プルアップしてね

NOTE: The I2C (24LC) Serial EEPROM devices require the following PICkit 3
     hardware changes to work properly:

     Remove TR3 from the PICkit 3.対策した部分
     Remove R50 from the PICkit 3.←対策した部分

        Connections for 24LC devices
        ---------------------------------------
        PICkit 3 Pin             24LC Device Pin (DIP) 接続方法
        (2) Vdd                  8 Vcc
        (3) GND                  4 Vss (GND)
        (5) PGC                  6 SCL (driven as push-pull) プルアップ不要
        (6) PGM(LVP)             5 SDA (requires pullup) プルアップ必要
                                 7 WP - disabled (GND)
                                 1, 2, 3 Ax pins
                                    Connect to Vdd or GND per
                                    datasheet and to set address

> 25LC SPI bus devices: SPIの場合
        Bus Speed-
                ~925kHz with Tools -> Fast Programming checked
                ~245kHz with Tools -> Fast Programming unchecked

        Connections for 25LC devices
        ---------------------------------------
        PICkit 3 Pin             25LC Device Pin (DIP) 配線方法
        (1) VPP                  1 nCS
        (2) Vdd                  8 Vcc
        (3) GND                  4 Vss
        (4) PGD                  2 SO
        (5) PGC                  6 SCK
        (6) PGM(LVP)             5 SI
                                 7 nHOLD - disabled (Vdd)
                                 3 nWP - disabled (Vdd)


        Connections for 93LC devices 93LCデバイスの配線方法
        ---------------------------------------
        PICkit 3 Pin             93LC Device Pin (DIP)
        (1) VPP                  1 CS
        (2) Vdd                  8 Vcc
        (3) GND                  5 Vss
        (4) PGD                  4 DO
        (5) PGC                  2 CLK
        (6) PGM(LVP)             3 DI
                                 7 PE - enabled (Vdd)
                                 6 'C' Device ORG
                                    Set to select word size

11LC UNI/Oというデバイスは、ほとんど馴染みがないので割愛。

というわけで、PICkit3でMicrochip MPLABX IPE(後日調べてできない事が判明。追記参照)でも、スクリプティングツールでも書き込みができる。


2016/6/12追記


   MPLABX IPEは、MPLABX IDEをインストールすればインストールされる。
    スクリプティングツール同リンク先のDownloadArchivesか、ここ(zip)をクリック

残念ながら、MPLAB IPEではPICkit3でのEEPROMをサポートしていない。なので、スクリプティングツールを使って書くことになる。


スクリプティングツールのありかは、昔は単一のアドレスにあったのが、わかりにくい所に移動した。まずはここのリンクへ行き、Download Archiveをクリック。ずっと最後の方に、ようやくPICkit3 ScriptingTool Ver3.10が出てくるので、これをダウンロードする。もちろん、このページ内にはPICKit2のツールや、旧ファイルがある。



インストールするとき、Windows7やWindows10の場合、インストーラー起動後にインストール先を指定する所で、C:\Program Files以外の所を指定する。これをしないと、Windowsの保護機能で、エラーとなり、毎回終了時に上記のエラーに遭遇する。
私はC:\tools\Microchip\PICkit 3 v3を指定した。なお、Pickit2の場合はエラーにならない。



起動して、まずやることは、PICkitのファームを書き換える作業。これを行って初めて、ScriptingToolが使える様になる。指定するファイルはおそらく一つ見えるのがあるので、それを選択。一見数十秒以上止まった感じになるが、1分位待っていればOKだ。

なお、PIckit3(2も同様)をMPLABに使うことを想定して、Revert MPLAB Modeを選択すれば、もとに戻る。これをしなくても、MPLAB側でケアしてくれるはず。


--------------------------------------------------------------------------
実際のデバイスの追加

さて、今度はデバイスの追加をやってみる。
アトメルの24C1024が手持ちにあるので使いたいのだが、このままでは利用ができない。





マイクロチップの24LC1025ととても似ているのだが、実際はアドレスの17ビット目の位置が違うため、正常に読み書きができないのである。



そこでPK2DeviceFile.datを書き換えることになるが、この意味が良くわならないで右往左往していると、Microchipフォーラムに有益な情報があった
PICkit2 Device File Editor.exeを使えば、内容を変更できるようだ。

といっても、新規でデバイスを追加はできない様で、似たデバイスをDuplicate機能でコピーし、パーツ名を変更して使う。


最初にPK2DeviceFile.datをコピーしてオリジナルを保存しておく。そして、このエディター起動後にFileからPK2DeviceFile.dat読み込む。




流用したのは24LC1025



Part Nameを24C1024(Admel)とし、Configの[3]を0にした。その後FileからSaveでおしまい。ツールを終了してPICkit3を立ち上げる。

たった1つの違いではあるが、ここまで調べるのにいろいろと時間がかかった。




これで、128KByteのテストデータを使用してWriteやVerify、Eraseなどの動作を一通り行って問題が無いことが確認できた。

但し、A1,2,0のアドレス指定はできず、チップ側ですべてGNDに固定する必要がある。この部分は更にデータの修正が必要と思われるが、いろいろ複雑であり、今後の研究としようと思う。



もちろん、PICkit2でも使える様になる。



また、この内容を理解するために、PICkit2SourceGuidePCv2-61FWv2-32.pdfなどを参考にした。
更に、PICkit2 Device File Editoでは意味不明なAA何とかとかいう記号も理解できた。
このツールをうまく使いこなせられたら、今後発表されるPICやEEPROMに対応できるだろう。


なお、私が修正したファイルや128KByteのテストファイルなどはこちらからダウンロード(ZIP)できるようにしてある。あなたが使用しているPK2DeviceFile.da.datの名前を変更してバックアップとし、ダウンロードしたファイルに差し替えるだけでAtmel24C1024が使用できるようになる。
(なお、ご使用は自己責任でお願いします。)


Atmel AT24C1024 Datasheet 秋月
Microchip 24LC1025 Datasheet  秋月なぜかFCの方が安い LCはこちら



※類似品に注意


練り消しゴムではんだ付けをサポート2016/06/02 09:02:33


練り消しゴムではんだ付けをサポート

趣味の電子工作では良くある空中配線でのはんだ付け。空中配線はとても難易度が高く、第三の手となるバイスなどが欲しくなる。

何気に部屋を見渡すと、この前買った練り消し(ヌーベルイレーザー)があったので、部品固定として使ってみた。これが大変効率がよく、はんだ付けができる。



練り消しゴムは意外と熱に強く、もともとは画材用なので、油ねんどや紙ねんどの様な油や水分が付くことがない。保存もビニール袋に戻して繰り返し使えるので、是非お勧めしたいアイテムだ。ワニ口クリップなどのサポーターよりも優秀かもしれない。




オシロスコープのプローブ取り扱い方法2016/05/03 01:58:27

久々のブログw

プローブは結んではいけないです

GWに入り、今日は片付けをしたあとにツイッターを読んでいたら、プローブのケーブルを縛る話題があった。何年も前から度々言われているのだが、現場では普通に発生しているようだ。
なので、注意喚起を最近覚えた漫画を使って説明してみた。
このほうが若い人には受けがいいでしょ?w



縛ってはいけない、結んではいけないと禁止の事を伝えても、じゃあどうやって保管すれば?となるはず。これはあまり教えてもらう事がないんじゃないかと思ったので、一般的な方法をさらに漫画にしてみたw こんな簡単な事と思っても、教えられなければどうやって保管すればいいか分からないのも分かる気がする。



英語バージョンも作ってみた。



私の場合は、100均のチャック付き袋を利用。会社によっては、プラ箱にウレタンで収納する型をつくっておく場合もある。測定機のケーブルで縛る事ができるのは強いて言えばACコード位。

これで、プローブが縛られて断線して、壊れる事がなくなれば皆ハッピーなのだ。
測定器は大事に扱おう。



【訃報】「ミズホ通信」創業者、高田継男氏(JA1AMH) 81歳2016/03/19 23:14:12


高田継男先生、ご逝去

小学生時代から大好きだった、高田継男先生がご逝去なされた。

引用---------
また電波新聞社の「ラジオの製作」をはじめとするエレクトロニクス入門誌への電子工作記事の執筆や、誠文堂新光社が刊行する参考書「初級アマチュア無線予想問題集(完全丸暗記)」の筆者としても知られている。CQ出版社からは「9R-59とTX-88A物語~わが青春の高一中二+807シングル」という書籍も刊行されている。
引用終り---------

ラジオの製作には、いつも製作記事が載っており、欠かさず読んでいた。アマチュア無線に興味をもったのも、高田継男先生の記事からだったし、その時試験も受けた思い出がある。残念ながら合格に至らなかったが。

晩年にはラジオライフの記事を読んで、まだご健在で安心していたのだが、お年とはいえ残念である。ラジオ少年時代の半世紀、アマチュア無線や電子工作を広めた偉大な方である。心からご冥福をお祈り致します。



Raspberry Pi 3 Model B 登場!2016/03/01 23:55:21


Raspberry Pi 3 Model B登場


あのラズベリーパイが更に強力になってでてきた。

GIGAZINEよりスペックを引用すると、


Pi 3の特長と利点
•Broadcom BCM2837チップセット、動作周波数1.2GHz
•64ビットクアッドコアARM Cortex-A53
•802.11 b/g/nワイヤレスLAN
•Bluetooth 4.1 (クラシック及びLow Energy)
•デュアルコアVideoCore IVマルチメディアプロセッサ
•1GB LPDDR2メモリ
•最新のすべてのARM GNU/Linuxディストリビューション及びWindows 10 IoTをサポート
•2.5A電源用microUSBコネクタ
•10/100イーサネットポート x 1
•HDMIビデオ/オーディオコネクタ×1
•RCAビデオ/オーディオコネクタ×1
•USB 2.0ポート×4
•GPIOピン×40
•チップアンテナ
•DSIディスプレイコネクタ
•microSDカードスロット
•寸法: 85×56×17mm

日本でもRaspberry Pi 3 Model Bは近日発売予定とのこと。RSオンラインでは1枚あたりの単価が4815円からとなっています。
”引用ここまで

どうです、前回のプロセッサよりも50%速度があがり、値段も5000円でお釣りのくる価格設定。
一番大きなのは802.11n Wi-FiとBluetooth 4.1(BLE対応)がオンボードで対応したことだ。
Telecについては、対応予定との事だ。

但し、電源が5V2.5Aと大きく、USBバスパワーでは動作できないので注意。

私は、購入するかどうかは、正直迷っている。というのは、すでに歴代ラズパイ2種類を持っていて、どちらも動かしただけで満足して、たんすの肥やしになっているからだw

私がLinux使いだったら、もっと興味を持ったのかも知れない。
ともかく、色々なプロトタイプを作る上で、手のひらにパソコンが載る時代はいい時代と思う。

創作力を掻き立ててなにか創ろうではないか(・∀・)



MPLAB Xpress Cloud-based IDE公開2016/02/26 21:56:13


MPLAB Xpress Cloud-based IDE

つい先日にMPLABX IDE Ver3.25リリースを紹介したばかりであるが、その開発環境として、クラウド型のMPLAB Xpress Cloud-based IDEを公開していたのだ。

これは、ブラウザ上でMPLABXが使えるのだ。今までならMPLABXがインストールされたパソコンが必要だったのが、EdgeやChromeなどのブラウザ一つあれば、どこでも開発が可能となる画期的なものだ。プロジェクトファイルも全部クラウドサーバなので、データを持ち歩かなくても良い。

今まで作ったソースコードをインポートできるのはもちろん、PICkit3の使用、コード自動生成機能
のMCCも使える。



使い方は、MPLAB XPRESS IDE のページより、My Accountをクリック、



Microchip Directで登録が済んでいれば、左から入る事ですぐに体験できる。
登録がまだの場合は、右の赤いボタンをクリック。



赤いマークはすべて埋める必要があるが、Microchipダイレクトで買い物やサンプル請求ができるようになるので、正確に入力する方が良いだろう。詳しい住所の入れ方は、少し古いが私のホームページが参考になるはずだ。起動するとき、広告カットのソフトなどが入っていると起動できない事があるので、それは切っておく。


MPLAB Xpress Cloud-based IDE

これが起動画面。起動に少し時間がかかるが、ビルドは普通の速さ。以前作ったMPLABXのプロジェクトをzipでフォルダ構成まるごと圧縮してしまえば、ファイルメニューのインポートから読み込むだけでクラウドのプロジェクトとして取り込まれる。
XC8などのコンパイラは、最初から使えるようになっているが、コンパイラのバージョンはXC8の場合、1.34と1.35の2種類だけであった。今の最新は1.36と1つ古いのだが、まあ大きな問題になる事は今のところ無いだろう。

ただ、日本語でコメント等を描いた場合は、文字化けしてしまっていることと、エンコードの切り替えができず、SHIFT-JISなどと選べない、設定がMPLABXより少ない。
まだリリースされたばかりなので、今後改善されていくだろう。
MPLABXはNetBeansベースで作られているので、色々なプラットフォームで使えるようになっているからこそ、このような事ができたのだろう。



余談であるが、スマートフォンでも動作はするw ただし、実用性はないがw



アンドロイドタブレットでなら使えるかもしれないと思ってnexus7で動作させてみた結果がこちら。
キーボードとマウスがあれば何とかできるかもしれないが、指ではコードを確認するのが関の山だろうなw





クラウド型の開発システム、MPLAB Xpress IDEの今後に期待だ。



MPLABX IDE Ver3.25リリース2016/02/23 23:37:15


MPLABX IDE V.3.25

2/19付でMPLABX IDEが3.20→3.25にバージョンアップ。それに伴い、見慣れていた赤黒いエックスのシンボルから、シールドっぽい柄の落ち着いた色に変わっていた。




早速インストール。もちろん、v3.20と共存可能。



起動直後に、この設定を継承するかの確認ダイアログがでるが、迷わずyesがよい。


ついでにコードコンフィギュレーターも新しくなっていたのでプラグインをインストール。コードコンフィギュレーターのインストールは、MPLABX IDE内で行う。

1.ToolsメニューからPluginsをクリック
2.MPLABXウィンドウ内のAvailable Pluginsタブをクリック
3. MPLAB Code Configuratorを選択してインストール



デスクトップアイコンは落ち着いた色のものに変わった。少しだけ探しにくくなったw


charやintは使わない~2016年、C言語はどう書くべきかより2016/02/21 13:36:55


charやintは使わない~2016年、C言語はどう書くべきかより

ツイッターを見ていると、プログラム(C言語)について、興味のある話題があった。

その中で、特に今までの常識とされていた内容と異なる部分があったので、引用しよう。
ただし、著者のMatt氏によれば、x86-64 Unix/Linux/POSIXに照準を合わせている話であり、すべてのプラットフォームには当てはまらないので捕捉しておく。

コードを書く
新しいコードに、char、int、short、long、unsignedなどの型を使おうとしているなら、それは誤りです最新のプログラミングでは#include <stdint.h>と記述し、標準データ型を使用するべきです。
一般的な標準データ型は以下のとおりです。

int8_t、int16_t、int32_t、int64_t – 符号付き整数型
uint8_t、uint16_t、uint32_t、uint64_t – 符号なし整数型
float – 標準的な32ビットの浮動小数点数型
double – 標準的な64ビットの浮動小数点数型
charはもう使わないので注意してください。実際、C言語ではcharは誤った名称で誤った使い方をされています

開発者は、符号なしバイトを操作する時でさえcharを”バイト”として、常習的に乱用しています。uint8_tを単一の符号なしのバイトや1バイト(8ビット)の値として使い、uint8_t *を符号なしのバイトのシーケンスや複数のバイトの値として使う方がずっと単純明快です。
"(一部省略、引用終わり)

つまり、#include <stdint.h>を使ってコーディングしてねという事で、今までcharやintを普通に使っていたのが、誤った使い方だったという事だ。



MPLABXと連携しているCコンパイラのXC8のincludeファイルにもstdint.hが存在している。PICでも使用できるわけだ。AVRのプログラムでChaNさんのCプログラム等をみても、stdint.hを使ったコーディングになっている。

私はunsigned charとか普通に使っている。これが間違った使い方というよりも、その元となるHitech Cのリファレンスがそうだったので、今までそう書いてきた。更に言えばcharと書いても、Hitech Cだった頃は、コンパイラスイッチの標準でcharはunsigned charとなっていた。今は普通に符号付、なしとして扱えるだろう。

PICをコーディングするときは、今まで通りunsigned charとか使ってもいいと思うし、すぐに何が間違いとかはない。しかしながら、将来を考えれば識者の言うことを聞いておく方が賢明かもしれない。

とにかく、この記事はそれ以外にも色々言及しているので一通り読んでおくと良いと思う。私も、この記事を執筆中でも、まだ全部を読んでいない。後ほど全てを読んでみる予定。



amazonの格安HDカメラが基板チェックに使える2016/02/18 00:22:18



amazonを巡回していると、フルHDカメラが結構安く売っているのを発見。衝動買いw



中身は説明書、ドライバーCD、本体。本体はフレキシブルな足が最初からくっついており、取り外しは簡単にはできない仕組みだ。


amazonの低価格HDカメラは使える!

安い理由が分かった。これマニュアルフォーカスなのだw
被写体に合わせてリングを回して、ピントが合う部分を自分で探る。深度が固定であれば、この操作も苦にはならない。



カメラを表示するだけなら、CameraViewerが手軽っぽい。ただし、このままではFullHDに対応していないので、config.txtをメモ帳などで開き、1920x1080を使えるように追記する。

[MaxCameraNum]        4
[CameraSelected]      0
[ImageSizeList]       320 240
[ImageSizeList]       640 480
[ImageSizeList]       800 600
[ImageSizeList]       960 720
[ImageSizeList]       1280 720
[ImageSizeList]       1280 960
[ImageSizeList]       1920 1080
[ImageSizeSelected]   6
[FPS]                 15
[FPS]                 30
[FPSSelected]            0
[FlipVerticalSelected]   1
[FlipHorizontalSelected] 1
[FullScreenSelected]     2

と設定した。
キャプチャー画面では15fpsだが、30fpsでも設定できる。30の方がレスポンスが良い。

CameraViewerのダウンロードページ 工学ナビの後半部分にダウンロードボタンがある。




さて、これを使って基板を映してみる。補助光はあればあるほど良い。
固定は、とりあえず付属の足を曲げて倒れないようにした。



おおーかなりイケテル!
フォーカスを手で合わせると、ばっちり映る場所がある。これをモニターでみるとフルスクリーンで表示される。



かなりいい線で拡大されて表示される。レスポンスも良いので、これを見ながらはんだ付けとかも可能な領域だ。ルーペより実は実用的だったりするかもしれない。応用を考えたいと思う。



電気スタンドにHDカメラを固定してみた。



光が入るので、鮮明に部品が映る。明るさ調整があればいいかと思うが、この値段のカメラだから仕方ないだろう。



また、この様にはんだ付け実況もできるwww
USTREAM以外に、Youtumeでもライブ配信ができる様なので、こんど挑戦したいと思う。


私が買ったときは2999円だったが、今は少し値上がりしている模様。

[PR]





Google
www Blog HP BBS


air_variableサイトをまとめて検索 
カスタム検索
[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]