2010年09月21日

16f690 構文ミス?

#include <pic.h>
#include "delay.h"

/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//
//
// 別途必要な関数ファイル:
//  delay.c (注意:使用するクロック周波数を設定すること PICC-LITE用にチューン済
//  pic.h
//  delay.h
//
// [I/O情報] ピン番号 (先頭ビット DO:出力 DI:Digital入力 AI:Analog入力 .K:外部正論理 .N:外部不論理)
//  19.RA0:DO.K ,RA0 /ICSPDAT専用 (通常時出力)
//  18.RA1:DO.K ,RA1 /ICSPCLK専用 (通常時出力)
//  17.RA2:DO.K ,RA2 /リレー出力R1
//   4.RA3:DI.K ,RA3 /ICSPMCLR専用 VPPtarget (通常時入力専用 //未使用)
//   3.RA4:AI.K ,AN3 /トリマVol (スイッチの照光ランプから変更)
//   2.RA5:DI.K ,RA5 /押しボタンスイッチ(自動-手動)
//  13.RB4:DI.K ,RB4 /DIP-SW3入力
//  12.RB5:DI.K ,RB5 /DIP-SW2入力
//  11.RB6:DI.K ,RB6 /DIP-SW1入力
//  10.RB7:DO.K ,RB7 /未接続 (通常時出力)
//  16.RC0:DO.K ,RC0 /リレー出力R2
//  15.RC1:DO.K ,RC1 /ブザー出力
//  14.RC2:DI.K ,RC2 /DIP-SW4入力
//   7.RC3:AI.K ,AN7 /ポテンショメータ左入力
//   6.RC4:DO.K ,RC4 /スイッチ照光ランプ
//   5.RC5:DO.K ,RC5 /未接続 (通常時出力)
//   8.RC6:AI.K ,AN8 /ポテンショメータ右入力
//   9.RC7:AI.K ,AN9 /操作ボリューム入力
//
// [システム情報]  //別プログラムのコピペにつき未編集
//  動作クロック  :たぶん4MHz
//  timer0   :未使用
//  timer1   :未使用
//  コンパレータ   :未使用
//  A/Dコン   :未使用
//  EEPROM   :未使用
//  ウォッチドッグタイマ :未使用
//  スリープモード  :未使用
//  ウィークプルアップ  :未使用
//  割り込み動作  :未使用
//  プリ・ポストスケーラ :未使用
//  USART   :未使用
//  CCP    :未使用
//
//
// [機能情報]
//
//
// [メモ書き]
// ・16F690には内部クロック微調整のビットが無い(自動調整)
//
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////

__CONFIG(
 INTIO  //内部クロック生成器 外部出力無し
 & WDTDIS  //ウォッチドッグタイマOFF
 & PWRTDIS  //パワーアップタイマOFF
 & MCLRDIS  //リセット回路使用しない
 & UNPROTECT //プログラムのプロテクト プログラムの読み出し禁止OFF
 & BORDIS  //ブラウンアウトリセット 電源オフ時リセットOFF
 & IESODIS  //内部・外部スイッチオーバー 動的なクロック周波数切替OFF
 & FCMDIS  //フェイルセーフクロックモニタ クロック生成器の故障対応OFF
 );

//代替変数//


//プロトタイプ宣言//
unsigned char get_dipsw(unsigned char resive);
void get_ad();
void white_cyl(unsigned char cyl_moved_direction);

//グローバル変数設定//
unsigned char tmp_a = 0;
unsigned char adcon_port;   //現在変換中のAnalogPortを記憶
unsigned char tmp_ad_AN9_back;  // AN9のデータコピー用 mode4動作中に操作ボリュームの変更があったことを調べる変数
unsigned char tmp_ad_AN9;   // A/D変換後の AN9のデータを記憶 操作ボリューム入力
unsigned char tmp_ad_AN7;   // A/D変換後の AN7のデータを記憶 ポテンショメータ左入力
unsigned char tmp_ad_AN8;   // A/D変換後の AN8のデータを記憶 ポテンショメータ右入力
//unsigned char tmp_ad_AN3;   // A/D変換後の AN3のデータを記憶 トリマVol入力
unsigned char tmp_sum_potentiometer;// ポテンショメータ右・左の内、角度の高い(深い)ものを記録
unsigned char tmp_tmr1;    //timer1の10mSec-1Sec変換用バッファ
unsigned char mode_sw = 0;   //処理モード分岐用フラグ 0:初回処理 1:手動モード 2:自動待機(自動ボタン点滅) 3:自動モード_刈り取り機動作_目標値設定
//                4:自動モード_目標値へ動作 5:自動モード_時間待ち 6:自動->手動切り替え(異常)時のブザー生成
unsigned char tmp_a;    //汎用変数 主にLED点滅用
unsigned char tmp_b;    //汎用変数
unsigned char mode2_couter;   //mode2からmode3に移行する際に、RA5を2秒間カウントする変数
unsigned char mode5_couter;   //mode5で時間計測を行うカウンタ
unsigned char cuttingmachine_position; //刈り取り機の目標値を入れる変数
unsigned int movement_time = 0;   //I/Oの出力時間を計測する変数
unsigned char mode5_delay_time;  //リレー出力操作周期を指定(0.5-3.5秒)

