Circuit Page in English
Circuit Page in English

Schaltung

Die Schal­tung wur­de mit ei­nem ATmega88PA re­a­li­siert. Dies­mal voll­stän­dig in THT so dass sie auch mit ein­fa­chen Mit­teln auf ei­ner Loch­ras­ter-Pla­ti­ne auf­ge­baut wer­den kann.

Im Lauf der Ent­wick­lung wur­de er bis auf den letz­ten Pin aus­ge­reizt. (Tat­säch­lich könn­te man die Pins der Pro­gram­mier-Schnitt­stel­le noch ein­ge­schränkt dop­pelt be­le­gen.)

Wenn man auf ein paar Gim­micks in der Soft­ware ver­zich­ten wür­de, könn­te sie auch in ei­nen ATmega48 pas­sen, der ja nur 4 k Flash be­sitzt. Mei­ne ak­tu­el­le Soft­ware passt knapp nicht...

Tat­säch­lich kann in den Sour­cen per #define auch ein ATmega8A aus­ge­wählt wer­den, den ich zu­nächst ver­se­hent­lich be­stellt ha­be. Er ist pin­kom­pa­ti­bel aber es wird dann ein an­de­rer Timer be­nutzt, die Funk­tion ist je­doch die glei­che. Nur hat der ATmega8A kei­nen Tem­pe­ra­tur­sen­sor, der im Mo­ment aber so­wie­so nicht ge­nutzt wird.

Die kom­pi­lier­te Firm­ware muss mit dem ge­nutz­ten Con­trol­ler über­ein­stim­men! Ei­ne Bi­när­kom­pa­ti­bi­li­tät zwi­schen den bei­den Ty­pen exis­tiert nicht!

Tat­säch­lich ha­be ich bis­her nur den ATmega8a ein­ge­setzt. Die Funk­tion mit dem ATmega88 ha­be ich bis­her nicht ge­tes­tet!

Sieben­segment-Display

Es wur­de ein neu­e­res Dis­play mit ge­mein­sa­mer Ka­tho­de ge­wählt, das auch mit re­la­tiv ge­rin­gen Strö­men ei­ne ho­he Hel­lig­keit er­zielt. Der ATmega treibt die Seg­men­te di­rekt mit je ei­nem Port­pin von sei­ner VCC ge­gen GND. Für die ge­mein­sa­me Ka­tho­de wur­de ein Re­lais­trei­ber ULN2803 ge­wählt da der Strom hier für ei­nen Port­pin ein­deu­tig zu hoch ist. Die­ser ist deut­lich kom­pak­ter und mit gut 30 Eu­ro-Cent wahr­schein­lich auch bil­li­ger als ei­ne dis­kre­te Lö­sung be­stehend aus sechs (Dar­ling­ton)-Tran­sis­to­ren plus Ba­sis-Wi­der­stän­den plus der zu­sätz­li­chen Lei­ter­plat­ten­flä­che. Man könn­te na­tür­lich auch den ULN2003 wäh­len der nur sie­ben Tran­sis­to­ren be­sitzt (wir brau­chen ja nur sechs) und ent­spre­chend so­gar ein biss­chen klei­ner und viel­leicht auch noch bil­li­ger ist aber den 2803 ha­ben wir halt im La­ger...

Tat­säch­lich kön­nen sie auch den ULN2003 ver­wen­den, er muss dann rechts­bün­dig ein­ge­lö­tet wer­den, d.h. die Pins 1 und 18 blei­ben frei.

Auch bei den Seg­ment­trei­bern (al­so den ent­spre­chen­den Port­pins, da hier kei­ne wei­te­ren Trei­ber da­zwi­schen lie­gen) müs­sen wir auf­pas­sen. Der Strom pro Seg­ment liegt zwar mit 20 mA im er­laub­ten Rah­men doch spe­zi­fi­ziert das Da­ten­blatt ei­nen ma­xi­ma­len Strom von 100 mA pro Port so dass wir nicht al­le 8 Seg­men­te an den glei­chen Port le­gen dür­fen! Dies ver­kom­pli­ziert die Soft­ware ein we­nig, ist aber auch nicht wirk­lich schlimm.

Der po­si­ti­ve Ef­fekt hier­bei ist, dass das Pro­gram­mier-In­ter­face frei von zu­sätz­li­chen Las­ten ge­hal­ten wer­den konn­te.

Spe­zi­ell bei bil­lig-Pro­gram­mern aus dem E-Bay-Sor­ti­ment kann man nie si­cher sein, ob sie auch bei 20 mA noch die er­for­der­li­chen Pe­gel und An­stiegs­zei­ten auf­brin­gen die für ei­ne si­che­re Pro­gram­mie­rung er­for­der­lich sind.

