-
1:笛吹おじさん
:
2025/04/02 (Wed) 20:47:01
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743594422.jpg
今晩は。
ji1uddさんにお願いして基板を譲っていただきました。有難うございます。
蛇の目に比べて組み立ては各段に楽になり組み立て時間も短縮できました。
LCD,PSC-ICはuddさんとおなじです。
プログラムの変更箇所も同じです。
プログラムの書き込みも出来ましたが、LCDには何も表示されません。
コントラストの為のプログラムの変更がひつようなのでしょうか?
-
2:パオさん:
2025/04/02 (Wed) 23:22:31
-
笛吹おじさん
RFC-7 では色々とお世話になりました。
ところで、おじさん工房さんの RFC-7 のページに
「9. CONTRAST」調整の項目があります。
LCD が ST7032 のときに、この項目でコントラストが調整出来るようですが、いかがでしょうか?
-
3:笛吹おじさん
:
2025/04/02 (Wed) 23:34:33
-
パオさん、今晩は。アドバイス有難うございます。
そうですね、コントラストの調整が出来るのですが、LCDに何も表示されないので、、、、。
CPUの1ピンがHighになって居ます、これはエラーが出ているのです。先ずこれをつぶさないと駄目の様ですね。
CPUの配線はチェックして周辺のICとつながっています。
TDC7200がおかしいのか?
-
4:やどさん
:
2025/04/03 (Thu) 00:00:04
-
こんばんは。
自分もPCBに移し替えて、最初表示しなかったのですが、DFF-ICのクロック入力ピンのハンダ不良でした。
もうチェックされていると思いますが、、
電源とクロック周りを確かめて、MPU動作していそうだったら、シリアル通信ができるか、とか、ロジアナでSDA/SCLをチェックすると何か分かるかもしれません。。
//
-
5:ji1udd
:
2025/04/03 (Thu) 06:31:08
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743629775.jpg
貼ってある写真では良くわからないのですが、お使いのLCDに必要な部品(R 1個とC 2個)は取り付けていますでしょうか?
RFC-7基板上にはそれら部品を載せるところはないので私はLCDの端子周りに取り付けています。
画像があったので添付します
-
6:笛吹おじさん
:
2025/04/03 (Thu) 09:40:19
-
皆様おはようございます。
今日も雨ですね。
やどさん、どうもです。
CPUへの10MHzは来ています、TDC7200へのクロックも来ています。
ji1uddさん、忘れてました。追加してバックライトはつくようになりました。有難うございます。
しかし、CPUの1ピンは相変わらずHighのままです。
これを直さないと、、、、
プログラムの書き込がおかしいのかも知れませんね。
-
7:パオさん:
2025/04/03 (Thu) 12:29:54
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743650995.jpg
ji1udd さんが書かれているのでご確認済みだと思いますが、使用されている I2C LCD が AQM1602Y だとすると、最低でも昇圧回路用の 1uF 2個が必要になります。
後は、I2C 変換ボードがあれば、通常のキャラクタ液晶をつないでみると確認が出来ますね。
-
8:笛吹おじさん
:
2025/04/03 (Thu) 15:27:06
-
パオさん、今日は。
昇圧用コンデンサ(1uF、2個)は追加しました。
バックライト用抵抗も追加しました。
アドバイス有難うございます。
-
9:ji1udd
:
2025/04/03 (Thu) 19:29:18
-
笛吹おじさんへ
未だLCDに何も表示されていない状態でしたら、シリアル通信での確認をお薦めします。TeraTermなどで ? などを送ってみてメッセージが返って来るか確認してみたらと思います。
-
10:笛吹おじさん
:
2025/04/03 (Thu) 20:32:49
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743679969.png
ji1uddさん、今晩は。
シリアルは動いているようですね。
STLINKも別のもので書き込みをしてみましたが状況は変わらずです。
-
11:ji1udd
:
2025/04/03 (Thu) 21:05:44
-
マイコン自体は問題なさそうですね。TDC、D-FF周りの問題のような....
リファレンスクロック切替SWを切り替えたり戻したりすると REF CLK? みたいなメッセージも出力されますよね?
-
12:笛吹おじさん
:
2025/04/03 (Thu) 21:28:53
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743683334.jpg
シリアルの結果です。
CPU-1pinがHighになったままがおかしいと思うのですが、、、、
-
13:ji1udd
:
2025/04/03 (Thu) 22:00:59
-
リファレンスクロック切替も問題なさそうですね。
カウンタ入力にはどんな信号を入力していますか?
-
14:ji1udd
:
2025/04/03 (Thu) 22:18:29
-
LCDの方ですが、まずは実績のあるものを使って動作確認した方が良いと思うので、オリジナルの .hexファイルを使う、もう1台のRFC-7の方からLCDモジュールを拝借するというので如何でしょうか?
-
15:笛吹おじさん
:
2025/04/03 (Thu) 22:32:55
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743687175.jpg
シリアルで周波数カウントしていますね。
CPUの1ピンはLowになりました。
LCDに表示されないだけの様です。
アドバイスありがとうございます。もう少し追求して見ます。
ロジアナでLCDのSCK,SDAを観測したいのですが、使いかたを忘れてしまいまして(歳はとりたくないですね)、、、思い出してトライして見ます。
-
16:笛吹おじさん
:
2025/04/03 (Thu) 23:35:38
-
ji1uddさん、LCDのアドレスはいじる必要がありますか?
-
17:ji1udd
:
2025/04/04 (Fri) 06:29:11
-
> LCDのアドレスはいじる必要がありますか?
ファームウェアの修正は不要です。
ちなみにRFC-7の説明に「i2c は PCF8574 と ST7032 に対応 ( 自動判別 ) しています。」と書かれています。
仕組みとしては、i2c の 7ビットアドレスを 1 から 0x7Fまで (RWビット含めた 8ビットで言うと 2から0xFEまで)順番にサーチして 相手からACKが返ってきたアドレスをチェックして PCF8574 か ST7032 かを識別しています。識別ができたらあとはそれぞれ用の処理をするという感じです。
例えば LCDの初期化処理については lcdc16xn_i2c.c の 115行目からですね。
-
18:ji1udd
:
2025/04/04 (Fri) 06:40:57
-
> ロジアナでLCDのSCK,SDAを観測したいのですが、
SCKとSDAを逆につないでいないかは既に確認済みですよね? #念のための確認です(^^;
> 使いかたを忘れてしまいまして(歳はとりたくないですね)、、、
1208サイズのR/CやVSSOPなICを実装できればまだまだ若いとおもいます(^^)
あと、PCF8574 I/F のLCDモジュールを接続する場合はLCDに供給する電源電圧を3.3Vから5Vに変更する必要があるかと思います(お使いのLCDモジュールにも依りますが)。
-
19:笛吹おじさん
:
2025/04/04 (Fri) 13:50:50
-
ji1uddさん、今日は。
>SCKとSDAを逆につないでいないかは既に確認済みですよね?
念のため入れ替えてみましたが状況は変わりませんでした。
>あと、PCF8574 I/F のLCDモジュールを接続する場合はLCDに供給する電源電圧を3.3Vから5Vに変更する必要があるかと思います(お使いのLCDモジュールにも依りますが)。
LCDを取り換えてやってみましたが結果は同じでした。
ASDRSが0x4Eになって居ますので、i2c.hのADRSは40から4Eに変更してコンパイルご書き込みました。
delayも0,1,2と変えてみましたが同じでした。
(電圧は5Vに代えてあります。)
シリアルは正常に動いていますね。
CPUのLED2は電源ONで点灯状態を維持し測定が始まると消える、蛇の目基板では確かそんな動きをしていました。それで1秒経ったら消える様に直したことを思い出しました。
今の問題は「LCDに表示がでない」です。何がいけないのでしょうかね?
-
20:ji1udd
:
2025/04/04 (Fri) 19:56:35
-
実績のあるファームウェア、実績のあるLCDモジュールで上手く動作しないのであれば、マイコンのSDA/SCL端子からLCDモジュールのSDA/SCL端子までの何処に問題があるのだと思います。
オシロスコープでSDA/SCL端子の波形を確認してみるのが最良と思います。もう1台 RFC-7をお持ちなのでもう1台の方でもSDA/SCL波形を確認して双方の波形を比較してみると分かり易いかなです。
ロジアナだとしきい値の上か下かの論理的な解析になるので今回のような不具合解析にはあまり向いてないのではないかと思います。
もしオシロをお持ちでなければ、テスターで抵抗を測定するのも手かもしれません。
SDA-SCL間, SDA-3.3V間、SDA-GND間、SCL-3.3V間、SCL-GND間 の 5つについて テスタリードの + と - を入れ替えた2通り、合計 5×2の10回の測定をして、それらの値を もう1台 RFC-7での値と比較してみる感じです。テスターのリードを入れ替えるのはマイコンポート入力に静電保護用のDiが入っているからです。
★抵抗測定する場合はLCDモジュールは一旦取り外すのが良いと思います。
以上、思いつきですが、ご参考になれば...
-
21:笛吹おじさん
:
2025/04/04 (Fri) 22:47:14
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743774435.jpg
今晩は。
良品と不良品のLCD(SCL,SDA)波形を比較してみました。カウンター動作時に取り込んだ波形です。特定の所にトリガーをかけるのは難しいので。
二つの波形を見るとLCDへのアクセスは実行されている様です。只、NG品はSDAにデータが載っていません。
良品はデータが載っています。
二つとも10MHzを入力して測定中の波形です。
delay=2です。
SCL,SDAのプルアップ抵抗は10kのチップ抵抗がないので8.2Kを使っていましたが、1/6wの抵抗(10K)をつけています。
CPUを取り換えてみるしかないようですね、、、、、
-
22:やどさん
:
2025/04/05 (Sat) 01:51:03
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743785464.jpg
マイコンはカウント動作もI2C動作もOKなのですね。
シリアルもOKとの事で、ほとんど動いていますね。あと少し!
I2C波形は液晶側のピンで見ていますでしょうか?
ハンダ不良やSDA/SCL逆接続などのありがちな不具合だと思ったのですが。。
動作OKのLCDでも表示しないとなると、、液晶不良でもないし、配線くらいに絞られそうに思ったのですが、、
NG波形をみるとLCDからACKが返ってないので、I2Cアドレスが違っている、I2Cクロックがはやくて(?),
I2Cアドレスサーチ失敗した?? 無理があるかなぁ。。
OKとNGでSCKの周波数が違うのはディレイ設定の違いとして、約500kHzと400kHz.
//
-
23:ji1udd
:
2025/04/05 (Sat) 07:14:20
-
信号は液晶側で見ているのでしょうか? (やどさんと同じ質問)
実績のあるLCDの配線長は良品と不良品とで同じでしょうか?
配線長をできるだけ短くしてみては如何でしょうか?
> ASDRSが0x4Eになって居ますので、i2c.hのADRSは40から4Eに変更して
の変更は逆に悪い方向に行くので戻してください。
あと、実績のあるファームウェア+LCDモジュールでの動作確認とは反する、場当たり的な実験になってしまいますが
(実験1)lcdc16xn_i2c.c の114行目の電源投入後の待ち時間を長くしてみる
(実験2)lcdc16xn_i2c.c の122行目のif文の前に
lcd_type = LCD_PCF8574;
の1行を挿入してアドレスサーチ結果を無効化してPCF8574固定で動作させてみる
と言うのが考えられます。
-
24:笛吹おじさん
:
2025/04/05 (Sat) 09:27:12
-
アドバイスありがとうございます。
LCDはAQM1602Y-NLW-FBW(ST7032)をつないでいます。
接続ワイヤーの長さは13cmdす。5cmに短縮しても結果は同じでした。(ADRS=0x7Cです)
ロジアナは基板側から信号を取っていましたが、LCD側に切り替えました。
実験1:40msを80msにしてみましたが同じ状況ですね。
実験2はまだやってません。
-
25:ji1udd
:
2025/04/05 (Sat) 09:34:34
-
> LCDはAQM1602Y-NLW-FBW(ST7032)をつないでいます。
このLCD と もう1台のRFC-7との組み合わせで上手く表示できた(このLCDに問題ないこと確認できた)という事でしょうか?
-
26:パオさん:
2025/04/05 (Sat) 10:39:01
-
USB 端子で正常動作が確認できているのに、LCD だけ表示しないのは不思議ですね。
思い付きでスミマセンが、LCD の接続端子の写真を見たら簡単に差し替え可能に見えたので、ファームのSDA/SCL 端子設定を逆にして端子を逆に刺してロジアナで波形を見たらどうでしょう?
-
27:ji1udd
:
2025/04/05 (Sat) 11:29:51
-
実験2の内容訂正です。
lcdc16xn_i2c.cへの lcd_type = LCD_PCF8574;の追加は止めて、
i2c.c の 129行目からのi2c_adrs_search_set()の中身を下記にしてみる
int i2c_adrs_search_set( void ) {
int adrs=0x4E;
i2c_adrs = adrs;
return adrs;
}
#アドレス設定が必要でした。
-
28:やどさん
:
2025/04/05 (Sat) 12:26:56
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743823617.jpg
実験2でもダメだったら、I2Cクロック周波数を下げてみたらどうでしょうか?
RFC-7(LCDはPCF8574使用)のI2C波形みてみました。画像
・誤報かもしれませんが、電源ON後のI2Cアドレスサーチ中のSCK周波数が800kHzくらい
・動作表示中は約580kHz
(DELAYは同じはずなのに、、何故サーチ中の方が高いのか!?)
RFC-5では250kHz程度だったのと、LCD交換で表示しなくて修正しましたね。。汗;
→Re: ACM1602NI-FLW-FBW-M01(4) 2024/12/14 (Sat) 17:45:00
“何やらそれらしい文字がでました。SCL=132KHzくらいです。”
あくまで実験ですが、、下記の様にDELAY3を追加してみるとか。。。
#define DELAY_N 3 // 0->666kHz 1->588kHz 2->384kHz 3->200kHzくらい(?) @10MHz
:
#elif( DELAY_N==3 )
#define DELAY() {NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;}
#define DELAY_HALF() {NOP;NOP;NOP;NOP;NOP;NOP;}
//
-
29:笛吹おじさん
:
2025/04/05 (Sat) 13:56:07
-
皆様、今日は。貴重なお時間を小生の為にお使いいただき恐縮です。
少し頭の中を整理したいと思います。
後程状況をご説明したいと思いますので宜しくお願い致します。
-
30:笛吹おじさん
:
2025/04/05 (Sat) 21:52:34
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743857554.jpg
皆様今晩は。
一つだけ結論が出ました。
LCD、AQM1602Y-NLW-FBW(ST7032)は壊れていました。
蛇の目基板のLCD(AE-AQM1602A(KIT)と入れ替えてみたところ表示されました。
一方、蛇の目基板につないだAQM1602Y-NLW-FBW(ST7032)は何も表示されません。
もう一つ問題があります。それはスイッチS2,S3が動作しません。
PA13はSW2,3でそれぞれの電圧を出しますが、PA3(CPU-18pin)の電圧は3.1Vが全く変化しません。
R24,25,26,27,28を確認しましたが間違いはありませんし半田ブリッジ等もありません。
正常品では
PA13はSW2を押すと2.6V、SW3を押すと2.1Vになります。
CPUの18pinが不良なのかも知れませんね。(交換して見ますかね)
LCDのコントラストはシリアルで上げています。
PCF8574使用LCDではうまく行きませんでしたがADRSが4Eなのでプログラム変更がうまくなかったのではと思います。
追記
SW2,SW3がは働かないのはST-LINKが継ぎっぱなしになって居たのがNGの原因でした。
-
31:笛吹おじさん
:
2025/04/06 (Sun) 09:18:57
-
皆様、お早うございます。
お世話になりました、色々きちょうな時間を割いて頂きアドバイスを有難うございました。
LCDの不良をもっと早く切り分けができれば良かったのですが、コンフューズ状態で時間が掛かってしまいました。
全くお恥ずかしい限りです。
delayha=1, PSCに0x80を追加してコンパイル、書き込みしました。問題は解消されましたのでケース造りをする予定です。
皆様のご協力に感謝いたします。
-
32:パオさん:
2025/04/06 (Sun) 10:01:55
-
>笛吹おじさん
LCD が表示できるようになって良かったですね。
その後も参考になることがないかと色々と検証していました。
その中で気になったことがあります。私は PCF8574 を使った変換基板を使っていますが、USB ケーブルをつないだ状態で電源を入れると、LCD の検出が成功したメッセージとインターフェース IC の型番が表示されます。
ST7032 でも同様のメッセージは出るのでしょうか?
特に故障した LCD の表示が気になります。
-
33:ji1udd
:
2025/04/06 (Sun) 10:02:16
-
上手く動作するようになって良かったですね。
お手持ちのもう1台のRFC-7に使用されている LCDは PCF8574 I/Fのタイプのものかと思ってコメントしてました。この辺が話をややこしくしたのかも知れませんね。
あと、PCF8574のアドレスは 0x40~0x4Eの範囲であればファームウェアの修正なく動作するようにファームウェア上で工夫されています。
if( (adrs >= I2C_ADRS_PCF8574)&&(adrs <= I2C_ADRS_PCF8574+7*2) ) lcd_type = LCD_PCF8574;
#もう済んだ話とは思いますがお伝えしておきます。
-
34:ji1udd
:
2025/04/06 (Sun) 10:21:44
-
> ST7032 でも同様のメッセージは出るのでしょうか?
私のRFC-7基板の回路のまま作り上げている場合、
RFC-7はメッセージを出しているハズですが、TeraTermでの表示は出来ないと思います。
なぜなら、USBシリアル変換ICをセルフパワーで動作させているためです。RFC-7の電源を入れてからしばらく待たないと RFC-7とTeraTermが接続できません。接続できた時にはすでにメッセージ送出済みなのでロストします。マイコンにホットリセットが掛けられないのでこのメッセージを見たい場合はUSBシリアル変換回路部分をバスパワー動作するように要改造となります。
-
35:笛吹おじさん
:
2025/04/06 (Sun) 11:12:23
-
https://bbs6.fc2.com//bbs/img/_448700/448683/full/448683_1743905543.jpg
ji1uddさん、了解です。いずれにしろLCDは不良と思われますので、LCDを入手する必要が有ります。
RFC-5に使っているPCF8574 I/Fのものもプログラム変更なしで使えそうなのでこれを流用するのもいいかなと、、、
パオさん
予めtera termを起動して置きRFC-7の電源を入れた時のMSG画像です。
同じST7032タイプですが不良LCDとは別物です。
不良LCDをつなぐとどうなるかやってみます。
追記
不良LCDでは何も表示されませんね。完全に壊れているのでしょう。
良品LCDはRFC-7の電源ON1,2回目までは表示されますが3回目は何も表示されなくなりますね。
Tera Termを再設定してRFC-7を入れると表示されるようです。
-
36:笛吹おじさん
:
2025/04/06 (Sun) 18:58:23
-
パオさん、今晩は。
質問です。
PCF8574使用LCDですがプログラムは変更せずにコンパイルで表示がでました?
PCF8574使用LCD(ADRS=0x4E)をつないでみたのですが表示されません。
電圧はR30をジャンパーして5Vを供給する様に変更しています。(R29は外す)
Delay=1,2を試しましたが駄目ですね。
-
37:パオさん
:
2025/04/06 (Sun) 20:11:03
-
>笛吹おじさん
RFC-7 は ji1udd さんの基板を使い、ファームはおじさん工房さんが公開されている Main.hex をそのまま書き込みました。
しかし、ハード的な環境は若干特殊です。
PCF8574 変換基板の先の LCD は aitendo の PX1602 という 3.3V の LCD を使っています。
I2C アドレスは同じく 0x4E です。
ちなみに、PCF8574 変換基板をつないで USB ケーブルで接続した状態で電源を入れて、正常に認識したメッセージは出るでしょうか?
ji1udd さんの基板でも起動時にメッセージが出るのでしたら、これで切り分けができそうです。
-
38:やどさん
:
2025/04/06 (Sun) 20:28:41
-
笛吹おじさん 皆さま、こんばんは。
自分のLCDもPCF8574-I/Fは、A0~A2すべてオープンで、I2Cアドレスは0x4Eで表示しています。
Ojisankoubouオリジナルのバイナリです。
ji1uddさんの投稿のとおり、PCF8574のアドレスは 0x40~0x4Eの範囲で動作するようなプログラムになっているのでプログラムの変更は不要です。
ちなみに 2025/04/05 (Sat) 12:26:56に投稿した波形が
まさに0x4Eを送って、9ビット目にACKの”L"が返ってきているI2C波形です。
・あと、ちょっと気になったのですが、
表示しなかった、AQM1602Y-NLW-FBW(ST7032)ですが、RESピンは配線してありますでしょうか?
2025/04/03 (Thu) 06:31:08 ji1uddさんの配線画像と
2025/04/03 (Thu) 12:29:54 パオさん投稿の回路図、が参考になります。
//
ps.
ji1uddさんの投稿のように、
今回RFC-7のSCK周波数はRFC-5(200kHzや100kHz)に比べて400kHz Max以上を攻めているので、確かにLCDバラつきによっては動作しない場合もありそうです。。特にアドレスサーチが速い。
-
39:ji1udd
:
2025/04/06 (Sun) 20:33:25
-
笛吹おじさんへ
PCF8574 を含め 今回 名があがっている LCD どれを使っても必ず動作するわけではないです。
理由(ヒント?)は昨日のやどさんの投稿の通りかと。
つまり製品のバラつき(マージンの大小)によって動いたり動かなかったりします。
よって、今回のデバッグに関しては、もう1台のRFC-7で動作実績のあるLCDと組み合わせてみる というのがポイントでしたね。
-
40:笛吹おじさん
:
2025/04/06 (Sun) 22:04:53
-
やどさん、パオさん、今晩は。
>PCF8574 変換基板をつないで USB ケーブルで接続した状態で電源を入れて、正常に認識したメッセージは出るでしょうか?
MSGは出ません。認識されていないのでしょう。
>表示しなかった、AQM1602Y-NLW-FBW(ST7032)ですが、RESピンは配線してありますでしょうか?
配線してあります。
ji1uddさん、了解です。
カット&トライが必要と言う事ですね。
皆さま有難うございます。