Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino-Controlled Solar-Powered Dual Motor System with RF Communication

Image of Arduino-Controlled Solar-Powered Dual Motor System with RF Communication

Circuit Documentation

Summary

This circuit is designed to control a pair of DC motors using an Arduino UNO microcontroller. It includes a BTS7960 motor driver for each motor to handle the high current required by the motors. The circuit also features an HC-SR04 ultrasonic sensor for distance measurement and an RF transmitter module for wireless communication. Power is supplied by a 12V 200Ah battery, and a solar charge controller is included to manage charging from a connected solar panel. The circuit is intended for applications that require motor control, distance sensing, and wireless data transmission, potentially in a solar-powered environment.

Component List

Microcontroller

  • Arduino UNO: A microcontroller board based on the ATmega328P, with a variety of digital and analog I/O pins.

Motor Drivers

  • BTS7960 Motor Driver (x2): High current motor drivers capable of driving motors with a supply voltage of up to 27V and a peak current of 43A.

Motors

  • DC Motor (x3): Electric motors that run on direct current (DC) electricity.

Sensors

  • HC-SR04 Ultrasonic Sensor: A sensor that measures distance by emitting ultrasonic waves and measuring the time taken for the echo to return.

Power Supply

  • 12V 200Ah Battery: A high-capacity battery that provides a 12V supply to the circuit.

Solar Power Components

  • Solar Panel: A photovoltaic panel that converts sunlight into electrical energy.
  • Solar Charge Controller: A device that regulates the voltage and current coming from the solar panels going to the battery.

Communication Modules

  • Transmitter RF Module: A wireless radio frequency transmitter for sending data over the air.

Wiring Details

Arduino UNO

  • 5V: Powers the HC-SR04 ultrasonic sensor, BTS7960 motor drivers, and the RF transmitter module.
  • GND: Common ground for the HC-SR04 ultrasonic sensor, RF transmitter module, and BTS7960 motor drivers.
  • D1: Connected to the DATA pin of the RF transmitter module.
  • D3: Connected to the ECHO pin of the HC-SR04 ultrasonic sensor.
  • D4: Connected to the TRIG pin of the HC-SR04 ultrasonic sensor.
  • D5: Connected to Pin 3 of both BTS7960 motor drivers.
  • D6: Connected to Pin 6 of both BTS7960 motor drivers.
  • D9: Connected to Pin 1 of both BTS7960 motor drivers.
  • D10: Connected to Pin 2 of both BTS7960 motor drivers.

BTS7960 Motor Driver (x2)

  • Pin 1 (EN): Enabled by Arduino UNO pin D9.
  • Pin 2 (PWM): Controlled by Arduino UNO pin D10 for speed control.
  • Pin 3 (RPWM): Controlled by Arduino UNO pin D5 for direction control.
  • Pin 6 (LPWM): Controlled by Arduino UNO pin D6 for direction control.
  • Pin 7 (VCC): Powered by the 5V output from the Arduino UNO.
  • Pin 8 (GND): Connected to the common ground.
  • Pin 9 (R_IS): Connected to pin 2 of the associated DC motor.
  • Pin 10 (L_IS): Connected to pin 1 of the associated DC motor.
  • Pin 11 (B+): Connected to the 12V output from the battery and solar charge controller.
  • Pin 12 (B-): Connected to the ground of the battery and solar charge controller.

DC Motor (x3)

  • Pin 1: Connected to Pin 10 (L_IS) of the associated BTS7960 motor driver.
  • Pin 2: Connected to Pin 9 (R_IS) of the associated BTS7960 motor driver.

HC-SR04 Ultrasonic Sensor

  • VCC: Powered by the 5V output from the Arduino UNO.
  • TRIG: Triggered by Arduino UNO pin D4.
  • ECHO: Echo received on Arduino UNO pin D3.
  • GND: Connected to the common ground.

Transmitter RF Module

  • DATA: Receives data from Arduino UNO pin D1.
  • VCC: Powered by the 5V output from the Arduino UNO.
  • GND: Connected to the common ground.

12V 200Ah Battery

  • 12V: Provides power to the BTS7960 motor drivers and the solar charge controller.
  • GND: Connected to the common ground and the solar charge controller.

Solar Panel

  • +: Connected to the solar charge controller for charging the battery.
  • -: Connected to the solar charge controller for charging the battery.

Solar Charge Controller

  • Input: Connected to the solar panel.
  • Output: Connected to the 12V 200Ah battery and the BTS7960 motor drivers.

Documented Code

Arduino UNO (sketch.ino)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Note: The provided code is a template and does not include specific functionality. It should be populated with the logic required to control the motors, read the sensor, and handle wireless communication.