ガレキ除去機担当のsuzutoです。
レスキューやらまいかは今年もガレキ除去機を出場させます。
そこで、新たなガレキ除去用アームについて検討したところ、アームの根元の構造は
第12回大会で使用したリンク機構を参考に作ることになりました。ということで、先輩か
ら頂いた12回大会のガレキ除去機のCADデータの中で参考になりそうなものを探した
ところ、アーム根元のギアボックスが見つかりました。
このギアボックスは回転角度を検出するために、ポテンショメータを取り付けています。
このように、アームの操作がしやすくなるようなセンサを使っていきたいと思います。
2013/12/16
2013/12/14
これぞC++の真骨頂! タプルを実装してみた
今のVC++2013には標準ライブラリとしてtupleがあります。
std::tuple<int, double> t(100, 10.5);
std::cout << std::get<0>(t) << std::endl;
std::cout << std::get<1>(t) << std::endl;
こんな感じでstd::tuple<型リスト>という複数の型を持ったインスタンスを生成できます。
これは構造体と同じなのですが、構造体の場合は宣言しなければアクセスできませんでした。
std::tuple<int, double> t(100, 10.5);
std::cout << std::get<0>(t) << std::endl;
std::cout << std::get<1>(t) << std::endl;
こんな感じでstd::tuple<型リスト>という複数の型を持ったインスタンスを生成できます。
これは構造体と同じなのですが、構造体の場合は宣言しなければアクセスできませんでした。
ミーティング12/13
Lv_ZEROです。
今日というよりはもう昨日ですが、第14回レスキューロボットコンテストでのコンセプトを決定しました。
これからは決めたコンセプトに沿うように機体・システムを製作していこうと思います。
今日というよりはもう昨日ですが、第14回レスキューロボットコンテストでのコンセプトを決定しました。
これからは決めたコンセプトに沿うように機体・システムを製作していこうと思います。
2013/12/12
定例会12/12
Lv_ZEROです。
本日の定例会では第14回レスキューロボットコンテストについてのミーティングを行いました。
フィロソフィーや規定などの再確認を行い、チームのコンセプトをどうするか話し合いました。
実際のレスキュー活動においては要救助者や操縦者に対しての配慮が非常に大切です。そのような配慮を元に、コンセプトを考え、案出しをしましたが、決定するまでは出来ませんでした。
なので、明日もう一度ミーティングを行い、コンセプトを決定し、活動方針を固めたいと思います。
話は変わりますが、明日12月13日(金)の19:00からロボット日本一決定戦!!「リアルロボットバトル」という番組が放送されます。各チームが1年近くかけて製作したリアルスケールの人型ロボット同士を戦わせるという企画です。各チームが創意工夫をしてロボット製作を行っており、非常に見応えがありそうです。興味のある方は見逃さないようにしましょう。
ロボット日本一決定戦!!「リアルロボットバトル」:http://www.ntv.co.jp/robot/outline.html
本日の定例会では第14回レスキューロボットコンテストについてのミーティングを行いました。
フィロソフィーや規定などの再確認を行い、チームのコンセプトをどうするか話し合いました。
実際のレスキュー活動においては要救助者や操縦者に対しての配慮が非常に大切です。そのような配慮を元に、コンセプトを考え、案出しをしましたが、決定するまでは出来ませんでした。
なので、明日もう一度ミーティングを行い、コンセプトを決定し、活動方針を固めたいと思います。
話は変わりますが、明日12月13日(金)の19:00からロボット日本一決定戦!!「リアルロボットバトル」という番組が放送されます。各チームが1年近くかけて製作したリアルスケールの人型ロボット同士を戦わせるという企画です。各チームが創意工夫をしてロボット製作を行っており、非常に見応えがありそうです。興味のある方は見逃さないようにしましょう。
ロボット日本一決定戦!!「リアルロボットバトル」:http://www.ntv.co.jp/robot/outline.html
2013/12/11
今日の活動報告
Kです。今日は、いろいろテストしてみました。
1. 手持ちのフォトカプラTLP521の周波数特性を実測。5kHzくらいから使い物にならなかった。回路を工夫すれば解消されると思われる。
2. 先輩の作ったモータードライバーの解析。Hブリッジの電源部分をFETでPWM駆動していて、その部分にふぉとかぷらが1つ、またゲートにフォトカプラ2つが使われていた。PWMの入力部分と制御しているマイコンは同電位だった。
3. 同調回路の実験。手持ちのマイクロインダクターで同調回路を作った。555で矩形波を作って同調させたところ、15kHz (1mH, 1μF)では同調された。ただし、500Hzではできなかった。
4. ステッピングモーターを2相励磁式で動かしてみました。PICから4ポートで制御します。各端子を2SC1825(小信号用だけど使ってしまった)
のベースに1kΩを介して接続。エミッタはGNDにして、コレクタとステッピングモーターのφ1, 2, _1, _2と接続。φ1, φ2, φ_1, φ_2の順番で動かす1相励磁式及びφ1φ2, φ2φ_1, φ_1φ_2, φ_2φ1と動かす2相励磁式を試した。以下ソースだがただタイマで回しているだけ。
初めPR2 = 128でやってみたら、1.35Hzだったので、PR2 * 1.35して172にしたところ1Hz=60rpmで回転するようになった。実験したところPR2 = 64では回転できなかった。
トランジスタに小信号用を使っていたり、電源はMAX1Aのレギュレータだったりとひどいので実用を考えると改良が必要。オシロスコープでトランジスタのベースを調べると、-26Vくらいの瞬間的な電圧がかかっていた。(コイルだからな……)当然、逆起電力を短絡するためのダイオードで除去できた。
#include <xc.h>
#define _XTAL_FREQ 16000000
#pragma config WDTE = OFF
#pragma config FOSC = 4
#pragma config MCLRE = 1
#pragma config LVP = OFF
#pragma config PLLEN = OFF
void main(void){
OSCCON = 0b01101000;
PORTA = 0x00;
LATA = 0x00;
TRISA = 0b00000000;
ANSELA = 0b00000000;
PORTB = 0x00;
LATB = 0x00;
TRISB = 0b00000000;
ANSELB = 0b00000000;
T2CON = 0b00000110;
PR2 = 172;
TMR2IE = 1;
PEIE = 1;
GIE = 1;
while(1){
__delay_ms(1000);
LATA7 ^= 1;
}
}
void interrupt INTERRUPT(){
static char n1 = 0, n2 = 1, bn1, bn2;
if(TMR2IF){
LATA &= ~(0x01 << bn1); // bn1ビット目をクリア
LATA &= ~(0x01 << bn2); // bn2ビット目をクリア
LATA |= 0x01 << n1; // n1ビット目をセット
LATA |= 0x01 << n2; // n2ビット目をセット
bn1 = n1;
bn2 = n2;
n1++;
n2++;
if(n1 >= 4) {
n1 = 0;
}
if(n2 >= 4) {
n2 = 0;
}
TMR2IF = 0;
}
}
5. 初代ポケモンの「じてんしゃ」の曲が完成した。PICで作った矩形波によって再生される。
1. 手持ちのフォトカプラTLP521の周波数特性を実測。5kHzくらいから使い物にならなかった。回路を工夫すれば解消されると思われる。
2. 先輩の作ったモータードライバーの解析。Hブリッジの電源部分をFETでPWM駆動していて、その部分にふぉとかぷらが1つ、またゲートにフォトカプラ2つが使われていた。PWMの入力部分と制御しているマイコンは同電位だった。
3. 同調回路の実験。手持ちのマイクロインダクターで同調回路を作った。555で矩形波を作って同調させたところ、15kHz (1mH, 1μF)では同調された。ただし、500Hzではできなかった。
4. ステッピングモーターを2相励磁式で動かしてみました。PICから4ポートで制御します。各端子を2SC1825(小信号用だけど使ってしまった)
のベースに1kΩを介して接続。エミッタはGNDにして、コレクタとステッピングモーターのφ1, 2, _1, _2と接続。φ1, φ2, φ_1, φ_2の順番で動かす1相励磁式及びφ1φ2, φ2φ_1, φ_1φ_2, φ_2φ1と動かす2相励磁式を試した。以下ソースだがただタイマで回しているだけ。
初めPR2 = 128でやってみたら、1.35Hzだったので、PR2 * 1.35して172にしたところ1Hz=60rpmで回転するようになった。実験したところPR2 = 64では回転できなかった。
トランジスタに小信号用を使っていたり、電源はMAX1Aのレギュレータだったりとひどいので実用を考えると改良が必要。オシロスコープでトランジスタのベースを調べると、-26Vくらいの瞬間的な電圧がかかっていた。(コイルだからな……)当然、逆起電力を短絡するためのダイオードで除去できた。
#include <xc.h>
#define _XTAL_FREQ 16000000
#pragma config WDTE = OFF
#pragma config FOSC = 4
#pragma config MCLRE = 1
#pragma config LVP = OFF
#pragma config PLLEN = OFF
void main(void){
OSCCON = 0b01101000;
PORTA = 0x00;
LATA = 0x00;
TRISA = 0b00000000;
ANSELA = 0b00000000;
PORTB = 0x00;
LATB = 0x00;
TRISB = 0b00000000;
ANSELB = 0b00000000;
T2CON = 0b00000110;
PR2 = 172;
TMR2IE = 1;
PEIE = 1;
GIE = 1;
while(1){
__delay_ms(1000);
LATA7 ^= 1;
}
}
void interrupt INTERRUPT(){
static char n1 = 0, n2 = 1, bn1, bn2;
if(TMR2IF){
LATA &= ~(0x01 << bn1); // bn1ビット目をクリア
LATA &= ~(0x01 << bn2); // bn2ビット目をクリア
LATA |= 0x01 << n1; // n1ビット目をセット
LATA |= 0x01 << n2; // n2ビット目をセット
bn1 = n1;
bn2 = n2;
n1++;
n2++;
if(n1 >= 4) {
n1 = 0;
}
if(n2 >= 4) {
n2 = 0;
}
TMR2IF = 0;
}
}
5. 初代ポケモンの「じてんしゃ」の曲が完成した。PICで作った矩形波によって再生される。
登録:
投稿 (Atom)
