jl7gmnのblog

yahooブログから移行してきました。アマチュア無線を中心としたブログです。

選べるインク福袋購入

選べる福袋1000円のサイトの値段が魅力で、実際にためし買いをしてみた。 
イメージ 8
宣伝ではありません。私の使用しているのは以前修理に出したエプソンプリンタPM-A900なので、純正インク購入時はいつも値段が高いのには溜息をついていた。純正のインクを使いたいのは山々なのだが、ある程度安いECOサードパーティ品も時々使用していたのだがそれでも高かった。今回は、期間限定とはいえ6色パック消費税込み1000円は超格安だ。1個当たりの値段は167である。信じられないがとてもうれしい値段である。ここいらの家電店で純正では1100です。1/6以下の値段だ。とはいえ実際に使用開始していないので、使用感はこの次としても、できることとして、まずそれぞれの新品のインクカートリッジの重量を比較してみた。対象は手持ちにある純正品、ECO品、福袋品の3種類です。
実際に比較した結果が下記のとおりです。
(※注意!秤は、キッチン用の上皿天秤なのでg単位の精度はあまり高くありませんのであしからず)
-------------------------------------------------
純正品:≒35g(どの色もほぼ全部均一の重さ)
ECO品:=38g(1個しかなかったので不明)
福袋品:≒31g(どの色もほぼ全部均一の重さ)
-------------------------------------------------
純正の1/6も安いとすれば、重さの4gはさほど問題ではないと思うことにした。

なお、インターネットで今回の福袋をバスケットに入れて購入申請したのが、11月5日(火)朝で、実際にクロネコメール便が我が家のポストに到着したのは、11月8日(金)17時頃(私は仕事で会社)らしいので、実質3日で届いている。インターネットメールでの商品発送のお知らせで通常の宅配便より1ないし2日多く到着まで要すると書いてあった。メールの最後にあった、メール便では2日~3日かかることがある。とほぼ、そのとおりの3日で到着した。

イメージ 12イメージ 13イメージ 14

イメージ 15イメージ 16イメージ 17

今回のインクを使用するEPSONプリンタは修理サポートが既に切れています。
PM-A900:2012年4月30日まで修理対応期限 
なので、前回のインクバットが満杯になってもメーカー修理は期待できません。(ただし、修理対応の交換部品等がメーカーにある場合は、対応してくれる可能性も若干あると思いますが...?)
現時点で、インターネットサーフィンで各PM-A900についてのブログや関連のサイトを見たりして、プリンタの廃インクエラー対応用プログラムをダウンロードしたり、プリンタの組み立て方の資料を見たりして、後々まで使用する準備をしています。なお海外ではPM-A900の型はRX700の型番で売られていたらしいです。海外では、サービスエンジニアが使用するようなプログラムも公開されているようです。本体の廃インクのカウンタリセットプログラムは上記のRX700でAdjustmentProgramを検索して入手することができました。直接ダウンロードできるブログ DFLY Roomに感謝です。一部他のダウンロードサイトでは、ダウンロード圧縮ファイルにウィルスがはいっていてセキュリティソフトで排除されるため、ダウンロードはできても、起動はできませんでした。

以下プログラムを仮に起動してプログラム動作内容を確認してみました。

①起動時画面            ②プリンタは起動しておきます。EURO
イメージ 18イメージ 1
③I/Hwaste ink pad でReplacement設定 ④③でOKボタン押しCHECK押下後
イメージ 2イメージ 3
⑤Head angular adjustment           ⑥Bi-D adjustment
イメージ 4イメージ 5
⑦PW adjustment                           ⑧First dot position
イメージ 6イメージ 7
Adjustment orderの順に出てきます ⑨Check pattern print
イメージ 9 イメージ 10イメージ 11
上記のFinishボタンで完了します。
Sequential adjustment mode ボタンを押してadjustment orderに準じて設定してゆくことになるようです。
別件で、PM-A900のスキャナーのガラスの接着がはがれて落ちている状態なので次に直してみたいと思います。

PICその29