//メイン関数//
main(void){

PORTA=0b00000000; //全ポート 値リセット
PORTB=0b00000000;
PORTC=0b00000000;

TRISA=0b00111000; //[I/O情報]の通りに設定
TRISB=0b01110000;
TRISC=0b11001100;

     //AN7,AN8,AN9をアナログ入力ポートに指定
ANSEL =0b10001000; //[ANS7,ANS6,ANS5,ANS4,ANS3,ANS2,ANS1,ANS0]
ANSELH=0b00000011; //[null,null,null,null,ANS11,ANS10,ANS9,ANS8]

T0CS=0;    //タイマ0のクロックを命令クロックにする
TMR0=0;    //タイマ0に0を書く
T0IF=0;    //タイマ0割り込みフラグビットを0にする
T0IE=0;    //タイマ0オーバーフロー割り込みを使用しない

TMR1L=0;   //タイマ1に0を書く
TMR1H=0;
T1CKPS0=0;   //タイマ1のプリスケーラを1:1にする 01(1:2) 10(1:4) 11(1/8)
T1CKPS1=0;
TMR1CS=0;   //タイマ1の動作クロックを命令クロックと同期させる
TMR1ON=1;   //タイマ1を動作させる
TMR1IF=0;   //タイマ1割り込みフラグビットを0にする
TMR1IE=1;   //タイマ1オーバーフロー割り込みを使用する


ADCS0=1;   // A/D変換クロックをFosc/8にする
ADCS1=0;
ADCS2=0;

ADFM=0;    //変換結果データは左詰にしてADRESHのみ(8bit)使用
ADON=1;    //A/Dコンバータ電源on
ADIF=0;    //割り込みフラグビットをリセット

ADIE=1;    // A/D変換終了割り込みを使用
PEIE=1;    //深度割り込みビットを使用できるようにする
GIE=1;    //全割り込みフラグビットが立つようにする

IOCA5 = 1;   //入力レベル変化割込検出 RA5を検出
//IOCA5 = 1;
//IOCA3 = 1;

tmp_b = PORTA;  //portaのデータを読み込み、I/Oバッファを更新する tmp_bデータは特別使用しない
RABIF=0;   //フラグビットリセット
RABIE=1;   //入力レベル変化割込を使う


white_cyl(0);  //シリンダーはブレーキモード

//メイン処理開始//

while(1){
 // //周期更新エリア//
 get_ad();  //4つのアナログ入力値を更新
 if(tmp_tmr1 >= 10){  //タイマ1 0.1Sec生成 (プログラム修正ごとにここの値の微調が必要)
  tmp_tmr1 = 0;
  //0.1Secごとにインクリメントが必要な変数をここに記入 時刻精度は最低
  if(tmp_a <=254) tmp_a++;
  if((mode2_couter != 0) & (mode2_couter <= 254)) mode2_couter++;
  if((mode5_couter != 0) & (mode5_couter <= 254)) mode5_couter++;
  if((movement_time != 0) & (movement_time <= 1000)) movement_time++;
 }
 if(tmp_ad_AN7 <= tmp_ad_AN8) tmp_sum_potentiometer = tmp_ad_AN7; //2つのポテンショの内、角度の低い(浅い)ものを抽出
 else tmp_sum_potentiometer = tmp_ad_AN8;
 
 mode5_delay_time = 0;     //DIPスイッチ(上位桁RB5(2),RB4(3),RC2(4)下位桁)の値を取得し、リレー出力周期をセットする
 if(RB5 == 0)mode5_delay_time += 20;
 if(RB4 == 0)mode5_delay_time += 10;
 if(RC2 == 0)mode5_delay_time += 5;


// @@ 初回起動エリア @@
 if(mode_sw == 0){
   movement_time = 0; //mode4にて使用 それ以外では0(動作停止)とする
   mode_sw = 2;  //手動待機モードへ
 }


// @@ 手動モードエリア @@
 if(mode_sw == 1){  //手動エリア
  /*
   movement_time = 0; //mode4にて使用 それ以外では0(動作停止)とする
   if(tmp_sum_potentiometer <= 76){ //もし、双方のシリンダが40度(76は実測値)以下ならモード2に移行
    mode_sw = 2;
    mode2_couter = 0; //押しボタンスイッチ用遅延カウンタ停止
   }
   RC0 = 0; //リレー出力停止
   RA2 = 0; //リレー出力停止
   RC4 = 0; //自動モード移行できないことを示すため、照光スイッチを消灯
  */
   mode_sw = 2; //強制的にモード2へ
 }

 

// @@ 自動待機(自動ボタン点滅)モードエリア @@
 if(mode_sw == 2){  //自動待機(自動ボタン点滅)エリア
   movement_time = 0; //mode4にて使用 それ以外では0(動作停止)とする
//   if(tmp_sum_potentiometer > 76){ //もし、双方のシリンダが40度(76は実測値)以上ならモード1に戻る
//    mode_sw = 1;
//   }
   if(tmp_a >= 3){
    tmp_a = 0;
    RC4 = !RC4;
   }
   if(RA5) mode2_couter = 0; //もし押しボタンスイッチ用遅延カウンタ動作中にボタンが離された場合はカウンタをリセット停止
   if(mode2_couter >= 1){  //もし0.1秒以上自動ボタンを押していたら
     mode_sw = 3;
     mode2_couter = 0; //押しボタンスイッチ用遅延カウンタ動作停止
     RC4 = 1;   //照光スイッチ 点滅から点灯へ
     RC1 = 1;   //ブザーON

     do DelayMs(100); //押しボタンスイッチを放すまでループ(チャタリングを考慮し、先に時間を稼ぐ)
     while(!RA5);

     DelayMs(200);  //0.2秒間ブザーを鳴らす
//     DelayMs(250);
//     DelayMs(250);
//     DelayMs(250);
     RC1 = 0;   //ブザーOFF
   }
 }


// @@ 自動モード_刈り取り機動作_目標値設定モードエリア @@
 if(mode_sw == 3){  //自動モード_刈り取り機動作_目標値設定エリア
   movement_time = 0; //mode4にて使用 それ以外では0(動作停止)とする
   RC4 = 1;  //照光スイッチが点灯しているか再投入

//   cuttingmachine_position = 42;
   tmp_ad_AN9_back = tmp_ad_AN9;   //この時点での操作ボリュームの値を記憶

   if(tmp_ad_AN9 > 25)cuttingmachine_position = 25 + (tmp_ad_AN9 - 25); //目標値設定 tmp_ad_AN9は10基準(0-38変動)とし (コメント化)
   else if(tmp_ad_AN9 < 25)cuttingmachine_position = tmp_ad_AN9;  //それ以上なら-10底下げ、以下ならそのまま引き算とする
   mode_sw = 4;
   cuttingmachine_position -= 5;  //目標値を無理やり下げる 201008261435追記
 }


// @@ 自動モード_目標値へ動作モードエリア @@
 if(mode_sw == 4){  //自動モード_目標値へ動作エリア
   RC4 = 1;  //照光スイッチが点灯しているか再投入
   /*        //(コメント化)
   if(tmp_sum_potentiometer > 76){ //もし、双方のシリンダが40度(76は実測値)以上ならモード1に戻る
    mode_sw = 6;
    break;
   }
   */

   if((tmp_sum_potentiometer - 1) > cuttingmachine_position){
   RC0 = 0;
   RA2 = 1;
   }else if((tmp_sum_potentiometer + 1) < cuttingmachine_position){
   RC0 = 1;
   RA2 = 0;
   }else{
   RC0 = 0;
   RA2 = 0;
   mode_sw = 5;
   movement_time = 0; //mode4にて使用 それ以外では0(動作停止)とする
   }

   if((tmp_ad_AN9_back > (tmp_ad_AN9 + 2)) | (tmp_ad_AN9_back < (tmp_ad_AN9 - 2))) mode_sw = 3; //もし動作中に操作ボリュームの操作があった場合、強制的にmode3へ戻す

   if(!RA5){   //自動 -> 手動切り替えフェーズ
    DelayMs(1);  //チャタリング読み飛ばし用
    RC0 = 0;  //リレー出力停止
    RA2 = 0;  //リレー出力停止
    RC4 = 0;  //照光スイッチ消灯
    RC1 = 1;  //ブザーON
    while(!RA5); //自動ボタンを放すまで待つ
    DelayMs(250);
    DelayMs(250);
    DelayMs(250);
    DelayMs(250);
    RC1 = 0;  //ブザーOFF
    mode_sw = 1;
   }
  
   if((movement_time == 0) & (RB6 == 0)) movement_time = 1 ; //I/O出力時間計測カウンタ(アップタイマ)
   else if(movement_time >= 51){
    mode_sw = 6; //もしリレー出力状態が5秒以上続いた場合はエラーとみなし、エラー処理モードへ強制転送
    movement_time = 0;
   }
 }


// @@ 自動モード_時間待ちモードエリア @@
 if(mode_sw == 5){  //自動モード_時間待ちエリア
   movement_time = 0; //mode4にて使用 それ以外では0(動作停止)とする
   RC4 = 1;  //照光スイッチが点灯しているか再投入
   /*        //(コメント化)
   if(tmp_sum_potentiometer > 76){ //もし、双方のシリンダが40度(76は実測値)以上ならモード1に戻る
    mode_sw = 6;
    break;
   }
   */

   if(mode5_couter == 0) mode5_couter = 1; //遅延カウンタ動作開始
   if(mode5_couter >= mode5_delay_time){
    mode_sw = 3;
    mode5_couter = 0;
   }

   if(!RA5){   //自動 -> 手動切り替えフェーズ
    DelayMs(1);  //チャタリング読み飛ばし用
    RC0 = 0;  //リレー出力停止
    RA2 = 0;  //リレー出力停止
    RC4 = 0;  //照光スイッチ消灯
    RC1 = 1;  //ブザーON
    while(!RA5); //自動ボタンを放すまで待つ
    DelayMs(250);
    DelayMs(250);
    DelayMs(250);
    DelayMs(250);
    RC1 = 0;  //ブザーOFF
    mode_sw = 1;
   }


 }

  // @@ 自動->手動切り替え(異常)時のブザー生成モードエリア @@
 if(mode_sw == 6){  //自動->手動切り替え(異常)時のブザー生成エリア
   RC4 = 0;  //照光スイッチを消灯
   RC0 = 0; //リレー出力停止
   RA2 = 0; //リレー出力停止
   RC1=1;   //ブザーON
   DelayMs(160); 
   RC1=0;   //ブザーOFF
   DelayMs(160);    
   RC1=1;   //ブザーON
   DelayMs(160); 
   RC1=0;   //ブザーOFF
   DelayMs(160);
   RC1=1;   //ブザーON
   DelayMs(250);
   DelayMs(250);
   DelayMs(250);
   RC1=0;   //ブザーOFF

   mode_sw = 1;
 }

}}

