基于AVR单片机-高阶椭圆数字低通滤波器设计

之前做毕业设计,较多的涉及了传感器的数据信号处理,主要是进行了各种滤波操作,这里记录一下椭圆低通滤波器的程序设计。这里讲的主要的数字低通滤波器,跑在avr单片机上的。我的低通滤波器选用了性能和效果都比较好的椭圆滤波器(Elliptic filter),用来对信号进行频域上的滤波操作。

继续阅读基于AVR单片机-高阶椭圆数字低通滤波器设计

基于AVR单片机: 两轮自平衡智能车(3)-控制算法

最近做了个九轴的传感器,利用之前博文的卡尔曼算法得出了传感器的三轴的姿态角。想利用这个传感器来做自平衡智能车和四轴飞行器,这篇博文主要讲诉两轮自平衡车的制作,由于两轮自平衡车的详细内容之前讲过了,这里就主要讲控制算法,涉及两轮平衡车的角度平衡控制以及速度控制。

继续阅读基于AVR单片机: 两轮自平衡智能车(3)-控制算法

在树莓派raspberry上搭建avr单片机开发环境

之前开发avr单片机是一直在ubuntu下开发的,最近买了新的树莓派2,发现性能也不错,加上显示器就是一台很实用的linux电脑了,于是决定在树莓派上搭建开发avr单片机环境。avr在linux下的开发靠的主要是avr-gcc以及avrdude ,树莓派采用的Raspbian系统是基于debian的,系统源中有很丰富的软件包,所以总体配置还是比较简单。

继续阅读在树莓派raspberry上搭建avr单片机开发环境

基于9轴惯性运动传感器的三阶卡尔曼滤波器算法

最近在玩九轴的惯性传感器,很是有挑战性.九轴说的是三轴的加速度计、三轴的陀螺仪以及三轴的磁场传感器。但是只是单纯的测出九个轴的数据没什么用,关键是要能够融合这九轴数据得出我们想要的结果。这里就运用三阶卡尔曼滤波算法来融合这九轴运动数据为三轴的角度。运用这三个角度可以用来做自平衡车或者四轴飞行器.

继续阅读基于9轴惯性运动传感器的三阶卡尔曼滤波器算法

基于AVR单片机: 两轮自平衡智能车(2)-PID控制器

之前写了一篇我之前做的基于AVR单片机自平衡智能车的文章,当时用的控制器只是简单的一个P控制。实现自平衡控制实在是很难。今天我就来说说自平衡的PID控制。不得不说PID是个好算法,加上以后自平衡车就很稳定了。

继续阅读基于AVR单片机: 两轮自平衡智能车(2)-PID控制器

像arduino一样使用AVR单片机-串口usart中断

之前写了一篇文章,对avr下使用lcd1602的库进行封装,使能够想使用arduino一样,很方便的使用lcd.今天再次放出基于avr单片机的串口库,包含串口中断接收,单片机为atmega16.

继续阅读像arduino一样使用AVR单片机-串口usart中断

像Arduino一样使用AVR单片机-LCD1602库

Arduino之所以会火,是因为它的易用性.而它的易用性则来源与世界各地的程序员为它做好的易用的库.AVR的使用相对Arduino比较难,因为它要设置各种寄存器,提高AVR的使用性的方法就是把每一个功能模块都写成库,不管什么使用,都只要调用一两个函数就好了.

继续阅读像Arduino一样使用AVR单片机-LCD1602库

基于AVR单片机: 两轮自平衡智能车

寒假无所事事,决定做一个两轮平衡车来玩玩.个人觉得两轮自平衡车是集合所有算法的精髓.它就像蛋炒饭,最简单也是最困难.他可以用简单的算法实现,当然也可以用最复杂的控制理论来实现. 本质上来说它就是个倒立摆. 继续阅读基于AVR单片机: 两轮自平衡智能车

把ATmega128开发板转为Arduino

暑假来临,闲来无事,听有同学在玩arduino,挺想尝试看看,但是不想买啊,正好手中有一套ATmege128的开发板。以前听过arduino是由avr封装而成,于是就想把这avr开发板改造下。GOOGLE了下,还是有办法的。

继续阅读把ATmega128开发板转为Arduino