Inhaltsverzeichnis:
- Schritt 1: Wählen Sie einen vorhandenen wissenschaftlichen Rechner
- Schritt 2: Komponentenauswahl
- Schritt 3: Leistungsschaltungsdesign
- Schritt 4: Design der Steuerschaltung
- Schritt 5: PCB-Design
- Schritt 6: Code weg
Video: SMS-Rechner - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Jetzt ein Produkt!
Der Abschluss eines Masterstudiums in Elektrotechnik erforderte ein wenig harte Arbeit. Es war ein langer fünfjähriger Weg, den ich sehr genossen habe. Ende 2015 habe ich mein Studium abgeschlossen und hatte 3 Monate Ferien vor mir. Gibt es einen besseren Weg, es auszugeben, als ein wenig technische Forschung und Entwicklung! Lassen Sie uns einen SMS-Rechner erstellen!
Schritt 1: Wählen Sie einen vorhandenen wissenschaftlichen Rechner
Dieser Schritt ist so ziemlich obligatorisch.
Es ist sehr unwahrscheinlich, dass man eine Firma finden kann, die ihnen ein paar Taschenrechnergehäuse und Knöpfe zu einem günstigen Preis formt.
Jetzt geht es nur noch darum, das Innere herauszureißen und unsere eigenen Schaltkreise einzubauen.
Schritt 2: Komponentenauswahl
Die drei wichtigsten Komponenten für das Projekt sind das LCD, die MCU und das Bluetooth-Modul.
Für das LCD habe ich das "162COG-BA-BC" von Displaytech verwendet. Das LCD muss super dünn sein, um in das Taschenrechnergehäuse zu passen, und dieses LCD erfüllt diese Anforderung. Außerdem ist es ein reflektierendes LCD und verbraucht daher nicht viel Strom. Schließlich verwendet dieses LCD einen Controller, der mit dem bekannten Hitachi HD44780 kompatibel ist und die Programmierung mit der großen Fülle an Online-Dokumentation zum Kinderspiel macht.
Für die MCU ist eine große Anzahl von Universal-I/O-Pins erforderlich, um die Anzahl der Tasten des wissenschaftlichen Taschenrechners unterzubringen. Eine ordentliche Menge Flash-Speicher und eine UART-Schnittstelle für das Bluetooth-Modul werden ebenfalls benötigt.
Voraussetzung für das Bluetooth-Modul ist, dass das Modul sowohl als Master als auch als Slave fungieren kann. Das heißt, nicht nur andere Geräte können sich mit dem Modul verbinden, sondern das Modul kann auch nach anderen Bluetooth-Geräten suchen und Verbindungen selbst initialisieren. Ohne diese Fähigkeit könnten sich Rechner nicht miteinander verbinden und könnten nur Verbindungsanfragen von intelligenteren Geräten wie Smartphones annehmen.
Schritt 3: Leistungsschaltungsdesign
Ein Blick in die Datenblätter sagt uns, dass wir zwei Spannungsschienen benötigen. Wir benötigen eine 3,3-V-Schiene für das Bluetooth-Modul und eine 5,0-V-Schiene für das LCD.
Wir haben eine 3,0-V-Versorgung aus den beiden in Reihe geschalteten Alkaline-Batterien. Um die erforderlichen Spannungen zu erhalten, verwenden wir einen Boost-Converter und einen Low-Dropout-Regler (LDO). Die Ausgangsspannung des Boost Converters wird durch das Widerstandsverhältnis von R3 und R4 im Diagramm bestimmt. Der Boost Converter erhöht die Spannung von 3,0 V auf 5,0 V mit den angezeigten Werten.
Wir können dann die 5,0-V-Schiene verwenden, um mit Hilfe eines LDO eine 3,3-V-Schiene zu erstellen. Stellen Sie nur sicher, dass Sie an den Ein- und Ausgängen dieser Regler ein paar anständige SMD-Kondensatoren einsetzen, da diese für den erfolgreichen Betrieb entscheidend sind.
Schließlich werfen wir ein Flip-Flop für ein intelligentes Umschalten ein, das wir mit den Ein- und Ausschalttasten des Taschenrechnergehäuses verwenden werden.
Schritt 4: Design der Steuerschaltung
Der Schaltplan für die Steuerschaltung ist relativ einfach.
Wir verwenden das JTAG des ATmega zum Debuggen des Geräts.
Wir verbinden das Bluetooth-Modul mit einer der UART-Schnittstellen der MCUs und werfen einige Sicherheitswiderstände ein, um sicherzustellen, dass wir niemals eine Spannung von mehr als 3,3 V am Bluetooth-Modul sehen. Der Widerstandsteiler ist erforderlich, da die MCU über die 5-V-Schiene läuft (die MCU konnte nicht über die 3,3-V-Schiene betrieben werden, da 3,3 V für das LCD-Logik-High nicht ausreichen).
Das LCD wird direkt mit den Universal-I/Os der MCU verbunden. Für den Kontraststift wird ein Spannungsteiler verwendet. Alternativ könnte hier ein Potentiometer verwendet werden. Ich mag jedoch die Robustheit eines statischen Produkts, das mit separaten Widerständen zum Einstellen des Kontrasts geliefert wird.
Fügen Sie einige Entkopplungskondensatoren, einen 16-MHz-Kristall für die MCU, Pull-Up-Widerstände für die Tasten hinzu und der Schaltplan ist fertig.
Schritt 5: PCB-Design
Für das PCB-Design habe ich Altium Designer verwendet. Der wichtigste und kniffligste Teil des PCB-Designs bestand in der Messung der physikalischen Abmessungen des Rechners. Die Platine muss nicht nur die perfekte Breite und Höhe haben, um gut in das Taschenrechnergehäuse zu passen, sondern es müssen auch eine Reihe anderer physischer Abmessungen erfüllt werden. Die LCD-Löcher müssen die richtige Position auf der Platine haben, um gut mit dem Fenster im Gehäuse auszurichten. Die Platine benötigt mehrere Löcher für die Durchführung der Schrauben von der Rückseite des Gehäuses zur Vorderseite des Gehäuses. Schließlich muss die Platine Pads für die Tasten haben, die gut ausgerichtet sind.
Das Pad-Design für die Tasten verwendet eine standardmäßige verschachtelte Form, um eine hohe Zuverlässigkeit beim Herunterdrücken der leitfähigen Tastenmatte zu gewährleisten.
Achten Sie darauf, das Kupfer aus der Platine herauszuschneiden, indem Sie einen "Keep-Out-Bereich" um die Antenne des Bluetooth-Moduls herum verwenden, um sicherzustellen, dass die Signalkonnektivität nicht beeinträchtigt wird. Mein Hersteller entschied sich unerwartet, die gesamte Platine dort auszuschneiden, wo ich markiert hatte, aber zum Glück verursachte dies keine Probleme für mich.
Schritt 6: Code weg
Ich habe AVR Studio mit einem alten JTAG ICE-Debugger verwendet, um meine gesamte Codierung durchzuführen. Mein Code war keineswegs elegant geschrieben, aber am Ende hat alles gut funktioniert. Am Ende habe ich 64 KB der 128 KB verfügbaren Flash-Speicher verwendet.
Das Bluetooth-Modul ist wirklich ziemlich leistungsstark. Ich habe es geschafft, meinem Gerät die Möglichkeit zu geben, sich mit anderen Taschenrechnern, iPhones und Androids zu verbinden.
Die Voraussetzungen für die Codierung sind Kenntnisse über Hitachi-LCD-Controller, grundlegende AVR-Programmierkenntnisse und ein Verständnis der Interaktion mit einem Peripheriegerät über AT-Befehle und UART.
Vielen Dank fürs Lesen!
www.rubydevices.com.au/productSelect/RubyCalculator
www.ebay.com.au/itm/Text-Messaging-Calculat…