飞思卡尔智能车——直流电机

原谅我太天真了,一直以来都不知道有直流电机这个东东,以为电机都是交流电。当学长告诉我电机是直流驱动的时候,惊呆了! 其实原理也很简单: 电流通过转子上的线圈会产生洛伦磁力,当转子上的线圈与磁场平行时,再继续转,受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦磁力方向不变,因此电机能保持一个方向转动。 0

Read More

K60笔记2——内存空间分布

内存空间分布: 一般从内存低地址到高地址,依次为: 代码段(code segment):储存代码 数据段(data segment):保存全局数据和静态数据 堆(heap):给动态分配内存。当使用malloc函数分配内存时,新分配的内存就被添加到堆上, 栈(stack):存放着局部变量和函数参数等 当我们用汇编语言写程序时,就要对各种段进行定义: 例如这个程序:在屏幕上显示一个字符串“Hello” data segment         string db ‘Hello’,13,10,’$’  ;字符串以’$’符号结尾,以单引号括起来

Read More

K60学习笔记6——IAR软件仿真注意事项以及#ifdef用法

1 普通版 右键工程: Debuger里面Driver选simulator 注意:要禁止锁相环时钟设置和串口发送,不然仿真的时候,会卡在死循环里,不能继续调试。 首先,在common.h里面添加: //为使用仿真模式而添加的,仿真模式应该屏蔽串口发送、和PLL锁相环设置  #define Simulator #ifdef Simulator  #define NO_PLL_INIT //禁用锁相环  #define NPRINTF //禁用printf  #endif PS: 1.#ifdef:电脑程序语句,我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。

Read More

飞思卡尔智能车——舵机及PID控制

有一次机器人站不起来了(优必选ALPHA1S),问了客服,说是舵机滑丝,才知道有舵机这个东东。 1 舵机 舵机:小车转向的控制机构。也就是控制小车的转向。 1.1 舵机的特点 它的特点是结构紧凑、易安装调试、控制简单、大扭力、成本较低等。舵机的主要性能取决于最大力矩和工作速度(一般是以秒/60°为单位)。它是一种位置伺服的驱动器,适用于那些需要角度不断变化并能够保持的控制系统。在机器人的控制系统中,舵机控制效果是性能的重要影响因素。舵机能够在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出值得单片机系统很容易与之接口。 1.2 舵机的组成 组成:舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路等 1.3 舵机的工作原理 工作原理:控制信号→控制电路板→电机转动→齿轮组减速→舵盘转动→位置反馈电位计→控制电路板反馈。 (1)输入线:中间红色——电源线Vcc;黑色——地线GND;白色/橘黄色——控制信号线 (2)信号:pwm信号,其中脉冲宽度从0.5-2.5ms(周期为20ms),相对应的舵盘位置为0-180度,呈线性变化。 pwm波脉冲宽度与舵机转角角度的关系: 也就是不同脉冲宽度的pwm波,舵机将输出不同的轴转角。所以要控制小车的转角,我们就要控制输出不同脉冲宽度的pwm波。 1.4 什么是PWM波? PWM:脉冲宽度调制

Read More