极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11218|回复: 0

求助“arduino Uno R3+L298N驱动器+rotary 增量型编码器+OLED”控制程序

[复制链接]
发表于 2015-2-2 14:35:29 | 显示全部楼层 |阅读模式
        各位大神,小弟想做一个小滚轮系统,用于做生物学实验,不过由于小弟初学嵌入式开发,不懂编程,向各位大神求助,先行谢过啦!
        我想做的整个装置有点像跑步机,我想为小白鼠做个跑步机,来检测小白鼠的神经系统和运动能力。整个的实验过程如下:将5只小白鼠放到以2rpm低速旋转的滚轮上(各老鼠跑道相互隔离,互不干扰),然后缓慢的匀加速或者以6秒为间隔逐步加速,当滚轮达到一定速度时,某一个小白鼠会从滚轮上掉下来,掉下来的小白鼠踩在其所在跑道内的微动开关,这时需要记录以下信息,第几跑道、当前滚轮速度和滚轮加速所用的时间,并将此信息显示到OLED显示屏上。类似的其他几只老鼠会陆续掉下来,同样记录相关信息,并输出到显示屏上。
        我初步想用arduino Uno R3开发板,L298N驱动器,rotary 增量型编码器,OLED显示屏等模块,小型微动开关(类似于鼠标的点按器),直流减速电机等搭建一个小的反馈系统,实现滚轮的速度调节、速度测量以及速度、时间等的显示。各自参数如下:
1.arduino Uno R3
(1).基本配制和参数
处理器 ATmega328
工作电压 5V
输入电压(推荐) 7-12V
输入电压(范围) 6-20V
数字IO脚 14 (其中6路作为PWM输出)
模拟输入脚 6
IO脚直流电流 40 mA
3.3V脚直流电流 50 mA
Flash Memory 32 KB (ATmega328,其中0.5 KB 用于 bootloader)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
工作时钟 16 MHz

(2)输入输出

14路数字输入输出口:工作电压为5V,每一路能输出和接入最大电流为40mA。每一路配置了20-50K欧姆内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能
串口信号RX(0号)、TX(1号): 与内部 ATmega8U2 USB-to-TTL 芯片相连,提供TTL电压水平的串口接收信号。
外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。
脉冲宽度调制PWM(3、5、6、9、10 、11):提供6路8位PWM输出。
SPI(10(SS),11(MOSI),12(MISO),13(SCK)):SPI通信接口。
LED(13号):Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。
6路模拟输入A0到A5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能
TWI接口(SDA A4和SCL A5):支持通信接口(兼容I2C总线)。
AREF:模拟输入信号的参考电压。
Reset:信号为低时复位单片机芯片。

(3)通信接口

串口:ATmega328内置的UART可以通过数字口0(RX)和1(TX)与外部实现串口通信;ATmega16U2可以访问数字口实现USB上的虚拟串口。
TWI(兼容I2C)接口:
SPI 接口:


2.L298N驱动器
产品参数:
(1).驱动芯片:全新原装L298N双H桥直流电机驱动芯片
(2).驱动部分端子供电范围Vs:+5V~+35V ;如需要板内取电,则供电范围Vs:+7V~+35V
(3).驱动部分峰值电流Io:2A
(4).逻辑部分端子供电范围Vss:+5V~+7V(可板内取电+5V)
(5).逻辑部分工作电流范围:0~36mA
(6).控制信号输入电压范围:
   低电平:-0.3V≤Vin≤1.5V
   高电平:2.3V≤Vin≤Vss
(7).使能信号输入电压范围:
   低电平:-0.3≤Vin≤1.5V(控制信号无效)
   高电平:2.3V≤Vin≤Vss(控制信号有效)
(8).最大功耗:20W(温度T=75℃时)
(9).存储温度:-25℃~+130℃
(10).驱动板尺寸:53mm*43mm
(11).驱动板重量:35g
(12).其他扩展:控制方向指示灯、逻辑部分板内取电接口。

驱动直流电机
由于本模块是2路的H桥驱动,所以可以同时驱动两个电机
使能ENA ENB之后,
可以分别从IN1 IN2输入PWM信号驱动电机1的转速和方向
可以分别从IN3 IN4输入PWM信号驱动电机2的转速和方向
信号如表所示:
直流电机        旋转方式        IN1        IN2        IN3        IN4        调速PWM信号
                                                             调速端A 调速端B
M1                  正转        高        低        /        /        高            /
                  反转        低        高        /        /        高            /
                  停止        低        低        /        /        高            /
M2                  正转        /        /        高        低        /           高
                  反转        /        /        低        高        /           高
                  停止        /        /        低        低        /           高


3.rotary 增量型编码器
型号:增量型旋转编码器,AB两相。通过旋转的光栅盘和光耦产生可识别方向的计数脉冲信号。
性能:600P/R-600脉冲每转。DC5-24V供电。最大机械转速6000转/分,响应频率:0-20KHz;
输出:AB两相输出矩形正交脉冲,电路输出为NPN集电极开路输出型。
接线输出:A相,B相,Vcc正电源,V0地。

4.OLED显示屏等模块
各引脚:VCC:3.3-5V,GND,SCL:串行时钟,SDA:串行数据

5.直流减速电机
DC: 12V  160rpm       扭矩:  0.5kg.cm     电流:0.3A

请大神帮忙推荐一个可用的程序模板,非常十分感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 13:27 , Processed in 0.106678 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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