第2部分 - 设计好的PCB
开始第2部分
在过去的教程中,我们利用无刷电机建造了基于Arduino的无人机。这是一个很好的项目。但是,利用无刷电机可以为每个电机和每个ESC供应大约8美元的用度,因此可以为电机供应高达80美元的用度。一个廉价的办理方案是利用迷你空心杯电机,这便是我们在本教程中将要做的。

为了掌握直流有刷电机,我们每个电机只须要一个MOSFET,由PWM旗子暗记掌握。来自锂电池的输入为3.7V。PID将利用来自和IMU模块的数据天生,无线电吸收器将再次选择NRF24模块。以是发射器将与过去的教程相同 以是一定要检讨一下,看看如何制作发射器。
步骤1 零件清单
好的,首先我们将看到这个项目所需的所有部件以及为什么我们须要每个部件。有两种方法可以完成这个项目。一个是利用Arduino pro mini洞洞板PCB和所有组件或设计我们自己的PCB并由专业制造商制作。
这是第2部分,选择自己制作的PCB。
完全列表:
ATmega328 AU
16MHz晶振
空心杯电机
塑料齿轮
塑料螺旋桨
HT7333稳压芯片
MPU6050
NRF24吸收器
SI2302 MSOFET
FTDI模块
贴片电阻
贴片电容
贴片肖特基二极管
贴片 LED
贴片按钮
贴片钽电容
3.7V电池
3D无人机机身
第2步 事理图
不才面的照片中,是我的电路板的事理图。照片中的主板不是终极版本,由于前4个版本有一些缺点。但正如您所看到的,我们有4个MOSFET,IMU的引脚,NRF24模块以及我们须要的所有输入和输出。我们再一次为无线电模块供应3.3V稳压器。我创建了一个新的PCB布局并放置所有组件。
正如您在上面的事理图中所看到的,我们有ATmega328p芯片。为了使其事情,我们必须在引脚7和8之间添加16MHz晶体振荡器,并在晶体和GND之间添加两个22pF电容,以使其振荡。我们要将10k上拉添加到复位引脚。我们还有一个复位按钮,一些复制电容,以及引脚13(SCK)上的LED和一个蜂鸣器。
晶体管是相同的:SI2302。请记住添加反激二极管。我们来看看布局。
第3步 焊接
让我们准备PCB。我已将设计发送给专业制造商。我收到了电路板和所有组件。我首先将贴片ATmega328p AU芯片焊接在电路板中间。它可能会变得棘手,但它比看起来更随意马虎。仅需在PCB焊盘上放了一点焊锡。放置芯片并添加大量助焊剂。焊锡只会粘在金属焊盘和引脚上。
如上所述,我焊接了贴片芯片。每次焊接好后,请用万用表检讨是否有短路。如果统统正常,我们会连续焊接组件。我们添加了稳压器,电容器,按钮和引脚。 但是,还没有焊接模块和MOSFET。为什么?好吧,由于这个芯片没有勾引加载程序并烧掉一个我们须要SPI引脚。以是让我们准备一下bootloader。
第4步 勾引程序
好吧,如果没有勾引程序,电路板将无法事情。为此,在Arduino NANO和设计的PCB之间建立连接。
这里要小心。DTR引脚必须连接按钮上的复位引脚。终极的电路板将为DTR引脚供应一个独立的焊盘。现在所有的连接都已建成。在刻录勾引加载程序之前,我们首先要将代码上传到arduino。
打开Arduino IDE。转到文件,示例,ArduinoISP并打开该代码。现在将Arduino NANO连接到USB并选择com。将代码移植到Arduino NANO。现在请确保您在Arduino NANO和PCB之间建立连接。现在转到工具,编程器选择Arduino作为ISP。现在再次转到工具并选择烧录勾引程序。
Arduino的LED将快速闪烁。勾引加载程序现已烧录。我们现在可以利用外部FTDI编程器将代码上传到PCB。在模块和板子之间建立连接,并记住将编程器变动回Arduino mkII。
现在打开一个闪烁示例,将闪烁LED变动为引脚13(我们电路板的LED引脚),将FTDi模块连接到PC并将代码上传到电路板。引脚13上的LED应每1秒闪烁一次。
测试MOSFET
以是,烧录完成。我们现在可以焊接MOSFETS和二极管。将每个电机焊接到PCB。这么做之后,我们该当上传下一个小例子代码来测试电机是否会旋转。以是复制代码,连接FDTI模块并上传。如果电机正在旋转,现在我们可以焊接NRF24和IMU模块,并利用第1部分之前的代码再次测试它们。
电机测试示例代码
//We define the pins for the mootrs
int front_left = 3;
int back_left = 5;
int front_right = 6;
int back_right = 9;
void setup() {
//Define the pins as outputs
pinMode(front_left,OUTPUT);
pinMode(back_left,OUTPUT);
pinMode(front_right,OUTPUT);
pinMode(back_right,OUTPUT);
}
void loop() {
analogWrite(front_left,50);
analogWrite(back_left,50);
analogWrite(front_right,50);
analogWrite(back_right,50);
delay(10);
}
测试IMU和NRF24
现在焊接模块。下面是两个测试IMU和NRF24的例子。首先上传IMU代码并打开串行监视器。移动传感器,看看角度是如何变革的。如果传感器事情,现在上传NRF示例吸收器代码。打开串口监视器,打开拓射器电源并移动操纵杆。您该当在串行监视器上收到值。
如果统统正常,是时候上传代码了。身体与教程2相同。焊接电机,将传感器放在无人机的中央,然后上传Multiwii代码。
更多精彩内容请关注微信"大众年夜众号 电子爱好谈论分享