忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[45]  [46]  [47]  [48]  [49]  [50]  [51]  [52]  [53]  [54]  [55
今日は大変壮大な事故をしました。

ちょっとPIC16F1939UARTをやってみようとしたのですが、

プログラムを書いても動かないのでデータシートを見てみたら・・・

UARTモジュールがなかった(笑)

EUSART、つまりUARTが同期式になったバージョンの通信には対応しているようですが、

非同期式のUARTには対応していないようです・・・。


という訳でUART通信をやるには自分で一からメンドクサイプログラムを書かないといけない・・・と。

単純な2線シリアルの非同期式の通信なので、やろうと思えば結構簡単にできるのですが、

そこまでしてやる気は全く起きない・・・というかやる必要性と有用性が全く皆無なので止めました。


という訳で今日はA/D変換のプログラムを書いて、書き終わって、今は後輩に投げた回路待ちです。

PIC自体はもう昔からやっていますから、コンパイラPICの仕様が変わっただけなので、

PICそのものの特性さえ理解出来れば、後はささっと終わってしまいますね。


という訳で明日アナログ入力ができているか確認して、LCDのプログラムでも作ってみようと思います。

まぁこれもライブラリ落とすだけの簡単なお仕事ですから、今回はライブラリごとは作りませんよ!すぐに終わるはずです。

そしてARMの方も順調で、遂にgccでのCのプログラムが書き込めるようになりました。

後はUSBの制御とか、そこら辺ができています。今年はマイコへの勢いが強いので、スムーズに行ってくれますね。


それで、今日は1936のプログラムを一つ上げてみようと思います。

まぁ簡単にLEDつけるだけのプログラムですけど・・・。

書き込みの方法とか、プログラム自体の説明はまた今度ということで、

とりあえず今は参考までにということでプログラムだけここに記載します。

 
#include <pic.h>
 
//#include<htc.h>
//#include "pic16f1939.h"
#define _XTAL_FREQ 32000000
 
 
__CONFIG( FOSC_INTOSC & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CP_OFF & CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF );
__CONFIG( WRT_OFF & PLLEN_ON & STVREN_ON & LVP_OFF );
 
 
 
 
void delay_ms(long x)
{
 long i;
 for(i=0;i<x;i++)
  { 
   __delay_ms(1);
  }
 
}
 
int main( void ){
 
PORTA = 0b00000000;
PORTB = 0b00000000;
PORTC = 0b00000000;
PORTD = 0b00000000;
ANSELA=0;
ANSELB=0;
ANSELD=0;
 
TRISA = 0b00000000;
TRISB = 0b00000000;
TRISC = 0b00011000;
TRISD = 0b00000000;
 
OSCCON=0b01110000;
 
 
while(1){
 RD2=1;
 delay_ms(500);
 RD2=0;
 delay_ms(500);
 } 
}


とりあえずこんな感じです。1秒周期でLEDが点滅するようなプログラムですね。


一先ず今日はこれを投げて終了です。もう少ししたらPickit3についての記事を書くと思いますので

その時に書き込みについてもお話できたらいいなぁ。

と言うことで今日の記事はこのへんで。


(^・ω・)ノ RadiumProduction in RoboCup Junior
起きた時間のせいでかなり慌ただしい一日となってしまいました。

というのも、今日は昼13:30にチャリで秋葉について、そっから2時間

秋月、千石、チャンプ、スパラジの4店舗間をチャリで行ったり来たり。正直チャリじゃなかったら何時間かかったかわかりません。

そしてそのままチャリで飯田橋に行って、授業一個やって、帰ってきたのが大体22:00頃でしょうか。


早起きをしても、秋葉自体が朝に弱い街なので意味が無いし、結構こういう日はあるんですけど、
そういえば先週の木曜も似たような感じで秋葉に逝ったような・・・

今日の急ぎ具合は半端じゃなかったように思えます。

秋葉のホコ天ではチャリに乗れないのでそこでは降りて、キックボードみたいに蹴って移動、

ホコ天を過ぎるとまた乗る・・・という作業を何回したかわかりません。



そして今日手に入れたものが此方。
マルチチャージャー X4という充電器。なんとこの値段で4本同時充電ができます。
http://www.rcnavi.com/cgi-bin/item.cgi?item_id=HIT44151A&ctg_id=CG&page=1


日本語表記でマルチチャージャーX4 というバッテリーの充電器です。

名前の通り、4系統で同時に充電をする、つまりバッテリー4本同時充電が行えます。


使えるバッテリーはニッケル水素、ニカド、鉛蓄、リチウムイオン、リポ、リフェだったかな。

これだけできてスパラジ価格で13800円。結構いい価格だと思います。

でもコレを抱えて他の店に入るのはちょっと・・・というよりかなり気が引けましたね(笑)


そしてついでにバッテリーを持ち合わせで買える分だけ買って来ました。
YOKOMO製のバッテリーLipoの2800ma/hですね。ちょっと高いけどちっちゃいので買いました。
http://www.teamyokomo.com/partslist/yb/parts_yb_p228be.html

といっても2個だけですが。

今回買ったのはYOKOMOのバッテリーロボコンでもお世話になっています。

勿論種類はリチウムイオンポリマー(略してリポ)。あの短絡させてから投げると兵器(自爆するかも)になるアレです。


このブログではまだ電池についてのお話はリポ以外全くしていないと思うのですが

リポが恐らく今使われている一般的な電池の中で一番危険な部類に入ります。詳しくは此方に

NXTを始め、多種多様の機器に搭載されているリポですが、アレ短絡させると爆発するんですよね。

だから結構危険です。使用には細心の注意を払わないと・・・ぼん!

まともな廃棄方法もなく、以前は爆破処理を行なっていました。現在では塩水につけることで完全放電させて
処理しているようです。


今日はそんな爆弾を今日は2つも買い込んだという訳です。

あぁ。怖い怖い・・・。

でも安いし、電力強いし、継ぎ足し充電できるし、何より軽いのでやっぱりなんだかんだで便利なんですよね。

という訳で今日はリポを買ってみた。という記事でした。それではまた。


(^・ω・)ノ RadiumProduction in RoboCup Junior
なんかこのままレスキューの競技に参加できそうな感じのロボットを発見しました。

そのロボットが此方

iRobot 710 Warriorというロボットです。

iRobotってどこかで聞いたことがあるような・・・と思って調べてみたら、

あのARMマイコン搭載で有名なルンバを製造した会社でした。


ロボットの動きがとてもスムーズでこのアーム。どうやら70キロ近くまでのものを持ち運ぶことが出来る他、

車の窓ガラスも一発で割れるほどの力があったりします。

これでサイズが小さければ完全にジュニアレスキューに出られますよね。

悪路走行もばっちり・・・というか、階段も登れるほどなので全く何も問題無いと思われます。

だれかこれ小型化してくれないかなぁ・・・。

それにしても、どうみても軍事用のロボットにしか見えないのですけど、一般販売しているのでしょうかねぇ・・・。


という訳で今日の記事は以上です。

http://www.irobot.com/gi/ground/710_Warrior

(^・ω・)ノ RadiumProduction in RoboCup Junior
今日は一年生がたくさん来てくれましたね。

見学、検討中の人を含めると10人以上来てくれたのではないでしょうか。


今日の部活もPIC16Fの続きでした。

今日はPWMです。

えっ、今更!?と思うかも知れませんが、僕はHI TECコンパイラの使用経験がないので

当然PWMHI TECではやったことがないのです。


という訳なので今日初めてHI TECPWMをやってみました。


といっても、PWM自体は他のコンパイラで腐る程やっているので大丈夫・・・と思っていたのですが

また爆弾に引っかかりました。


今回の爆弾はPWMのモードです。

普通のPICだとPWMというとCCPピンというピンを使うのですが、

16F1939ではその他にECCPというピンがあったのです。

どちらのピンもPWM等のパルス制御に用いられるモジュール用のピンなのですが、

ピンの名前が違うだけあって、微妙に仕様・・・というよりレジスタが異なります。

1939にはCCPは2つ、ECCPは3つ、それぞれピンが搭載されています。

なのにPICのピン名の表記が

ECCP1
ECCP2
ECCP3
CCP4
CCP5

と、何故かナンバリングが繋がっているのです。

これに騙されてPWMが動きませんでした(笑)

番号繋がっている上に名前が似てるから、CCPかと思ってCCPのレジスタ使ってたら、思いっきりECCP使ってました。

そりゃ動かないわけだ。ついでのにクロックの設定もミスってたので凄まじいことになっていました。

という訳で今日の16F19XX シリーズの落とし穴は、CCPモジュールとECCPモジュールのピンの名称です。

まぁPICですから落とし穴はつきものです。

さてと、次は何を発見することになるのでしょうか・・・。


それにしても今更ですが、標準で入力がアナログになっているっていうのも、ユーザーには常識ですが、初見からみたら完璧に落とし穴ですよね。


(^・ω・)ノ RadiumProduction in RoboCup Junior
新一年生へ

入部おめでとうございます。


この部活は、ロボカップジュニアという競技会に参加しながら、まぁ楽しく(笑)みんなでロボットを作ろうという部活です。

一年生への対応ですが、去年行ったように、今年も一年生にはまずロボットの基礎的な講習を受けて貰います。

去年まではRCXというレゴの教育用ロボットで行なっていたのですが、

どうにも去年の一年生から批判が多かったので、今年は心機一転新しい内容の講習を行なうこととなりました。


今年の講習の内容はAVRというマイコンです。

マイコンといっても世界で一番簡単と言われているマイコンですので、難易度的には例年と大差ないと思われます。

内容としてはロボットが作れる最低ラインのことはできるようにするというもので、

基礎的なプログラムの作り方、センサーの読み取り、モーターの駆動、ちょっとした回路制作などを予定しています。

現在、予想していた数の三倍近くの部員が入部してくれて、現在もその数が増える一方という状態にあります。

部活動としては嬉しい限りですね。只、予想よりだいぶ多いので今ちょっと準備に手間取ってしまっています。

そういうことなので申し訳ありませんが、とりあえず今は雰囲気に慣れるというつもりで来て頂ければと思います。

予定はでき次第メールで送信しますのでよろしくお願いします。


また、ロボカップという大会自体の内容、またはこの部活がどういったことを行なっているのか等の情報は

割りとこのブログにも上がっていますので、ここを見れば大体の感じはわかって頂けると思います。

右プラグインの「らじぷろ目次」と書いてある付近に割りと有益そうな情報のある記事をまとめましたので

そちらの方を見て頂けるとわかりやすいと思います。


講習の方は来週あたりから始めていければと考えているので宜しくお願い致します。

詳しい日程に関しましては、近いうちに相談のメールを副部長が送りますのでそこでの相談をお願いします。


(^・ω・)ノ RadiumProduction in RoboCup Junior
携帯の方がお亡くなりになられました。

なんていうか、Eメールの受信だけができません(笑)

送信はでるんですけど受信が一切受け付けません。


ということなので僕にメールしたい場合はGmailの方にメールしてください。


4/13追記:直しました(笑)今までのアドレスで今までどおり送信して頂いて大丈夫です。でも未だにPCメールはフィルタ掛かってるけど

(^・ω・)ノ RadiumProduction in RoboCup Junior
まぁ所謂液晶、ディスプレイです。
これがLCD、NXTやRCXにも搭載されていますよね
これの用途は・・・。まぁ大体わかりますよね。

プログラムのデバッグに使ったり、センサーの値を表示するのに使ったり、まぁそんな感じでしょうか。

必須のものではありませんが、あるとものすごく便利な逸品です。



特にロボットの場合はいちいちPCに繋いでデバッグしたりするのが面倒なのでよくLCDが搭載されています。

基本的にこれはマイコンで直接制御します。

一見複雑で、大変な処理が必要なように見えますが、大体のLCDはモジュール化しているので、

PICAVR等の処理が貧相なマイコンでも普通のパラレル信号で通信ができることが殆どです。


しかもこの通信も普通だとちょっとタイミングが難しいのですが、大体どのLCDも中の仕様は同じなので

結構ライブラリ化されてあっちこっちに落ちていたりします。昔そういえばLCDライブラリ作ってひどい目にあったことがあるなぁ・・・


なのでそれさえ落とせば誰でも簡単にLCDが扱えるようになります。


因みに一口にLCDといっても、一般にマイコン等で使われるタイプには2種類あって、

一つがキャラクタ型、もう一つがグラフィック型です。

キャラクタ型というのは文字が既にLCDモジュールの方に登録されていて、

その文字をデータをパラレルでPICから送ってやることでその文字を表示させるという型で、

簡単に文字の出力を行うことが出来る反面、定義されている文字しか表示できないので汎用性に乏しいです。

グラフィック型は、文字通りドット単位で塗りつぶしを指定する、世間一般に使われている液晶に近い特性を持っています。

要するに文字単位での命令の送信はできないものですが、

ドット単位で表示を制御することができるので非常に汎用性に富んでいます。

ドットの許す限りなら、いかなる形でも表示をすることができるということですね。


まぁでもデバックしたりする際にわざわざ文字以外を使うことも無いので僕はキャラクタ型を使っています。

液晶をメイン使って何かしたいっていうのであればグラフィック型を使うほうがいいと思いますけどね。


という訳で今日はLCDの紹介でした。本当に紹介で終わったね。

実際のプログラムに関しては、使っているライブラリに依存しますのでここではあえて触れないことにします。

ライブラリのサンプルを見て、それっぽいものをコピペすればそれなりになるのでなないいでしょうか?


という訳でこの記事はこの辺で。


そうそう、今日は一年生の新入部員が4人も入ってくれましたよ♪

さてと、いつになったら名前覚えられるかな・・・・


(^・ω・)ノ RadiumProduction in RoboCup Junior



最近はPICだと、16F19XXシリーズしか使っていないような気がします。
32MXはなかったことになりましたからね・・・

部員にもオススメしちゃいましたのでちょっと紹介しようかと思います。


まずはコンパイラですが、基本的にハイテックを使うのが一般的なようです。

僕もハイテックで書いてますので16Fに関してはそれで統一しちゃいましょう。

さて、新しい新しいとは言っていますが、実際になにが違うのか。

まずはその辺りの話をしていこうと思います。


基本的には、プログラム視点だと古い三桁台も四桁台も対して変わりません。

まぁ同じコンパイラ使っていますから当たり前ですね。

でも、ハードウェア視点で見ると、違いが躊躇に出てきます。

なのでプログラムでも、ハードが関係する部分においては、多少の違いが現れてきます。


まずは動作クロック

CPUで何Gの・・・とか言っているアレと同じです。

クロックというのはパルス波、つまり周期的な電気信号なので、信号を発生させる発振子という物が必要になります。

三桁台の場合、その発振子を外部につけてやる必要があるのですが、

四桁台の場合は発振子は内蔵されているので必要がありません。


また、クロックは勿論大きいほうが性能は高いです。

処理速度でモロに関わってくる部分ですからね。

これも、三桁台は最大20MHzですが、四桁台は最大32MHzとなっています。

また、三桁台だと、一つの処理を行うのに4クロック必要になりますが、四桁台だと1クロックで済みます。

つまりこの違いだけでも処理速度に四倍の差があることがわかります。


次はプログラムの書込みについて

三桁台の場合・・・

というより普通のPICはプログラムの書き込みにPGDというピンとPGCというピンを状態で使用していました。

仕組みは勿論四桁台もかわらないのですが、何故か四桁台だけそのピンの名称のみが変更されているのです。

PGDはICSPDATというピンに、
PGCはICSPCLKというピンに、

それぞれ変更されています。

これはこのPICの書き込みに使われている通信がICSPというので

わざわざわかりやすい名前に改名したようです。


そして次は通信の際のピンの設定について。

基本的に、通信を行う際にも通信に使うピンは入力か出力かのどちらかに設定しないといけません。

只、その設定をどちらにするかが同じ通信でも三桁台と四桁台で変わってきます。

これが結構で間違えると通信ができない訳なのですが、通信自体のプログラムは同じなのに

ピン設定だけ違うということになりますので、しっかりデータシートを読まないとわからないのです。

落とし穴ともいうべき仕様変更ですね。


まぁ大まかに今、僕が知っているのはこのくらいでしょうか。

結構知らないと根本的にプログラムが書けなくなるような事項がほとんどなので、

16Fの四桁台を使うことがあれば以上の点に注意して頂けると非常に楽にプログラムが書けるかと思います。


という訳で、今回の記事はこの辺で。

次回は・・・なににしましょうか・・・

(^・ω・)ノ RadiumProduction in RoboCup Junior
災害現場を想定しているのになんで坂があるんでしょうね。しかもあんなキツイ傾斜の・・・
まぁラインがある時点でアレですから突っ込まないほうがいいのかな。


という訳で一年ぶりぐらいのロボカップの競技自体の紹介記事です。

ものすっごく今更感漂っていますが、需要があるから仕方が無いです。

という訳でレスキュー競技の紹介の続きです。


2012年度のレスキュールールだと、アリーナには坂があります。
写真は2012年度の関東ブロックです。坂にはラインがありません。
まぁラインが敷いてあった1階とは違って、ラインはしかなくても良いという表記になっていますが、

今の日本だと慣例として、坂のラインにはついては上の写真のような形にする場合が多いです。


「坂」の定義は2部屋目を出てから最後の部屋までなので傾斜部分の前後の踊り場も坂に含めるということなのですが、

基本的に下の踊り場のみにラインが敷かれています。今年のジャパンでは決勝で微妙に坂にもラインがかかっていましたが・・・


それでこの坂を登りきって、上の踊り場からロボットが完全に2階の部屋に入った時点で20点の得点となります。
追記:2012ルールからは得点が30点に戻されました。2012では競技進行停止の数により得点が変動します。

一見簡単に見えますけど、坂の傾斜は25度。

25度って言うと・・・そんな傾斜の道路なんてあるのかな?っていうぐらいの傾斜の坂ですね。


道路構造令によると、一般道路の勾配は6.8度以下である必要があるそうなので、日本にはこんな坂は存在しないようです。


それぐらいキツイ傾斜の坂を登る必要があるわけですね。かなり大きな課題です。

しかも最近では缶を掴んで持ち上げる機構を搭載した上で、坂を登らないといけないですから、一層難しくなっています。


という訳でレスキューの中でも難しい部類の課題になるかと思います。

只、坂を登るかどうかという話はプログラムではなく機械の方の話になりますね。

プログラムではどちらかというと、ラインが無くなってライントレースができなくなったので

坂になったらライントレースじゃないプログラムに変えるという坂の検知が必要になってきます。

その為に加速度やら水銀やらといったセンサーが投入されることになった訳ですね。



まぁ以上が坂のおおまかな説明です。

登り切ったと思ったら出口で引っかかる・・・なんてことも多々あったりするので非常に厄介な課題ですね。


(^・ω・)ノ RadiumProduction in RoboCup Junior

今日は回路図についてのお話です。

といっても回路図自体の説明は以前の記事で致しましたので、今回は省略させて頂きます。


今回紹介するのは回路図を描くソフト、所謂回路図エディタです。

以前の記事で、回路図には配線図とパターン図の2種類があるという話はしたかと思います。

配線図というのが素子同士の接続について表した図で

パターン図というのが実際に基盤に半田付けする際の設計図になります。

どうして二つ必要なのかという点に関しては、以前の記事をご参照下さい。

今回紹介するのは、これらの回路図エディタの中でもフリーのもの、

つまり無料でダウンロードできるものを紹介します。


まずは配線図のエディタ、今回紹介するのはBSchというソフトです。


これの特徴はなんといっても使い易い、

そしてライブラリ、つまり素子のデータが多いという点です。

使い方は簡単でみたまんま、
BSchの操作画面です。基本的な操作で注意するところはあまりないと思われます。
バーの下にあるトランジスタの記号をクリックすると素子のライブラリが出てくるので、使いたい素子をクリック。

あとは同じくバーの下にある線のマークをクリックして素子同士を繋ぐだけ。

その繰り返しで簡単に描くことができます。

このソフトは水魚堂さんのサイトにてダウンロードが可能です。



次に紹介するのはパターン図エディタ、今回紹介するのはPCBEというソフトです。

これは素子のライブラリが存在せず、全部線だけで書いていくようになっています。
「戻る」が使えないこと以外は操作はあまり難しくありません。只、複数選択時の移動はちょっと厄介なので一旦カットしてからペーストとするとD&Dで簡単に移動できます。
変えられるのは線の色と太さだけ。後は線の他に丸とかが書ける程度です。

これしか機能がないからこそ簡単なんです。

基本的にはまずバーの下にある点がいっぱいあるボタンをクリックした後で

グリッドの幅、即ちピッチを選択します。

単位はミリなので、通常は2.54と入力します。

次に使う基盤の大きさに合わせて外形線で基盤の外形を書きます。

これがいちいち数えなくてはいけないので面倒ですが、

一度作ってしまえば後は流用できるので、さほど問題ではないでしょう。

あとはグリッドを基盤の穴に見たてて線を使って配線や素子を描いていくだけです。

素子、ジャンパ線、配線等、種類によって色分けすると見やすいと思います。

色の指定はバー右のレイヤで、線の太さの指定はその右のアパーチャで行なうことができます。

PCBEでパターン図を描くとこんな感じになりますね。
PCBEで作成したパターン図です。一応あまりえぐくない最近の回路のを選んだつもりです。
PCBEもフリーソフトでこちらのサイトからダウンロードできます。


という訳で、今回は回路図エディタの紹介でした。

BSchについては、自分でライブラリ、つまり自分で好きな素子の形を作ることもできます。

使いたい素子がライブラリにない場合はライブラリを探すか作る必要があるので結構大事な内容です。

これに関しても、後々書いていこうと考えています。

また、フリー以外、つまり有料のソフトだとかなり優秀な回路図エディタもあるので

そちらについても以後紹介したいと考えています。


ひとまず今回の記事はこの辺で。

(^・ω・)ノ RadiumProduction in RoboCup Junior


追記:Bタイプの基盤用のpcbeデータ上げておきます。線の内側の点が一番端になります。
先程授業のあとに、研究室によったらARMマイコンのボードが借りられました。

ARMというのは簡単に言うとPICよりすごいマイコンで、具体的には、

ルンバとかりんご社のなんたらpodとか、某任天堂のゲーム機とか、

基本的に組み込みでは殆どこのARMマイコンが使われています。

あと外しちゃいけないのがNXT。これも中のマイコンはARMでしたよね。


このようにARMマイコンは今世界で一番組み込みで使われているであろうマイコンなので、

身につけておいた方がいいかなぁと思い、去年当たりからちょくちょく手をだしてはいるのですけど

そろそろ本格的に始めたいなぁと思っていたところでした。

そこで紆余曲折・・・あった訳ではないですけど、借りられることになったので一個借りてきました。

ARMボードはいくつか持っているのですけど、どれも非常に残念なものばかりなので・・・



という訳でこちらのボードを借りてきました。
借りてきたARMの評価ボードです。LCDがついてるのでいろいろ便利そうですね。なんていう素人コメントを書いてみたり。

まぁこれもそこまでいいもの・・・というわけではないのですけど、まぁそれなりといった所でしょうか。


とりあえずこれで遊んでみようと思います・・・と言いたいけどまずは環境揃えないと・・・。


ARMって評価ボードによって環境が全然違いますからちょっと面倒なんです。


しかもボードの場合はなんかUBSで勝手に書き込んでくれる場合がほとんどなので気にしないのですが、

自分でボード作ろうと思ったときに、プログラムの書き込み方がわからないんですよね。


一体これどうなっているのでしょう・・・?


まぁそんな感じでARMを借りてきました。


(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
08 2026/09 10
S M T W T F S
1 2 3 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...