Be­ach­ten Sie hier­bei: die Seg­ment-Trei­ber-Pins sind nicht als Aus­gang kon­fi­gu­riert! Der Pin ist stän­dig High und die An­steu­e­rung er­folgt über das DDR! Hier se­hen sie, wa­r­um.

Main Switch

Schaltplan-Auszug des Switches

Ein­ge­schal­tet wird über den Tas­ter SW1, der den MOSFET Q2 di­rekt an­steu­ert. Nach Los­las­sen des Tas­ters über­nimmt dies der Con­trol­ler über Q1, der den Ar­beits­kon­takt des Tas­ters über­brückt. So­mit kann er ihn auch bei län­ge­rer In­ak­ti­vi­tät wie­der ab­schal­ten. Die­se Schal­tung hat prak­tisch kei­nen Stand­by-Ver­brauch und ent­spricht da­mit ei­nem ras­ten­den Schal­ter, den wir sonst extra hät­ten hin­zu­fü­gen müs­sen.

Da­mit der Tas­ter auch bei ein­ge­schal­te­tem Gerät für Ein­ga­ben zur Ver­fü­gung steht nut­zen wir sei­nen Ru­he­kon­takt (die Lei­tung SW). Der ein­ge­setz­te Tas­ter (Shadow Di­gi­tast) ist ein sehr hoch­wer­ti­ger Tas­ter mit an­ge­neh­mem Tast­ge­fühl und lan­ger Le­bens­dau­er. Bil­lig­ere Tas­ter kön­nen eben­so funk­tio­nie­ren, nur nicht so lan­ge und nicht so pro­fes­sio­nell.

Hätten wir hier nur ei­nen Tas­ter mit Ar­beits­kon­takt könn­ten wir das durch hin­zu­fü­gen von zwei Di­oden und ei­nem Tran­sis­tor eben­falls er­rei­chen. Ich über­las­se es Ihnen als Denk­sport­auf­ga­be, wo die­se sit­zen müss­ten :-).

Für die Un­sport­li­chen und die Neu­gie­ri­gen hier ei­ne ent­spre­chen­de Si­mu­la­tion1 für LTspice.

Es hat sich ge­zeigt, dass man den Tas­ter un­er­war­tet lan­ge drü­cken muss um die Waa­ge ein­zu­schal­ten. Zwar gibt es An­fangs ei­nen Delay von 50 ms der ver­hin­dern soll, dass sie sich selbst er­neut an­schal­tet nach­dem der Con­trol­ler sie ge­ra­de ab­ge­schal­tet hat aber es hat sich ge­zeigt, das wei­te­re 450 ms nö­tig sind um bis da­hin zu kom­men. Das scheint am Start­up des RC-Os­zil­la­tors zu lie­gen, des­sen Zeit im Da­ten­blatt nicht spe­zi­fi­ziert ist. Der ATmega8A braucht al­so (mit RC-Os­zil­la­tor) fast ei­ne hal­be Se­kun­de nach An­le­gen der Ver­sor­gung be­vor er sei­nen ers­ten Be­fehl aus­führt...

Verpolungsschutz

Sowohl ein Netz­ge­rät als auch die Bat­te­rie kön­nen ver­polt an­ge­schlos­sen wer­den. Um ei­ne Be­schä­di­gung der Schal­tung zu ver­mei­den könn­ten wir ei­ne Di­ode in Rei­he schal­ten. Die­se wür­de je­doch durch ih­ren Span­nungs­ab­fall die Ver­lust­leis­tung er­hö­hen und da­mit die Bat­te­rie-Le­bens­dau­er ver­rin­gern. (Bei 9 V um et­wa 8%, al­so noch kein Pro­blem für ein Chi­na-De­vice)

Wir könn­ten auch ei­ne Di­ode par­al­lel schal­ten die bei Ver­po­lung kurz­schließt. Im Falle ei­nes kräf­ti­gen Netz­teils wür­de die­se al­ler­dings ka­putt ge­hen. Des­halb ha­be ich hier 40 Cent in­ves­tiert um den Ver­po­lungs­schutz mit ei­nem P-MOS FET NTD2955 (Q3) zu re­a­li­sie­ren.

Schaltplan-Auszug des VerpolungsschutzesEr lei­tet nur, wenn die Span­nung rich­tig an­ge­schlos­sen wur­de und sperrt bei ver­pol­ter Ver­sor­gung. D2 be­grenzt da­bei die Gate-Span­nung und so funk­tio­niert die­se Schal­tung bis zur Durch­bruch­span­nung des FETs von 60 V, al­so bis weit über die zu­läs­si­ge Ver­sor­gungs­span­nung.

