Jeg håpet å designe mitt eget Arduino-kort for et nylig prosjekt av meg, et bærbart prosjekt som ble drevet av et 3,7 LiPo-batteri. Ideelt sett ønsket jeg å erstatte USB B-porten med en USB-mikroport som implementerer følgende funksjoner:
- Gir strøm til Arduino mens den er koblet til (akkurat som en vanlig Arduino gjør
- Koble D + og D-pinnene på USB-en til Arduino på en eller annen måte for å tillate programmering om bord (men Arduino oppnår dette allerede, jeg vil referere til dette som "innebygd usb / seriell omformer "). Jeg vil at den skal holde den programmerbar mens du er på farten.
- Lader et innebygd 3,7V LiPo-batteri. Jeg håpet å kunne bruke Adafruit's PowerBoost 500 Shield som referanse for skjematisk.
Jeg har imidlertid ikke klart å finne en skjematisk oversikt eller et eksempel som implementerer alle tre funksjonene ovenfor samtidig fra samme USB-port . Jeg har ikke mye erfaring med ladingskretser, så følgende spørsmål kan høres dumme ut. Nedenfor er noen løsninger jeg tenkte på som sannsynligvis ikke vil fungere, men jeg ønsket å være sikker på:
- Koble LiPo-batteriets utgangsspenning til V + / GND-forsyningen til USB-kabelen (sannsynligvis ikke trygt å koble alle V + kilder sammen).
- Bare koble D +/- datakablene til "innebygd usb / seriell omformer" uten å koble Vbat / Vusb på en eller annen måte, få USB V + / GND til å koble til LiPo-ladekretsen og batterispenningseffekten Arduino.
Jeg vet at noen enheter har denne lading / dataoverføringsfunksjonaliteten (f.eks. at telefonen min kan overføre bilder til datamaskinen mens den slås på og lades samtidig), men jeg Jeg lurer på hvordan det er mulig å ha lignende funksjonalitet for et Arduino-kort. Noen råd?
Absolutt i verste fall, jeg har bare to USB-porter, en for lading av LiPo og en for seriell kommunikasjon / programmering
EDIT: Ideen om å bruke en ATMega32U4 virker tiltalende (til tross for driftsspenningen på 3,3 V vs 5 V), hovedsakelig fordi den har en pin for VBUS for USB og Vcc for hovedstrøm. Men jeg lurte på hvordan jeg skal gjøre dette på si en ATMega328P som ikke har en pin for VBUS.