ワードや一太郎で以下の方法で数式を入力することができます。
Wordでの数式入力例 |
一太郎で数式入力を選ぶ |
一太郎での数式入力例 |
abc851で自動運転を実現したが、今回追加した機能は、最大26個のポイント(分岐器)の切替と、最大9編成の走行列車の選択である。ポイントの制御は、drcに‘A'〜'Z'または‘a'〜'z'を指定し。大文字/小文字の違いで分岐の方向を指定する。また、走行させる列車の選択は、drcに'1'〜'9'を指定することで、最大9編成の列車を選択できる。どちらの設定も列車が停止中の状態の時のみ指定できる。
ポイント切替、運転列車を変更する場合、列車に電圧が印加されないように、pwm = 0(常点灯もOFF)にしている。また、変更が安定するまでの時間として、stmには最低でも10(1秒)以上を設定すること。
・drcの変更は列車の停止時にのみ行われ、
drc=0(0x00、停止)、1(0x01、前進)、2(0x02、後退)
drc= '1' (0x31)〜'9' (0x39)の最大9種類の車両。
drc= 'A' (0x41)/'a'(0x61)〜'Z'(0x5A)/'z'(0x7A)の最大26カ所のポイント。
列車の徐行速度と常点灯停止速度を定数としていたが、複数の列車に対応するため、spdに2000以上を指定すると、その時選択されている列車のパラメータを以下のように利用することにした。
・spd≧2000の場合、走行パラメータは列車パラメータを利用
spd=2000 rsL(常時点灯)停車を指定
spd=2001 slw徐行[停止準備](走行下限速度)を指定
spd=2002 slw+(upL−slw)×1/4速度(低速)を指定
spd=2003 slw+(upL−slw)×1/2速度(中速)を指定
spd=2004 slw+(upL−slw)×3/4速度(準高速)を指定
spd=2005 upL高速(走行上限速度)指定
今回使用したPICは20ピンのPIC16F18346で、センサとポイントの合計で最大11(PA0/1も使用)まで使える。また、14ピンのPIC16F18325/18326も同じピン配置で、今回の例ではRC6-7、PB4-6は使用していないので、そのままソケットに差し込んで使用可能で、この場合は最大5となる。なお、ピン配置は異なるが28ピンのPIC16F18857を使うと最大18となる。
なお、テスト時、5V電源はUSB供給としたので、5Vの3端子レギュレーターは外している(12V電源端子のそばに装着可)。
【MCCの設定】 MCCの設定はabc850とほぼ同じ(ADCは使用しない)で、再掲載すると
【SyatemModule】 Oscilater Select = HFINTOSC HF internal Clock = 32_MHz Clock Divider = 1 【TMR2】 Check "Enable Timer" <Timer Clock> Postcaler = 1:1 Prescaler = 1:1 <Timer Period> Timer Period = 32us 【PWM5】 Check “Enable PWM" Select a Timer = Timer2 <Duty Cycle> Duty Cycle = 0.0% <PWM Parameters> PWM Polarity = active_hi 【FVR】 Check “Enable FVR"” FVR_buffer1 Gain = off FVR_buffer2 Gain=1x 【DAC1】 Check “Enable DAC"” Positiv Reference = FVR_buf2 Negativ Reference = VSS 【CMP1】 Chek “Enable Comparator" Positiv Input =DAC Negativ Input =CIN2- Output Polarity = not inverted 【CWG1】 Check “Enable CWG" Input Source = PWM5_OUT Output Mode = Stearing mode Clock Source = FOSC |
<Events> Rasing Counts = 0 Falling Counts = 0 <Output Pin Config> (CWGA) Check “Enable Stearing" Stearing data = high Polarity = inverted (CWGC) Check “Enable Stearing" Stearing data = high Polarity = inverted <AutoShutdown> CWGA&CWGC Shutdown State =logic1 Check “Comparator1 Output” 【MSSP】 Check “Interupt Driven" <Hardware Setting> SerialProtocol = I2C Mode = “Master" I2C Clock Frequency = 100000 <Interupt Setting>” Check "Enable I2C Interrupt" 【Pin Module】 Regster/PinModule:Check "Interrupt Enables” RA0(Itr_A0):(reserved)、(ICSPデータ) RA1(Itr_A1):(reserved)、(ICSPクロック) RA2(Itr_A2):input/degital、IOC=positiv RA3(Psw_A3):input ・・・スイッチ RA4(Itr_A4):input/degital、IOC = positive RA5(Led_A5):output ・・・赤LED RC0(MCL1):(I2Cクロック) RC1(MDA1):(I2Cデータ) RC2(CIN2-):input(CWG shutdown入力) RC3(CWG1C):output(PWM出力)、WUP RC4(CWG1A):output(PWM出力)、WUP RC5(Pt_C5):output(ポイント出力) |
【プログラムの補足説明】
【列車走行のレイアウトと走行テスト】
|
|
|
★★★ トラブル ★★★ ・・MCCのEasySetUpで再設定や変更しても反映されないことあり!!
※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。