Submit Search
Upload
モーターを低速で定速で動かしてみる
•
Download as PPTX, PDF
•
5 likes
•
9,093 views
K
Keiichi Sakai
Follow
マブチモーターをセンサレスで定速制御するための回路例と考案したアルゴリズムの紹介と実験結果
Read less
Read more
Software
Report
Share
Report
Share
1 of 36
Download now
Recommended
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...
Deep Learning JP
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
masashi takehara
Hadoop入門
Hadoop入門
Preferred Networks
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
RTK測位の実力とその活用事例
RTK測位の実力とその活用事例
OSgeo Japan
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
Preferred Networks
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
cvpaper. challenge
Recommended
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...
Deep Learning JP
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
masashi takehara
Hadoop入門
Hadoop入門
Preferred Networks
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
RTK測位の実力とその活用事例
RTK測位の実力とその活用事例
OSgeo Japan
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
Preferred Networks
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
【ECCV 2018】Implicit 3D Orientation Learning for 6D Object Detection from RGB ...
cvpaper. challenge
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
Minoru Nakamura
自宅サーバラックの勧め BGP4編
自宅サーバラックの勧め BGP4編
h-otter
ユーザーデータ基盤を1からScalaでつくった話し
ユーザーデータ基盤を1からScalaでつくった話し
Hideaki Tarumi
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
Makoto Nishimura
時を超えた JavaScript の道
時を超えた JavaScript の道
Teppei Sato
Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519
虎の穴 開発室
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
Hirokazu Onomichi
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
Atsuki Yokota
[DLHacks]DeepなSSM
[DLHacks]DeepなSSM
Deep Learning JP
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
Tetsutaro Watanabe
トランザクション入門
トランザクション入門
Kumazaki Hiroki
TensorFlow Liteを使った組み込みディープラーニング開発
TensorFlow Liteを使った組み込みディープラーニング開発
Makoto Koike
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
CNN-SLAMざっくり
CNN-SLAMざっくり
EndoYuuki
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
Mori Ken
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
Jetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global Matching
Ryo Sakamoto
Fibre Channel 基礎講座
Fibre Channel 基礎講座
Brocade
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
cvpaper. challenge
モータの回転数を検知する
モータの回転数を検知する
Kazu
平成26年度熊本高専Arduino講座 第3週 DCモータの制御
平成26年度熊本高専Arduino講座 第3週 DCモータの制御
Katsuhiro Morishita
More Related Content
What's hot
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
Minoru Nakamura
自宅サーバラックの勧め BGP4編
自宅サーバラックの勧め BGP4編
h-otter
ユーザーデータ基盤を1からScalaでつくった話し
ユーザーデータ基盤を1からScalaでつくった話し
Hideaki Tarumi
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
Makoto Nishimura
時を超えた JavaScript の道
時を超えた JavaScript の道
Teppei Sato
Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519
虎の穴 開発室
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
Hirokazu Onomichi
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
Atsuki Yokota
[DLHacks]DeepなSSM
[DLHacks]DeepなSSM
Deep Learning JP
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
Tetsutaro Watanabe
トランザクション入門
トランザクション入門
Kumazaki Hiroki
TensorFlow Liteを使った組み込みディープラーニング開発
TensorFlow Liteを使った組み込みディープラーニング開発
Makoto Koike
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
CNN-SLAMざっくり
CNN-SLAMざっくり
EndoYuuki
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
Mori Ken
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
Jetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global Matching
Ryo Sakamoto
Fibre Channel 基礎講座
Fibre Channel 基礎講座
Brocade
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
cvpaper. challenge
What's hot
(20)
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
自宅サーバラックの勧め BGP4編
自宅サーバラックの勧め BGP4編
ユーザーデータ基盤を1からScalaでつくった話し
ユーザーデータ基盤を1からScalaでつくった話し
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
時を超えた JavaScript の道
時を超えた JavaScript の道
Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
ROS2勉強会@別府 第7章Pythonクライアントライブラリrclpy
[DLHacks]DeepなSSM
[DLHacks]DeepなSSM
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
トランザクション入門
トランザクション入門
TensorFlow Liteを使った組み込みディープラーニング開発
TensorFlow Liteを使った組み込みディープラーニング開発
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
CNN-SLAMざっくり
CNN-SLAMざっくり
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
トランザクションの設計と進化
トランザクションの設計と進化
Jetson TK1でSemi-Global Matching
Jetson TK1でSemi-Global Matching
Fibre Channel 基礎講座
Fibre Channel 基礎講座
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
Viewers also liked
モータの回転数を検知する
モータの回転数を検知する
Kazu
平成26年度熊本高専Arduino講座 第3週 DCモータの制御
平成26年度熊本高専Arduino講座 第3週 DCモータの制御
Katsuhiro Morishita
タスクを活用した英語授業における学習者の英語運用能力と情意面の変容
タスクを活用した英語授業における学習者の英語運用能力と情意面の変容
Takuro Fujita
ワークショップとは
ワークショップとは
t-harabe
偶然短歌bot
偶然短歌bot
inaniwa3
英語の組み立て方と学び方―高校英語へのステップアップ,その先へ
英語の組み立て方と学び方―高校英語へのステップアップ,その先へ
Thun der
自分にあった英語学習法を探してみよう!
自分にあった英語学習法を探してみよう!
MKT International Inc.
レゴでチームを1つに!チームビルディングWORKSHOP用スライド
レゴでチームを1つに!チームビルディングWORKSHOP用スライド
Keita Takizawa
4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗
toshihiro ichitani
Viewers also liked
(9)
モータの回転数を検知する
モータの回転数を検知する
平成26年度熊本高専Arduino講座 第3週 DCモータの制御
平成26年度熊本高専Arduino講座 第3週 DCモータの制御
タスクを活用した英語授業における学習者の英語運用能力と情意面の変容
タスクを活用した英語授業における学習者の英語運用能力と情意面の変容
ワークショップとは
ワークショップとは
偶然短歌bot
偶然短歌bot
英語の組み立て方と学び方―高校英語へのステップアップ,その先へ
英語の組み立て方と学び方―高校英語へのステップアップ,その先へ
自分にあった英語学習法を探してみよう!
自分にあった英語学習法を探してみよう!
レゴでチームを1つに!チームビルディングWORKSHOP用スライド
レゴでチームを1つに!チームビルディングWORKSHOP用スライド
4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗
Similar to モーターを低速で定速で動かしてみる
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
CRI Japan, Inc.
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
Kenichiro MATOHARA
CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回
Computational Materials Science Initiative
Google 20130218
Google 20130218
Takefumi MIYOSHI
201104016 osc2011 kobe
201104016 osc2011 kobe
Yamauchi isamu
141125CITBrains
141125CITBrains
靖男 林原
ULVOの等価回路モデル
ULVOの等価回路モデル
マルツエレック株式会社 marutsuelec
Flexible 1.36 inch 16*128 SPI SSD1316 Monochrome OLED Screen Module Panel
Flexible 1.36 inch 16*128 SPI SSD1316 Monochrome OLED Screen Module Panel
Shawn Lee
光が分離する論理トポロジーと伝送技術_Shownet2021 studio 20210415
光が分離する論理トポロジーと伝送技術_Shownet2021 studio 20210415
Interop Tokyo ShowNet NOC Team
Imaocande LT
Imaocande LT
Imaoka Micihihiro
Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003
cat sin
Intel edison edison向け基板のご紹介
Intel edison edison向け基板のご紹介
Takehiko Tomiyama
Odyssey MAX 10 FPGA入門セミナーテキスト
Odyssey MAX 10 FPGA入門セミナーテキスト
Tsuyoshi Horigome
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88k
Kenji Aoyama
SDN Japan: ovs-hw
SDN Japan: ovs-hw
ykuga
UVLOの等価回路モデル作成方法
UVLOの等価回路モデル作成方法
Tsuyoshi Horigome
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
npsg
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
RSQB Flip Flopの等価回路モデル
RSQB Flip Flopの等価回路モデル
マルツエレック株式会社 marutsuelec
Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?
NVIDIA Japan
Similar to モーターを低速で定速で動かしてみる
(20)
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回
Google 20130218
Google 20130218
201104016 osc2011 kobe
201104016 osc2011 kobe
141125CITBrains
141125CITBrains
ULVOの等価回路モデル
ULVOの等価回路モデル
Flexible 1.36 inch 16*128 SPI SSD1316 Monochrome OLED Screen Module Panel
Flexible 1.36 inch 16*128 SPI SSD1316 Monochrome OLED Screen Module Panel
光が分離する論理トポロジーと伝送技術_Shownet2021 studio 20210415
光が分離する論理トポロジーと伝送技術_Shownet2021 studio 20210415
Imaocande LT
Imaocande LT
Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003
Intel edison edison向け基板のご紹介
Intel edison edison向け基板のご紹介
Odyssey MAX 10 FPGA入門セミナーテキスト
Odyssey MAX 10 FPGA入門セミナーテキスト
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88k
SDN Japan: ovs-hw
SDN Japan: ovs-hw
UVLOの等価回路モデル作成方法
UVLOの等価回路モデル作成方法
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
RSQB Flip Flopの等価回路モデル
RSQB Flip Flopの等価回路モデル
Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?
モーターを低速で定速で動かしてみる
1.
モーターを低速で定速で動かしてみる 酒居敬一
2.
自己紹介 兵庫県姫路市出身、1970年生まれ ハード屋を目指していたソフト屋
どっちも中途半端だけど、低レイヤ大好き 測定器はそこそこ持ってる 数年前までは自作の55cmの望遠鏡で遊んでた 旋盤も直流溶接機も持ってる 大学の先生もやってた ソフト作ってるほうが面白いので辞めた 午後の人(SSEとかLinuxとか担当だけど) 2
3.
(本題とは関係ないけど)OS歴 Sun-3(68K), Sun-4(SPARC),
Solaris-2.x 〜 8(SPARC) NEWS OS (Sony CISC NEWS, 68K) DG/UX (Data General AV4000だったっけ?, M88K) Luna OS (オムロン, 68K) DOS/V Windows 3.1 Digital UNIX (DEC Alpha AXP 61064) Linux 1.0.x 〜 Windows XP/Vista/7 3
4.
動機 天文機材の高級化に逆らいたい できるだけチープな材料を使いたい
高額機材を「買って使ってポイ」には馴染めず 25cm望遠鏡は30年近く前に自作 55cm望遠鏡は15年前に自作 タミヤのギヤボックスで恒星時追尾する 地球の自転速度が1/1436rpm 1000rpmくらいでモーターを回せたらいけそう 高価なもの複雑なものは人に任せたい 4
5.
定速制御 角速度のPI制御を使う 角速度は目的位置との変位から計算
恒星時追尾時の制御ループは二重になる 角速度は一定とする 導入の補助のときは変位は気にしない 角速度の検知をどうするか? タコジェネを使うなんてありえない 位置の検知をどうするか? ロータリーエンコーダなんてもっとありえない モーターを検出用に追加する? センサレス制御しかありえない? 5
6.
回転数検出の原理 Back-EMF(Back ElectroMotive
Force) 磁界中をコイルが動くと 電圧が発生する 発生電圧は角速度に比例 リップル 1回転で6回波打つ 2[極]×3[スロット]=6 数えることで位置を検知 6
7.
上側の駆動用モーター 入力電圧: 約1500mV 消費電流: 325mA前後 下側のBack-EMF測定用モーター 出力電圧:
1000mV前後 リップルから回転数を計算可能で、 カーソルはモーター軸1回転 60000[ms]/10.88[ms/r]=5515[rpm] 5515/6600*1500=1253[mV] 7
8.
上側の駆動用モーター 入力電圧: 約500mV 消費電流: 250mA前後 下側のBack-EMF測定用モーター 出力電圧:
250mV前後 リップルから回転数を計算可能で、 カーソルはモーター軸1回転 60000[ms]/44.20[ms/r]=1357[rpm] 1357/6600*1500=308[mV] リップルがきれいな個体→ それでも形が少し違う 8
9.
RE-260RA-2670のBack-EMF 平均Back-EMF[mV] 1回転の時間[ms/r] 回転数[rpm] 200
60.72 988 300 41.0 1463 400 30.8 1948 500 24.6 2439 600 20.8 2885 708 17.6 3409 802 15.6 3846 平均Back-EMF電圧が表の値になるようにモーターを回して回転数を測定しました。 回転数とBack-EMFが低い回転数までそこそこ比例します。 無負荷無損失回転数からの推定値は、実測のBack-EMFのピーク値くらいのようだ。 9
10.
PWMによる回転数制御 CCM(Continuous Conduction
Mode)を使う 巻線のインダクタンスにより電流が途切れない 上下のスイッチを適度に速く交互にON/OFFする T = TON +TOFF DI = V1 -V2 - IR1( ) L TON DI = - V2 + IR1( ) L TOFF モーター電流は数百mA V1=5V, V2=0.2V, ΔIがおよそ30mAのとき、 TOFF=30mA*0.34mH/200mV=0.051ms ※ R1を無視した概算です 電池 1.8V〜5.4V モーター 10
11.
インダクタンスと抵抗 インダクタンス[μH] 抵抗[Ω] miniモーター 1200
5.0 ミニモーター多段12速付属品 FA-130RA-2270 340 0.68 RE-260RA-2670 340 0.58 RC-260 340 遊星ギアセット付属品 Torque Tune Motor 145 0.33 Power Dash Motor 49.7 0.17 RE-280-20120 1200 RDO-501付属品 RE-280RA-2865 266 0.64 11
12.
制御と検出の違い 実はパルス幅を変えるだけ DCM(Discontinuous
Conduction Mode)に持っていく 上下スイッチをOFF, 電流=0まではダイオードを使う 電流=0のときに、モーター端子にV2が見える I = - V2 +VF( ) L TOFF モーター電流を仮に640mA V2=0.2V, VF=0.3Vのとき、 TOFF=640mA*0.34mH/500mV=0.44ms ※ R1を無視した概算です IR1は無視して、 Back-EMF 12
13.
スイッチング素子はFET? 低電圧ではFETが使いやすい マイコン直結で速度的に折り合えば特に
VGSが低い分Qgは減るので、低電圧でも使えそう 最近の世代はRDSに対するQgが小さい 最近は1.8VでRDSを規定するメーカーが増えた ニッケル水素電池2本でも動かせるのはありがたい マイコンがハーフブリッジ駆動をサポートしてる デッドタイムをソフトで設定できる ソフトで自由に駆動方法を変えられる 13
14.
ch1: p-MOS Gate ch2:
モーター端子 ch1: n-MOS Gate ch2: モーター端子 1 2 3 3. 上側(p-MOS)がON 2. 上下のFETがOFF ダイオードによる還流 1. 下側(n-MOS)がON FETによる還流 14
15.
ch1: p-MOS Gate ch2:
モーター端子 ch1: n-MOS Gate ch2: モーター端子 1 2 3 1. 上側(p-MOS)がON 2. 上下のFETがOFF ダイオードによる還流 3. 下側(n-MOS)がON FETによる還流 15
16.
※ 機械損・鉄損に対応する抵抗は省略 モーター始動時は、Back-EMFが0Vなので、 (電源電圧 ÷
巻線抵抗)に相当する電流が流れます。 モーターが回転している時はBack-EMFが発生します。 ですので、流れる電流は((電源電圧 - Back-EMF)÷巻線抵抗)です。 トルクは電流に比例ですので、高トルク時は回転が下がります。 Back-EMFが下がった分だけ電流が流せて、トルクがでます。 電流は巻線に加わる電圧に依存して増減します。 インダクタンス分があるため、電流はいきなり増減しません。 dI dt = V L 16
17.
※ 機械損・鉄損に対応する抵抗は省略 還流状態に入った時、電流は時計回りに流れています。巻線の自己インダクタンス によりただちに電流が0になったり、Back-EMFにより逆方向になったりはしません。 モーターが回転しているとBack-EMFが図のとおりの電圧源として機能します。 巻線には電流を減らす方向に電圧がかかりますので、時間と共に電流が減少します。 十分な時間が経過すると、電流は反時計回りに流れるようになります。 モーターが高速で回転している時は、Back-EMFが大きいですから、 大きな逆向きの電流(-Back-EMF ÷
巻線抵抗)が流れます。 逆向きですから電磁ブレーキですね。 この(時間が経過した)状態を指してブレーキモードと呼ぶ場合があります。 17
18.
※ 機械損・鉄損に対応する抵抗は省略 還流状態に入った時、電流は時計回りに流れています。 このとき、ダイオードにも電流が流れるのですが、ショットキバリアダイオードで 0.3Vから0.5V程度、シリコンPN接合ダイオードで0.6Vから1V程度電圧が必要で、 損失(電流 ×
電圧)分だけ早く電流が減りますし、電流量によっては発熱します。 電流の源ですが、巻線(の自己インダクタンス)に蓄えられていた電流です。 十分な時間が経過すると、巻線に蓄えられていた電流は0になります。 この(時間が経過した)状態を指してフリーモードと呼ぶ場合があります。 18
19.
駆動系まとめ 効率・目的を考えるとハーフブリッジ 上側ON,
両方OFF, 下側ONを組み合わせる 駆動 還流 測定 これらをタイミングよく切り替えればよい ECCPによるPWM 割り込みによるECCPの制御 イベントトリガによるADC起動・割り込み起動 19
20.
マイコンを使った制御 20
21.
試作品 両面基板を安く作ってくれるところがあった ハーフブリッジ
p-MOSのゲート駆動はPIC出力を2本束ねた n-MOSのゲート駆動はPIC出力を1本 21
22.
駆動系設定など PWM周波数は20kHzでよさそう 可聴域より上、SW速度的には数十kHz以下
FETのデッドタイムは250nsで大丈夫そうだった MCUクロックは4MHzを発振し4逓倍する 1.8Vから動くはず ADCのAVDD+はFVRを2048mV設定で使う Back-EMFを200mV程度まで狙うと100LSBくらい 谷検知は周期が長いのでTimer1を割り当て PWMはTimer2+ECCP 22
23.
制御ループ 谷の数とBack-EMF 一定周期でPWM駆動を停止
巻線電流が0になるまで待つ Back-EMFを20us間隔で4回サンプル 最大値と最小値を捨て、2サンプルの平均値を使う Back-EMFサンプル列から谷を検出し、数え上げる 電源電圧で補正 Back-EMFはADCのVrefに2048mVを使い測定 制御値はこの電圧に基づき電圧値として計算 電圧値を電源電圧で除することでDuty比に変換 23
24.
Verror t( )
=Vtarget t( )-VBackEMF t( ) Vcontrol t( ) = KpVerror t( )+ Ki Verror t( ) t=0 t å Dcontrol t( ) = Vcontrol t( ) Vpower t( ) 概略の計算式 比例ゲインと積分ゲインは定数なので、ループ展開することとし、 アセンブラのマクロを使って定数の乗算を実装 目標のBack-EMF電圧を、回転数相応な値と谷の数の増減から計算しておく 目標値と現在値から誤差を計算し、PI制御する 電源電圧で除算することでデュティー比に変換 除算は非回復法で実装している 24
25.
Back-EMFサンプリング 20us周期で4回サンプリング PWM駆動に切り替える前に4回サンプリング
電源電圧3.6V, Back-EMFは0.3V程度 逆起電力と呼ばれるもの 自己インダクタンス由来 Back-EMF由来 ch1: 測定用モーター ch2: 制御対象モーター 25
26.
Back-EMF検出 • PWM駆動後20us周期でずっとサンプリング – 巻線の自己インダクタンスによる電圧==0を待つ •
それまではダイオード経由で還流しているので-VFが見える。 – ショットキダイオードのVFは0.3V前後(電流による) ch1: 測定用モーター ch2: 制御対象モーター 26
27.
谷検出のためのサンプリング 制御したいリップル周期の3倍でサンプリング 谷検出周期に合わせてPWM駆動をやめる
同期整流もやめてダイオード整流による還流に切り替える Back-EMF検出・選択・平均値取得 PWM再開 谷検知 ch1: 制御対象モーター ch2: 測定用モーター 27
28.
谷検出 PWM周波数 20kHz
リップル周波数 115.6Hz, 1156rpmの場合を示す リップル1周期あたり、3サンプル取得 Back-EMFが、下がる-上がる、で谷通過と認識 ch1: 制御対象モーター ch2: 測定用モーター 整流子切り替わり 28
29.
まとめ 演算能力が足りない PWM開始時に電流を速く立ち上げたかった
フィードフォワード制御するだけの余裕がない 高速(3000rpm程度)で回したいときこそ補正したかった せめて乗算命令が欲しい キャリー付き加減算があるだけマシだけど。 思ったより安定してフィードバック制御できた ブラシの接触が微妙なときは全然ダメだった Back-EMFが200mV(100LSB)あればいける 低速なので電気を食わない 29
30.
30
31.
31
32.
32
33.
33
34.
単三eneloop3本で 30時間連続稼働できます モーター回転数が低いので、 3.6Vで60mA前後です。 34
35.
35
36.
36
Download now