Quick introduction to USB
Every computer has a USB connector on it, and all the connectors
are the same, with 4 pins. One pin is Ground, two pins are Data (D+ and
D-) and the last pin is 5V power. The Ground and 5V pins are used to
provide power to whatever is plugged in - keyboard, mouse, USB key, etc.
The two data lines are used to transfer information back and forth -
what keys are pressed, saving files to the USB drive, etc.
Shown above, the 4 wires. Red is power, black is ground, and the white and green wires are the data lines.
Now technically USB ports can provide up to 500mA of current output, and technically every device is supposed to perform a basic data transfer to the computer (called enumeration) where it says "hey, I'm about to drag 500mA out of the computer, just so you know" and the computer can say "go ahead" or "no can do" (this is called the power negotiation).
However, we've found that every device that does not require to do any data transfer (say, USB fans or USB battery chargers) don't bother to warn the computer and just go ahead and grab up to (or even more!) than 500mA from the USB port. As long as they aren't going thru an unpowered hub, this seems to be just fine. All computers have a resettable fuse on the USB port so that if more than 1000mA is drawn, the power will be disconnected. This protects against short circuits in your $5 USB fan that would take down the entire computer!
For example, in the CAD file of the first Mintyboost, the USB connector is the top square. The four ovalish pins in row as the USB wires. Pin #1 and #4 are used for power (blue lines are connected) but there are no traces on the middle two data pins - they are floating.
Using USB as a power supply
Some inexpensive USB toys (say a USB fan or mini soda cooler) don't have any data transfer, they just suck the power from the USB port to run. In this case, they do not use or connect to the Data pins (they are left to 'float').Now technically USB ports can provide up to 500mA of current output, and technically every device is supposed to perform a basic data transfer to the computer (called enumeration) where it says "hey, I'm about to drag 500mA out of the computer, just so you know" and the computer can say "go ahead" or "no can do" (this is called the power negotiation).
However, we've found that every device that does not require to do any data transfer (say, USB fans or USB battery chargers) don't bother to warn the computer and just go ahead and grab up to (or even more!) than 500mA from the USB port. As long as they aren't going thru an unpowered hub, this seems to be just fine. All computers have a resettable fuse on the USB port so that if more than 1000mA is drawn, the power will be disconnected. This protects against short circuits in your $5 USB fan that would take down the entire computer!
iCharge!
Knowing the above, we designed the first Mintyboost to not have anything on the data lines - we assumed that nearly every charger and device would just ignore those pins as they tend not to be usedFor example, in the CAD file of the first Mintyboost, the USB connector is the top square. The four ovalish pins in row as the USB wires. Pin #1 and #4 are used for power (blue lines are connected) but there are no traces on the middle two data pins - they are floating.
When we first released the v1.0 of the MintyBoost oh so long ago,
we quickly got feedback from people who owned all sorts of Apple brand
gadgets. It turned out that older devices worked fine but some of the
newer ones, such as the iPod Mini, were not charging. Hmm! Time to
experiment!
Now to test. We stole an iPod from a friend and cut open a cable so we could mess with the data lines. We tried 3 options each - connected to ground, connected to 3V and not connected (float). At the same time we measured the current draw going thru the power line. We found the following:
First attempt
We figured there was something simple that would make the Apple device charge, and it definately had to do with the data lines (the power lines are fixed at ground and 5V). We thought "is there a enumeration chip inside every charger?" but since that's expensive and kind of overkilly we decided instead to read up on the USB protocol (go Jan!). In particular, in her fantastic book there's a part about the low level signaling states. Since you want to get the iPod charging, but NOT make it try to enumerate, we figured that we should see if there was some sort of special state you could put the data lines into that would say "no computer is attached but there is power". Turns out there is! It's called the SEI and occurs when BOTH data lines are at 3V. For mega details, read this chapter.Now to test. We stole an iPod from a friend and cut open a cable so we could mess with the data lines. We tried 3 options each - connected to ground, connected to 3V and not connected (float). At the same time we measured the current draw going thru the power line. We found the following:
OK, so yes when the pins are floating no charging occurs. The next
thing to note is that whether the pins are pulled up or down effects the
current draw. Since this was the first Mintyboost, using the MAX756, we
wanted to use the lower 100mA rate so one pin pulled down and another
pulled up. This would be more efficient for the battery use and keep the
chip from getting hot (it could provide 250mA but didn't like it much).
Thus was born Mintyboost v1.1!
Thus was born Mintyboost v1.1!
Note that because the mintyboost runs from 2 AA batteries, we can
get 3V directly from the batteries so we connected the pullup right to
the battery input.
More testing!
The iPhone and larger iPods
This worked ok for about a year, then people starting getting the newer iPods and noticed that the Mintyboost didn't work anymore.More testing!
Hmm, looks like we need to have two pull ups after all. We made a
new version that now had either a pulldown or pullup on the D+ line.
iPhones
This worked for a bit until the iPhones came out. With enormous batteries, the iPhone was not happy charging at 250mA - it wanted 500mA or even 1000mA to charge! We sought out an upgrade to the MAX756 and found the LT1302 which could provide 500mA no problem.
Using 100K pullups on the data lines worked pretty good and all was happy! Then the iPhone 3Gs came out and...
Apple stopped being as 'lax' with the charging interface and started
being very picky about having the official chargers. We still doubted
that there was an enumeration chip inside each charger - too expensive
and complex. So there must be something else going on in those data lines.
Time to sacrifice an official Apple iPhone 3Gs charger!
Time to sacrifice an official Apple iPhone 3Gs charger!
Taking it apart, desoldering the 4 data line resistors and
measuring them on our multimeter, we found the following as shown in the
schematic:
The four resistors create a voltage at each of the data
lines that's not 3.3V but rather 2.8 and 2.0 (or so) volts. The problem
is that when you do this, the iPhone starts to draw as much as 1Amp! Way
more than the LT1302 and a couple AA's can provide. We were a bit sad
and thought that there was no way to get the Mintyboost working with an
iPhone when we took at trip to J&R and found an item called the
TuneJuice. The TuneJuice is an iPhone charger that uses 4 AAA batteries.
This is very interesting because there is no way to get an Amp out of
AAA's - they are just way too small. That means there must be something
ELSE going on in that TuneJuice charger to keep the iPhone from gobbling
up the batteries. So we took apart the charger!
And found the following! (We substituted the closest 1% resistor values)
This time both voltages on the data lines are = 49.9K / (49.9K+ 75K) * 5.0V = 2.0V
We did some experimenting (see the video up top) and determined that in fact the different voltages/resistances did effect the charging rates! Using the 2.8V&2.0V setup resulted in a 1 Amp charge rate and the 2.0V&2.0V setup resulted in a 500mA charge rate.
This made us very happy, because 500mA is within the capability of the MintyBoost chip. We redesigned the PCB to allow us to have 4 resistors on the datalines and put two 75K and two 49.9K resistors in each kit. So far we have had no problems charging any of the latest Apple devices. Hooray!
courtesy:http://learn.adafruit.com/minty-boost/icharging
We did some experimenting (see the video up top) and determined that in fact the different voltages/resistances did effect the charging rates! Using the 2.8V&2.0V setup resulted in a 1 Amp charge rate and the 2.0V&2.0V setup resulted in a 500mA charge rate.
This made us very happy, because 500mA is within the capability of the MintyBoost chip. We redesigned the PCB to allow us to have 4 resistors on the datalines and put two 75K and two 49.9K resistors in each kit. So far we have had no problems charging any of the latest Apple devices. Hooray!
courtesy:http://learn.adafruit.com/minty-boost/icharging
Tidak ada komentar:
Posting Komentar