第10章 マイコン機器とマイコンプログラム
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

第10章 マイコン機器とマイコンプログラム PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

第10章 マイコン機器とマイコンプログラム. ● マイコン回路とプログラミング ●サーボモータ,直流モータ制御以外のプログラム. マイコンでどのようなことができるのか?. モータのマイコン制御を使いこなす!. 10.1 ステッピングモータ. ★ メカトロニクス機械で重要なアクチュエータ. ① パルス信号を与えるごとに,一定の角度ずつ回転する。 ②正確な回転角度制御が可能である。 ③パルス周波数を変えることで,回転速度が変わる。 ④パルスモータとも呼ばれる。 ⑤限界のトルクを超えると制御できなくなる(脱調)。 ⑥回転数が高いほど,トルクが小さい。.

Download Presentation

第10章 マイコン機器とマイコンプログラム

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3710907

第10章 マイコン機器とマイコンプログラム

●マイコン回路とプログラミング

●サーボモータ,直流モータ制御以外のプログラム

マイコンでどのようなことができるのか?

モータのマイコン制御を使いこなす!


3710907

10.1 ステッピングモータ

★メカトロニクス機械で重要なアクチュエータ

①パルス信号を与えるごとに,一定の角度ずつ回転する。

②正確な回転角度制御が可能である。

③パルス周波数を変えることで,回転速度が変わる。

④パルスモータとも呼ばれる。

⑤限界のトルクを超えると制御できなくなる(脱調)。

⑥回転数が高いほど,トルクが小さい。

ステッピングモータ

第7章スライドより


3710907

●ステッピングモータの構造

●ケース内に永久磁石を用いた回転子

●周囲に複数のコイル

●コイルに対して順番に電流を流す。


3710907

●ステッピングモータの動作原理


3710907

●ステッピングモータを動かすマイコン回路

ダーリントントランジスタ

ステッピングモータ


3710907

●ステッピングモータを動かすプログラム①

'

' Pulse Motor Drive Program

' pulsesample.bas

'

Config Portb = Output

Config Portd = Input

'

Dim T As Byte

'

Do

T = 50

Portb.0 = 1 : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = 1

Waitms T

Portb.0 = 1 : Portb.1 = 1 : Portb.2 = 0 : Portb.3 = 0

Waitms T

Portb.0 = 0 : Portb.1 = 1 : Portb.2 = 1 : Portb.3 = 0

Waitms T

Portb.0 = 0 : Portb.1 = 0 : Portb.2 = 1 : Portb.3 = 1

Waitms T

Loop

End

最も簡単なプログラム


3710907

●ステッピングモータを動かすプログラム②

'

' Sample Program pulse2005c.bas

'

Config Portb = Output

Config Portd = Input

Config Timer1 = Timer , Prescale = 1024

'

Dim I As Word

Dim T As Word

Dim A As Byte

Dim X As Single

'

T = 12

For I = 1 To 50:

Portb.0 = 1 : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = 1

Waitms T

Portb.0 = 1 : Portb.1 = 1 : Portb.2 = 0 : Portb.3 = 0

Waitms T

Portb.0 = 0 : Portb.1 = 1 : Portb.2 = 1 : Portb.3 = 0

Waitms T

Portb.0 = 0 : Portb.1 = 0 : Portb.2 = 1 : Portb.3 = 1

Waitms T

Next I

タイマの利用


3710907

Start Timer1

Do

A = 0

Timer1 = 0

While A < 2

If A = 0 And Pind.0 = 0 Then

A = 1

End If

If A = 1 And Pind.0 = 1 Then

A = 2

X = Timer1

End If

Wend

T = X / 100

'

For I = 1 To 50:

Portb.0 = 1 : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = 1

Waitms T

Portb.0 = 1 : Portb.1 = 1 : Portb.2 = 0 : Portb.3 = 0

Waitms T

Portb.0 = 0 : Portb.1 = 1 : Portb.2 = 1 : Portb.3 = 0

Waitms T

Portb.0 = 0 : Portb.1 = 0 : Portb.2 = 1 : Portb.3 = 1

Waitms T

Next I

Loop

End

●ステッピングモータを動かすプログラム②

