[戻る]
新着表示

CCPの発振回路 投稿者:臼井 英治 投稿日:2018/05/21(Mon) 16:15:10 No.1158

おせわになります。
PIC16F887Aで音楽用の発振回路を
PICBASICコンパイラで製作して
うまく動作しています。

同じ回路をPIC16F1769でつくり
同じくソフトをPICBASICで作りましたが
CCP1出力から、指定の周波数の
パルスが発振しません。

ハード、ソフト上でアドバイスがあれば
よろしくお願いいたします。

Re^2: 周波数カウンタ 投稿者:チェブラーシカ 投稿日:2018/04/28(Sat) 13:14:54 No.1154

返信ありがとうございます!大変助かりました!早速購入して作りたいと思いますm(__)m

Re: 周波数カウンタ 投稿者:gokan 投稿日:2018/04/28(Sat) 08:48:43 No.1153

高周波増幅用NチャネルであればなんでもOKです。
秋月であれば、BF256B、J211D74Z、2SK211、あたりですね。

> はじめまして 後閑さん 電子工作の勉強をしたくて「電子工作入門以前」を片手に、電子回路の学習を始めたばかりの初心者ですm(__)m
> 極めて、初歩的な質問で、あきれられてしまうかもしれませんが、分からなくて一日自由悶々としています。もしよろしければ、教えて頂けると大変うれしいです。
> とりあえず、作製をしながら学習していく方が楽しくできるかなと思い、PIC12Fを用いた電子回路を作製しようとしています。ここに、周波数カウンタの製作例があり、これを作製しようと考えているのですが、トランジスタの2SK439を購入しようとしたのですが、身の回りで調達できないため、互換性のある(データシートの特性が近いという意味です。用語を間違って使用しているかもしれませんm(__)m)トランジスタを使用しようと考えました。しかし、その代替品すら手に入りません。良く出回っているトランジスタで、この回路に代替できるものはありますでしょうか?

PIC12Fを用いた周波数カウンタ 投稿者:チェブラーシカ 投稿日:2018/04/27(Fri) 22:58:56 No.1152

はじめまして 後閑さん 電子工作の勉強をしたくて「電子工作入門以前」を片手に、電子回路の学習を始めたばかりの初心者ですm(__)m
極めて、初歩的な質問で、あきれられてしまうかもしれませんが、分からなくて一日自由悶々としています。もしよろしければ、教えて頂けると大変うれしいです。
とりあえず、作製をしながら学習していく方が楽しくできるかなと思い、PIC12Fを用いた電子回路を作製しようとしています。ここに、周波数カウンタの製作例があり、これを作製しようと考えているのですが、トランジスタの2SK439を購入しようとしたのですが、身の回りで調達できないため、互換性のある(データシートの特性が近いという意味です。用語を間違って使用しているかもしれませんm(__)m)トランジスタを使用しようと考えました。しかし、その代替品すら手に入りません。良く出回っているトランジスタで、この回路に代替できるものはありますでしょうか?

Re: ADC割り込みが出来ない 投稿者:PICは初心者 投稿日:2018/04/19(Thu) 09:07:20 No.1150

自己解決しました。
結果は正常に動いていました。
ただ、MPLAB SIMでPIC32MX1xxxをデバッグした場合、なぜかタイマー1以外のタイマーとADCの割り込みはデバッグできないようです。
たとえば、タイマー1とタイマー2を使った場合、プログラムを書き込んで動作させれば実際には動いていても、MPLAB SIMではTMR2が動いていなかったりします。
ただ、デバイスをPIC32MX3xxxとかにすると全てデバッグできます。
デバイスの選択ダイアログでMPLAB SIMが黄色になっているのはこういう事なのかなと思いました。
お騒がせしました。

ADC割り込みが出来ない 投稿者:PICは初心者 投稿日:2018/04/18(Wed) 16:12:11 No.1149

はじめまして、昔8ビットのPICは使っていましたが、
PIC32が値段が安く高性能なので使いだしました。
問題はAD変換を一定周期でする為にタイマ3で変換開始して
変換終了割り込みを使おうと思っているのですが、MPLAB SIMで
IFSのビットが1になっても割り込み関数に入りません。
どうすればよいのか教えてください。
以下にコードを書きます。

#include <plib.h>

#pragma config JTAGEN = OFF
#pragma config FNOSC = FRCPLL
#pragma config POSCMOD = OFF // Primary Osc OFF
#pragma config FSOSCEN = OFF // Secondary Osc off
#pragma config FPLLMUL = MUL_20
#pragma config FPLLODIV = DIV_2
#pragma config FPBDIV = DIV_1
-- 省略--
AD1CON1 = 0x0004;
// AD1CON1 = 0x0044;
AD1CON2 = 0x0000;
AD1CON3 = 0x0101;
AD1CHS = 0x00000000;
AD1CSSL = 0x00000000;
AD1CON1SET = 0x8000;
IFS0CLR = 0x10000000;
IPC5SET = 0x1F000000;
IEC0SET = 0x10000000;

