C/C++/C# 二度漬けがバレると店のオヤジから怒られるプログラム 乱数を使って二度漬けして遊ぶプログラムを作りました。色々変えて遊んでみてください。 #include <stdio.h> #include <stdlib.h> #include <time.h> char* scanstr(void) {... 2021.11.10 C/C++/C#プログラミング
C/C++/C# C言語で複数の変数を返したい時 C言語では通常の関数の使い方ではreturnによって複数の変数を返すことはできない。こういう時はポインタを使えばうまくいく。 #include <stdio.h> void test(int a, int* p1,int *p2); voi... 2021.11.10 C/C++/C#プログラミング
工作 ELEGOO製光造形用レジンのレビューとプリンターの設定 ELEGOO製光造形用レジン をQIDI Shadow 6.0でつかってみた。ひとつ前の QIDI Shadow 5.5でも使えると思う。 使った感じ匂いはきつめ。わりと臭い。アルコールでの洗浄はしやすく硬度も問題なかった。洗浄には燃料用ア... 2021.11.06 工作
制御工学 感度関数と相補感度関数 次のような制御器\(K(s)\)とプラント\(P(s)\)で構成されるフィードバックシステムを考える。この系の伝達関数は \begin{align}G (s) =\frac{P(s)K (s) }{1+P (s) K (s) }\end{a... 2021.11.04 制御工学古典制御
制御工学 双一次変換とパデ近似 \(s\)領域から\(z\)領域への変換はサンプリング時間を\(T\)とすると \begin{align}z &=e^{sT} \\ &=\frac{ e^{s T/2} }{e^{-s T/2 }}\end{align} ここで\( e^... 2021.11.04 制御工学
電子回路 MCP23017を使ったマイコン用IO増設基板 MSP23017はマイコンのIOを増やすことができる。MCP23017はI2Cで接続されるが通信方式が異なる姉妹品もいくつか発売されているので他の通信方式がいい場合は個別に探してもらいたい。 入力の電解コンデンサは通常省略可能である。A0~... 2021.11.02 電子回路
プログラミング ESP32でMCP23017を使う MCP23017はI2Cで接続することができる。とりあえず動かすためには次のようなプログラムでいい。 このプログラムを使えば入力、内部プルアップで動作し、シリアル通信で結果が送られてくる。 #include <Wire.h> int DEV... 2021.11.01 プログラミング
プログラミング Arduino IDEでESP32を使うときに出たエラー Arduino IDEでESP32を使ってるときにこんなエラーが出た rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_d... 2021.11.01 プログラミング
制御工学 RLCバンドパスフィルタの伝達関数 回路方程式が \begin{align}E _{I} =L\frac{di}{dt} + \frac{1}{C} \int i dt + Ri\end{align} のようなバンドパスフィルタを考える。 いま出力が \begin{align... 2021.10.29 制御工学電気
電験 承認と許可の違い 電気工事士法第43条には自家用電気工作物を設置するものが「許可」を受けて主任技術者の免状を受けてないものを主任技術者に選任することができることが規定されている。 電気法規にはたびたび「許可」と「承認」が出てくるので、法律用語としての違いをま... 2021.10.27 電験
C/C++/C# C言語で漸化式を解く 漸化式とは前回計算した値を使い今の値を計算するような式である。今回は簡単な漸化式 \begin{align}a_n=a_{n-1}+b\end{align} の形をした漸化式をC言語で計算する。 ソース #include "stdio.h"... 2021.10.26 C/C++/C#プログラミング数学
プログラミング 零次ホールドのボード線図 零次ホールドの伝達関数は \begin{align}H(s)=\frac{1-e^{-sT}}{s}\end{align} \(T=0.1\)でボード線図を書くと次のようになる。 \(T\)を変化させるほどにゲインが下がる。これはサンプル&... 2021.10.24 プログラミング制御工学
制御工学 「制御基礎理論―古典から現代まで」を買いました 中野先生の本を買いました。 ・旧版 ・新版 目次 自動制御信号の伝達と伝達関数ブロック線図の構成要素ブロック線図の等価変換微分・積分要素のブロック線図等価変換の応用シグナルフロー線図ラプラス変換と自動制御ラプラス変換とラプラス変換表ラプラス... 2021.10.24 制御工学本
MATLAB/simulink MATLABを使って零次ホールドを試す matlabを使って零次ホールドを試す。対象のシステムは \begin{align}G=\frac{s}{1+s}\end{align} 零次ホールドは \begin{align}H=\dfrac{1-e^{-sT}}{s}\end{ali... 2021.10.23 MATLAB/simulinkディジタル制御プログラミング制御工学
ディジタル制御 システムの離散化と零次ホールド D/Aなどにより現在の出力が次の出力に移るまでの出力は一定値に保持されるのがふつうである。これを零次ホールドという。 零次ホールドの伝達関数は\(u(t)-u(t-1)\)に対応するようにすればよいので\begin{align}G(s)= ... 2021.10.22 ディジタル制御制御工学古典制御
MATLAB/simulink MATLABで楕円を書く 楕円の座標は \begin{align}x&=a \cos \theta\\y&=b \sin \theta\end{align} で計算できる。\(a=b\)の時、円になる。 a=2; b=5; theta=-2*pi:0.01:2*pi... 2021.10.22 MATLAB/simulinkプログラミング幾何
python classを使って単層パーセプトロンを定義しORを実装する これの続き。 単層パーセプトロンをclass定義して、動作確認にORを計算する。 import mylib NN1 = mylib.NN() NN1.w1 = 0.5 NN1.w2 = 0.5 NN1.b = -0.2 print(NN1.... 2021.10.20 pythonプログラミング機械学習
python 単層パーセプトロンを使ってORを作る 単層パーセプトロンを使ってORを作る。ORは ABX000011101111 import mylib print(mylib.OR(0,0)) print(mylib.OR(0,1)) print(mylib.OR(1,0)) print... 2021.10.18 pythonプログラミング機械学習
ディジタル制御 双一次変換を使って一次遅れ系の伝達関数を離散化する 一次遅れ系の伝達関数 \begin{align}G(s)=\frac{K}{Ts+1}\end{align} を双一次変換で離散化する。\(s\)に \begin{align}s=\frac{2(1-z^{-1})}{ T_{s} (1+z... 2021.10.12 ディジタル制御制御工学古典制御