精华内容
下载资源
问答
  • 恩智浦智能车资料

    2018-11-21 00:20:19
    资料非常有用,对于恩智浦智能车大赛会有很大的帮助。
  • 恩智浦智能汽车模块程序
  • 恩智浦智能汽车大赛之MOS驱动资料恩智浦智能汽车大赛之MOS驱动资料
  • 恩智浦 智能车 光电组原理图 驱动电路+k60系统 2018年我自己比赛的电路 实测可用
  • 恩智浦智能汽车大赛之计时系统资料
  • 恩智浦智能汽车大赛之TFT液晶屏
  • 恩智浦智能汽车大赛之编码器资料。
  • 恩智浦智能车竞赛十二届国赛程序,稳定速度3.2m,实验室速度更快,根据个人水平,提升空间还很大。注释详细,适合新手,同样适合老鸟。
  • 恩智浦智能车之开始

    千次阅读 多人点赞 2018-11-15 19:40:42
    恩智浦杯智能汽车竞赛贯穿了我大学所有的时光,从大一开始到现在,不止到现在,因为我现在还是对智能车念念不忘。...改名恩智浦杯智能汽车竞赛,简称智能车、恩智浦智能车),看到的只是51单片机和洞洞...

    恩智浦杯智能汽车竞赛贯穿了我大学所有的时光,从大一开始到现在,不止到现在,因为我现在还是对智能车念念不忘。

    初次接触

    刚步入大学,大一军训还没有结束,就开始找这种类型的社团,可能是我运气好,真的是一入实验室深似海啊,当时还没有看到真正的飞思卡尔智能车(当时的名字是叫做飞思卡尔杯智能汽车竞赛,飞思卡尔被恩智浦公司收购后,改名恩智浦杯智能汽车竞赛,简称智能车、恩智浦智能车),看到的只是51单片机和洞洞板做成的带两个轮子小车,用红外传感器作为路径识别传感器来判断路径,地面上是用黑色电工胶带贴的路径,小车虽然转向不稳,但是慢慢悠悠还是沿着胶带贴成的路径行走,这个在当时小白的我来说,这就是我想要的啊,我一定要做出这样的作品来!

    打酱油摄像头智能车的第一年

    第一年总是过的很慢,在我顺利进入实验室后,这就是所为的入坑了,不过到现在为止我还是认为这个坑还是很舒服的,我也很乐意在坑里面待着,从此就开始了我的电子生涯,学长从此就成了我的专业课老师,从装软件开始,到开发板、到例程、到硬件、到PCB。。。。。。。。

    进阶的电磁智能车的第二年

    从第二年开始,由于有了第一年的积累,每个模块都接触了,所以我开始了真正属于我的第二年,从最小系统、到软件、到PCB、到机械、到调试、以至于每个模块都要去研究,最后走上了赛场。。。走下了赛场,索性成绩还算满意。

    成熟的两轮直立车的第三年

    继续。。。。。。。

    第四年

    继续。。。。。。。

    现在。。之后我将会我做车调车的步骤及我的经历分享给大家,不论是小白还是大牛,相信,技术永无止境,共同进步。

    展开全文
  • // ************************Declaration***************************************//// File name: Main// Author: Sat_Madman //// Date: ...

    // ************************Declaration***************************************//

    // File name:        Main

    // Author:           Sat_Madman                                             //

    // Date:             2015/3/31 0:14:22                                    //

    // Version Number:   1.0                                                     //

    // Abstract:

    //   Freescale source

    // Modification history:[including time, version, author and abstract]        //

    // 2015/3/31 0:14:22         version 1.0     xxx                                //

    // Abstract: Main()                                                          //

    // SystemClock = 180Mhz    (修改路径 Chip -> system_MK60DZ10.c -> pllinit();  //

    // *********************************end************************************** //

    #include    "common.h"

    #include    "include.h"

    #include    "math.h"

    #include    "stdlib.h"

    // ***************define*****************//

    #define INT_COUNT  0xFFFF          //LPT 产生中断的计数次数

    #define DMASTATE   1             //0 关闭  1 打开

    CommunicationDeal PrintBuf;

    // ***************declare*****************//

    extern char    flag;

    extern int    RecNum[2];

    extern float   Angle_P ;        //舵机P参数 Debu8ig

    extern float   Angle_D ;        //舵机D参数 Debug

    extern int    AD[6];                //AD采集处理后的值

    extern char   position;

    uint32        LutraDistance;

    extern char    LutraConFlag;

    void SystemInit(void);

    void Delay(void);

    // ***************code*******************//

    void main()

    {

    SystemInit();

    PrintBuf.start = 's';

    PrintBuf.position = '1';

    memcpy(PrintBuf.SpeedData, "123", 3);

    memcpy(PrintBuf.distance, "2341", 4);

    memcpy(PrintBuf.end,"d\n" ,2);

    EnableInterrupts;

    OLED_Print(20,0,"By Madman");

    OLED_Print(5,2,"L1:");

    OLED_Print(60,2,"L2:");

    OLED_Print(5,4,"R1:");

    OLED_Print(60,4,"R2:");

    OLED_Print(5,6,"F1:");

    OLED_Print(60,6,"F2:");

    //    MotoGoLeft(3000)

    //    MotoGoRight(3000)

    while(1)

    {

    if(flag == 1)

    {

    printf(" %d %d " ,RecNum[0] , RecNum[1]);

    Angle_P = (float)RecNum[0] / 1000.0;

    Angle_D = (float)RecNum[1] / 1000.0;

    OLED_DisNum(5 , 6 , RecNum[0] , 4);

    OLED_DisNum(30 , 6 , RecNum[1] , 4);

    RecNum[0] = 0;

    RecNum[1] = 0;

    flag = 0;

    }

    Delay();

    #if 1

    if(position == 0)    OLED_Print(20,0,"ZHI");

    else if(position == 1) OLED_Print(20,0,"ZUO");

    else if(position == 3) OLED_Print(20,0,"RAM");

    else   OLED_Print(20,0,"YOU");

    OLED_DisNum(30 , 2 , AD[0] , 3);

    OLED_DisNum(85 , 2 , AD[1] , 3);

    OLED_DisNum(30 , 4 , AD[2] , 3);

    OLED_DisNum(85 , 4 , AD[3] , 3);

    OLED_DisNum(30 , 6 , AD[4] , 3);

    OLED_DisNum(85 , 6 , AD[5] , 3);

    #endif

    if( LutraConFlag == 1)

    {

    LutrasonicRang();

    LutraConFlag = 0;

    }

    //        if(key_get(KEY_1) ==  KEY_DOWN)

    //        {

    //            Delay();

    //            if(key_get(KEY_1) ==  KEY_DOWN)

    //            {

    //                while(key_get(KEY_1) ==  KEY_DOWN);

    //                    led_turn(LED0);

    //            }

    //        }

    //        LutraDistance = LutrasonicRang();

    //        printf("\r\n LutraDis : %d\r\n", LutraDistance);

    }

    }

    void SystemInit(void)

    {

    DisableInterrupts;                                        // 关闭总中断

    key_init(KEY_MAX);                                        //按键初始化

    led_init(LED0);                                           //设置GPIO口

    pit_init_ms ( PIT0 , 5 );                                 //设置定时周期 5ms进一次中断

    set_vector_handler(PIT0_VECTORn ,

    PIT0_IRQHandler);                      //设置中断服务函数

    MotoPwmInit();                                            //电机驱动初始化  FTM0_PRECISON = 10000(精度为0.01%)

    SteerInit()  ;                                            //舵机驱动初始化  FTM1_PRECISON = 1000

    ftm_quad_init(FTM2);                                      //正交解码

    AdcInit();                                                //Adc初始化

    OLED_Init();                                              //OLED初始化

    gpio_init(STOPBUT,GPI,1);

    port_init_NoALT (STOPBUT,PULLUP );

    led (LED0,LED_ON);                                        //开指示灯 关蜂鸣器

    GetMaxValue();                                            //读取赛道最大值

    OLED_Fill(0x00);                                          //初始清屏

    //     set_vector_handler(UART3_RX_TX_VECTORn,uart0_handler);

    #if DMASTATE

    uart_init(UART3,115200);

    dma0_uart_init((char*)&PrintBuf, 13);                         //串口3 DMA发送

    set_vector_handler(DMA0_VECTORn, dma0_print_isr);   //DMA0中断服务函数

    UART3_BASE_PTR->C5 = (1 << 7);                 //开触发源

    enable_irq(DMA0_IRQn);                          //使能DMA传输

    DMA_ERQ |= (1 << 0);

    //        dma1_uart_init((char *)&GetBuff , 11);                         //串口3 DMA接收

    //        set_vector_handler(DMA1_VECTORn,dma1_get_isr);       //DMA1中断服务函数

    //        UART3_BASE_PTR->C5 = (1 << 5);                     //开触发源

    //        enable_irq(DMA1_IRQn);                             //使能DMA传输

    #endif

    MotoGo(1500)

    Delay();

    LutrasonicInit();

    NVIC_SetPriorityGrouping(0);

    NVIC_SetPriority(PIT0_IRQn,1);

    NVIC_SetPriority(PORTD_IRQn,4);

    enable_irq(PIT0_IRQn);                                    //定时器中断使能

    enable_irq(PORTD_IRQn);

    // uart_rx_irq_en(UART3);

    }

    void Delay(void)

    {

    uint32 i , j;

    for(i = 1000; i > 0; i--)

    for(j = 1000; j > 0 ; j--);

    }

    char* mitoa(int value, char* str)

    {

    int i = 0;

    do{

    *str++ = value % 10 + '0';

    value = value / 10;

    i++;

    } while (value != 0);

    return str;

    }

    void SendPrintBuf(CommunicationDeal* PrintBuff,char position,int speed,int distance)

    {

    PrintBuff->position = position + 48;

    memset(PrintBuff->SpeedData,0,3);

    memset(PrintBuff->distance,0,6);

    mitoa(speed,PrintBuff->SpeedData);

    mitoa(distance,PrintBuff->distance);

    }

    /**********************GPIO LIST***************************/

    // ********************FTM********************************

    // PC1、PA11                               ------正交解码

    // PC2                                     ------FTM0_CH1_PIN (m1)

    // PC3                                     ------FTM0_CH1_PIN (m1)

    // PC4                                     ------FTM0_CH3_PIN (m2)

    // PA7                                     ------FTM0_CH4_PIN (m2)

    // PA8                                     -------Steer

    // *******************UART********************************

    // PC16 、PC17                             -------Rx Tx

    // *******************ADC*********************************

    // PTB6                                    -------LEFT1

    // PTB7                                    -------LEFT2

    // PTB0                                    -------RIGHT1

    // PTB1                                    -------RIGHT1

    展开全文
  • 第十四届恩智浦智能车资料,基于KEIL编译环境逐飞库,K60单片机。工程文件在MDK文件夹中,可跑完全程赛道,可以入环,速度在2.0m/s。
  • 该代码为恩智浦智能车大赛第十二届摄像头组国赛一等奖代码,完整的代码工程,无保留。希望可以给需要的人一点帮助。里面处理赛道的思想大家可以取其精华弃其糟粕。
  • 第11届恩智浦智能小车摄像头组国赛程序源码.
  • 恩智浦智能车竞赛主要元件元件库,封装库,大多数为3D封装。
  • 恩智浦智能车摄像头循迹部分

    千次阅读 2020-07-10 09:35:53
    恩智浦智能车摄像头循迹部分 对于恩智浦智能车竞赛已经举行了14届,从以往的电磁车已经逐渐转变成了用摄像头进行循迹。与电磁循迹对比,摄像头拥有着诸多优势,但摄像头对于很多新手入门来说却是比较困难的。下面将...

    恩智浦智能车摄像头循迹部分

    		对于恩智浦智能车竞赛已经举行了14届,从以往的电磁车已经逐渐转变成了用摄像头进行循迹。与电磁循迹对比,摄像头拥有着诸多优势,但摄像头对于很多新手入门来说却是比较困难的。下面将给新手介绍我们对摄像头循迹部分的处理。大家都知道,单片机从摄像头采集到数据后,必须对图像进行相应的二值化(即0,1)后才方便对图像进行处理。在得到二值化图像后如何进行处理并且进行巡线呢?
    一获取中线
    
    	for(j=MT9V032_H-5;j>20;j--)
     	{			
    				for(i = 0 ;i <=MT9V032_W/2;i++)
    				{
    					if(i==MT9V032_W/2-2)
    					{	
    						left=MT9V032_W/2;
    						break;
    					}
    					if(img[j][MT9V032_W/2-i] <= 10 && img[j][MT9V032_W/2-i-1] <= 10)
    					{	left = i;break;}												
    				}
    				for(i = 0 ;i < MT9V032_W/2;i++)
    				{	
    					if(i==MT9V032_W/2-2)
    					{	
    						right=MT9V032_W/2;
    						break;
    					}
    					if(img[j][MT9V032_W/2+i] <= 10 && img[j][MT9V032_W/2+1+i] <= 10)
    					{	right = i;break;}		
    				}
    				if(j<30)
    					midder[j]=MT9V032_W/2-(left-right)*1.5;
    				else
    					midder[j]=MT9V032_W/2-(left-right);
    				minder=minder+(MT9V032_W/2-midder[j]);		
    				
    	}
    
    获取中线的原理在于图像的中线下方往两边进行找黑线,找到黑线后进行记录。并且两边的黑线到中点的距离进行作差,即可得到对应该横的中点值,依次往上进行寻找中线,最后把所有中点与中线的误差积累在minder变量中即可得到车子里中线的偏差。
    但这样获得中线的方式存在一个问题:当车模快在过弯时摄像头拍摄的位置将不会是赛道的方向,拍摄的位置可能为赛道的外侧,那么计算中线的位置将会出现问题。因此我们需要引入一个结束点,在查找中线时检测到巡线位置已经到达边缘时暂停结束巡线详细代码如图
    
    				if(midder[j]<10||midder[j]>MT9V032_W-10||j<21)
    				{
    					if(j>60)
    						minder=minder*j*3.4;
    					else
    						minder=minder*j*0.03;
    					if(minder>2000)minder=2000;
    					if(minder<-2000)minder=-2000;
    					break;
    				}
    

    具体的比例系数需要大家对自己的车模进行一一的调整。

    展开全文
  • 这是我14届恩智浦智能车比赛的国赛程序,十字,环岛,都能够跑下来,参加普通四轮组的可以参考参考,芯片是K60.
  • 第一次参加,小白一枚今年智能车比赛支持stc的MCU了,对于我这种没用过NXP片子的小白十分友好,当然只是跑电磁(摄像头够呛)车库识别使用CCD4.26 更新:电机驱动用HIP4082+LR7843(或任意合适的TO-252封装NMOS)这款...

    第一次参加,小白一枚

    今年智能车比赛支持stc的MCU了,对于我这种没用过NXP片子的小白十分友好,当然只是跑电磁(摄像头够呛)

    车库识别使用CCD

    4.26 更新:

    电机驱动用HIP4082+LR7843(或任意合适的TO-252封装NMOS)

    这款驱动可以用外部电阻调死区,所以一路PWM就完事了。

    原理图照着官方来的,有几点注意事项:

    1.信号地跟数字地隔开,单点接地

    2.自举二极管使用快恢复二极管(不要用肖特基),自举电容用陶瓷电容 ,我用的是ES3D,自举电容容量就等调板子慢慢试吧,先用1μF

    画了短路/堵转保护,限制10A,使用10mΩ采样电阻(10A为0.1V),放大20倍了事(2V),采样电阻电压经差分放大再过比较器输出使能信号到HIP4082的DIS脚(DIS高电平时电机驱动 失能),选型:LM358+LM393(便宜且够用,\~\~小白标配\~\~).

    拿multism仿了一下,LM358输出只能到3.47(非轨到轨),用的时候电压区间要选好

    另外需要注意LM393为集电极开路输出(OC输出),必须靠上拉电阻才能输出高电平,根据输出低电平时灌电流大小选择上拉电阻

    手册里写了:灌电流在6mA时其输出达到1.5V(不过我用multsim仿真没这么夸张,灌电流6mA输出在0.1V左右),所以不要选小了,5V供电的话,我就用10k了。

    (以前被这里坑过,今儿个仿真也是,没接上拉输出本应输出高电平但输出只有6mV)

    放图(未接上拉):

    加上拉以后正常:

    展开全文
  • 恩智浦智能汽车总转风例程K60(二值化图像开启自动曝光)
  • 我的十五届恩智浦智能车@TOC 总述 截止今天(8月12日)的下午15:45分,十五届恩智浦之旅也就到此结束了,最终止步山东省省赛,由于疫情的原因,组委会特派专家组到学校来莅临指导,最终成绩也暂时未知,待后续省内...
  • ↑ 点击上方蓝字关注我们获取更多信息第十四届全国大学生“恩智浦”杯智能车竞赛在8月,圆满落幕这是一场速度与激情的交流这是一次科技与视觉的盛宴这是一场小车爱好者的盛会如果你错过了直播看比赛的机会,没关系!...
  • 本人全国大学生第十三届全国大学生恩智浦智能车大赛参赛队员 光电四轮组别 主要硬件部分有鹰眼ov7725数字摄像头 mk60fx512主控芯片 512mini编码器 蓝牙模块
  • 恩智浦智能汽车竞赛电磁组总结

    万次阅读 多人点赞 2020-03-03 11:31:04
    送给大二做智能车的同学们 ——秋名山车神队 电磁竞速组 您们好,刚入手智能车可能不知所措,会浪费很多的时间,不知所措,我把这一年走的弯路告诉大家,让大家开始就有一个目标,快速进入实验室的状态,首先我要...
  • 第十四届恩智浦智能车竞赛小白四轮硬件总结 主控板采用恩智浦公司的K60单片机作为处理器,主控板上带有3.3V、5V、6V可调稳压芯片。其中3.3V稳压芯片采用TPS76333芯片,该芯片可将7.2V电源降压到3.3V,实现摄像头、...
  • 恩智浦智能车调试助手(集成线性CCD、摄像头、示波器调试)-Win7/8/10
  • 恩智浦智能车核心板LPC54606PCB原理图

    千次阅读 2019-05-15 18:50:42
    恩智浦智能车核心板LPC54606PCB原理图 做了份LPC54606的核心板,用来给学弟学妹们学习焊接和编程,引脚几乎全引出,数字地模拟地之前做了隔离处理,测试后可用,压缩包含 PCB的3D展示感兴趣的可以下载 下载链接:...
  • 第十三届恩智浦智能车电磁三轮程序+电路+机械图 速度2.2m/s. 原理图 pcb全都有 机械结构也有 本资源仅供参考 决不能拿去直接使用 不能失去比赛初心 希望有需要的人能在比赛中拔得头筹
  • 本次宣讲会邀请到长安大学“恩智浦”杯智能车大赛指导老师李兆凯、我院科协智能车部副部长叶小康、恩智浦智能车队队员李一鸣做分享交流。李一鸣分享参赛经验会议伊始,叶小康分别从大赛背景、比赛流程、比赛准备、...
  • 恩智浦半导体宣布推出跨界MCU i.MX RT1170系列,该产品具有前所未有的性能、可靠性和高度集成性,可推动工业、物联网和汽车应用的发展。i.MX RT1170系列强化了恩智浦对采用EdgeVerse组合解决方案来推进边缘计算的...
  • 第十三届“恩智浦”杯智能汽车竞赛摄像头组B的全部硬件,包含主板原理图+PCB,2P2N结构的H桥原理图+PCB,CH455调参键盘原理图+PCB,主要器件datasheet
  • IR2104驱动原理–恩智浦智能车电机驱动 本文是小编在准备智能车比赛过程的学习笔记,关于对IR2104电机半桥驱动的一些自我见解(欢迎指正) 这个是数据手册给的应用电路,主要的外围器件有两个电容和一个二极管。 ...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 307
精华内容 122
关键字:

恩智浦智能车