いままで使用していたブラウザが調子悪くなり、WEBページ表示で落ちるようになってしまった。Google Chromeのブラウザでは、結構エラーが報告されているようだ。何度かアンインストールと再インストールを行ってみたが、相変わらずWEBページ表示(Yahoo japan)で落ちてしまう。結局WEBで対策をチェックしてみたが、どれも改善ならなかった。PCのセキュリティの影響もあるように書いているものもあったが、エラーがでるまでトラブル等は無かったので思い切ってブラウザを変更することにしました。現在はFirefoxでトラブルなしで動いています。もう少し使ってみてみようかという状態です。なので、PICは少し休憩!PCのセッティングも見直し中です。
イメージ 1

PICその28

MPLAB X IDEとXC8コンパイラーがバージョンアップしていたので、早速ダウンロードしアップディト・インストールした。(2013年6月26日(水)にアップディトされたようです。)

ちなみにそれぞれのバージョンは 以下の通りです。
MPLAB X IDE v1.85
XC 8 C Compiler V1.20

イメージ 1
MPLAB X IDE Release NotesはXC8の対応チップが全てわかるので便利!是非ともダウンロード
イメージ 2

早速、タイマー確認プログラムPIC12F683 で、XC8のアップディト後のコンパイルチェックを行いました。
イメージ 3
-------------------------------------------------------------------------------------------
Microchip MPLAB XC8 C Compiler V1.20
Copyright (C) 2013 Microchip Technology Inc.
License type: Node Configuration

:: warning: Omniscient Code Generation not available in Free mode

Memory Summary:
    Program space        used    47h (    71) of   800h words   (  3.5%)
    Data space           used     9h (     9) of    80h bytes   (  7.0%)
    EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)


Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 40% smaller than in Free mode.
See http://microchip.com for more information.

make[2]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'
make[1]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'

BUILD SUCCESSFUL (total time: 10s)
Loading code from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.hex...
Loading symbols from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.elf...
Loading completed
-------------------------------------------------------------------------------------------
ちなみに前のバージョン1.12との比較もして見ました。以下の通りです。

Microchip MPLAB XC8 C Compiler V1.12
Copyright (C) 2012 Microchip Technology Inc.
License type: Node Configuration

:: warning: Omniscient Code Generation not available in Free mode

Memory Summary:
    Program space        used    53h (    83) of   800h words   (  4.1%)
    Data space           used     9h (     9) of    80h bytes   (  7.0%)
    EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)


Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 40% smaller than in Free mode.
See http://microchip.com for more information.

make[2]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'
make[1]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'

BUILD SUCCESSFUL (total time: 14s)
Loading code from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.hex...
Loading symbols from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.cof...
Loading completed
-------------------------------------------------------------------------------------------
XC8 のバージョンアップするとProgram space が4.1%から3.5%に少なくなっています。最適化が少しされているのでしょうか?とにかくこんな短い簡単なプログラムでも少ないメモリで構成できれば、それに越したことは無いですね!アップディト・バージョンアップすべし!です。プログラムを考えて減らすより楽で良いです。ほんとに簡単なのは、有償バージョンにすればいい話なんですが......

とここまで順調に見えますが、実際はインストールは2回しています。1回目はオプションの設定でコンパイラをスキャンして新しいバージョンを選択した後にコンパイルがうまくいかない状態でした。プログラムデータフォルダのパスの設定がおかしくなったようでした。なので一旦削除して2回目のインストールを行って無事コンパイルOKとなっています。よくよく考えてみると、最初のアップディトの時に前のバージョンのMPLAB X IDEを削除しないでインストールしたのが、失敗の原因だったようです。2回目のインストール時には、なぜか最初のインストール時に出なかった前のバージョンを削除しろうんぬんとメッセージが出ました。
以上従来のMPLAB&コンパイル環境が変わらず設定完了というところです。

PICその27

前回のPIC12F683のTIMER0の確認で使用した回路とブレッドボード配線その他を忘備録用として記す。

確認で使用したPIC12F683と組んだ小型のブレッドボード
イメージ 1

ロジアナ接続の全体像
イメージ 3

TMR0がmainで設定されないときの出力ポートのタイミング約1.6sec
イメージ 2

TMR0を割り込みルーチン内で設定したOK時のタイミング理論計算値通り1.0sec
イメージ 4

確認で使用したPIC12F683の回路図
(確認は簡単な回路ほど良いと思う)
イメージ 5

