title

◎RL78G10 10pinを使いPWM出力の実験です

R5F10Y16

秋月電子さんの基板(小さい方)を使います

1

E2studioで新規プロジェクト作成します。R5F10Y16(10pin)を選択しコードの自動設定をします。

端子割当はデフォルト。VDDは2.7~5.5。高速オンチップオシレータは20MHz低速内蔵発振クロック15KHz(デフォルト)。

ポート機能はデフォルト(全て使用しない)。

タイマーアレイユニットは一般設定でCH0をPWM出力(マスタ)にします。 ch1はPWM出力(スレーブ)になります。ch0(マスタ)で周期を選択(仮に1msec)し、割り込みはチェックします。ch1でPWMデューティを50% (デフォルト)、出力設定初期値0,出力レベルアクティブハイを選びます。タイマチャンネル1カウント完了で割り込みにチェックします。

クロック出力/ブザー出力はデフォルトの使用しない。

WDTは使用しない。 (注意「使用する」がデフォルトなので切り替える)。

A/Dコンバータは、動作設定:使用する、コンパレータ動作設定:許可、 分解能:10bit、動作モード設定:ANI0とANI1にチェック、変換開始チャンネル設定:ANI0、変換モード:標準1、 変換時間:184/fclk、割り込み設定:割り込みなし(チェックしない)。

以下、シリアルアレイユニット・割り込み機能・ セレクタブルパワーオンリセット回路はデフォルト。

2

使用端子:配線(回路図)はラジコンサーボのスロー回転と全く同じです

10本の内、GND,VDDは必ず必要、TOOL0,RESETはE1エミュレーター接続に必要、サーボの位置決めパルスに1本、MAX,MIN切り替えに1本、 計6本ですので残り4本です。

回転速度はプログラム固定として回転位置(MAX,MIN)は実機での調整が必要ですので可変とします。実験基板に可変抵抗が2つ載っていますが 今回は「ゆっくりと回転し停止位置を変える」という目的がありませんので一つしか使用していません。P0-0の設定を変えれば 切り替えできるようにはなっています。

全く同じ回路で出力も同じ10pinから出ます。ラジコンサーボではP0-0を入力、P0-4を出力にしました。設定ボリュームは2個ありますが、今回は 切り替えしませんので切り替えスイッチを読むためのP0-0は未使用です。前回同様P0-4はパルス出力として使用しますがP0_bit.no0としては機能せず TO01として働きます。

3

回路図

ボリュームを適当に回転させた様子です

動画

開発環境

E2Studio(Version: 2022-10 (22.10.0))、Gccコンパイラ(4.9.2.202201)です。

「ラジコンサーボをスロー回転させる」の章ではイレギュラーなPWM出力させていました。私の頭にPWMを出力させると いう認識がなく、0.5~2.4msecのパルスを出す」というパルス幅だけを考えたプログラムでした。オシロスコープで確認してから 「何だ、ただのPWMだ」と気が付き本来のPWM機能を使ったのがこのプログラムです。

次はプログラム