ARM Laptopproject deel 3b: De elektronica (2/2)

Door C.Hariri op zondag 16 september 2012 19:31 - Reacties (16)
Categorie: -, Views: 7.045

http://i.imgur.com/2t7WV.png
Dit is het tweede deel van de elektronica post. Ik zal per onderdeel de vereisten herhalen die we in deel 3a hadden opgesteld. Vervolgens wordt de elektronica besproken die nodig is om daaraan te voldoen. Omdat het om een prototypelaptop gaat zal elk onderdeel minimalistisch en modulair zijn. We zullen minder ingewikkelde circuits prefereren, zelfs al leidt dit tot een lagere efficiŽntie. Ook kunnen we zo elk onderdeel afzonderlijk testen waardoor we fouten makkelijker op te sporen zijn en blijft de mogelijkheid voor updates open.

http://i.imgur.com/9zGKv.png
In het vorige deel hadden we berekent dat we 8 Li-Ion cellen nodig hadden om de 16 uur batterijduur mogelijk te maken. Deze batterijen kunnen op verschillende manieren gecombineerd worden tot een battery-pack. De ene manier is met alle cellen in serie. De batterijen gedragen zich dan als een spanningsdeler. Echter heeft niet elke batterij dezelfde interne weerstand waardoor we niet een laadspanning van 4.2V per cel kunnen garanderen. Een cell-balancing circuit verhelpt dit probleem maar voegt onnodige complexiteit toe.
Dit kan verholpen worden door al de cellen parallel op te stellen. Het potentiaalverschil op alle cellen is dan gelijk, de enige variabel is de stroomsterkte die afhankelijk is van de interne weerstand. Dit is een uitermate veilige oplossing, met als enige risico dat deze weerstand van een willekeurige cel nul nadert waardoor de hele boel kortsluit.
Een ander probleem is dat step-down regulators veel efficiŽnter zijn dan step-up’s. Het verschil is ongeveer 10 procent (80% tegen 90% volgens menig simulator), waardoor we wellicht niet genoeg zullen hebben aan 8 cellen. Hoe de efficiŽntie van deze circuits en capaciteit van de batterijen in praktijk zijn wachten we af. In het ergste geval zullen we cellen toe moeten voegen, maar omdat we met een parallelle constructie werken is dit triviaal.

http://i.imgur.com/al93C.png
Er wordt gebruik gemaakt van een MAX1736. De IC zoekt de maximale stroomsterkte op die geleverd kan worden en opereert op ongeveer 5V. We gebruiken enkele transistoren om deze te limiteren. De lader heeft een Enable-poort. Deze zullen we gebruiken in combinatie met een NTC om het laden te onderbreken indien de temperatuur te hoog is. Omdat dit een prototype laptop is, is de tijd die de laptop neemt om de batterijen geheel op te laden irrelevant.

http://i.imgur.com/xbz1n.png
Het systeem zal met de battery-pack gevoed worden indien de adapter niet aangesloten is. Het voltage (3.4 tot 4.2V) zal dus opgehoogd moeten worden tot 5 en 9V. Dit gebeurt met respectievelijk de MAX1709 en MAX1771. Van de laatste moeten er twee gebruikt worden omdat we per stuk niet aan de minimale stroomsterkte van 2A kunnen voldoen.

http://i.imgur.com/s9XDa.png
De elektronica van de batterijkant worden herbruikt indien de adapter is aangesloten. Omdat deze op 19V werkt moet de spanning eerst worden teruggebracht tot onder 5V. Hiervoor gebruiken we een LTC3891 circuit, dat maximaal 10A kan leveren. Een Power Power Path LTC4412 chip zal de adapter selecteren indien deze aanwezig is waardoor de batterij niet gebruikt hoeft te worden.

http://i.imgur.com/a3ddS.png
Een DS2745 zal de batterijstatus bepalen. De chip wordt al toegepast in enkele Linux-omgevingen (android telefoons) waardoor er minimale custom-software moet worden geschreven.

http://i.imgur.com/AWz9B.png
http://i.imgur.com/MunHv.png
Diagram van de bovengenoemde opstelling

We zullen zoveel mogelijk de referentie ontwerpen aanhouden. Functies die niet nodig zijn zullen uiteraard niet mee worden genomen. Elk onderdeel zal onafhankelijk kunnen opereren waardoor ondermaatse componenten gemakkelijk vervangen kunnen worden.

Met CADSoft Eagle is het schema ontworpen, deze ziet er als volgt uit:
http://i.imgur.com/NUcCk.png
Er is hier slechts 1 MAX1771 in opgenomen.