TIMER0の使い方がほぼ前回の確認サンプルでわかった。また今回は手順はわかっても実際のプログラミング手法ではうまくいかないケースがありうることも!。サンプルプログラムはmikroCだったが、XC8ではそのままではうまくいかなかったようです。TMR0の設定値がmainルーチンで設定しているサンプルをもう少し見てみようと思う。またまだまだいろいろとタイマーの種類があるので、順次確認してみようか?!

PICその26

タイマー0の確認でサンプルプログラムを動かし本当に計算どおりに動いているかを確かめた。
なんとタイマー0の計算と全く異なる時間で動いていた。サンプルプログラムは以下(PICはPIC12F683です。)
********************************************************************************************
#include <xc.h>
static void pic_init();

// XC8 CONFIG
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator
//: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
//#pragma config WDTE = ON        // Watchdog Timer Enable bit (WDT enabled)
#pragma config WDTE = OFF        // Watchdog Timer Enable bit (WDT enabled)
//#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config PWRTE = ON      // Power-up Timer Enable bit (PWRT disabled)
//#pragma config MCLRE = ON       // MCLR Pin Function Select bit (MCLR pin function is MCLR)
#pragma config MCLRE = OFF       // MCLR Pin Function Select bit (MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = ON       // Brown Out Detect (BOR enabled)
#pragma config IESO = ON        // Internal External Switchover bit
                                //(Internal External Switchover mode is enabled)
#pragma config FCMEN = ON       // Fail-Safe Clock Monitor Enabled bit
                                //(Fail-Safe Clock Monitor is enabled)

unsigned int cnt;

void interrupt timing(){
    if(INTCONbits.T0IF == 1){
        INTCONbits.T0IF = 0;
        cnt++;
        if(cnt == 50){  //50:20mSECx50=1000mSec=1Sec
            cnt = 0;
            GPIObits.GP5 = ~GPIObits.GP5;
            GPIObits.GP4 = ~GPIObits.GP4;
        }
    }
}
int main(void) {
    pic_init();//PICの初期化

    cnt = 0;
    TMR0 = 100;
    INTCONbits.T0IE = 1;//Timer0 interrupt enable
    INTCONbits.GIE = 1;//Genaral interrupt enable
    while(1){
    }
}

//PICの初期化
static void pic_init(){
    OSCCON     = 0b01110000;//8MHz internal clock
    TRISIO     = 0b00000000;//ALL output
    ANSEL      = 0b00000000;//ALL Digital output
    GPIO       = 0b00000000;//GPIO 0 clear
    CMCON0     = 0b00000111;//Comparator not use
    OPTION_REG = 0b00000111;//Pull-up Enable and prs 111:1/256
}
********************************************************************************************
青色がタイマー0の主要設定にかかわる部分だが、ロジアナでの時間は1.6secである。本来なら1secでないといけない。ためしにTMR0の設定値をいろいろと変えてみたが、全く時間の変化がない状態でした。
理論計算上の待ち時間は(256-TMR0)*256*(4*(1/8MHz))なので(256-100)*256*0.5E-6=0.019968sec(≒20msec)で カウント数が50で トータル 20msec*50=1000msec(1秒)なはずなのだ。(実際の計算値は0.9984sec)
TMR0の値が書き込まれていない。つまりTMR0のカウントは初期値の256カウントをしているのか?計算してみると256と想定して 待ち時間は(256-0)*256*0.5E-6=0.032768sec  50カウントで 50*0.032768=1.6384sec なんとTMR0がやはり設定されていないようだ。サンプルプログラムではタイマー0がうまく動作していない。設定がされていない状態が分ったので、mainルーチン上のTMR0=100;を削除して、間違いなく設定されるプログラムの割り込みルーチンに書き加えることにした。
********************************************************************************************
void interrupt timing(){
    TMR0=100;
    if(INTCONbits.T0IF == 1){
        INTCONbits.T0IF = 0;
        cnt++;
        if(cnt == 50){  //50:20mSECx50=1000mSec=1Sec
            cnt = 0;
            GPIObits.GP5 = ~GPIObits.GP5;
            GPIObits.GP4 = ~GPIObits.GP4;
        }
    }
}
********************************************************************************************
上記でコンパイルしてタイマー0の動作時間を確認したところ計算どおりに動くようになりました。
XC8の場合TMR0設定はグローバル変数のようなわけにはいかないようです。?
もう少し調べてみる必要がありそうな感じだ。

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
アーカイブ
  • ライブドアブログ