//割込関数//
interrupt warikomi(){
 if(ADIF & ADIE){
  ADIF=0;
  // A/D変換完了記述エリア 
//  if(adcon_port==3) tmp_ad_AN3=ADRESH; //AN3の値の更新中ならばAN3のG変数に値を代入
  if(adcon_port==7) tmp_ad_AN7=ADRESH; //AN7の値の更新中ならばAN7のG変数に値を代入
  if(adcon_port==8) tmp_ad_AN8=ADRESH; //AN8の値の更新中ならばAN8のG変数に値を代入
  if(adcon_port==9) tmp_ad_AN9=ADRESH * 0.19 ; //AN4の値の更新中ならばAN9のG変数に値を代入 スケールダウン(256 -> 50) (訂正前0.16-42)
  if(tmp_ad_AN9 > 50) tmp_ad_AN9 =50;  //スケールダウン失敗時の保護用  //誤作動時にはここが原因となる可能性あり (元が38)
 }
 
 if(T0IF & T0IE){
  T0IF=0;
  //タイマ0オーバーフロー記述エリア
//  get_ad();       //256mSec間隔で約5mSec程かけて3つのアナログ入力値を更新
 }
 
 if(TMR1IF & TMR1IE){
  //タイマ1オーバーフロー記述エリア
  TMR1IF=0;
  TMR1H = 55535/256;  //タイマ1は10mSecタイマ (1uSecごとにインクリメント)
  TMR1L = 55535%256;
  tmp_tmr1++;
 }

 if(RABIF & RABIE){
  //I/O入力レベル変化割込検出エリア
  tmp_b = PORTA;  //portaのデータを読み込み、I/Oバッファを更新する tmp_aデータは特別使用しない
  RABIF = 0;
  if((mode2_couter == 0) & (!RA5)) mode2_couter = 1; //押しボタンスイッチ用遅延カウンタ動作開始
 }

/*
//DIP SW 処理関数 //
// get_dipsw(DipSwNo.)
// DipSwNo.:1-4のSw番号
// 返送値   :指定Swの論理値(0-1)
unsigned char get_dipsw(unsigned char resive){
  unsigned char tmp_dipsw;
  
  switch (resive){
   case 1: tmp_dipsw = RB6;
     break;
     
   case 2: tmp_dipsw = RB5;
     break;
     
   case 3: tmp_dipsw = RB4;
     break;
     
   case 4: tmp_dipsw = RC2;
     break;
     
   default:tmp_dipsw = 1;
 }
 
 return(~tmp_dipsw);
}
*/

//各Portアナログ値更新処理関数 //
// 呼んだ時に tmp_ad_AN7 ,tmp_ad_AN2 ,tmp_ad_AN4の値を更新
// 返送値:無し
void get_ad(){

// adcon_port=3; //AN3の値の更新開始
// CHS0=1;    // A/D変換portを指定
// CHS1=1;    // 0000:AN0 ,0001:AN1 ,0010:AN2 ,0011:AN3 ,0100:AN4 ,0101:AN5 ,0110:AN6
// CHS2=0;    // 0111:AN7 ,1000:AN8 ,1001:AN9 ,1010:AN10 ,1011:AN11
// CHS3=0;    // 1100:CVref ,1101:0.6vFixedVoltageReference
// DelayUs(20);  //変換ポート移動後は20us以上ホールドコンデンサのチャージ時間を取る
// GODONE=1;   // A/D変換開始
// DelayMs(1);  // A/D変換割り込みの終了を予想し待つ

 adcon_port=7; //AN7の値の更新開始
 CHS0=1;    // A/D変換portを指定
 CHS1=1;    // 0000:AN0 ,0001:AN1 ,0010:AN2 ,0011:AN3 ,0100:AN4 ,0101:AN5 ,0110:AN6
 CHS2=1;    // 0111:AN7 ,1000:AN8 ,1001:AN9 ,1010:AN10 ,1011:AN11
 CHS3=0;    // 1100:CVref ,1101:0.6vFixedVoltageReference
 DelayUs(20);  //変換ポート移動後は20us以上ホールドコンデンサのチャージ時間を取る
 GODONE=1;   // A/D変換開始
 DelayMs(1);  // A/D変換割り込みの終了を予想し待つ
 
 adcon_port=8; //AN8の値の更新開始
 CHS0=0;    // A/D変換portを指定
 CHS1=0;    // 0000:AN0 ,0001:AN1 ,0010:AN2 ,0011:AN3 ,0100:AN4 ,0101:AN5 ,0110:AN6
 CHS2=0;    // 0111:AN7 ,1000:AN8 ,1001:AN9 ,1010:AN10 ,1011:AN11
 CHS3=1;    // 1100:CVref ,1101:0.6vFixedVoltageReference
 DelayUs(20);  //変換ポート移動後は20us以上ホールドコンデンサのチャージ時間を取る
 GODONE=1;   // A/D変換開始
 DelayMs(1);  // A/D変換割り込みの終了を予想し待つ
  
 adcon_port=9; //AN9の値の更新開始
 CHS0=1;    // A/D変換portを指定
 CHS1=0;    // 0000:AN0 ,0001:AN1 ,0010:AN2 ,0011:AN3 ,0100:AN4 ,0101:AN5 ,0110:AN6
 CHS2=0;    // 0111:AN7 ,1000:AN8 ,1001:AN9 ,1010:AN10 ,1011:AN11
 CHS3=1;    // 1100:CVref ,1101:0.6vFixedVoltageReference
 DelayUs(20);  //変換ポート移動後は20us以上ホールドコンデンサのチャージ時間を取る傾斜
 GODONE=1;   // A/D変換開始
 DelayMs(1);  // A/D変換割り込みの終了を予想し待つ

}


//シリンダー出力処理関数 //
// white_cyl(cylinder_direction)
// 0:ブレーキ 1:A回転 2:B回転
void white_cyl(unsigned char cyl_moved_direction){
  
 switch (cyl_moved_direction){
  case 0: RC0=0;  //シリンダーブレーキモード
    RA2=0;
    break;
    
  case 1: RC0=1;  //A方向回転モード
    RA2=0;
    break;

  case 2: RC0=0;  //B方向回転モード
    RA2=1;
    break;

  default: break;
  
 }
 
}  
  



どうも動作がおかしい。
外部LEDにてデバッグ作業を半日続けているが、
mode_sw変数に、0〜6以外の変数が代入されている様子。
メインのループ処理の分岐変数のため、まったく動作しなくなる。
例外処理(外部LED点滅)を追記しては消してを繰り返していくうち、mode_swで分岐する処理のif文のどれにも入れていないことがわかった。
この症状が出たのはアナログ入力を追加したときなのだが、mode_sw変数とはなにも係わり合いが無い。
メモリマップレベルでの異常が発生しているような気がするが、当方ではそちらの実験は出来ない。

なんだろう。



posted by Gouranga at 01:47| 北海道 ☔| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年09月10日

くるまるく

クリップボード01.jpg若者の車離れもよくわかります。
維持できないもの。

この中だと、カブくらいか?
計算は曖昧なんであまり当てにならないけど。

並みの車の維持費、月7〜10万(燃料・車体・保険・車検 込)これ払ってたら、手元に何も残らないじゃん。
それでいて通勤に使えないので休日のみ。

月間平均休日日数は10日(大雑把に)

維持費8万として、休日1日あたり、8000円の価値を生まなくてはいけないことになる。
むしろノルマ。

貧乏性の私には無理です。見出せません。

レンタカーでいいよ......乗らないし。

政府はエコカー減税してる場合じゃないと思うよ。正直。
posted by Gouranga at 01:44| 北海道 ☁| Comment(3) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年08月24日

マッカッか

やばいよまずいよ。
rad_dou.jpg
降水予報マッカッカ

それよりなにより、今日仕事なのがまずいですよ
posted by Gouranga at 04:33| 北海道 ☔| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

1815ちゃん



電気工作業界でお世話になったことの無い者はいないと思われるほど
現在ポピュラーになっている、2SC1815に末期ガンが宣告されたようです。

インターネットではすでに大騒ぎです。
http://www.google.co.jp/search?hl=ja&rlz=1T4GGLL_jaJP393JP393&q=2sc1815+%E7%94%9F%E7%94%A3%E4%B8%AD%E6%AD%A2&lr=&aq=f&aqi=&aql=&oq=&gs_rfai=



まぁ、普通の人なら「代品いくらでもあるじゃん」
って終わるかと思いますが、問題なのはTO-92?パッケージ全般が対象という事。




知らない人はいないと思いますが、現在家電メーカー等から出されている製品の基板上には表面実装部品のみが鎮座し、リードパッケージ品はほぼ壊滅状態です。



ここで問題になるのが....
「電子工作好きな後任が育たない」
可能性があるという事。



電子工作を歩んできた人は、大抵半田ごて片手にリードパッケージの電子部品と格闘してきたはずです。
しかし、現在は表面実装パッケージ品のオンパレード。


世の中のニーズが小型薄型化へと急激にシフトした結果です。



はんだ槽を使用しなければ、実質的に実装が不可能なパッケージも乱立し始め、
(高クロックやバス線の多いパッケージを中心に)
もはや、ハードでの”電子工作”は壊滅しかけています。



これから先、電子工作好きはソフト屋へ強制シフトするしかないのでしょうか。

非常に危惧してます。






ちなみに、我が在庫は潤沢でした。
DSC00615.JPG

2sc1815 2sa1015


近日、大規模なカレントミラー回路を組む予定(また口だけで作らないかも)なので、
秋月で買い溜めしておこうかな....






皆さんもご注意を。






DSC00613.JPG

作業机がただの物置化してしまっている。
クッションの上で半田付けする違和感。
posted by Gouranga at 03:51| 北海道 ☔| Comment(1) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年08月23日

詰んだ

ip3100.jpg

我が家にはcanon ip3100が2台ある。
私が一人暮らししていた頃に使用していた物と、実家で使用していた物。

ある日、実家で使用していた側のプリンタに支障が発生した。


なぜこれほどcanonなのかというと、ヘッドのみの交換が可能だからだ。
ヘッドが詰まったり故障したりしても交換が容易。



以下はキャノンお客様サポートに私が送信したメールだ


----------------------------------------------
長年愛用していたip3100がある日から下記症状に見舞われております。

症状:緑1橙5の本体エラーランプ表示(ヘッドエラー?)
発症のきっかけ:ある日突然

インターネットを調べると、ヘッド端子の接触不良の可能性があるとのことで、ヘッドを一度脱着しましたが改善しません。

代々我が家はcanon一族でして、もう一台正常なip3100があります。こちらにエラーを出したヘッドを装着すると、こちらでも緑1橙5のエラーが出ました。
逆に、こちらの正常なヘッドを故障したip3100に装着すると、通常通りに印刷可能でした。

上記から、ヘッドの不良と判断することまでは出来たのですが、インターネットを調べていると、すでにヘッドのみの単品販売はされていない....との旨記載されたページが何件か見当たりました。
本当にヘッド単品での販売は現在されていないのでしょうか。もし購入可能であれば購入希望です。

今回のようなヘッド故障が、現在正常に動作しております側でも発生することを考えると....
とても恐ろしいです。修理対応のみですと、ヘッドが故障しただけで1万円近い金額となるため、新品のプリンタが買えてしまいます。(ヘッド新品、インク満タン、保障付)
環境保護が叫ばれている世の中であってこの無駄は許せるものでしょうか..
----------------------------------------------


なんとも愛情たっぷりのメールだ。




で、帰ってきたメール(相手の掲載了承得てないため、手打ちにて一部抜粋)





----------------------------------------------
オレンジ色のエラーランプが5回連続で点滅するエラーは、
プリントヘッド部分のトラブルもしくは、プリンタ本体のハードトラブルが生じている状態

部品であるプリントヘッドの提供は、行ってない。
http://store.canon.jp/user/UserMain/jsp/top/printhead


指摘のエラーについては、
修理が必要なエラーだが、iP3100につきましては、
部品保有期限を過ぎており、修理が出来ない。

----------------------------------------------




文章表現こそ違うものの、まさにこのような内容であった。





詰んだ \(^o^)/ 詰んだ




canonの現行品って、どれも価格.comでの評価がよくない。


何を買えばいいんだ.............
posted by Gouranga at 21:55| 北海道 ☔| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年08月22日

ICH9R


先日の電源死亡の件、現在も順調です。


と言いたい所ですが、



「今度はHDDがご臨終しました」


DSC00612.JPG


なんですとーーーーーーーー


いや、やはり何度もオート再起動を繰り返した電源死亡事件の時に相当負担が掛かったようです。


Asus P5k-EのICH9RでRAID0を組んで快調に使えていたのですが、
先日の電源事件以後不安定で、飛びました。


具体的にはRAID0の勝手な解消。
両方のHDD自体には正常なデータが残っている気がするのですが、
intelのraid構成だと、一旦解消されたraidを復元する方法がわかりません。



あーぁ、終わった。



デスクトップの復元作業で折角の土曜日が丸々無くなりました。







なんだかなぁ。
posted by Gouranga at 00:22| 北海道 🌁| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年08月17日

熱中症 あびびびびー

PCにも熱中症があるようだ。
しかも、どうやら不治の病のようだ。

DSC00587.JPG



「最初は単なるブルーバック(メモリかハードディスクのエラー)だと思ってたんだ....」



-- 盆休み2日目 --


夜、ブルーバックが頻発するようになる。



「作業なんかできねぇじゃねぇか」



思わず愚痴を漏らす自身。



「糞ったれが」


プログラミング中にブルーバックが発生し、もはや正気ではない。




-- 盆休み3日目 --

親戚宅訪問中 PCはコンセントを抜いて放置


-- 盆休み4日目 --

親戚宅から午後10時に帰宅


すかさず、もはや嫁同然であるPCに火入れする


「ピッ」



いつものようにBIOS起動音がした





次の瞬間、予期せぬ事態が発生した。




「ピチッ」



...突然PCの電源が落ちる






.......
...................
.................................
...................
.......




また、何事も無かったかのように突然勝手に電源が入る。



...次の瞬間


「カコン...カコン....  ピチッ」 (カコンはROMドライブの空転音)



「あれま、ビープ音すらしなかったぞ」


やけに耳障りなBIOSの立ち上がり音も、このときだけは沈黙





その後、何度もオート最短再起動機能が働き





「やっややべぇ、こんなに電源断繰り返してたらハードが壊れる」


と、とっさに動揺し、動揺した。




次の瞬間、コンセントを引っこ抜いていたのは言うまでも無い。






「BEEP音すらしないという事は....電源か」




PC中毒な私は、早速ヨボバシガメラに行った。





DSC00600.JPG

Owltech Seasonic SS-620GB 620W S12U





迷うことも無く購入。


購入の決め手は日本製コンデンサ使用と3年間新品保障




.....なんて太っ腹なんだ、私の勤めている会社の製品じゃこん(以下割愛






いま、まさに、この電源に入れ替えたPCからblogを書いている。


特に問題は無いだろう。
電源投入後、blogを書いたのみだが.......

ちなみに余談。
2万円の電源が衝動的に欲しくなったが、その差額で焼肉が食べられると自分に暗示をかけることにより抑制に成功している。
自分に甘い方は試されてみよ。







さて、ここからが電気屋。
コメントは面倒なので、画像にて。

DSC00588.JPG

今回ご臨終したのはこの電源。

Abee AS Power ER-2520A 520W

購入後、約2年頑張った。というか、短命すぎる。
当時購入価格12,000円前後

DSC00591.JPG

見た目がかっこよく、当時としては珍しいプラグイン方式を使用したモデル


下記に分解した内部写真を貼るが、見事に電解液漏れ祭りである。


DSC00592.JPG 

DSC00594.JPG 
 
 DSC00595.JPG 
 
DSC00596.JPG
 
DSC00597.JPG 
 
DSC00598.JPG 
 
DSC00599.JPG

電解液が回転中のファンに垂れたのか、ケース裏面は飛び散った電解液が付着し、パラダイスになっていた。(写真無)









と、Abeeから苦情が来ると精神的に良くないので、一応弁明。
当方の使用法にも若干の非は否めない。

DSC00605.JPG

ケース排気温度55度。(アイドル状態にて)







だって....




「ビデオカードが発熱しすぎなんだもん」





105度電解コンでも、この温度が常だと日本製でも大差ないかもな......


でも、よくこんなリップル垂れ流してそうな電源でCore2Duoはオーバークロック頑張れたな...





「1年に1回、年末の大掃除の時には電源も分解清掃しましょう。保障?なにそれ」
posted by Gouranga at 22:59| 北海道 ☁| Comment(5) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年07月31日

アブラコ油子の刺身

アブラコが某所より手に入ったため、刺身にて頂きました。
DSC00541.JPGアブラコちゃんを刺身で食べてることを記載したhpが見当たりませんでしたが、
所詮は同じ魚だから大丈夫でしょう。

少し独特の臭いがしましたが、食べれなくは無い。
小骨が多く、誤って食べてしまわないように注意が必要ですね。
味は、良く言えば淡白な〜、本音を言えば「味が無い」
食感を楽しむ感じですね。

35cmクラス級のアブだったので、結構たくさん食べれました。
おいしかったです。






「かめ〜」


DSC00545.JPG
↑しろくまパンのカメ

posted by Gouranga at 18:37| 北海道 🌁| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年07月13日

オーディオの総合誌 ステレオ(Stereo)7月号

まいど。

先週末はスピーカを作っとりました。

オーディオの総合誌 Stereo 2010.7月号は、なななんとスピーカーを作ってしまう企画です。
普通、他人との会話で

「スピーカー作ったんだぜヘッヘッヘ」
って言う場合は、スピーカーボックスにスピーカーを入れるだけの作業のことを指しますが、このキットは違います。
振動版やフレーム、ボイスコイル等の部品レベルからの組み立てなんだ!

これなら「俺、スピーカ作ったぜ ヘッヘッヘ」なんて、オタク笑いしても周囲がドン引きすること無いっ!(きっと!)




DSC00473.JPGDSC00472.JPG右が問題のキット。
・磁気回路
・エッジ(サラウンド)
・コーン紙(振動板)
・センターキャップ
・フレーム
・ダンパー
・ボイスコイルボビン
・引き出し線(錦糸線)
などから構成されているんだ。




ここからは作り方を紹介しちゃうよ。

@
磁気回路のシールを剥がしちゃいます。DSC00474.jpgDSC00475.jpg
















ADSC00477.jpg
付属のボンドを磁気回路の中心に「ニュルニュルリ」と塗りつけていきます。
多すぎると、フレームを取り付けたときに磁気回路の心臓部である中心の溝に進入してしまい、一発でゴミになってしまうので注意。
ネジ穴が2箇所あるので、分解する予定の無い人(分解する人はたぶん居ないと思います)は
その中にも”にゅにゅにゅー”っと接着剤を流し込んだほうが良いでしょう。









ちなみに、DSC00476.jpg使用する接着剤はブチル合成ゴム、石油系樹脂、トルエン、酢酸エチルの合成接着剤。
出した直後は粘性も無く、黒のペンテル絵の具を出した感じ。
1分もしたら固まり始め、2−3分後には結構固まっちゃいます。
臭いは、昔なつかしのビニール風船(半固体の液体をストローの先につけて遊ぶあの臭い)











B
接着剤を磁気回路に付けたら、乾燥する前に間髪入れずにフレームを取り付けます。
DSC00478.jpg凸部と溝を合わせます。向き等は写真を参考に。



「ガポッと」



磁気回路にフレームが吸い付けられるので、正常位置に持ってくるのに少し苦労するかもしれませんが、DSC00479.jpg
一度合ってしまえば簡単にはズレないでしょう。

ここまできたら、裏面はすでになにやら見慣れた感じに。
市販品と変わりませんね。


振動板ありませんけど。






C
磁気回路とフレームをより強く固定とするため、ネジ止めをします。DSC00480.jpg
2種類ネジが付属しますが、今回使うのは、写真の小さいネジです。
ちなみに、大きいネジとワッシャは、スピーカをボックスに打ち付ける際に使用します。










「皆さん大好きネジ止めのお時間です」DSC00481.jpg

「さぁ、ネーッジネジ」
「それ、ネーッジネジ」
「さぁ、ネーッジネジ」
「それ、ネーッジネジ」

「さぁ、ネーッジネジ」
「それ、ネーッジネジ」
「さぁ、ネーッジネジ」
「それ、ネーッジネジ」



....たぶんもう十分でしょう。
締めすぎて頭をネジ切りしないように注意してください。(たぶんその前にネジ山が負ける)



D
次に、ガムの包み紙みたいなシート(ギャップ調整シート)の両端を、軽くバンザイする程度に3mmづつ曲げます。DSC00482.jpg












曲げ目安はDSC00483.jpgこんな感じでしょうか。
写真なので、どてもとてもわかりにくいですね。
円の一箇所が少しへこんでいる様な感じになればokです。
たぶん、テンションをかけるためにするのでしょうか。
よくわかりません。
雑誌説明書に従います。
逆らうと何されるかわからないし...
ダンパーへの押し込み量は、この時点ではテケトーです。







E
DSC00484.jpgダンパーの外周側をフレームに固定します。
写真の位置に少しある段差部分に円を描くように”多めに”塗っていきます。
古いスピーカとかで大音量を流したときに「ガサガサッ」「ガタガタ」と、異音がする場合、
ここの接着が経年劣化で剥がれている場合が多いです。
スピーカーの寿命って、ここの接着剤の劣化か、振動板のエッジ(ゴムの部分)の乾燥割れであることが多いです。






接着剤が塗り終わったら、また間髪入れずにDSC00485.jpgギャップ紙を突っ込んだ状態のダンパーを押し付けます。
この時、引き出し線(電線)が、フレームの端子台に対して写真の向きになるようにします。
(普通のスピーカーは逆のような気もしますが、説明書にそう書いてるんだもん....)

写真が無いですが、ダンパーの外周部(接着剤と接している部分)を爪楊枝等でツンツン(デレデレ)してあげてください。より強固に接着できます。






F
次はいよいよ発音部(拡散部の方が正しいか?)であるコーン紙の接着です。DSC00486.jpg
先程までは完成してしまうと見えない部分でしたが、ここからは完成後も目に見える部分なので、つぶしたりしないように慎重に作業しましょう。

皆さん、振動板の裏側って見たことありますか?
こんな感じになってるんですよ!

全然普通でしたね。






フレームのコーン紙DSC00487.jpg(エッジ部分)があたる部分に接着剤を塗っていきます。
前もって一度コーン紙を取り付けて、位置決めを行ってからのほうがきれいに塗れると思います。









きれいに塗れたら、またまた間髪入れずにコーン紙を「うぉりゃ」っとはめ込みます。DSC00488.jpg
言葉での説明は難しいので写真を参考にしてください。


この時大事なのは
「躊躇しないこと」

度胸が必要です。目に見える部分ですし、どうしても慎重になってしまいます。
仕方が無いことです。

うまく接着剤の上にエッジを載せることが出来たら、またツンツンやっておいてください。
※この時、あまりエッジを横移動させようとしてグリグリすると、エッジの横から汚らしい物体がハミ出てきてしまいます。
 ティッシュ等でふき取ろうとすると被害が拡大するので、もしハミ出したとしても何もせず放置するのが賢明かと思います。




G
今回の工作の難所。DSC00489.jpg
ボイスコイルボビンとコーン紙(振動板)の接着です。
別に振動板に接着しなくても音はするのですが、振動板とボイスコイルがこすれて
「ガサガサ」
「ガサガサ」
「ガサガサ」
「ガサガサ」

「ガサガサ」
と、素敵な音色になるため、ぜひとも接着したいところです。

写真を見ていただければわかると思いますが、かなり接着スペースが限られます。
茶色のギャップ紙に接着剤が付着すると、ギャップ紙を後で取り外す段階で悲惨なことになるという他の方の書き込みがありましたので、命がけでもギャップ紙には接着剤が付かないようにしましょう。
実際に作業すればわかるのですが、ボイスコイルボビンとコーン紙の間にはそれなりの隙間があります。
ボイスコイルボビンとコーン紙は接続されてないといけないので、振動ロスを発生させないためにも、
ボイスコイルボビンとコーン紙の間を接着剤で橋渡しするイメージで結構コンモリ塗ったくりましょう。
でも、多く塗りすぎると今度は完成時にセンターキャップから大量に接着剤がはみ出て見た目が.....と、結構ジレンマな場所でもあります。


H
ここまできたら、内外部に塗りたくった接着剤を完全に乾かすため、1時間(説明書推奨時間)ほど放置プレイします。DSC00490.jpg
このときに、もう方ch分も作っておくとgoodでしょう。














酵母菌の発酵を待つパン生地達DSC00491.jpg






















〜〜そして1年が経過した〜〜










H
パン生地に程よくカビが付いたところで次へ行きます。DSC00493.jpg
磁気回路のミゾとボイスコイルボビンが接触しないように位置固定させていたギャップ紙を取り外します。

※写真は悪い例です。ギャップ紙は両手で丸い形を保ったまま真上へ引き抜きましょう。
(片手でカメラ持っていたので斜めに引き抜いてしまった)






I
実は、この時点ですでにスピーカーとしては完成なのです。DSC00494.jpg
一応、ボイスコイルを軽く押し込んでみてください。
※写真は悪い例です。両手で”真下”に”軽く” ”やさしく”押し込んでください。
もしこの時、ガリガリ感(どこかと接触してる感じ)があれば磁気回路とボイスコイルボビンが内部で接触している可能性があります。 ...諦めて下さい。(駄目でも使ってれば良くなるかも?)







J
よく家電店とかに行くと、オーディオコーナーのスピーカーなんかは潰されていることが多いですが、それでも彼(センターキャップ)は重要な仕事を担っています。Iの写真を見て気がついた人もいるかもしれませんが、この状態だとセンターの大穴からボイスコイルと磁気回路の溝の間に異物が入ってしまう可能性があるのです。
みなさんの汚宅(こらっ!)では、色々ないやらしい浮遊物が年中飛んでいるでしょうから、センターギャップ内の保護は必須です。DSC00495.jpg
先程の作業と同じ場所にまた接着剤を今度は薄めに塗ります。

神経使います。
多く塗りすぎると確実に見た目が悪くなるけど、薄すぎて後でポロッっと取れてくるのも嫌だし...
ビリビリ鳴られても嫌なので、結局厚化粧してしまいました。







DSC00496.jpgこれがセンターキャップ。
子供が居る家庭では、このきれいで美しい球形も1日持つかどうか。











DSC00497.jpg「カポッと」

すこし(軽く)上からグリグリしてあげてください。

潰さないでね。






K
引き出し線の処理をします。DSC00498.jpg
言葉で説明するの大変なので、写真を参考にしてください。
芯線は、グイグイ引っ張ると簡単にボイスコイルと切り離れてしまうそうなので慎重に慎重に。
スピーカ内部の引き出し線はピンと張らないようにしてください。









DSC00499.jpgこんな感じ。
写真ではしていないですが、半田付けしたほうがいいと思います。









L
2つとも作れば完成です。DSC00500.jpg
写真を見ていただければわかるかと思いますが、センターキャップ周囲の接着剤が汚すぎる。
ここはもし次回製作する機会があればぜひとも改善したいですね。
接着剤が多すぎると、微細な振動が抑制され、表現力が落ちる可能性が高い。








M
キットが入っていた箱は、スピーカーBOX(バッフル)になる。DSC00501.jpg
音は悪くない。スピーカー径の関係もあるが、やはりミドルレンジユニットに近い。
まともな筐体を用意してあげればいい音が出そう。5Wユニットだけど、よくがんばってる。


近々、まともなバッフルを作ってあげたい。
(アンプと。)



みんなもつくろうよ。
(もう雑誌手に入らないかもだけど)



P650仕様
型式:6.5cmコーン型フルレンジ
インピーダンス:8Ω
最低共振周波数:150Hz
再生周波数帯域:fo〜20kHz
出力音圧レベル:85dB/w(1m)
入力(NOM):5w
m0:1.7g
Q0:0.75
実効振動半径:2.6cm
マグネット質量:74g
総重量:249g
バッフル穴寸法:φ58mm
標準エンクロージャ方式:位相反転形
標準エンクロージャ内容積:1.2L(1〜3L程度まで)
posted by Gouranga at 00:00| 北海道 ☔| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年07月06日

某曲

プロカリテ2試してみたけど
縮れ毛相手じゃ意味がなーぃ♪
posted by Gouranga at 23:16| 北海道 ☁| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年06月21日

近況

近況報告

ここ最近blog更新していない。
生存の心配してくれる人は居なさそうだから気にならなかった。
福岡の件、何もup出来ていない。
そんなの気にしない。


ここ最近無駄に




忙しすぎ




ですよ。
もはや趣味なのか何なのかわからなくなりつつある技術サポート。

平日は帰宅が8時過ぎ当たり前になりつつあり、時間がとれず、休日に作業。
まったく外出もした記憶がありません。
まぁ、それは別に不満じゃないんだ。外に出たって何したいことも無い。


それより、



部屋が狭すぎるんじゃ



よ。
DSC00457.JPG


ここは作業部屋ですか?と聞かれそうな惨状。








時間ねぇ





今日起きれるんだろうか。
集金日なんだけど、計算間違えそう。   そんなのどうでもいいんだ.....
今はただ寝るのみ。
posted by Gouranga at 03:45| 🌁| Comment(1) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年05月16日

test

福岡某ホテルより書き込みテスト


写真は博多駅前筑紫口側
DSC00270.JPG


詳細は帰宅後....

posted by Gouranga at 19:02| ☔| Comment(1) | TrackBack(1) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年05月02日

余計すぎるIE8

なにこの糞ブラウザ IE8

"現在のセキュリティ設定では、お使いのコンピュータが危険にさらされています。"

クリップボード01.bmp

ローカルネット内のプログラムファイル開くたびにセキュリティの警告が出て腹立たしかったので
インターネットオプションの項目1つ変更しただけなのに、消しても消してもページ移動のたびに警告タグが沸いてくる。



そんなに設定変更して欲しくないなら変更できないようにでもスレヨ!



おまけに、ブラウザを新規で開くたびに、デフォルトでこんなページが強制的に開かされる。
クリップボード02.bmp








馬鹿か?






もう絶句ものです。
これらの機能を殺すためには、なんと,,,レジストリ操作しないといけないらしいです。馬鹿馬鹿し過ぎる。
今までHP作成する都合上IE使ってましたが、いよいよ引越ししないとだめそうです。
クロム?火キツネ?
何がいいんだか。ブラウザ乱立しすぎ。
posted by Gouranga at 20:59| ☔| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年04月07日

いよいよ

いよいよ駄目かもしれません


私の人生


あっ、すでに人生は終わってるんだった。
blog画像撮影用携帯がいよいよご臨終真近なんですよ奥さん。
携帯電話としては既に隠居生活に入った


CODOMO P903iTV



(4年間現役でした。お疲れ様です)


画像がいよいよ崩壊し始めました。
P1000063.JPG


Sonyタイマーですか?あっ...Panasonicタイマーか...
と思わせんばかりのタイミングでの不良。
画像の状態からすると、光学Mosフィルタかデコーダが


仕事したくね


ってサボってるんでしょうね。
今の私みたいです。
(このクダり、どっかで見たって良い子は言わないでね)



P1000064.JPG
久々に、キットを製作しているようですよ。
どんなガラクタ兄弟が生まれることやら。


マイコンカー
そんなのありましたね(過過過過過過過過過過過過過過過過過過過過過過過過過去形)
posted by Gouranga at 02:50| 🌁| Comment(1) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年04月05日

記事タイトル

まずはご報告。

先日行き詰っていたソフトの件、先方が基板上の配線配置を換えたところ誤動作しなくなったそうです。





。。。安心した






プログラムには特に問題が無かったようで..
物理的部分は完全に私の範疇外なので、 







そんなんしらんがな。









あっ、いや...
言いたかっただけ。
内心安心しとる。

現状、考えられる原因要素は2つ
何れも、電動サーボのハンチングによるサージノイズが原因であることはほぼ間違いない

@
PICはA-GNDとD-GNDが共通となっているため、A-D変換器の基準のとなるA-GNDが、サーボのGNDから侵入したサージノイズによりふら付いた為。
A
PICのA/D変換Port自体に、Vccを超えるインパルス状サージが空間伝播により加わったため。


もはや試作機は私の手元には無く、実験は一切行えないが、Aが気になる。
と言うのも、誤動作の症状が
「ハンチング動作を繰り返すと、不定タイミングで特定のAIportが仕事をしなくなる」というもの。
AI入力は計3つ使用していたが、すべてのportが仕事サボるわけではなく、そのうちのどれかが




「おら知らねーだ 仕事めんどーだっぺ」



と言わんばかりに(言っているのかもしれないが)全くA/D変換結果を吐き出さなくなるのだ。
もし、共通GNDが原因だとすると、全AIportに影響が出るはず(予想)
そう考えると、@の可能性は低い気がした。

再実験を行いたいが、もはやかなわず。
サンプル機は、農家へとドナドナしていきました。



---次回-----------------------------

P1000062.JPG「墓石の先にあるものとは」
主演:墓石
脚本:ip3100
友情出演:16F690
協賛:絶賛募集中











======================================================
P1000061.JPG今日は小樽に行ってきました。
小樽の観光名所といえば、北一硝子。
以前から欲しかったマイビールグラス 買っちゃいました。 1,950円なり(ケッコウタカクナイカイ?
P1000059.JPG
右のは、これもここ数年有名になった
小樽かま栄の「パンロール」

詳細はググレコラッ!
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGLL_jaJP321JP321&q=%e3%83%91%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%ab



いっじょ。ほな。
posted by Gouranga at 01:13| ☁| Comment(1) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年03月22日

久々の長編大作

先に謝罪会見開きます。
すいませんでした。



クリップボード01.jpg

久々の長編大作....と言っても、大半がコメントアウトされているという雑記長状態。
しかもお得意のスパゲッティ記述。

誰かがそのまま教材に利用できないようにわざとグチャグチャに記述しているのさ。



「はっはっは。。。。。」




すいません。
こんだけの文量ですが、3連休すべて使ってしまいました。

何で躓いたと言うと、画中行数で言うと160,161行目。
I/Oピンのレジスタなんですが、これが無いと出力ポートが入力ポートに入れ替わってしまう現象が発生。
基板設計に問題があるようで、グランドラインからPICにノイズが走り、レジスタまで書き変わってしまっている可能性が高いようでした。

メインのwhile中にこの文があるように、約150mSec程度(想像)で定期的にレジストリを書き直してあげると、症状が改善しました。

こんなの有りかい?!
そんなこと疑うことも無く、ハードの欠陥探しで1日、ソフトで1日。
バグ探し含め3連休が終わってしまいましたとさ。

当該基板上には、4A近く流れるリレー回路が近接しており、それが原因な気がします。
パスコンにPiフィルタ等々、予め処方しておいたのですが、グランドラインの詰めが甘かったようです。
基板製作は今回私ではないのですが、一点アースの指示を出し忘れており、PICのGNDピンからリレーのGNDピンへ半田付けされています。



なんだかなぁ。この件は会社仕事なんだし、別の機会に3連休欲しいなぁ。
posted by Gouranga at 23:20| ☁| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年03月06日

三枚オロシ

まいどども。

2年目を終わる頃になって、会社で「自社製品もっと覚えなさい」
と軽い叱責を受け、カタログを見返そうと一応思ったわけですが、
総合カタログって、軽く3kgオーバーあって気軽に見れたもんじゃないんですよ。


そこで....





P1000035.JPG

(言い知れぬ爽快感と共に)3枚おろしにしてしまいました。



....一仕事の後の酒はうまい










なんで自社製品覚えないんだって?
...正直興味無い





会社令だから仕方なくの現状。
「他社品売ってた方が楽しいって」
posted by Gouranga at 23:31| 🌁| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年02月21日

新?感光基板

いつもお世話になっております。
今年も感光基板を焼く季節がやってまいりました。

...なんて適当なこと言ってたら、
さんはやと(さんぱちらーめん風に)さんが、また感光基板をリニューアルした様子です。
P1000025.JPG新しい感光基板は
”クイック”ポジ感光基板
短時間の露光で手早く仕上がる...
NZ-P10K








サンハヤトさん、前回のリニューアルから今回の更新までの間隔短すぎませんか?
前回はパッケージに”新感光剤 同封のチラシをご覧ください”
なんてのがありました。約2年前。
企業努力でしょうか。この更新の早さ。新感光剤のはずが、もはや旧感光剤なのですね。
確かに、感光基板の消費期限は1年ですが。

新しい感光剤はクイックと名のつくとおり、紫外線感度が上がっている様子です。
「クイックポジ感光基板の作り方」(pdfファイル)
http://www.sunhayato.co.jp/products/item_data/QPPC-MNL.pdf
サンハヤトさんから、詳細な露光時間グラフのPDFも出ています。

実際に今回使用してみましたが、
■紫外線露光
前回(新感光剤パッケージ)のものより、焼けた際の色変化がない、というか全くない。
(前回のは指定露光時間になると、ある程度緑色の明暗が判別できた)
焼けているのかわからない。
個人的には大不評。
露光時間自体は確かに短くなっている。(前回基板比約1/3時間程度 少し過大評価)

...ちなみに、過剰露光(焼きすぎ)状態だと、銀色に近くなるようです。そこまで焼くとパターン細くなるかも。
エッチング後に感光膜剥がしのため、適当に焼き放置してたらそうなった。

■エッチング
(以下完全な私的感覚による感想)
前回基板より、銅箔が溶けやすく感じた。
何回も使いまわしている古々エッチング液なので、感覚は間違っていないような気もする。
でも、銅素材なんか早々変わるもんじゃないだろうし、感覚違いなんだろうなぁ...

■総評
露光判断が難しくなった。
今までは素人でも、ある程度焼ければ回路パターンが浮き出てきたため、判断が容易だったが、今回のはエッチングしてみないと露光状況が判断しづらい...
露光時間は大幅短縮だが、エッチング時間に比べればそもそもそれほど苦痛ではないので短くする必要も(個人用とだと)あまり感じられない。



ちなみに、手元にある未使用の感光基板シリーズ
P1000026.JPG
多分、右から左へ歴史が流れた感じ。


P1000030.JPG
今回使用した紫外線投光器
(車載用ブラックライト4本)
紫外線量としては、基板から37mm離した地点にて大体ちびライトの1/2の光量(サンハヤトの資料比で露光時間約2倍)


P1000027.JPG
秘蔵のゴミお宝コレクション
期限が切れた感光基板は通常の方法ではまず感光剤が反応しません。(これが納得できず何回も泣きました)
なんとかして期限切れの感光基板使いたい人は、古い感光膜をすべて頑張って剥がして銅版にアイロンプリント膜を印刷すればなんとか使えそうです。
詳細は面倒なので(スイマセン)Google先生を使ってください。
これらは....................................そのうち、改造してなんかの治具にでも使います。


焼けた感光基板(コメ入)
P1000028.JPG
露光過多と露光不足と思われるところが1枚の小さな基板上に現れていることから
・露光フィルムが浮いていた
・紫外線投光器の配置が悪かった
等の考察が取れます。

P1000029.JPG
2.54ピッチ孔の間に線を1本通してみましたが、今回の状況なら2本通しても問題ない無かったかもしれません。ひげ等もなく良好です。
※斜め線がデコボコなのはプリンタのせいです....


いつものように酒酔い日記のため、誤字脱字以前に日本語じゃなかったりしてもご了承してください。
(少量なら)酒が入ったほうが作業効率が上がるのは間違いないと思います。
posted by Gouranga at 01:30| ☀| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年02月17日

なんで。。

工作中。




P1000023.JPG




......




........................





..................................................








なんで4ミリビスの短いの在庫無いんよ?



どこに家にでも普通あるもんだろ!



...




.......若干取り乱しました。

































3mmビスはこんなに

あるのに!!!!





P1000024.JPG









posted by Gouranga at 01:39| ☁| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2010年02月15日

こっそり研究所

P1000022.JPGまーた、何か作り始めてるようですよ。

線出しも非常にいい加減ですが。
posted by Gouranga at 00:43| 🌁| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。