5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 2755|回复: 17
打印 上一主题 下一主题

MWC2.3 MEGA2560飞控板输出电池报警信号的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2014-2-12 15:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 szhcs 于 2014-4-19 08:39 编辑

原标题:MWC求助:如何在MEGA2560的A1-A6输出报警信号?
原来用328P的芯片,MWC的报警输出到D8,如果D8给AUX2占用,还可以改到A2。
但MEGA芯片的报警输出在D32,我的飞控板这个脚没有引出来,飞控板只引出A0-A6,其中A0为电压检测输入,能不能同时在A1-A6脚输出报警信号,请大神赐教。
先谢谢了。

2014-3-31追加:这个问题已经解决了,报警输出改到D30和D12同步输出,代码不在手边,如果有人感兴趣,回帖后我再放上来。

2014-4-18追加:最后决定报警输出放在D12脚,主要原因是在MWC中,D11和D12是闲置不用的,我采用的是改装的声光报警器,电流比较大(200mA+),引脚40mA的电流不够,需要另加+5V,放在D12就可以使用舵机线连接报警器,引入D12脚的+5V电源。
同时还修改了LED的设置:
解锁指示灯为蓝色(D13);(原代码为D13和D30)
GPS指示灯为绿色(D30),同时在D11输出,可以再外接一个LED,指示GPS状态。(原代码为D31)
报警指示灯为红色(D31),同时在D12输出,可以外接有源报警器和爆闪灯。(原代码为D32)

在MWC2.3中需修改def.h中的代码。
第534行-565行用下列代码替换。
/**************************  all the Mega types  ***********************************/
#if defined(MEGA)
  #define LEDPIN_PINMODE             pinMode (13, OUTPUT);  //pinMode (11, OUTPUT);    //pinMode (30, OUTPUT);======================
  #define LEDPIN_TOGGLE              PINB  |= (1<<7);       //PINB  |= (1<<5);         //PINC  |= (1<<7);
  #define LEDPIN_ON                  PORTB |= (1<<7);       //PORTB |= (1<<5);         //PORTC |= (1<<7);
  #define LEDPIN_OFF                 PORTB &= ~(1<<7);      //PORTB &= ~(1<<5);        //PORTC &= ~(1<<7);
  #define BUZZERPIN_PINMODE          {pinMode (12, OUTPUT);pinMode (31, OUTPUT);}      //pinMode (32, OUTPUT);
  #if defined PILOTLAMP
    #define    PL_PIN_ON             {PORTB |= 1<<6;   PORTC |= 1<<6;}                 //PORTC |= 1<<5;
    #define    PL_PIN_OFF            {PORTB &= ~(1<<6);PORTC &= ~(1<<6);}              //PORTC &= ~(1<<5);
  #else
    #define BUZZERPIN_ON             {PORTB |= 1<<6;   PORTC |= 1<<6;}                 //PORTC |= 1<<5;
    #define BUZZERPIN_OFF            {PORTB &= ~(1<<6);PORTC &= ~(1<<6);}              //PORTC &= ~(1<<5);
  #endif

  #if !defined(DISABLE_POWER_PIN)
    #define POWERPIN_PINMODE           pinMode (37, OUTPUT);
    #define POWERPIN_ON                PORTC |= 1<<0;
    #define POWERPIN_OFF               PORTC &= ~(1<<0);
  #else
    #define POWERPIN_PINMODE           ;
    #define POWERPIN_ON                ;
    #define POWERPIN_OFF               ;
  #endif
  #define I2C_PULLUPS_ENABLE         PORTD |= 1<<0; PORTD |= 1<<1;       // PIN 20&21 (SDA&SCL)
  #define I2C_PULLUPS_DISABLE        PORTD &= ~(1<<0); PORTD &= ~(1<<1);
  #define PINMODE_LCD                pinMode(0, OUTPUT);
  #define LCDPIN_OFF                 PORTE &= ~1; //switch OFF digital PIN 0
  #define LCDPIN_ON                  PORTE |= 1;
  #define STABLEPIN_PINMODE          pinMode (30, OUTPUT); pinMode (11, OUTPUT);              //pinMode (31, OUTPUT);   ===================
  #define STABLEPIN_ON               PORTC |= 1<<7;        PORTB |= (1<<5);                   //PORTC |= 1<<6;
  #define STABLEPIN_OFF              PORTC &= ~(1<<7);     PORTB &= ~(1<<5);                  //PORTC &= ~(1<<6);

