投稿

ラベル(電子工作)が付いた投稿を表示しています

HS101 STM32の自作お手軽オシロスコープ

イメージ
 オシロスコープの作製 https://www.martinloren.com/hs10x-diy-oscilloscopes/ ①準備 :ハードオフに行って安いスマホか、タブレットを購入してくる(画面として使いたい。1200円でNEXUS7を購入してきた。手元のスマホを使うでもむろんよい。 ②電子部品 物をそろえる。基本手元にある部材でほとんど揃えられたがUSB OTG Cable だけはアマゾンで調達。100均のケーブルを加工する方法が検索すると出てくるが、さすがに面倒なので購入。martinlorenの解説では、TTLケーブルを調達して書き込むと書いてあるが、まあおれはST-LINKをもっているのでこれを使う。 ③ハード部分の組み立て http://hscope.martinloren.com/HS101-oscilloscope.html に記載の通りに回路を構成。 部品数が少ないので10分程で半田は終了。基板を切断する。 bulePillがすでにブレッドボードにさしてつかっていたものなのでジョイントが裏側に。特段高さ問題なく、bulepillの基板に接触する事はない。 これにプローブとなる線を半田してハードは終わり。 ④ソフト側 アンドロイドに、HScopeをインストール。これはgoogleアプリからサクッとDLするだけ。 https://play.google.com/store/apps/details?id=com.martinloren.hscope ファームの書き込み 公式ページでは、USB-TTL Connectorを購入してきて、スマホのSTM32への書き込みアプリをDLしてきてスマホから焼き付けるという事だが、そんなケーブルわざわざ用意しないので、ST-LINK(中華)を使う。 ファームをgithubからDL https://github.com/martinloren/HScope/tree/master/HS10X 2022年12月時点で最新は、V10.2。 STM32 ST-LINK utilityを落としてくる。 https://www.st.com/ja/development-tools/stsw-link004.html? stFirstName=&stLastName= DL時に、名前とメアドが聞かれて、メー...

中華格安ロジアナ

イメージ
 中華のロジアナ24MHz8チャンネルを購入してみました。 アマゾンからポチリ 。 説明書もなんにももちろんないんですが、先人の方々がそのあたりは詳しく説明してくださっているので、参考にソフトをインストールして設定しました。 参考にしたページ: https://jsdkk.com/blog/mugita/?p=748 https://sigrok.org/ 実はインストールが上手くいかず。途中で1度停止し、その後は全く受け付けない症状になりました。いろいろ(手動でWINUSBをインストールとか・・・・)しても、参考ページにあるように、 Saleae Logic with 8channels というデバイスが表示されない現象が発生し、USBを抜き差しすると現れるようになったものの、いざ選択するとUSBが切り離されて、デバイスが認識されない状態でした。 →解決した方法: https://www.saleae.com/ja/downloads/ 本家の方は勝手に使うなと怒るんでしょうが、本家側のソフトをインストールしました。ドライバーが適正にインストールされるからでしょう。本家ソフトでも動きますし、PulseViewでも問題なく動くように。 SPIの信号を見た例。SPIのスレーブ側の問題なのか?コーディングの問題なのか?大量に時間を消費していましたが、これは便利。ある意味、これまでが馬鹿らしい。 また、whileでループしている時間の実測とかが正確に把握可能。 Timerの正確さとかちょっと知りたいとかが簡単にできる。 次はオシロスコープが欲しいのでした・・・

Kicad to gcode by FlatCAM

イメージ
Kicad→gcode by FlatCAM  CNCがまだ製作中で、数々の問題はあるものの、削れるようになってきたのでPCBの加工に向かって準備。Kicad→gcodeの準備。 【FlatCAMダウンロード&インストール】 FlatCAMは、pythonのインストールが必要だとか書いているページがあるが、 https://bitbucket.org/jpcgt/flatcam/downloads/ のインストーラーで一発起動。 使い方は、ここで備忘録に記録するまでもなく、先人の方のすばらしい手順の通りで。後日たどり着けるようにURLをここに。 https://denshikousakusenka.jimdofree.com/cnc/flatcam%E4%BD%BF%E3%81%84%E6%96%B9-1/

ソルダーレジストの自作代替方法

