The DC/DC converter has thermal shutdown. It will slowly oscillate between shutdown state and ON state. The DC/DC converter is rated for 10A max. The power to all of the ports will turn off simultaneously. 6 iPads at 2 amps each will definitely exceed this rating. (I think you can get 2.5A charging if you get the right resistors)
My wall adapter is 12V and 4A, which isn't enough for 6 iPads at 2 amps each even after DC/DC conversion. The adapter itself might melt if it doesn't have a fuse inside or thermal shutdown.
Good thing I don't intend to go anywhere near the limits of this adapter. I mainly use this to charge my PS3 and PS4 stuff, plus as a generic USB power supply for stuff like my Raspberry Pi. I charge my phone with a Qi pad somewhere else.
There is a remote shutdown pin on the DC/DC converter that I can connect to the ATmega328P. I haven't done that yet (as I stated in the blog post)
This is a simple 6 port USB device charger with a individual current monitor on each port. The charging current is indicated using RGB LEDs. Blue means slow charge (under 250mA), green means 250mA to 750mA, red means over 750mA, and purple means over 1500mA (for tablets). This circuit involves an ATmega328P, INA169, and a OKR-T10-W12.
Full blog post on my website (including more pictures, schematic, code)
[quote author="scasagrande"] Is your plan to just vary the voltages on D+ and D- until you find the maximum charge rate? Totally an option but I've found that many devices will require you to disconnect the 5V supply between changing the voltages on D+ and D-. IE the device will set its charge rate when connection is initially made and does not continue to monitor those other lines. You'll need to break the 5V connection each time while hunting for that optimal rate.[/quote]
Thanks for the tip. It was just an idea I was toying with. I am probably over complicating things in my design. I can't supply 6*2.5 amps from a wall-wart anyways, especially with a DC/DC converter without adding extra heat sinking.
For a single port charger, adding a MOSFET to quickly disconnect-reconnect the 5V is feasible.
ohhh you are selling this thing, I thought it was one of those "here's the design on github, take it or leave it", in which case, empty footprints and cuttable traces won't hurt.
I am currently designing a 6 port charging station with individual current monitors. I was thinking about connecting filtered PWM to the D+ and D- pins to auto detect optimal charging settings. What do you think of that?
neat, since the design is SMD and has plenty of free room, perhaps you'd like to add a current monitor? a long bar graph along the side would look fantastic.
question: which devices use the shorted D+ and D- configuration?
suggestion: please upload PDF or PNG versions of the schematic and PCB for easy viewing, on computers without KiCAD and on smartphones/tablets
I noticed the other LPC breakout board topic, I figure I could post mine
I really like the STM32 family of ARM microcontrollers. This breakout board is a narrow design that fits perfectly on a breadboard. Every pin is accessible. It has USB, a reset button, and a bootload button. The chip itself has a permanent USB bootloader that is activated by the bootload button. This means that no equipment is required to program this microcontroller, no expensive debugger, nothing at all except a USB cable.
well it sounds like we have multiple options for transmitting the data at this point. the focus should be on the GUI then.
WiFi is my least desirable option, because in the absence of a router/hotspot, the only other way is to enable WiFi hotspot on the device itself. That drains the battery really fast.
USB is still the lowest common denominator (not sure if I'm using that phrase right)
hello, I am interested in this idea and I know exactly how to accomplish it. It would require me to use a AT90USB1287 or PIC24. It won't be hard at all. I plan on using Microbridge so that it is compatible with all Android, even below 2.3.
I might start doing this as a side project starting September.
Does anybody want to help with the Android app? If I use Microbridge on the hardware side, then the Android end would only need to communicate through a simple network socket.
My phone does not support ADK or AOA or USB host so I can't do this project if Microbridge wasn't used.
For fun, I designed a little USB device, actually it has two USB devices on a small board in the shape of a stick. Two USB capable microcontrollers are on this circuit. One will connect to the Raspberry Pi, and behave like a keyboard and mouse. The other will connect to my laptop. My laptop will run software that captures keystrokes and mouse events. The laptop will tell the microcontroller what to do, so when I press a key on my laptop, the Raspberry Pi thinks the same key is pressed. (and the same with the mouse)
My circuit involves an AVR microcontroller and a MAX3421E USB host interface IC. This IC is exactly the same one as what is used on the "USB Host Shield" and "Android Accessories Development Kit" for Arduino. The circuit is powered at 3.3V, not 5V, keep that in mind. The 3.3V supply comes from a LDO regulator that is actually connected to my Android smartphone's battery (I placed copper tape on the back of my battery, soldered to the terminals, the PCB has springed contacts that connect with the copper tape. The PCB is held to the battery securely because I 3D printed a phone case designed specifically for my PCB and phone. These steps are already done so it is too late to change the project approach regarding this).
Alright, so I've gotten code to work, I know the circuit works, the AVR is programmed, serial debug is working. I have a logic analyzer and checked that the MAX3421E is talking on the SPI bus and is initialized properly.
So I connect it to my smartphone. Keep in mind that since my circuit runs at 3.3V, with no possible source of 5V at this time. So even though GND, D+, and D- are connected to my smartphone, the 5V line is not connected.
The INT output of the MAX3421E does not show activity, meaning from the MAX3421E point of view, nothing has happened. I verified this by checking the D+ and D- USB signals. One of them should show a logic high indicating a connection (only one of D+ or D- depending on the USB speed classification), but none of them do.
Now I'm suspecting that I need to inject 5V into the 5V line to make the smartphone even bother to respond. When I connect it to a 5V external source, Android shows USB as connected, the battery as charging, and there is activity on the MAX3421E's INT signal and SPI bus. This confirms my suspicions. I did try injecting 3.3V instead but the phone does not respond to that.
I connect a DC/DC step-up converter circuit from the 3.3V supply to output 5V. It works and does successfully trick the smartphone into connecting via USB. But the step-up converter gets hot. It's rated for 200 mA, my 3.3V voltage regulator is rated for 300 mA. I did a measurement and the phone was pulling around 600 mA. This is unacceptable.
Through research, I read that I should not place DC/DC converters in parallel. So I have no way of simply increasing the current rating by placing anything in parallel.
I cannot use a bigger battery due to the 3D printed case.
I cannot constantly have an external source of 5V, the final device must be portable.
I know USB devices has to "negotiate" a charge current, in the USB descriptors, it tells the host whether or not it is self or bus powered, and how much current is required. Is there any way to tell the device to not take so much current?
From my knowledge of circuit theory I think there are no practical devices that can maintain 5V and yet still impose a limit on current without dropping voltage, such a device would break Ohm's law. But if I am wrong, please let me know.
Or... is this something that is controlled by the Android OS or a component of the Android OS?
I am using "microbridge" from http://code.google.com/p/microbridge/ which pretends to be a ADB server's TCP connection. I am running Android 2.3.3 I cannot use ADK since it is not supported. Yes I know ICS supports ADK but NO I cannot upgrade to ICS so that's not an option. I did try various ways of hacking ADK into 2.3.3 but had no success.
Another option is to simply get a new DC/DC converter with higher capacity and connect it to the phone's battery, in theory it should work but this is really inefficient. I want to leave this as the last option because it does involve more hardware hacking as opposed to a clean software solution.
EDIT, Progress bNumConfigurations is only 1, which means I can't really tell the phone to use another current setting through software, and bMaxPower is reported to be 500mA
As I get more serious into my electronics hobby, I need to work with more SMD components. Some component packages are very difficult or impossible to solder with a traditional soldering iron. To solve this problem, I decided to hack a toaster oven to become a reflow soldering oven.
Basically, to perform reflow soldering, solder paste is placed on a printed circuit board, and the components to be soldered is placed on top of the solder paste. When the oven heats the solder paste past the melting temperature, the solder paste melts and solders the component to the circuit board.
To control the oven's temperature, I created my own reflow toaster oven controller circuit. This circuit uses an ATmega32U4 microcontroller to monitor the oven's temperature using a thermocouple and AD595AQ, and then control the oven's heating element using a solid state relay. The controller features USB logging/debugging, USB bootloading, a graphic LCD display, and 3 buttons. The firmware features tweaking for all settings, manual temperature control, manual heating element control, and automatic temperature profile control (with a nice temperature history graph display). This circuit will plug into a wall outlet, and the oven will plug into this circuit, while the solid state relay basically acts as a switch between the wall outlet and the oven's heating element. Safety is the main design objective (but some things were limited by cost), and ease of use is the second objective.