其中大概修改了10行左右的代码,为了修改方便,把整段的代码全部放上了。




欢迎继续阅读楼主其他信息

来自 7楼
 楼主| 发表于 2014-4-18 22:34 | 只看该作者
自己顶一下
沙发
发表于 2014-2-12 17:51 | 只看该作者
找一个能输出pwm信号的管脚不就行了
来自安卓客户端
3
 楼主| 发表于 2014-2-12 18:45 | 只看该作者
physical 发表于 2014-2-12 17:51
找一个能输出pwm信号的管脚不就行了
来自安卓客户端

我是希望能在A1-A6其中的一个管脚,同步输出报警信号。就像云台信号,同时在34/44输出camera pitch信号。


4
发表于 2014-2-12 19:09 | 只看该作者
szhcs 发表于 2014-2-12 18:45
我是希望能在A1-A6其中的一个管脚,同步输出报警信号。就像云台信号,同时在34/44输出camera pitch信号。 ...

用定时器触发不就行了

5
发表于 2014-4-18 20:19 | 只看该作者



我的2560就是这个,以前有个帖子教从迷你OSD模块一个针脚接一个电压,就可以再地面监视器上显示出来,没有原件 没做那个

6
 楼主| 发表于 2014-4-18 22:01 | 只看该作者
我的是MEGA2560V2.2,跟你有点不同,但输入输出脚是基本一样的。
我看你那个板子上有BUZZ的字样,估计那个就是蜂鸣器的输出脚,建议你先用原码试试,不行再用我的代码。
8
发表于 2014-4-19 21:09 | 只看该作者
szhcs 发表于 2014-4-18 22:01
我的是MEGA2560V2.2,跟你有点不同,但输入输出脚是基本一样的。
我看你那个板子上有BUZZ的字样,估计那个 ...

直接接一个BUZZ和 +极?

9
发表于 2014-4-19 21:11 | 只看该作者
szhcs 发表于 2014-4-18 22:01
我的是MEGA2560V2.2,跟你有点不同,但输入输出脚是基本一样的。
我看你那个板子上有BUZZ的字样,估计那个 ...

主要是输出到OSD那唯独 没有电压显示


10
发表于 2014-4-19 21:17 | 只看该作者
检测电压的输入应该怎么接?
11
 楼主| 发表于 2014-4-19 21:22 | 只看该作者
把电池电压用电阻分压到一个小于5V的电压,接入A0
12
 楼主| 发表于 2014-4-19 21:25 | 只看该作者
611055853 发表于 2014-4-19 21:17
检测电压的输入应该怎么接?



13
 楼主| 发表于 2014-4-19 21:26 | 只看该作者
611055853 发表于 2014-4-19 21:09
直接接一个BUZZ和 +极?

不行,电流不够

14
发表于 2014-4-19 21:32 | 只看该作者

电调都给板子供电了再过去一个5V的电压会不会冲突?
烧板子不?

15
发表于 2014-4-19 21:32 | 只看该作者
BUZZ输出针脚也是PWM信号?
16
 楼主| 发表于 2014-4-19 21:33 | 只看该作者
611055853 发表于 2014-4-19 21:32
BUZZ输出针脚也是PWM信号?

高低电平

17
发表于 2014-4-19 21:41 | 只看该作者
电调都给板子供电了再过去一个5V的电压会不会冲突?
烧板子不?
18
发表于 2015-3-19 21:59 | 只看该作者
不错,留名做记号来学习了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表