スキップしてメイン コンテンツに移動

Arduino nano に12vを流すと挙動がおかしくなった

 Arduino nanoに12v定電圧電源をつないで使っていると挙動がおかしくなった
USB経由だと普通に動くのでオンボードのレギュレータが怪しい
調べるとレギュレータの放熱ができず壊れたようす


”電圧降下分は熱となり

L7805 では接合部 (ジャンクション) と周囲 (アンビエント) との熱抵抗 θja は TO-220 で 60°C/W 

Tj = (損失電力) * (熱抵抗) + (周囲温度)

ここで出力電流で 300mA 、周囲温度 30°C としたら、 (損失電力) = (入力電力) - (出力電力) はおよそ (12V * 0.3A) - (5V * 0.3A) = 2.7W - 1.5W = 2.1W ですから、 上の式とから次のようになります。

Tj = 1.2W * 60°C/W + 30°C = 126°C + 30°C = 156°C

絶対最大定格で動作時のジャンクションの最高温度は 125°C”


となるとヒートシンク必要なので外部にレギュレータをつけた

いまは普通に動いている



コメント

このブログの人気の投稿

Arduino IDE が "Downloading index: library_index.tar.bz2" で固まる問題

PCとのシリアル通信が原因の一つらしい '/home/usename/.arduino15/packages' を消すといいらしい ので消すと治った IDEの起動中にフリーズしてたのが治った Downloading index: library_index.tar.bz2 とダウンロード中だったが終了したので起動中のフリーズが起こるようになった

Blogger でp5jsがつかえた

”HTMLビュー”でHTMLを編集  divとcanvasを関連付ければ良いみたい (div id="p5canvas とcreateCanvasの.parent("p5canvas");) p5js本体はCDNを参照(https://cdnjs.com/libraries/p5.js) コードはP5サイトのEXAMPLEから(https://p5js.org/examples/3d-geometries.html) <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script> <div id="p5canvas"></div> <script> function setup() { createCanvas(710, 400, WEBGL).parent("p5canvas"); } function draw() { background(250); translate(-240, -100, 0); normalMaterial(); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); plane(70); pop(); translate(240, 0, 0); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); box(70, 70, 70); pop(); translate(240, 0, 0); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); cylinder(70, 70); pop(); ...

クラスカル法

chat-gptにきいたらおしえてくれた                                                                参考動画 <!DOCTYPE html> <html lang="en"> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script> <div id="p5canvas"></div> <script> class Graph {   constructor() {     this.vertices = [];     this.edges = [];   }   addVertex(x, y) {     this.vertices.push({ x, y });   }   addEdge(source, destination, weight) {     if (this.vertices[source] && this.vertices[destination]) ...