INTEnableSystemMultiVectoredInt();
-- 省略--
void __ISR(_ADC_VECTOR, ipl7) AD0Interrupt(void)
{
IFS0CLR = 0x10000000;
ADC_Value = ADC1BUF0;

使っているのはAD0のみでIO設定や基本的な事は出来ています。
変換終了のIFS0の28ビットが1になります。
それから、割り込み関数の2つ目の引数が分からないのですが。
よろしく、お願いします。

Re^4: PIC24F SFR お礼 投稿者:Anken 投稿日:2018/04/18(Wed) 09:05:38 No.1148

アルレッキーノ様
重ね重ねありがとうございます。マニュアルの類は英文、和文、ことごとく収集しました。私はPWM制御を基本に行いたいので、PWMを検討しています。24FはA/Dの入出力が多くのピンに割付でき、PWM出力も複数あり、もともと評価ボードについていたので、これでなんとかしたいと思っていますが、ご教示いただいたものでも似たようなことができれば、そちらで学習したいと思います。最終的にはDSPを使えるようになりたいとも思っています。問題は、チュウトリアルが簡単にできてしまうため、各要素作業の内容を理解していないことに尽きます。16F1705ではWEBのプログラムを少し手直しし、1年ほどコンバータの実験を行なっていました。次の段階に来て、16bitに格上げしようとして、脳みそ、リセット。includeやコンフィギュレーションの概念がないことや、組み込みマイコンの一連のルーチンワークに出てくる事柄が分かっていないからだと思います。入門書を読んでもマイコンの基礎では私が理解したいことについて記述がないですし、PICごとの説明では、ファミリーに共通した事項と固有事項の区別がつかないというところが課題です。経験が浅く、色々なCPUの知識が無いことも一因だと思います。アルレッキーノ様の助け舟はとても助かっております。ありがとうございます。

Re^3: PIC24F SFR お礼 投稿者:アルレッキーノ 投稿日:2018/04/17(Tue) 12:52:53 No.1147

Anken様、
参考にしていただけたならよかったです。

老婆心ながら、ボードに付属のPIC24F16KA102はメモリ容量も機能も少なく情報も少ないです。
PIC24Fについて基本的な学習なら、このボードで利用できるMCUとしてはPIC24FJ64GA002がお勧めです。
CTMUはありませんが、標準的なPICなのでネット上でも情報が得やすいと思います。
後閑先生の本でも頻繁に取り上げられていますしね。
また、Microchipのサイトで得られるPIC24Fについての個々の日本語資料もおおむね当てはまります。
最終的にはMCUのマニュアルで確認する必要がありますが、これは英語だけかな?

この時に少しハードルになるのがピン割り付け機能だと思います。
mikroCでもインラインアセンブラの機能があり、ピンのロック、アンロックなど記述できますが、Microchipのサンプルコードはそのままでは受け付けません。
ただ、mikroCにはピン割り付けのライブラリがあります。
Helpで"PPS_Mapping"を検索すれば使用法がわかります。

このようにちょっとわかりづらいmikroCですが、もちろんメリットがあるので使っています。
MikroElektoronikaはPICを応用した製品を数多く出していて、mikroCはライブラリを用意して対応しています。
その中にMikromediaというものがあります。
高機能のMCUと周辺チップを載せた基板がTFT-LCDと一体になった、よくまとまったユニットです。
LCDの制御はコントローラチップに依存しますから全くライブラリがないと、線一本、文字一字表示するのも苦労します。
PICではMPLABが標準開発環境ですが、私の場合はMikromediaを使いたいためにmikroCを選んだわけです。

C言語、MCU、開発環境を同時に学習するのはなかなか大変ですね。
ご健闘をお祈りします。

Re^2: PIC24F SFR お礼 投稿者:Anken 投稿日:2018/04/17(Tue) 10:23:04 No.1146

アルレッキーノ様
しばらく途方にくれておりましたが、天の声でしょうか、ご教示の数々、ありがとうございます。お教えいただいたことは全てトライさせていただきます。
とんでもないものに足をつ込んだらしいことはわかりました。参考書も24Fの第1版で止まっているようで、古本も少なくプレミアが着いています。アルレッキーノ様のご教示で24Fのおかれた事情も良く分かりました。再度お礼を述べさせていただきます。ありがとうございます。

Re: PIC24F SFR 投稿者:アルレッキーノ 投稿日:2018/04/16(Mon) 16:17:49 No.1145

MikroElektoronikaの「Easy24-33v6」と「mikroC PRO for dsPIC」を持っています。
この統合環境はすこし癖があり、慣れるのに苦労します。
Microchipの開発環境(MPLAB)用のソースファイルは、そのままでは使えません。

<SFRについて>
SFRとは特殊機能レジスタですから元々MCUの中に入っています。H8なら内部I/Oレジスタに相当するのかな?
MCUの型番ごとに仕様が異なりますからターゲットのMCUのマニュアルを調べる必要があります。
mikroCでもMCUごとにレジスタの名前とアドレスが定義してあり、通常はTRISAとかPORTAとかのレジスタ名でアクセスします。

<コンフィギュレーションについて>
mikroCではMCUの種類や発振器タイプなどの基本的な設定は統合開発環境内で設定します。
新規プロジェクト作成時にウィザードで設定しますが、既存プロジェクトではProject→Edit Projectで変更できます。

<include文について>
mikroCではinclude文は通常不要です。
mikroCが用意しているライブラリを使う場合は統合環境内のLibraryManagerで指定します。
これに応じてコンパイル時に統合環境内部で自動的に必要ファイルをincludeしているのだと思います。
もちろんユーザ定義のファイルは#includeして使えます。

<割込みについて>
割込みルーチンを作成する場合は、Tools→InterruptAssistant利用が簡単です。


MikroElektoronikaはセルビアの企業で、日本では情報が少ないです。
国内ではマイクロテクニカが一部製品を販売していますがサポートは期待できません。
mikroe.comのサポートサイトにはForumやLibStockなどでいろいろ情報が得られます。
ただしすべて英語です。

ご参考になれば。

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

- WebForum -