イメージ
ソルダーレジストを使って色ついているだけでなんだか完成度が高くなる。 自己満足の世界。絶縁して、ハンダの流れを制限し、さび防止できれば良いので、個人で自作ならお手軽方法・・・スプレーで色塗るだけ。 シロキサンが・・・・による接点不良が・・など気にしないというもの。 手順① 基板を準備。自作のプリント基板の作り方は、検索すれば出てくるので、ここでは割愛。除光液(アセトン)を使ったアイロンを使わない手法で作っている。 手順② マスキングテープをポンチで打ち抜く 主にランドの間隔2.45mmなので、同じ大きさ2.5mmのポンチでマスキングテープを打ち抜く。剥がす時が気持ちいい・・・ 円形にこだわらず、カッターナイフで正方形に、マスキングテープを切り出したもので十分。銅箔の厚さ分、マスキングテープが浮くので塗料が回り込み、結果的に銅箔のみが露出する。つまり、円形のランドに四角のマスクをしても丸になる。むろん、テープをしっかり押さえつければマスキングテープの形になる。 手順③ピンセットを手にもって、丸く打ちいたマスキングテープをランドの上に張っていく。数が多いと大変だけど。軽く載せてから位置合わせできたら上から押さえつける。 手順⓸ 耐熱スプレーで塗装する。 カー用品店、ホームセンタで入手性の良いものでOK。 600度の耐熱 。 色は選べるが、黒以外がおすすめ。黒は黒でよいけど、後でシルクを印刷したい時に、白のインクで書く必要があって難しいから。 スプレーした後がこれ。基板に染み込むので若干暗い色合いになる。白で下塗りしてから青とかだと鮮やかだけどコストはかかる。1本1600円ぐらい。 一旦乾いた時点で、マスキングテープをピンセットで摘まんで剥がしていく。 この時点で万が一回りこみ、ランドに塗装が入ってしまっていたら、リューターで表面を研磨して綺麗にしてやる。(この作業をする事はめったにない) テープをはがしてポストベークを行う。(焼くって事です。)家庭用の ホットプレート(焼肉やくやつ)にアルミホイルを引いて(その後、食べ物を食べるのので、家族の顔いろみて)、 160度で30分程 。PCBの基板は長時間200度後は、穴あけをしてフラックス塗布して部品の半田付けをする。 Nano ISPでAtt...

SSD1306 DSD TECH OLED 0.91インチーOzoled

イメージ
SSD1306 DSD TECH OLED 0.91インチーOzoled https://github.com/mistertwo/ozoled-oled-display-096-i2c-driver-library Clone&downloadのボタンを押して、ZIPをDL スケッチーラインブラリをインクルードーZIP形式のライブラリをインストール でDLしたZIPを選択 ファイルースケッチ例からOLED_Hello_Worldを選択して実行すればOK。 #include <Wire.h> #include <OzOLED.h> void setup(){   OzOled.init();  //initialze Oscar OLED display   OzOled.printString("Hello World!"); //Print the String } void loop(){ } これでフラッシュが3.3kb、RAMが234バイト。 前のAdafruitのライブラリーをそのままで同じHelloWold!を表示させたときは、 12.63kb、RAMが342バイトだったので、軽い!というは特徴。 Attiny85でも使いたいのでライブラリを探す https://gist.github.com/tinytintoy/51ed73b7afae9cabcb9fb1a6890b6f94 先人の方々に感謝。TinyOzOLEDってのが https://github.com/SensorsIot/TinyOzOled か上とら同じように、ZIPをDL.ライブラリーを取り込みます。 Attiny85にArduinoISPで書き込みできる状態にして(いっぱいある紹介されているんでここでは割愛。 ここ とか) #include "TinyWireM.h" #include "TinyOzOLED.h" void setup() {   OzOled.init();   OzOled.printString("Hello World!!",0,0); } void loop() { ...

Arduino SSD1306 DSD TECH OLED 0.91インチーAdafruit

