紅熊の日記

マイコン制御の実験など

【Nゲージコントローラ作成】PWM周波数を上下しながら等加速させる

いまさらですがいつものマイコンボードとモータードライバーでPWMの周波数を上げ下げしながら等加速させる検討をしてみました。
パルス幅(周波数の逆数)や周波数を単純に可変させただけでは指数関数的な増減をするため、GTOインバータのような駆動音で制御させると、加減速がぎくしゃくしたり、ひどい時にはラピッドスタートするので、今まではCPUタイマーで数十ミリ秒ごとに割り込み処理を行って加減速させる方法をとっていました。ただこのタイマー割り込み関係のレジスタ設定のパラメータの設定は面倒くさく、自由に止めたり、値を書き換えたりの部分はまだデータシートとにらめっこ中です。
そこで、PWMの割り込み処理だけで周波数を変動させても加減速は等加速できるようにして、インバータ風な駆動音のバリエーションを増やしました。(先人は8年以上前にうpしているのでいまさらですが)
 
これをベースとして幽霊風な音を出しています(持っていない車両はそのうち購入)
①発車、停止時に一定の音が出る東芝PMSM風メトロ16000の1次車
 
 
②③日立GTO初期型、過渡期風な音
初期型
 
過渡期
 
④2100のドレミファインバータ風の更新
いままでは、ソの音のまま加減速していましたので、幽霊風に更新しました。
2100赤
 
ブルスカ2100
 
⑤新1000ドレミファインバータ風
いわゆる転調を追加(追記:メータ付きに差し替え)
モーターがミュージックホーンの音を出して出発する。
 
これを電車で何とかの競技用の車両選択データとしてコントローラに入れようとするとメモリーがいっぱいになってしまいました。ソフトの最適化をしないとダメなようです。そのうち自動運転のほうにも組み込みます。