这是一个微型机器人,其底盘是由零件盒中的电感器得到的废线制成的。伺服电机被砍断以进行连续旋转。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脂电池为机器人供电,它很轻,可以提供足够的电压和电流为电路供电。

b267d2f2-4a75-11eb-8b86-12bb97331649.png

该电路在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

关注“电缆宝”公众号

免费获取采购、招标、现货、价格最新信息

采购招标 | 现货市场 | 厂商报价