イメージ
アマゾンでおそらくもっとも安い OLED 。 DSD TECH 2 PCS OLED 0.91インチディスプレイ IIC I2C シリアルポート Arduino ARM用、2つで999円(一つ500円) 秋月のLCDのAQM0802よりも、 OLEDでディスプレイであり、 バックライトが入っていて明るいし、グラフィカル。 DSD TECHのホームページの案内が箱に入っているけど、使っているICは、SSD1306。 開封してどこかにやってしまった・・・ ライブラリーマネジャーからSSD1306を検索。 Adafruit_SSD1306が見つかるので、インストール。これを動かすのに必要な他のライブラリーが入っていないと警告でればALLでインストール。 インストールが完了したら、スケッチ例に、Adafruit_SSD1306が現れるようになる。 128x32画素、I2C用のスケッチ例があるので選択。 起動すると、Adafruitのロゴマークが表示されて、その後デモが始まる。 ここまで秒殺で設定できて、AQM0802をずっと使っていたら、感動する・・・ グラフィックスで遊ぶのもよいが、LCDの代わりに計測した値を表示するとか、そういう用途に使うので、デモのテストスケッチから文字を映しだすのに必要な部分を抜き出すと以下、サクッと容量とか気にしないプロジェクトの場合はこれで十分かな。 それにしても容量を食います。やりようはあるんでしょうけど、 OzOLEDに次ぎは行ってみます。 #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 32 #define OLED_RESET     4 Adafruit_SSD1306 display(128, 32, &Wire, 4); void setup() {   // initializes   display.begin(SSD13...

Attiny85とAQM0802A(LCD)のI2C接続

イメージ
Attiny85とAQM0802A(LCD)のI2C接続 以前に 、ブレッドボード上でArduinoにAQM0802を接続して文字を表示できたので、今度はAttiny85での表示。 Arduino UNO,Nanoだと"Wire.h"を読み込むんだがAttinyでI2Cを扱うには、”TinyWireM"を読み込む。 またLCDで提供されているST7032.hの中身とかも変更する必要がある。 そこは自分でやらなくても、非常に先人の方々がまとめてくれている。( ここと か) ・はまった点症状 AttinyにちゃんとISPから書き込みができているのに液晶に何も映らない。 かと言って同じスケッチをNanoに書き込み”Wire”に戻してあげて接続すると動く。 つまり、スケッチが悪い訳でもないし、液晶が壊れている訳でもない。 VCCのラインにスイッチを設けてやって、スイッチをなぜかダブルクリックすると液晶が映る。一度映ると消える事はないが、たまに映らない事があり不安定・・・ なぞのままである。 でAttinyが表示器を手にいれられた。 でスケッチを書き換えて温度計としてみる。 サーミスタのテストをしたとき のスケッチとマージして、Attiny85で計測して表示する。 26度付近の室温を示して、サーミスタを手でつまむと34度とかまですぐ上昇。 温度表示まではできた。 //this is a test for attiny85 thermistor //measured temperature is displayed on LCD AQM0802A  //  PB5[  ]VCC  //  PB3[  ]PB2 SCL  //  PB4[  ]PB1  //  GND[  ]PB0 SDA #include <TinyWireM.h> #include <ST7032.h> ST7032 lcd; const int PIN_ANALOG_INPUT = 4; const float V5V = 5.0;//measured voltage +5V p...

AQM0802A lcd

イメージ
AQM0802A lcd 目標は、Attiny85専用のLCDとしてAttiny85用のシールドを作っておこうという計画。 さっとAttiny85にセンサーをつけて、そのセンサから数字を表示してという事で役立つ。 http://akizukidenshi.com/catalog/g/gP-0666 秋月で一番安いLCD、I2C仕様。320円。この価格だと組み込みに遠慮なく使える。 ただし、これだけ購入しても動かない。 周辺にコンデンサとか抵抗とかをつけてあげないといけない。 また、ピッチが1.5mm。ピッチ変換基板が売られているが400円する!!本体より高い。基板とのセット600円。これだと、Amazonでそれもプライムのものをまとめ買いした方が安い。 https://www.amazon.co.jp/gp/product/B07D9H83R4/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1 一つ500円。 とは言え、周辺回路も大したことないのでこれを使う。 まずブレッドボードでのテスト。そのままブレッドボードにささらないので、ピンを交互に追って、後ろのピンをICクリップでつかんで無理やり配線。美しくない・・・ 配線は、 http://akizukidenshi.com/download/ds/akizuki/AE-AQM0802-sch.pdf I2C接続小型LCDモジュール用ピッチ変換基板 [AE-AQM0802] 通販コード P-06794 の回路図面の通りに接続する。 ArduinoのIDEからライブラリーの管理を選択して、AQM0802を検索窓に入れてライブラリーをインストール スケッチの例からいくつかの例を動かしてみたところちゃんと動作。 ここで5Vと3.3Vに関して AQM0802Aはデータシートを見ると入力電圧が5.5Vまで受け付けられるので、5Vでも3.3Vでも動く。VCCを5Vと3.3Vのピンに差し替えて試してみた。 で試した見た結果・・・ 両方動きます。 スイッチサイエンスとかから販売されているものは、5V用と言っても抵抗で分圧して3.3Vを作っているが、その必要もなく回路も同じでよいです。 しかし、コントラス...