http://i.imgur.com/pLQH1.png
Het uiteindelijke ontwerp is minimalistisch en modulair. We kunnen zo elk afzonderlijk onderdeel testen waardoor we fouten makkelijker op te sporen zijn en blijft de mogelijkheid voor updates open. Zodra alle onderdelen binnen zijn zal het bord gebouwd worden. Tot die tijd hebben jullie de mogelijkheid om kritiek te geven ;)

Todo's:
- diodes zijn slechts placeholders, moet nagaan welke daar het meeste voor geschikt zijn.
- polariteit van o.a. caps. moet worden geverifieerd.
- pins doublechecken tov de datasheet.
- GDS mosfet en circuit in het algemeen doublechecken.
- bouwen en testen

Volgende: Nat scheren met veiligheidsscheermes 10-'12 Nat scheren met veiligheidsscheermes
Volgende: ARM Laptopproject deel 3a: De elektronica (1/2) 08-'12 ARM Laptopproject deel 3a: De elektronica (1/2)

Reacties


Door Tweakers user SA007, zondag 16 september 2012 21:08

Het ziet er voor mij uit alsof de componentkeuze nogal vreemd is, meeste componenten zijn gigantisch terwijl je voor ene laptop minimaal moet nastreven.

Ook zit er nogal veel lege ruimte in en is mij onduidelijk waarom de schema's zo gescheiden van elkaar zijn.

Is dit nou een testontwerp om de voeding te gaan testen of iets wat het eindproduct moet worden, in het eerste geval mis ik flexibiliteit dat er makkelijk andere componenten ingeplaatst kunnen worden, in het 2e geval is het ontwerp veel te log.

----

2 step-ups aan elkaar hangen is overigens een recept voor problemen, ik zou gewoon een step-up zoeken die in 1x de juiste power kan leveren of een die met een mosfet opgevoerd kan worden tot het gewenste vermogen.

---

Waarvoor is trouwens de 5V, elk beetje modern chipje werkt op 3.3V, wat je wel kan bereiken met een step-down.

Door Tweakers user C.Hariri, zondag 16 september 2012 21:45

Hey,

De componenten zijn inderdaad fors, met name de inductoren, Ik heb geen ruimtegebrek in de laptop dus ik kan me een ruim ontwerp wel permiteren.

Het hele bord is 91 bij 105mm. De in/uitgangen verlopen dmv terminalen (zoiets als deze : http://www.electronicplus.com/images/products/13-1403B.jpg). Elk onderdeel is gescheiden gehouden zodat het afzonderlijk getest, en indien mogelijk vervangen, kan worden. Het bereik van mogelijke input zal ik afgaan en controleren of de juiste output gegenereerd wordt.

Uiteindelijk kan alles aanelkaar geknoopt worden, of een efficienter ontwerp gemaakt worden (denk het eerste voor het prototype).

De 1A van de step-up zal voorlopig wel voldoende zijn, ik heb er op het bord namelijk ook maar 1 geimplementeerd. Heb het aangepast in het diagram.

Het moederbord slikt alleen maar 5V, dus geen keuzemogelijkheid voor 3.3V.
Had eigenlijk nog een opmerking verwacht over de belachelijk slechte traces :P.

[Reactie gewijzigd op zondag 16 september 2012 21:57]


Door Tweakers user Damic, zondag 16 september 2012 22:02

Dan zal ik die maar maken: Had eigenlijk nog een opmerking verwacht over de belachelijk slechte traces :P

Welke libs gebruik je eigenlijk want die weerstanden zien er me nogal raar uit? ik gebruik meestal de rcl.lib voor weerstanden spoelen en condensators.

Waarom hang je niet de circuits aan elkaar die aan elkaar moeten hangen, of zie ik het niet goed?

[Reactie gewijzigd op zondag 16 september 2012 22:06]


Door Tweakers user mux, zondag 16 september 2012 22:18

Mogen we het hele schema + componentlijst eens zien?

Door Tweakers user Sissors, zondag 16 september 2012 22:39

Mijn ervaring met PCBs maken is nogal beperkt (eentje totaal, en dat was ook nog eens voor testen van een redelijk RF IC, en dus wel wat anders dan dit), maar voor mijn ongetrainde oog lijkt dit geen heel geweldige routing.

Als voorbeeld rechtsbovenin. Daar gaat je trace tussen twee pinnen door. Ik ga ervanuit dat dat precies aan de minimum afstand voldoet, maar waarom niet simpelweg niet boven die pin langs en dan onder het IC door?

En vlak daaronder heb je horizontale blauwe trace, die vlak langs een voedings trace gaat. Die komen verrekte dicht bij elkaar, lijkt mij eigenlijk vreemd als dat niet of kortsluiting is, of niet aan de DRC voldoet.

Door Tweakers user C.Hariri, zondag 16 september 2012 22:59

@Damic
Ik heb alle Maxim/Linear onderdelen zelf moeten aanmaken in Eagle. Condensatoren e.d. dan ook maar aangemaakt om zeker te zijn dat ze de goede afmetingen hadden. Kon ook zelf kiezen waar de tekst stond zodat het overzichtelijk bleef.

Wil liefst zo min mogelijk tegelijk testen zodat wanneer iets "boem" doet, niet gelijk het hele bord kapot is :).

