这是一个微型机器人,其底盘是由零件盒中的电感器得到的废线制成的。伺服电机被砍断以进行连续旋转。ATmega8运行Arduino代码以控制伺服器并轮询超声传感器以避开障碍物。
你要准备的:
数量x组件名称
1×ATmega8微处理器,微控制器,DSP/ARM,基于RISC的微控制器
1×DIL28插座2×1K电阻3×10K电阻
1×3.7600mAh锂电池
1×公头
1×超声波传感器(HCSR04)
1×少量电磁线
1×16MHz晶体
2×22pF陶瓷电容器
1×100nF陶瓷电容器
2×微型伺服器可连续旋转
2×发光二极管电子零件/其他电子元器件
最后安装电池和电源开关。我尝试过使用反极性保护功能,但是我在这里拥有的所有MOSFET似乎都无法在电池提供的低电压下达到饱和。最后我买了这个3.7脂电池为机器人供电,它很轻,可以提供足够的电压和电流为电路供电。
该电路在3.7V的电压下似乎可以正常工作,所以我很高兴不必添加一个升压电路,这会浪费电源,并且与项目的整体外观不符。锂电池已知会引起麻烦,因此我至少要多加注意。
这些电池不能过度放电,因此我使用了一个免费的模拟引脚来监视电池的电压,该电压多少可以表示电池的电量。我添加了一个电阻分压器(图中未显示,因为它在微控制器下方),该分压器连接至模拟引脚。该电阻分压器将电池电压减半(最大值为4.2V),然后由微控制器读取(最大值为2.1V)。随着电池电压的变化,将使用微控制器的内部基准代替VCC。值得庆幸的是,Arduino允许人们轻松更改微控制器ADC的参考电压,而无需直接寄存器操作。所以我用:AnalogReference(INTERNAL);//将ADC参考设置为内部2.56V参考
注意:ATmega8的内部基准电压为2.56V,但是大多数AVRArduino板实际上都具有1.1V基准。由于电池电压(3.7-4.2V)高于内部参考电压(2.56V),我们需要一些技巧来测量它。我做了一个简单的电阻分压器。我使用了这些蓝色电阻器,我没有电表就无法读取它们,但精度很高(1%)。两个10K电阻将电池电压最大分压为2.1V。
可以使用ArduinoIDE编程使用的ATmega8。我使用mega8是因为我有很多,但也可以使用ATmega328p。要使用ArduinoIDE编程ATmega8,只需从“工具”菜单中选择ArduinoNG或更早版本和ATmega8。
然后选择您拥有的程序员。如果您没有独立的程序员,则可以使用Arduino,只需在线搜索“ArduinoasISP”最好一次使用“BurnBootloader”选项,即使您不打算使用它,也可以将正确的保险丝值编程到芯片中。
微控制器需要配置为使用外部晶振,这是通过指定的位(称为熔丝位)与代码分开进行的,并且在上载新代码时不会复位。BurnBootloader选项会自动执行此操作,然后您可以使用“使用编程器上传”工具覆盖Bootloader,该工具可将熔丝位保持编程状态。
然后,您可以使用“使用编程器上传”选项对芯片进行编程。只需在“草图”菜单下选择。跳过引导加载程序会为您提供额外的闪存,但是我之所以使用它只是因为ATmega8的引导加载程序需要花费很多时间来启动主代码。
原文标题:电线建造一个简单的机器人?来,跟着国外大神学
文章出处:【微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。
:haq
关注“电缆宝”公众号
免费获取采购、招标、现货、价格最新信息
采购招标 | 现货市场 | 厂商报价