kicad

イメージ
KiCAD 新PCにインストール作業 https://kicad-pcb.org/ 何と言って難しいことはなく、クリックするだけ。 容量が1.1GBもあるので、ミラーサイトのうち速いところから。 インストールすると3DのCAD”freecad”をダウンロードするか聞かれるのでDLしておく。 https://www.freecadweb.org/ これも何となく、クリックするだけ。 以外とICとかの方が選択しやすかったりするし、CADデータがDLできたりする。 抵抗とか、ツェナーダイオードって汎用性が高いからこそKiCadで選ぶ際に困ることが多い。パッケージの規格があるので、それを探して選択するのだが、一例を。 【ツェナーダイオード】 例:秋月電子 (3.6V500mW) GDZJ3.6B http://akizukidenshi.com/catalog/g/gI-08709/ パッケージ:DO-34 と記載がある JEDEC 半導体技術協会が定める規格で、 SOD68 DO-34 glass, hermetically sealed glass package; 2 leads; 3.04 mm x 1.6 mm body とある。実際は、これより小さい。 これをフットプリント関連付けの際に、リストから選ぶ。 要するに、使う部品のパッケージで選択する。 【抵抗】 例:秋月電子 (3.6V500mW) GDZJ3.6B カーボン抵抗(炭素皮膜抵抗) 1/4W100Ω http://akizukidenshi.com/catalog/g/gR-25101/ 1/4Wのものがよく使うもの長さが6.3mm(公差を含めると6.8mm)。 Resistor_THTからL=6.3mmを探すといくつかある。7.62mmのピッチがあるが、これはリードの太さを考えると本当に根元で折り曲げる状態になるので、10.16mmが適当。 (ブレッドボードが手元にあるならやってみるとわかる。4個分) 【ICソケット 3D 3次元】 ICソケット上に、ちゃんとICを載せたい場合。 (自己満足で特に基板のレイアウトが代わるわけでなく、3次元の見た目がよく 満足度が高まる) KiC...

ニクロム線 アクリル板曲げヒータ

イメージ
ニクロム線 アクリル板曲げヒータを自作したい。 先人のブログ。 https://jibundeyarou.com/mage1/ 12Vの仕様として作りたい。 100V交流からというものあるが、さすがに安全性を考えて12Vにしたい。 また12VだとMOSFETで後々に電力投入量が調整しやすい。 まずは、ホームセンタで入手しやすいニクロム線。 φ=0.26mmで5mのもの。これをテスターの当てる長さを変えて測定 Length (cm) R(Ω) 0 0 10 2.4 20 4.9 30 7 40 9.7 50 11.9 半田ゴテが、30W~40Wでもよく市販されているから、12Vの電源で30~50Wを達成するには、結構電流を流す必要がありるが、このニクロム線だと抵抗が大きい=ニクロム線が細い。丸めずに40㎝で利用したとして10Ω。1本で使うには抵抗が大きい。 そこで、先人もこれから3本の並列化で抵抗値を下げる事を実施しているように、ここでは5本の並列にする。 抵抗を小さく4A流せば48W。このときR=3Ω。3Aでは36W、4Ω。少なくとも4Ωかそれを切るぐらいにする必要あり。 ということでおおむねの抵抗値の目標値は3.5Ωをめざす。 で、ここで気がついてしまったが、3Ωとかの抵抗でよければ、なんでもよいのでは? ニクロム線が5mで250円ぐらい。 ステンレス線で100円均一で売っているφ0.28mmが20mで100円。 これを仮に読んで、アクリル板曲げヒータを安く作ろうとしている人。ステンレス線でもおそらくできます・・・。 5mをまず、1m5本に切り出し。 5本の先をペンチでぐるぐるとして、束ねる。M4のねじに固定できるように、わっかを作ってねじって止める。1m1本で24Ω。これが5本並列なので毛計算では4.8Ω。測定するとちょうど4.8Ωになっていた。さしているだけでは抵抗が大きく、5.4Ωとかになっていたが、ナットで両側はさんでやると、4.8Ωになり接触抵抗を減らす事ができる。 5本の先をペンチでぐるぐるとして、束ねる。M4のねじに固定できるように、まず、片方だけ、わっかを作ってねじって止める。1m1本で24Ω。これが5本並列なので毛計算では4.8Ω。3.5Ωにしたいので...