@Mux
Het boardschema is voor de helft zichtbaar omdat het niet in de pagina past. Rechtermuisknop -> view image laat alles zien. Het andere schema staat nu hoofdzakelijk op papier. Morgen zal ik het even overnemen in de computer.

Componentenlijst: http://pastebin.com/GPr6WKFz

@ furby-killer
Die had ik inderdaad over het hoofd gezien. Traces die dicht bij elkaar komen, en waar er niet gesoldeert hoeft te worden kunnen geen kwaad, denk ik.

[Reactie gewijzigd op zondag 16 september 2012 23:09]


Door Tweakers user Marce, zondag 16 september 2012 23:05

Ik ben inderdaad ook wel erg benieuwd naar de elektronische schema's. Verder wil ik niet al te negatief klinken, maar zelfs voor een prototype zou ik dit niet laten etsen. Punten zoals furby die opnoemt zitten door de hele print heen. Zo ook condensatoren die dan vervolgens met sporen van een kilometer aan elkaar geknoopt worden.

Nog een ander punt is de (2 milli of megaohm) weerstand links onderin welke vervolgens een heel mooi spoortje tussen beide pinnen heeft.

Ik zou beginnen met je clearance een stukje hoger te zetten aangezien daar ruimte zat voor is en dit een hoop ellende kan schelen. Hoe dit werkt weet ik niet want ben niet bekend met deze software..

EDIT: Waar mux op doelde is een schematisch schema, geen printlayout. En misschien heb je voor een gedeelte gelijk dat het geen kwaad kan als er niet gesoldeerd wordt, maar het kan helemaal geen kwaad om je ruimte te nemen als je die hebt.. Zekere voor het onzekere!

[Reactie gewijzigd op zondag 16 september 2012 23:08]


Door Tweakers user C.Hariri, zondag 16 september 2012 23:15

@Marce
Componenten waar een niet al te hoge stroom overheen loopt zijn verspreid om ervoor te zorgen dat juist degene met een grote stroomsterkte wel bijelkaar kunnen. Als voorbeeld de 0.1uF'en rechts onder.

Als "current sense" weerstanden heb ik de trace zelf gebruikt, dus vandaar dat alle RSense een spoor tussen beide pinnen hebben.

Het andere schema staat nu hoofdzakelijk op papier. Morgen zal ik het op de computer uitwerken.

[Reactie gewijzigd op zondag 16 september 2012 23:18]


Door Tweakers user Damic, maandag 17 september 2012 00:16

Je had kunnen zien of dat de maxim's toevallig al niet in de db staan op http://www.cadsoftusa.com/ zelf (downloads > Libraries)Staan er niet tussen, ook de ltc's niet, uploaden die hap naar cadsoft :)

Ik zou zeggen voor de weerstanden en condensators bekijk de rcl lib maar eens, staan veel soorten en maten in, ik denk zo goed als alles.

En als je toch al in smd bezig bent, waarom dan niet verder in smd doen?

Zie dat je lijnen horizontaal of verticaal liggen en hoeken onder 45į staan (of gemakkelijker 3x3, lees als 3 punten opzij en 3 punten ophoog op raster 0.635mm).

Door Tweakers user pythagorasABC, maandag 17 september 2012 00:30

Een paar punten:

- Maak een ground plane; de onderste plane moet dus volledig koper zijn, en alle traces moeten over de top plane lopen.
- Als je toch ECHT geen ruimte meer hebt kun je een paar traces over de ground plane laten lopen, maar dit moet minimaal zijn.
- Sommige traces zijn heel dik, sommige zijn heel dun. De traces kun je het beste net zo groot maken als de pad ongeveer.
- Volgens mij zitten de componenten met 0,0 ruimte speling naast elkaar. Dit lijkt me niet zo handig.
- Waar zijn de 0.1uF condensatoren voor? Als het ontkoppelcondensatoren zijn moeten ze zo dicht mogelijk bij de IC waar ze bijhoren.
- Een goede pcb ziet er mooi uit, componenten die bij elkaar horen netjes naast elkaar gezet.

