モータドライブノート

はじめに

本稿ではPICマイコンによるモータ制御回路とプログラムを紹介する.回路はブレッドボード上に製作してある.ブレッドボードはハンダづけを必要としないので,回路の組み替えが簡単であり,浮かんだ着想を即座に試すことができる.PICマイコンにはブレッドボードに差し込めるDIPタイプが多種提供されている.

狙い

本稿の狙いは以下の通りである.

  1. モータ制御回路の製作事例を紹介する.
  2. 背景となるモータ制御の理論を紹介する.

製作事例で解説するマイコンのプログラムは全て本稿と同じWebページよりダウンロード可能である.本文中にはプログラムを載せた図の図説にフォルダ名を朱書きで示してある.

心がけたこと

本稿にてモータ制御回路の題材を選ぶに当たって,心がけたことは以下の通りである.

  1. 確実に動くこと.
  2. 部品がネット通販により入手できること.
  3. ブレッドボードで(ハンダ付けを極力しないで)作れること.

また,PICマイコンのモジュール設定などの情報は全てMicrochip社提供のデータシートから解説することを心がけている.PICマイコンを使いこなすためはデータシートを読めることが肝要である.本稿がその一助となれば幸いである.(MCCとChatGPTにより,この肝要度はずいぶんと下がりました.2024年3月追記)

なお,PIC16F1825のコンパイラにはMicrochip社が無償で提供しているHI-TECH C コンパイラを使用する.このコンパイラはANSI Cに準拠しているため,C言語の基本的文法がそのまま適用できるメリットがある.しかし,HI-TECH C コンパイラにはマイコン内蔵の各種モジュール(タイマ,A/Dコンバータ,PWMなど)を設定するための組み込み関数が(2012年7月時点では)提供されていない.各種モジュール用のレジスタの設定は煩雑で,しかも,データシートと首っ引きでないとできない.そこで本稿では,本稿で必要とするモジュール設定用の関数の作成とその引数に判りやすい表現を採用して,その(表現とレジスタの用語との対応表である)ヘッダファイルの作成についても解説する.(この煩雑さは,MCCにより大幅に緩和されました.ChatGPTと組み合わせれば,プログラミング能率を飛躍的に向上させられます.本稿の第1章に「ChatGPTを用いたPICマイコンプログラミング」と「PIC16F1825によるDCモータの回転数制御(第3版)―MCCによる周辺モジュール設定関数の自動生成-」をアップしました.2024年3月追記)

なお,本稿の II の内容をまとめて「モータドライブノート II (DCモータの理論) 」と題して,2014年1月からアマゾンよりkindle版として出版しています.
2012年8月

本稿の V をdsPICマイコンによるDCモータの回転数制御と題して2019年2月からアマゾンよりkindle版として出版しています.また,その一部を抜粋して,「とことんAD変換(dsPIC33FJ128MC802を用いて)」と題して本稿と同じWebページ欄にアップしておきます.関連のソースコードもダウンロード可能です.ご覧ください.
2019年2月

本稿の VI をdsPICマイコンによるブラシレスモータの回転数制御と題してアマゾンよりkindle版として出版しています.こちらもご覧ください.
2019年7月

本稿の I をMPLAB X IDE, MPLAB XC8 C Compilerを用いて改訂しました.
2019年9月

本稿の I をMCC(MPLAB Code Configurator)を用いて改訂しました.
2024年2月

本稿の I に「ChatGPTを用いたプログラミング」を追加しました.
2024年3月

本稿に対してご質問,ご意見などありましたら下記宛てメールをお送りください.

古橋 武
名古屋大学名誉教授(令和2年4月より)
Email: furuhashi.takeshi@*
  *にgmail.comを入れてください.


目次

I. PICマイコン(PIC16F1825)によるDCモータの回転数制御

●(最新版) ChatGPTを用いたPICマイコンプログラミング

PIC16F1825用DCモータの回転数制御プログラム(ChatGPT版)(圧縮ファイル)
ChatGPT を用いたPICマイコン用PI制御プログラムの作成経緯(周辺モジュール既設定)
ChatGPT を用いたゼロからのPICマイコンプログラミングの経緯

●(第3版) MCCによるPICマイコン(PIC16F1825)の周辺モジュール設定関数の自動生成

PIC16F1825用DCモータの回転数制御プログラム(MCC版)(圧縮ファイル)

●(第2版) PICマイコン(PIC16F1825)の周辺モジュール設定関数およびヘッダファイルの作成

PIC16F1825用DCモータの回転数制御プログラム(圧縮ファイル)

II. DCモータの理論

2.1 DCモータの構造とトルクの発生
2.2 逆起電力
2.3 マブチモータ(RE-280RA)の構造とトルクの発生
2.4 モータの等価回路と制御系のブロック線図
2.5 DCモータのシミュレーション
2.6 インバータの回転数制御系のボード線図

III. インバータ回路

3.1 インバータ回路の改良_2SA950と2SC2120の入れ替え
3.2 インバータ回路の改良_フォトカプラの利用
3.3 インバータ回路の改良_ドライバIC(IR2302)の利用

IV. 8ピンマイコンによるDCモータの回転数制御

PIC12HV615_PIC12F615用DCモータの回転数制御プログラム

4.1 組み立て
4.2 プロジェクトの作成
4.3 マイコン内蔵の電圧レギュレータ用外付け部品
4.4 タイマ1による割込プログラム
4.5 PWM制御モジュール
4.6 ADコンバータモジュール
4.7 DCモータの回転数制御

V. dsPICマイコンによるDCモータの回転数制御

とことんAD変換(dsPIC33FJ128MC802を用いて) -- 本からの抜粋です.

各種プログラムの圧縮フォルダ

MPLAB X IDEのインストール方法と使い方,デバッガの使い方

VI.dsPICマイコンによるブラシレスモータの回転数制御

ブラシレスモータ制御プログラムの圧縮フォルダ

VII.回転磁界の可視化 --方位磁石を回転させる3相PWMインバータの製作--