かめら工房

ものを作ったり,写真撮ったり

不定期!ニキシー管時計をつくる!

こんばんは かめらです.

 

前記事で昇圧回路の部分を書きました.

 

今回は,本体のニキシー管の部分を書こうかなと思っております.

 

先に書いておきますが(前回も書きましたが)特に目新しいことはないです.先人が踏み固めた道路を行くようなものです.その点ご了承ください.

 

別に卒論書くのが嫌だとかレポート書くのに疲れたとかそういうんじゃないよ?本当だよ?

 

ニキシー管を発光させる部分も良くある感じで

こんな感じを予定しております.

うーん見事にテンプレ

 

ノートに回路図とか色々書き殴ったけど最終的に形になったのが

f:id:ks7jistra:20160123222808p:plain

これもよく見(ry

 

時:分:秒表示が出来るようにネオン管をつける部分作りましたが,普通にIN-14のドットで表現しても良かったかなと今になって思いますね・・・.(実は発注済みというかもう基板来てる)

まぁあまり綺麗じゃ無いけれど配線回せば小数点も光らせること出来るし良いか・・・.

 

ちなみに発注した基板データがこちら

f:id:ks7jistra:20160123223640p:plain

 

この記事を書いているときにさらなるミスに気づくことになるなど基板を発注したときのかめらは知る由も無かった・・・

ニキシー

どうも

ちょっとはブログまともに更新していこうと思っているかめらです.

最近研究する気力が起こらない上にロボ研を引退したことで何でも良いからものつくりたい欲が・・・

ということで
前々から作りたいなーと考えていた

ニキシー管時計を作ります.


ニキシー管を駆動させるためには+200V近い電圧が必要となるので,
どうするにせよ昇圧が必要になります.

 

今回使用したいと考えているニキシー管はIN-14という良くある形のニキシー管を使用したいと考えています.

後輩に聞いたところ170Vで動作したとのことなのでその電圧くらいまで昇圧出来る回路を作ろうと思います.

モータドライバ作るときにブートストラップ回路(IC)とかは使ったことあったけど,
普通の昇圧DCDCコンバータは使ったことが無かったので,

先人の知恵(グーグル先生の力)を借りることにしました.


・・・ふむ.どうやらNJM2360とかいうDC/DCコンバータ制御用ICに少しの部品を使えば結構簡単に昇圧できるっぽい

のでこんな感じに昇圧回路組んでみた.

 

f:id:ks7jistra:20160111113146p:plain




コイルとコンデンサに貯めて昇圧する回路で,チョッパ回路とかいうっぽい.
で,そのスイッチングタイミングをNJM2360が調整してくれているっぽい.
賢い

こんな感じで数回ニキシー管時計製作についてちょいちょい書くつもりをしています.

 

・・・にしてもまぁ本当にネットに良く落ちているような回路まんまだなこれ・・・.

とりあえずこれからもよろしゅうお願いします.

お正月

本年もどうぞよろしくお願いします.かめらです.

お正月にちょっと大きな買い物をしてしまいました.

f:id:ks7jistra:20160107234325j:plain

 

f:id:ks7jistra:20160107234327j:plain

OCEANUS!!(OCW-T2000B-1AJF)

アウトレットモールでお正月特価でね・・・つい買っちゃいました.

焼き入れチタンでとても軽いので腕が疲れにくいのが良いです.

 

 

この記事のオチ?ねぇよ!(お買い物自慢がしたかっただけです)

Semihostingとかいうのを使ってみる

どうも かめらです.

前回の最後にprintfでうんたらかんたらってのやりたいってのを書いたんですが,

 

できてません().

ただ,CooCox CoIDEの機能にsemihostingという機能があってそれを使うとPCとシリアル通信っぽい挙動が真似できるらしいので実装してみました.

といってもほぼやることはないんですが・・・.
以下やり方


1.Repository STEP3のCOMMONタブのSemihostingにチェックを入れる.

f:id:ks7jistra:20150901014120p:plain


2.ConfigurationのDebuggerタブでSemihosting Enableにチェックを入れる.

f:id:ks7jistra:20150901014123p:plain


3.printf.cの中身を書き換える.

f:id:ks7jistra:20150901014126p:plain


stdio/printf.cを開き,先頭に#include <semihosting.h>と記述し,PrintChar関数に追記する.
semihostingの機能を使う.ここでは,SH_SendChar(c);と追記する.

4.使う
main関数の中で普通にprintfしたい内容を書いてマイコンに書き込み

f:id:ks7jistra:20150901014129p:plain

(内容は超適当

5.デバッグ(Ctrl+F5)

f:id:ks7jistra:20150901014132p:plain

 

6.表示

f:id:ks7jistra:20150901014135p:plain

下のSemihostingタブに結果が表示される.

 

ただしこのprintfデバッグ,アホみたいに速度が遅いのであくまで動作確認用としてお使いください.(画像では伝わらないがDelayも何も入れてないのにiの数が0.1sくらいでカウントアップされてる

 

あると便利なくても困らない機能なので覚えておけばいいかもです.

 

 

F4DiscoveryでLチカ

どうも,昨日SRCに行って帰ってを行った満身創痍のかめらです.みなさんいかがお過ごしでしょうか.

 

そういえばね,昨日SRCの帰りに湯涌温泉行ってきたんですよ,湯涌!

花咲くいろはの原案の地ですね.

 

温泉が好きで色んな温泉行くことはあるんですが,湯涌は初めてでした.

 

おたくだって言われても文句言わないくらい最高でしたね.

まぁそのことに関してはまた別記事に書くとして・・・.

 

マイコン学び始めましたって記事書いてから何も書いてないことに気づいてしまい,そろそろ書かねば(マイコン自体は弄ってるけど公開してないだけですはい.)と思ったのでとりあえずLチカからやっていきます.

 

まぁF4DiscoveryでLチカとか何人が記事書いてるねんってくらい書いてるでしょうけど気にせず書いていきます.

備忘録レベルですし,こんな風に書いた方がいいよとかあったらコメントかTwitterにリプください.

#include "stm32f4xx.h"

void GPIO_Configuration(void);
void delay(__IO uint32_t nCount);

uint32_t Count = 0xFFFFF;

int main(void)
{
	SystemInit();//システム全体の設定
	GPIO_Configuration();//GPIOの設定
    while(1)
    {
    	GPIO_ToggleBits(GPIOD,GPIO_Pin_13);//GPIO,Dポート13番ピンのオンオフ繰り返し.
    	delay(Count);
    }
}

void GPIO_Configuration(void)
{
        //GPIOをいじくる構造体GPIO_InitStructureを宣言
	GPIO_InitTypeDef GPIO_InitStructure;
    //GPIOのDポートを有効化する.
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
    //GPIODのどのピンを有効化するかを決定する.
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
        //GPIOのモードを出力(Output)モードへ.
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
    //出力タイプはプッシュプル(PP)に設定.
	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    //内蔵プルアップ設定は無効に
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    //GPIOの速度は100MHzに
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
    //GPIO_InitでGPIODを上の設定でを有効化する
	GPIO_Init(GPIOD, &GPIO_InitStructure);

}

void delay(__IO uint32_t nCount)
{
	while(nCount--);
}

今までArduinoしか使ったことなかったのでLチカにこんなに行数いるとは知らなかった(KONAMI
まぁ一度設定してしまえば書き換える必要があるのはmain文だけっぽいので最初だけの苦労と考えれば・・・.
簡単に実装できるDelay関数を実装したけれども,これでは汎用性がなさそうなので,今度はしっかりとタイマを使ってdelay_msとかdelay_usとかが実装できたらいいな,と思います.
が,ロボットとか作っていく上であまり必要ないかもしれない.
でもまぁあれば使うでしょ.ということで実装がんばります.

すぐに実装した方がデバッグしやすくなる方法・・・あれか,printfとかでPC-STM32間でシリアル通信できると値とか見られて楽だし次はそれの実装しますたぶん・・・.(できれば

マイコン 学び始めました

どうも,かめらです.お久しぶりです.
夏休みに入り,研究が進まなくて焦っております.

せっかくの夏休みですので,ものを作りたい欲が出てきました.
小学校の時とか自由工作・自由研究苦手マンだった自分としては考えられないほどの成長(?)です.


作りたいなーって言い続けて,マイコン使えないマンだったので使ってなかったのが,
自作erの人々が作り尽くしたともいえるGPSロガーを作るのを目標にします.


とりあえず何をするにもマイコンが必要なので,学んで実装したことをぽつぽつ書いていきます.

使用するマイコンはSTM32マイコンのF4シリーズです.
GPSロガーにそんなにパワーいらないでしょとか,消費電力のこと考えてLシリーズにしとけよとかあるかもですが,

後々マイクロマウスとか作るかもしれないロボットとかに載せるためを考えてこれにします.


私生まれてこの方マイコンとかArduinoとかしか使ったことなかったんですよ.今までに何度もSTM32手を出してみようとしてはLチカで満足してあきらめてたので,今回こそちゃんと使えるようになりたいと思いますまる.

次の記事からLチカからやっていきます.
開発環境は,eclipseでやろうとして,ここ

blog.spiralray.net

とかここ

C++を使ったSTM32のプログラミング・デバッグ環境を整える - STM32 - Tokoro's Tech-Note

とか見てやってたんですが,どうも上手く構築できずにあきらめてしまったので

CooCoxのCoIDEを使います.(逃げです
フリーかつサイズ制限なしなのでホビーユーザとしてはとてもありがたい限りです.

CoIDEの環境の整えかたとかはチカラの技術さんのページに詳しく載ってるのでそちらを参考にしてくだs(面倒だから書かないわけじゃないよ?

 

これからマイコン系エントリー増えるかなーと思いますがよろしくお願いします.