Voorbeeld van een goede PCB:
http://cdn.head-fi.org/1/1b/1b92680c_pcb1.jpeg

[Reactie gewijzigd op maandag 17 september 2012 00:31]


Door Tweakers user Damic, maandag 17 september 2012 01:24

Zoiets ook goed? http://cd-pc.mazda-club.be/images/rx7_epcr/rx7_epcr_pcb.jpg groundplane is ook onderkant, maar hier niet geactiveerd, speling is goed volgens itead rule check.

Door Tweakers user P5ycho, maandag 17 september 2012 09:07

Neem deze tutorial eens door:
http://alternatezone.com/electronics/pcbdesign.htm

Tracks gebruiken als current sense resistors is vragen om moeilijkheden imho. Afhankelijk van de PCB fabrikant kan een tracedikte verschilen, met alle gevolgen van dien. Zelfs bij dezelfde fabrikant is een etsproces nooit gelijk per batch, ook afhankelijk van het percentage te etsen koper.

Verder: alles dat geen track is, is ground. dit scheelt ook aanzienlijk in te etsen materiaal. Zorg wel dat alles ook daadwerkelijk met ground verbonden is. Probeer ook de stromen eens te volgen door je bord, als je grote omwegen ziet door obstakels (tracks, connectoren, etc) dan heb je nog wat te doen.
2laags borden zijn nooit perfect wat dat betreft, dus je zult altijd enige compromissen moeten maken.

Door Tweakers user naftebakje, maandag 17 september 2012 12:28

pythagorasABC schreef op maandag 17 september 2012 @ 00:30:
Een paar punten:

- Maak een ground plane; de onderste plane moet dus volledig koper zijn, en alle traces moeten over de top plane lopen.
...
Niet helemaal correct, blind een groundplane gieten kan slechter zijn dan traces als ground gebruiken. Het kan beter zijn om lokale groundplanes te gieten rond elk voedingsdeeltje, en de verbindingen ertussen goed te kiezen.
Lees bij gebruik van schakelende voedingen de opmerkingen in de datasheet goed, neem desnoods het voorbeelddesign blind over.

Door Tweakers user mux, maandag 17 september 2012 12:49

Sorry, maar ik moet je teleurstellen. Zo gaat dit project nooit werken. Je probeert in ťťn keer van de meest basic kennis van elektronica naar een behoorlijk kritisch board design te springen. Je maakt alle mogelijke beginnersfouten + nog een paar. Ik wil je niet de moed ontnemen hoor, maar....

Doe het rustiger aan, focus je eens op ťťn aspect en probeer dat helemaal goed uit te werken. Bijvoorbeeld: probeer eens succesvol een batterijlader te ontwerpen volgens je huidige specificaties. Niets meer en niets minder. Smijt dat in een blog en vraag dan om commentaar, dan kun je binnen een maand een prachtig ontwerp hebben liggen en heb je allerlei relevante kennis opgedaan. Momenteel heb je gewoon vťťl te veel hooi op je vork genomen.

Door Tweakers user C.Hariri, maandag 17 september 2012 15:00

Hey,

ik heb het schema uitgewerkt (http://i.imgur.com/I8DvM.png). De opmerkingen over 1 ground waarop alles is aangesloten is hierin meegenomen.

Commentaar over de routing en plaatsing van componenten zal ik in het later stadium (bij de implementatie van het board) toepassen.

Ik wil best per onderdeel een miniblog maken, maar de meeste onderdelen wijken erg weinig af van de voorbeelden die gegeven zijn in de datasheets, dus ik weet niet in hoever daar relevantie kritiek is op te geven. In iedergeval is het schema nu bekend. Ik zal niks implementeren totdat er voldoende commentaar op is gegeven.

[Reactie gewijzigd op maandag 17 september 2012 15:44]


Door Tweakers user pythagorasABC, maandag 17 september 2012 16:21

naftebakje schreef op maandag 17 september 2012 @ 12:28:
[...]
Niet helemaal correct, blind een groundplane gieten kan slechter zijn dan traces als ground gebruiken. Het kan beter zijn om lokale groundplanes te gieten rond elk voedingsdeeltje, en de verbindingen ertussen goed te kiezen.
Lees bij gebruik van schakelende voedingen de opmerkingen in de datasheet goed, neem desnoods het voorbeelddesign blind over.
Daar heb je inderdaad gelijk in. Bijvoorbeeld bij een analoog en digitaal deel kan dit handig zijn. Ik heb me niet genoeg in het schema verdiept om te weten hoe de groundplane het beste gelegd kan worden.

Ik snap echter niet waarom traces beter zijn dan een/meerdere groundplane(s).

Reageren is niet meer mogelijk