Electronic – arduino – Please rip apart the circuit design

arduinoautomationdesign

I am making an opensource automated wireless window blind controller.

It uses a motor to open and close standard metal blinds.

Below are links to the project documentation:

I have very little experience designing circuits.

This circuit features a continuous servo to open and close the blinds, limit switches to detect when the blinds are fully adjusted in either direction, a solar panel to charge, batteries, an optical sensor to detect room light levels.

The circuit should power the motor to move the blinds, charge the battery when it's not full, not overcharge the battery or charge too quickly so as to cause a fire, allow wireless control via the ESP8266, and detect ambient room light levels. And minimize cost for people wanting to make this. Maybe I could provide kits to give bulk discounts on materials…

Please tell me what is right/wrong with this circuit. I will purchase the parts soon but when I jump the gun and buy things, I am usually told I should have asked for advice before wasting my money. So here I am, please advise 🙂 .

Edit:
Clarification of question- Will the battery charge? Did I wire the ESP8266 correctly? Is the ESP8266 a good choice for wireless communication? Or should I use a different module?

Additional details-
here is the ESP8266 seeedstudio.com/depot/WiFi-Serial-Transceiver-Module-w-ESP8266-p-1994.html?gclid=COCWyoLuscICFREpaQodznEA2g

Best Answer

There are numerous problems with your schematic:-

  1. The ESP8266 is rated for 3.6V maximum. A 3.6V NiMH battery can charge up to 4.2V or higher and the Schottky diode may drop less than 0.4V, so the ESP8266 could get over 3.8V which will probably destroy it. You should insert a voltage regulator to keep the voltage down to a safe and constant value (eg. 3.3V).

  2. The Arduino Uno needs +5V, but your circuit only supplies 3~4V. However on your Hackaday page you suggest that it will be stripped down to "just the mega and crystal". In that case you will need a 3.3V regulator to power the MCU, and the schematic should show this.

  3. Both limit switches are connected to one input, so it will be difficult to tell which end has been reached. You should use a separate input for each switch.

  4. There is no pull-down resistor on the switch input. I suggest connecting the switches to GND rather than Vcc, then you can activate the MCU's internal pullups to define the open switch voltage level.

  5. The optical sensor (CDS?) needs a pull-up resistor.

  6. The servo probably needs at least 4.8V for reliable operation (the minimum recommended supply for most servos is a 4 cell NiMH pack). To charge this you will need a 6V solar panel.

  7. You have connected both ESP8266 GPIO pins to TXD on the UNO. If you don't have a use for these pins then you should leave them open circuit.

The solar panel will charge the battery if its output voltage - less voltage drop across the blocking diode - is higher than a charged battery. A 4 cell NiMH pack will reach about 5.6V (1.4V/cell) while charging, and the diode drops about 0.4V, so a 6V solar panel should be sufficient. To limit charging current you just have to use a small panel that can't deliver more than 1/10th the capacity of your cells (eg. 200mA panel for 2000mA cells).

Your schematic is ambiguous in some places (MCU, limit switches), and generally looks messy. I suggest that you draw up a proper circuit diagram with all parts and connections shown, wiring straightened out, and arranged in order of power and signal flow. A neatly drawn schematic will help you to visualize circuit operation and avoid wiring errors when building the project.

Related Topic