Ich will nur so zum Spaß und Übungszwecken einen Ur-alten TexasInstruments Taschenrechner (hab ihn gerade nicht bei der Hand deshalb kann ich nicht sagen welches Model genau) mit LED-Display mit einem AVR Ausrüsten um mit dem dann alle möglichen spielereien zu machen. Als AVR dachte ich an einen Atmega8-16PU weil ich von denen noch ein paar herumliegen habe und der genug Leistungsreserven für meine Zwecke haben sollte. Ich will dieses Projekt dann immer weiter (softwareseitig) ausbauen, deshalb habe ich daran gedacht den µC von Anfang an mit 12 oder 16 Mhz per Quarz zu takten. Programmiert soll das ganze in C mit AVR-GCC werden. Die Schlatung sollte möglichst klein sein da sie ja in das Rechnergehäuse passen muss. Die alte Platine war ca 6,6cm x 4,8cm groß. Derzeit bin ich aber noch beim Hardwaredesign. Dabei ergeben sich jedoch einige Fragen/Probleme: 1. Der Rechner ferfügt über ein 9 Stelliges 8-Segment (7 + 1 für Punkt) LED-Display. Um das mit den mir nur begrenzt zur Verfügung stehenden Pins anzusteuern habe ich an eine Kombination aus schieberegistern und Multiplexing gedacht. Ich weiß aber nicht wie viele Stellen ich zu einem Multiplexing-Element zusammenfügen soll. Alle auf einmal werden warscheinlich die LEDs nicht verkraften (finde auf den Anzeigen leider keinen Namen also wirds mit Datenblatt leider nichts), oder? Ich hätte sonnst noch an 3*3 gedacht. 4+3 hätte ich ausgeschlossen weil dann ja die 3er Gruppe heller ist als die 4er, oder habe ich da einen Denkfehler? 2. Beim Multiplexing brauche ich doch 8-Pins und pro Stelle einen weiteren oder? Also wenn ich zb 3 Stellen Multiplexe brauche ich 11 Pins, oder? 3. Kann ich die Schieberegister für Multiplexing schnell genug mit SPI bzw. einer Softwarelösung ansteuern? 4. Im alten Rechner waren 2 SN75492N als LED-Treiber verbaut. Die könnte ich doch eigentlich gleich weiterverwenden, oder? 5. Die Tastatur scheint als eine Art Matrix von der 13 Pins weggehen gelöst zu sein. Das heißt ich werde auch noch für die Eingabe Schieberegister brauchen. Kann ich ein und Ausgabe Register gleichzeitig am SPI betreiben? 6. Ich würde das ganze gerne mit einem Akku betreiben. Was für Akkus eignen sich hierfür am besten (Davor waren 2 AA Akuzellen drinnen die aber schon defekt waren)? 7. Wie würde die Ladeschaltung für die Akkus aussehen (Habe leider keinerlei Erfahrung mit Akkus)? 8. Wie erzeuge ich aus der Akkuspannung die Spannung für meinen µC bzw. die anderen Komponenten? 9. Wieviel Strom braucht ein Atmega-16PU mit 16Mhz getaktet ungefähr? Ich würde nähmlich auch noch gerne eine Uhr einbauen, die sollte aber natürlich den Akku nicht zusehr belassten. Als Ausweichlösung habe ich mir gedacht könnte ich ja noch einen Attiny einbauen der nur die Uhrzeit "weiterzählt" und vieleciht auch noch andere kleine Aufgaben übernimmt. Eine paar Pins für (externe) Anschlussmöglichkeiten von denen ich später vieleicht gebrauch machen will solten auch noch überbleiben. Habe ich überhaupt eine Chance das alles im beschränktem Platzangebot des Rechners unterzubringen (Ich denke es sollte gehen)? Sobald die grundlegenden Fragen/Probleme zur Hardware gelöst sind reiche ich natürlich noch einen Schaltplan nach. Ich hoffe ihr könnt mir mit meinen Fragen/Problemen weiterhelfen! mfg zigarrre
Du kannst Schieberegister kaskadieren, dann sind alle stellen gleich hell
4. die SN75492N kannst Du weglassen, die Schieberegister treiben die LEDs 5. siehe letzten Post, SR kann man kaskadieren 6. nimm einen LiPo, der hat 3.6/3.7 Volt 7. dafür gibt es fertige Chips, z.B. von maxim-ic.com 8. versorge alle ICs und die LEDs direkt aus dem Akku, keinen Regler, der braucht wieder selber Strom
Ich nehme an, das ist ein TI-30 oder ähnlich. Also mal der Reihe nach: Display: Das Display wird im Original ganz regulär gemultiplext - 9:1. Alles andere wäre damals vom Aufwand nicht vertretbar gewesen, zudem klappt das mit roten LEDs ganz gut mit dem Impulsbetrieb. Ich würde, wenn das Layout es zuläßt, die acht Segmentleitungen auf einen Port des Mikros führen, und die Ziffern über einen Zähler ansteuern - CD4017. Ein Treibertransistor pro Ziffer ist dann aber leider nötig. Dafür braucht man dann nur 8 Leitungen für die Segmente, und zwei für den Zähler - Takt und Reset. Damit sind es zusammen zehn. Wenn man nur Ziffern braucht, reduziert ein Decoder (SN74(LS)47 oder CD4511) die Pinanzahl auf die Hälfte. Ja, die alten Treiber lassen sich verwenden. Sind aus heutiger Sicht nicht umwerfend praktisch, gehen aber. Auch ist ein Schieberegister schnell genug für die Segmentdaten, falls nötig. Tastatur: Herkömmliche Matrix, jede Taste ein Kreuzungspunkt. Wahlweise Zeilen treiben, Spalten zurücklesen oder umgekehrt. Für die treibende Seite kann ebenfalls ein Zähler benutzt werden, wie oben. Einlesen könnte man tatsächlich über Schieberegister. Entprellung braucht man, kann aber in Software erfolgen. Akku: Der TI benutzte Step-Up, Effizienz war nicht so toll damals. Kann man nachmachen, oder vielleicht zwei LiPo-Akkus in Reihe. Könnte reichen für das Display, auch wenn es etwas knapp ist. Ladeschaltung: Es gibt einen spannungs- und strombegrenzten Lader mittels L200 für Li-Ion, ggf. auch für LiPo als Schaltung im Netz. Ansonsten Spezial-IC (Maxim o.ä.). NiMH ist aufwendiger, wenn man es gut machen will. Oder Akku entnehmbar machen und extern laden. Stromverbrauch: Der Atmel ist hier die geringste Sorge - das Display lutscht den Akku schnell leer, wenn es immer an ist. Auf Tastendruck zuschalten ginge, Takt des AVR niedrig halten, oder Keyboard-Wakeup und ext. RTC Fazit: Geht schon, man sollte aber möglichst SMD-Teile verwenden, notfalls doppelseitig bestücken. Layouterfahrung empfehlenswert. Ich hatte mal eine andere Idee: TI-1795+ mit einem MSP430F4x ausstatten, unter Beibehaltung des originalen LCD und der Solarversorgung. Leider kriege ich das Display nicht kontaktiert, da mit "leitendem Tesafilm" kontaktiert, und das Layout der Gummitastatur ist nicht so einfach. Daher liegt das Projekt unbegrenzt auf Eis.
Also viel wurde ja schon gesagt, ich wollte nur noch einen Vorschlag bzgl. der Schieberegister machen: da wurde ich eher zu einem TLC5940 tendieren. Das sind zwar eigentlich PWM-Treiber, aber das mmacht ja nix. Der primäre Grund ist einfach der, daß ich vermute, daß dadurch das Layout einfacher wird. Von den Wald-und-Wieser-Schieberegistern (xx595 glaub ich) bräuchtest du dann ja immerhin 9 Stück. Von den TLC5940 nurnoch 5. Klar sind die größer (mehr Pins), aber da kannst du ja einfach mal gucken, ob das nicht ne Möglichkeit wäre. Dazu kommt natürlich noch der Vorteil, daß du die Akkulebensdauer im PWM-Betrieb deutlich verlängern kannst. Und die SPI-Frequenz müßte dicke ausreichen (bei den AVRs bei 400kHz glaub ich). Ist aber auch total unkritisch, weil du ja (wahrscheinlich) eh nur immer eine Helligkeit auf dem Display fährst.
>http://petergof.com/x-ray/images/ti30_2000.jpg Inwieweit hilft mir das weiter? Wenn das original gemultiplexed wird werd ich das auch machen. Hab bei nochmaliger Betrachtung auch festgestellt das das Display eh nur ~12 Anschlüsse hat. Wenn die LED-Treiber sowieso nicht so optimal sind werde ich wohl neue nehmen da ich eh nicht weiß wie ich die alten auslöten soll. Ich werde aber auch fürs multiplexing Schieberegister benutzen. Was wären dafür die besten? Ich hätte an 2 74xx595 gedacht, da die recht einfach zu bedienen sind und es darüber unmengen Tutorials gibt. Der TLC5940 klingt auch recht interessant, da erspare ich mir ja die Treiber LEDs. Wie viel kostet der und wo bekomme ich den (finde ihn nirgends)? Von dem bräuchte ich bei Multiplexig ja nur einen, oder? Wie viele Pins brauch ich für den am µC? Mit dem kann ich ja PWM machen (also das Display faden) ohne einen PWM-Channel am µC zu verbrauchen, oder? Das wäre nähmlich ein nettes Zusatzfeature. >6. nimm einen LiPo, der hat 3.6/3.7 Volt Der Atmel8-16PU braucht 4,5-5,5V der Akku hat aber nur 3,7V. Zwei in Reihe wären wieder zuviel, also brauche ich so oder so ein Regler oder sowas in die Richtung um an meine 5V zu kommen. Wie viel würde mich solche Akkus + Ladesteuerung und Spannungsregler (oder mit was auch immer ich die Spannung für die Schaltung generiere) kosten? Der L200 klingt interessant, kann ich den vieleicht gleich mit einem unstabilisiertem Netzteil betreiben? Mit SMD/Layouting-Erfahrung kann ich leider nicht dienen. Hab bis jetzt nur mit Lochrasterplatinen gearbeitet, aber für deises Projekt werde ich wohl eine ätzen. SMD löten wird mit meinem Lötkolben sowieso nicht drinn sein. Das mit der RTC ist eine gute Idee da ich den µC recht hoch takten werde weil ich genug Leistungsreserven (für teiweise viele paralelle Aufgaben) haben will. Was wäre eine gute und vor allem günstige RTC? Der Rechner ist perfekt für Umbauarbeiten da Tastatur und Display noch mit Flachbandkabeln mit echten drähten angebunden sind. Und er groß genug ist um die Schaltung unterzubringen. mfg zigarrre
Moin, die ollen LED-Treiber kannst du dir so oder so sparen. Steht ja auch schon oben weiter bereits. Selbst bei "normalen" Schieberegistern liefern die Ausgänge genug Strom, daß du die LEDs direkt dranhänken kannst. Den TLC5940 kannst du dir als Sample von TI kostenlos zuschicken lassen. Wie das Ding anzuschließen ist steht in den AppNotes und hier im Forum an verschiedenen Stellen drin. Aus dem Kopf weiß ich das nicht, und ein bißchen Eigeninitiative soll ja auch dabei sein ;) . Du brauchst auf jeden Fall 2 für SPI, eine für den Zählertakt des 5940, eine für Blank... also so um die 4-6, ich weiß es nicht mehr. Klar kannst du mit dem Ding auch multiplexen. Dann muß du nur verdammt schnell neue PWM-Daten in das Ding reinschubsen. Das ist dann Sache des Programmierers... @Layouten: dann mußt du es eben üben. Du kannst schlecht die Größe der Platine in so enge Grenzen stecken und dann verlangen, daß alle Bauteile da in DIP draufpassen =) . SMD ist zeitgemäß und eigentlich ein Muss beim Layouten (finde ich). Von dem Atmega gibt es auch eine Low Voltage Variante. Die kannst du nehmen.
Zumindest meine TI-57/58/59 haben intern mit mindestens 11 Stellen Genauigkeit gerechnet. Du solltest also ein wirklich gutes Gleitkomma-Paket für den AVR zur Verfügung haben. Standard ist - glaube ich - float mit ca. 5-6 Stellen Genauigkeit.
Norbert schrieb: > Zumindest meine TI-57/58/59 haben intern mit mindestens 11 Stellen > Genauigkeit gerechnet. Du solltest also ein wirklich gutes > Gleitkomma-Paket für den AVR zur Verfügung haben. Zumindest die alten Taschenrechner haben meistens/oft mit BCD gearbeitet. Zusammen mit den einfachen CPU's war das einer der Gründe, warum sie um einiges langsamer als selbst die ersten µC waren. Spielte aber auch keine Rolle. Der Benutzer ist immer noch um Größenordnungen langsamer.
>Selbst bei "normalen" Schieberegistern >liefern die Ausgänge genug Strom, daß du die LEDs direkt dranhänken >kannst. Das würde ich nicht sagen. Der 74xx595 zb verkrafftet zwar pro Port 25mA aber insgesammt nur 70mA jeweils an Vcc und Vdd, selbst mit dem workaround aus dem Schieberegister Tutorial hat man dann nur 140mA also 17,5mA pro LED und ich kann mir nicht vorstellen das das zum Multiplexen reicht. >... ein bißchen Eigeninitiative soll ja auch dabei sein ;) Ja, sicher, dachte mir nur wenn du mir den schon empfielst wirst du ihn ja schon verwendet haben und wissen wie viele Pins der braucht. Für den 74xx595 brauche ich nur 3 Pins (wenn ich SCL(Reset) weglasse). Aber die Zusatzfunktionen vom TLC5940 wären mir die 1-2 Pins mehr wert. >dann mußt du es eben üben. Du kannst schlecht die Größe der Platine in >so enge Grenzen stecken und dann verlangen, daß alle Bauteile da in DIP >draufpassen =) . SMD ist zeitgemäß und eigentlich ein Muss beim Layouten >(finde ich). Naja ich halte SMD von Hand löten ohne (teurem) spezialwerkzeug und viel übung für ein Ding der unmöglichkeit (Auser vieleicht bei so Sachen wie Wiederständen und Kodensatoren in einer der größeren SMD Baugrößen). Aber vieleicht irre ich auch. Die Low-Volatage Veriante geht aber leider nur bis 8Mhz. Ist es so schwer aus den 3,7V bzw 7,4V 5V zu generieren? mfg zigarrre
Alfred P. schrieb: > Die Low-Volatage Veriante geht aber leider nur bis 8Mhz. Ja, "offiziell" geht die LV-Variante nur mit 8 MHz. Aber auch nur, weil Atmel die nicht mit 16 oder 20 MHz testen will :) . Oder weil es vorkommt, daß da einer von 125874 bei 2V und 20 MHz nicht richtig läuft. Es ist auch an einigen Stellen im Netz zu finden, daß Leute ihre LV-AVRs mit Takten weit jenseits der Spezifikation betrieben haben. Die "normale" Variante läuft ja auch nicht nur bis 16 MHz und bei 16,5 geht nix mehr... Probier es aus, ich bin sicher, daß das funktionieren wird... Alfred P. schrieb: > Naja ich halte SMD von Hand löten ohne (teurem) spezialwerkzeug und viel > übung für ein Ding der unmöglichkeit nee, so schlimm ist das nicht. Bei ICs lötest du ja icht Pin für Pin an (kann man auch ;) ). Sondern da gibt es diese Methode, daß du erst ne dicke Lötnaht über alle Pins ziehst und dann mit Flussmittel und Entlötlitze alles Überschüssige wegnimmst. Stimmt, das muß man mal geübt haben, aber es ist wirklich einfacher, als man denkt. Ich empfehle es wirklich. @Strom und Multiplexen: darum wurde dir ja auch nahegelegt nicht zu multiplexen :) . Oder feuere mit entsprechend weniger Strom. Dann sind deine Leds zwar dunkler, aber dein Akku lebt länger. Alfred P. schrieb: > Ist es so > schwer aus den 3,7V bzw 7,4V 5V zu generieren? nein, ist es nicht. Entweder Low-Drop-Linearregler oder eben Schaltregler. Aber beides (finde ich) schwieriger, als den AVR bei der Spannung und 16 MHz laufen zu lassen :) .
> Die Low-Volatage Veriante geht aber leider nur bis 8Mhz.
Probier doch mal die -16-Variante bei 3.7 Volt (Du sagtest ja oben, Du
hättest einige davon), bei mir laufen 3 Stück davon ohne Probleme, 1
weiterer zickt allerdings.
>darum wurde dir ja auch nahegelegt nicht zu multiplexen :) Wer hat mir das nahegelegt? Ohne Multiplexen wirds wohl nicht gehen denn ich glaube nicht das ich da genügend Schieberegister unterbringe um an 72 Pins zu kommen. Aber der TLC5940 gefällt mir recht gut, werde mir den mal genauer ansehen. Ich denke das Layout sollte sich auch ausgehen wenn ich die ICs in DIP Bauform und so Sachen wie Wiederstände und Kondensatoren als SMD in 0805 oder 0603 verbaue. >Probier doch mal die -16-Variante bei 3.7 Volt Hab leider keine Spannungsquelle die 3,7V liefert. mfg zigarrre
Alfred P. schrieb: > Wer hat mir das nahegelegt? Ohne Multiplexen wirds wohl nicht gehen denn > ich glaube nicht das ich da genügend Schieberegister unterbringe um an > 72 Pins zu kommen. Aber der TLC5940 gefällt mir recht gut, werde mir den > mal genauer ansehen. Mach, wie du meinst :) . Du wolltest Vorschläge haben und hast ja auch einige bekommen. Ich persönlich finde die Idee von Sebastian gut (mit dem 4017, weil da auch immer nur einer Ziffer an ist. Ist dann quasi auch gemultiplext, nur daß du dich um nix außer den Takt für den 4017 kümmern mußt... Alfred P. schrieb: > Ich denke das Layout sollte sich auch ausgehen wenn ich die ICs in DIP > Bauform und so Sachen wie Wiederstände und Kondensatoren als SMD in 0805 > oder 0603 verbaue. Auch hier: mach, wie du meinst :) . Ich würd das nicht so machen (bin auch kein SMD-Spezielist), aber wenn du das hinkriegst ist doch ok. Nur frag ich mich, warum die es nicht wenigstens versuchen willst, wenn du eh eine Platine ätzt. Ich würde sogar zwei Versionen erstellen: eine mit DIP-Fassungen (zum üben und rumexperimentieren) und eine mit SMD-ICs... Alfred P. schrieb: > Hab leider keine Spannungsquelle die 3,7V liefert. Nein? Kann das nicht ein normaler LM317? Und jetzt keine Ausrede, auch den gibts als kostenloses Sample... ;) Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.