投稿

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

イメージ
ソルダーレジストを使って色ついているだけでなんだか完成度が高くなる。 自己満足の世界。絶縁して、ハンダの流れを制限し、さび防止できれば良いので、個人で自作ならお手軽方法・・・スプレーで色塗るだけ。 シロキサンが・・・・による接点不良が・・など気にしないというもの。 手順① 基板を準備。自作のプリント基板の作り方は、検索すれば出てくるので、ここでは割愛。除光液(アセトン)を使ったアイロンを使わない手法で作っている。 手順② マスキングテープをポンチで打ち抜く 主にランドの間隔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Ωにしたいので...

MCP4725 DAC

イメージ
MCP4725 I2C経由で設定した電圧が出力できる便利もの http://akizukidenshi.com/catalog/g/gK-08677/ amazonからでも安く購入可能 ちょっとしたプログラム電源として各種のテストで使える。<=5.5Vまで 【準備】 ここはいっぱい解説しているから他のサイトを参考に IDEからスケッチーライブラリーをインクルードーライブラリを管理 MCP4725で検索、インストール シリアルモニターから入力した0-4095の値に応じて出力を変化させるスケッチを作成してみた。 *********************** //standard MCP4725 using adafruit // from serial monitor, set DAC value #include <Wire.h> #include <Adafruit_MCP4725.h> #define MCP4725_ADDR1 0x60              //MCP4725 address Adafruit_MCP4725 dac; void setup(void) {  Serial.begin(9600);  dac.begin(MCP4725_ADDR1);   //Begins the I2C communication  dac.setVoltage(0, false);   //set zero volt } void loop(void) {  int data_size = Serial.available(); if (Serial.available() > 0)   {     delay(20);     int data_size = Serial.available();     byte buf[data_size];     Serial.print("data size:");...

Arduinoインストール

イメージ
Arduino ジャンク部品で新しくPCを立てたのでメモとして ArduinoIDEインストール https://www.arduino.cc/en/Main/Software ・arduino-1.8.12-windowsをダウンロード(インストーラーをDL) ・Windowsのアイコンがあるのでつい押したくなるし、インストールされてしまうのでつい押したくなるが、WindowsAppとしてはDLしない。インストール先が、WindowsAppsの下になると後々に、直接Arduinoのファイルを編集したくても、アクセス拒否の問題に直面する。 ・インストール先の指定 デフォルトでは、ProgramFilesの下になるので、C:直下、またはD:\Arduino直下等へ。 (スペースの入るフォルダ名を避けるために) ・テスト UNO等何種類か持っているが、手元にあったNANO(中華CH340)にてテスト。 IDEを起動、ファイルースケッチ例ー01.Basic-Blinkを選択。2020年5月時点では、 CH340を使っているボードだが、インストール直後からデバイスマネジャーで一発認識。特に何もする必要がない模様。 Blinkを送り込んでやるとオンボードのLEDが無事点滅点灯。