Tat­säch­lich sind die 2×40 Cent (Ver­po­lungs­schutz und Main Switch) pu­re Geld­ver­schwen­dung da die­ser MOSFET viel mehr kann (12 A!) als nö­tig, aber er war nun mal bei uns im La­ger... Auf je­den Fall muss er nicht ge­kühlt wer­den... Viel­leicht kön­nen Sie das auch mit 20 Cent re­a­li­sie­ren wenn es da­r­auf an­kommt. Ein simp­ler BSS84 mit -130 mA ID reicht je­doch knapp nicht (ausser für ein China-De­vice 😉).

Au­ßer­dem wür­de der BSS84 mit ty­pisch 6 Ω Ka­nal­wi­der­stand selbst bei 65 mA 0,4 V Span­nungs­ab­fall be­wir­ken (al­so fast so viel wie ei­ne bil­li­ge Di­ode) und da­mit zu er­höh­ter Ver­lust­leis­tung und nied­ri­ge­rer Bat­te­rie-Le­bens­dau­er füh­ren. Der NTD2955 liegt da mit sei­nen ty­pi­schen 0,155 Ω doch we­sent­lich bes­ser, so dass sich die Geld­ver­schwen­dung doch ir­gend­wie (oder ir­gend­wann) ren­tiert.

Der MOSFET hat kaum Span­nungs­ab­fall im Durch­lass-Be­trieb (bei 200 mA et­wa 36 mV ent­spre­chend et­wa 7 mW) und zieht prak­tisch kei­nen Strom bei Ver­po­lung und ist da­mit bis zu sei­ner Durch­bruch­span­nung von 60 V si­cher und da­mit si­che­rer als der Span­nungs­reg­ler, der nur 40 V aus­hält. Kaputt ma­chen kann man na­tür­lich al­les... Mit die­sen Da­ten ist er ei­ner simp­len Di­ode je­den­falls haus­hoch über­le­gen, spart er doch rund 8% Bat­te­rie bei re­la­tiv ge­rin­gen Mehr­kos­ten.

Um das noch­mal in der Pra­xis zu er­läu­tern, aus­ge­hend von ei­ner re­a­lis­ti­schen Bat­te­rie-Le­bens­dau­er von ei­nem Jahr hält sie mit die­ser Schal­tung im­mer­hin ein Mo­nat län­ger!

Fi­nan­zi­ell ist das zwar (zu­min­dest zur Zeit) kein Ge­winn, öko­lo­gisch aber wahr­schein­lich schon!

Die Ze­ner­di­oden D1 und D2 be­gren­zen da­bei die Gate-Span­nun­gen auf zu­läs­si­ge Wer­te. Wenn si­cher­ge­stellt ist, dass nicht mehr als 20 V (die ma­xi­ma­le Gate-Source-Span­nung) an­ge­schlos­sen wer­den könn­ten Sie die­se auch weg­las­sen. Aber sie sind auch nicht wirk­lich teu­er. Viel­leicht nimmt doch je­mand ein 24 V-Netz­teil das mit 26 V am obe­ren En­de liegt und aus­reicht um das Gate durch­zu­bal­lern... Bet­ter sa­fe than sor­ry!

Man könn­te nun auf die Idee kom­men, den Tran­sis­tor für den Ver­po­lungs­schutz gleich­zei­tig als Main Switch zu be­nut­zen doch die­ser Trick funk­tio­niert lei­der nicht, da auch bei ab­ge­schal­te­tem Q3 wei­ter­hin Strom über des­sen Body Di­ode ge­führt wür­de 😠.

Hätten Sie da­r­an ge­dacht? Des­halb ist es sinn­voll, selbst so ein­fa­che Schal­tun­gen vor­her un­ter al­len Be­din­gun­gen zu si­mu­lie­ren!

Debug-Schnitt­stel­le

Leider sind die Pins der be­vor­zug­ten Debug-Schnitt­stel­le, RS232, be­reits an­der­wei­tig be­legt. Einzig das SPI-In­ter­face ist zu­gäng­lich. Sogar kom­for­ta­bel über ei­nen 6-Pin-Jum­per! Das reicht aber für Debug-Aus­ga­ben völ­lig aus. Wir schi­cken al­le Bytes ein­fach über SPI und ihr Logic-Ana­lyzer (im ein­fachs­ten Fall ein Saleae Logic 8, der nicht nur gut aus­sieht son­dern wirk­lich je­den Eu­ro des An­schaf­fungs­prei­ses wert ist) kann die Bytes de­ko­die­ren und de­zi­mal oder als HEX an­zei­gen.

Ein­ga­ben sind al­ler­dings pro­ble­ma­tisch, zu­ge­ge­ben... wa­ren aber bis­her auch nicht wirk­lich nö­tig.


1 Dies ist nur ei­ne Si­mu­la­tion und wur­de von mir nie wirk­lich auf­ge­baut. Er­fah­rungs­ge­mäß trifft die Si­mu­la­tion die Re­a­li­tät aber im Nor­mal­fall recht ge­nau.