スイッチを押す

スイッチをはなす

時間を計測


3710907

10.2 タイマを用いた周波数測定器


3710907

'

' Frequency Measuring Program

'

Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2

Config Lcd = 16 * 2 'configure lcd screen

Config Timer1 = Timer , Prescale = 1024 'Timer1 Setup

Dim A As Byte

Dim B As String * 16

Dim X As Single ' Word

Ddrb = &B11111100

Ddrd = &B00110000

'

' Sencing (Loop)

'

Start Timer1 'Start Timer1

Do

A = 0

Timer1 = 0

While A < 4

If A = 0 And Pinb.0 = 1 Then

A = 1

Portd.4 = 1

End If

●タイマを利用したプログラム

LCD(液晶表示器)の利用


3710907

If A = 1 And Pinb.0 = 0 Then

A = 2

Timer1 = 0

Portd.4 = 0

End If

If A = 2 And Pinb.0 = 1 Then

A = 3

Portd.4 = 1

End If

If A = 3 And Pinb.0 = 0 Then

A = 4

X = Timer1

Portd.4 = 0

End If

If Timer1 => 50000 Then 'Time Over=5 sec

A = 4

X = Timer1

End If

Wend

●タイマを利用したプログラム


3710907

'

' Calculation

'

X = 10000 / X 'Frequency (Hz)

X = X * 60 'Frequency (rpm)

B = Str(x)

B = Left(b , 5)

'

' Result screen

'

Cls

Home Upper

Lcd "Engine speed: "

Lowerline

Lcd B

Lcd " rpm"

Wait 1

Loop

End

●タイマを利用したプログラム

LCDの表示


10 3 a d

10.3 A/Dコンバータ

アナログ電圧を取り込み,デジタル値に変換する。


3710907

'

' A/D Converter Sample Program

' for AT90S8535-8PC

'

Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2

Config Lcd = 16 * 2 'configure lcd screen

Config Adc = Single , Prescaler = Auto 'For A/D conv.

Start Adc

Dim A As Byte

Dim Vv0 As Word

Dim Vv1 As Word

Dim V0 As Single

Dim V1 As Single

Dim B0 As String * 16

Dim B1 As String * 16

Ddrb = &B11111100

Ddrd = &B00110000

'

' First screen

'

Cls 'clear the LCD display

Lcd "A/D Converter" 'display this at the top line

Lowerline 'select the lower line

Lcd "Sample Program" 'display this at the lower line

Wait 1

●A/Dコンバータを動かすプログラム

A/D変換機能の使用


3710907

●A/Dコンバータを動かすプログラム

'

' Sencing (Loop)

Do

Vv0 = 0

Vv1 = 0

For A = 1 To 50

Vv0 = Vv0 + Getadc(0) 'read A/D value from channel 1

Vv1 = Vv1 + Getadc(1) 'read A/D value from channel 2

Waitms 5

Next A

Vv0 = Vv0 / 50

Vv1 = Vv1 / 50

'

' Calculation for A/D

'

V0 = Vv0 * 5

V0 = V0 / 1024 'Voltage (V)

V1 = Vv1 * 5

V1 = V1 / 1024 'Voltage (V)

B0 = Str(V0)

B0 = Left(b0 , 4)

B1 = Str(V1)

B1 = Left(b1 , 4)

アナログ電圧の読み取り


3710907

●A/Dコンバータを動かすプログラム

'

' Result screen

'

Cls

Home Upper

Lcd "ch0= "

Lcd B0

Lcd " V"

Lowerline 'select the lower line

Lcd "ch1= "

Lcd B1

Lcd " V"

Wait 1

Loop

End


3710907

●A/Dコンバータの応用例

ラジコン制御の魚ロボット


3710907

●A/Dコンバータの応用例

ラジコン制御の魚ロボット


3710907

●A/Dコンバータの応用例

ラジコン制御の魚ロボット


3710907

10.4 複数のマイコンの利用

模型車いすのマイコン回路


3710907

●模型車いすへの応用例


3710907

【演習問題】

★直流モータまたはR/Cサーボモータを使ったメカトロニクス機械の案を考え,どのようなモータ制御が必要かまとめなさい。


  • Login