0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MATLAB/Simulinkでモデルベース設計メモ

Last updated at Posted at 2024-12-15

image.png

一次遅れ系伝達関数
image.png

image.png

チャットGPTから引用 入力の種類
image.png

image.png

自由落下モデル

image.png

image.png

アンプ
image.png
image.png

NAND回路
image.png

function Y = nand_gate(A, B)
% NANDゲートの実装(閾値2.5V, ハイ: 5V, ロー: 0V)
% 入力: A, B (入力電圧)
% 出力: Y (NANDゲートの出力)

% 閾値電圧
Vth = 2.5;

% NAND論理判定
if A > Vth && B > Vth
    Y = 0;  % 両方が閾値を超えた場合、出力はロー (0V)
else
    Y = 5;  % それ以外はハイ (5V)
end
end

PWM用のコンパレータ
image.png


function Y = pwm_comparator(input1, input2)
% PWM用の2入力コンパレータ
% 入力: input1, input2
% 出力: Y (5V: ハイ, 0V: ロー)

% 出力電圧の定義
HIGH = 5;  % ハイの電圧
LOW = 0;   % ローの電圧

% 比較処理
if input1 > input2
    Y = HIGH;  % 入力1が入力2より大きいなら5V
else
    Y = LOW;   % 入力1が入力2以下なら0V
end
end

image.png

Pythonコード

import matplotlib.pyplot as plt
import numpy as np

# PWM信号生成関数
def generate_pwm(frequency, duty_cycle, duration):
    """
    PWM信号を生成してプロットする
    :param frequency: PWM信号の周波数 (Hz)
    :param duty_cycle: デューティ比 (0~100%)
    :param duration: シミュレーション時間 (秒)
    """
    # 基本パラメータ
    T = 1 / frequency  # PWM周期 (秒)
    t = np.linspace(0, duration, int(1000 * duration))  # 時間軸

    # PWM波形の生成
    pwm_wave = ((t % T) < (duty_cycle / 100) * T).astype(float)  # デューティ比に基づいて波形を生成

    # プロット
    plt.figure(figsize=(10, 4))
    plt.plot(t, pwm_wave * 5, color='blue')  # 5V信号として表示
    plt.title(f"PWM Signal (Frequency: {frequency} Hz, Duty Cycle: {duty_cycle}%)")
    plt.xlabel("Time (s)")
    plt.ylabel("Amplitude (V)")
    plt.grid(True)
    plt.ylim(-0.5, 5.5)
    plt.show()

# パラメータ設定
frequency = 10       # PWM周波数 (Hz)
duty_cycle = 30      # デューティ比 (%)
duration = 0.5       # シミュレーション時間 (秒)

# PWM信号生成関数を呼び出し
generate_pwm(frequency, duty_cycle, duration)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?