Meine USB-Visitenkarte

Hallo!



Abgesehen von meiner Hauptaufgabe mache ich einige Haustierprojekte, aber ich habe nie darüber geschrieben. Jetzt habe ich beschlossen, die Situation zu korrigieren und über das Projekt zu schreiben, das ich gerade abgeschlossen habe. Diese Kreation wurde von dieser Arbeit von George Hilliard inspiriert .







Ziel des Projekts



Erstellen Sie die billigste Version der USB-Flash-Visitenkarte, die meinen Lebenslauf, den Quellcode und einige weitere Dateien enthält. Verwenden Sie dabei die verfügbaren Komponenten, die bei LCSC und JLCPCB bestellt werden können.



Was musste ich dafür tun?



Nehmen Sie billige, aber keine Konsumgüterkomponenten auf, legen Sie eine Leiterplatte für sie aus, löten Sie sie und schreiben Sie die Firmware.



Was macht meine Visitenkarte am Ende?



Wie Sie sich vorstellen können, ahmt meine Visitenkarte ein kleines USB-Flash-Laufwerk nach, das eine zweisprachige Zusammenfassung, Quellcode, Firmware, Gerber-Dateien, Schaltkreise und Leiterplatten sowie mein Foto enthält.



Hauptprojektknoten



Mikrocontroller STM32F070F6 - Dies war die billigste Version des Controllers mit einem USB-Gerät an Bord, die ich gefunden habe.

Winbond W25Q32 - 4 MB serieller Flash-Speicher;

LEDs 0805 - weiße und blaue Farben für Schönheit;

LP3992 - Spannungsabwärtswandler für 3,3 V, Stromversorgung von Mikroschaltungen;

USBLC6-2 - statischer Schutz des USB "Steckers".



Mein Ansatz zur Entwicklung von Haustierprojekten



Es gibt einen bestimmten Weg, den ich beim Programmieren von Mikrocontrollern befolge:



  1. Verwenden Sie SPL, HAL und andere Bibliotheken nicht zum Programmieren von Peripheriegeräten. Ich halte mich in meiner Hauptaufgabe an diese Regel.
  2. Verwenden Sie kein Betriebssystem. Ich glaube, dass meine Heimprojekte nicht so komplex sind, um dieses nützliche Tool zu verwenden.
  3. . ( );
  4. . ( ).




Komponenten



Zunächst musste ich die Komponenten für meine Idee auswählen. Abgesehen von der Lockerheit hatte ich nichts. Aus diesem Grund habe ich mich entschieden, den LCSC-Dienst als kostengünstige und erschwingliche Option für die Entwicklung von Eigenheimen zu nutzen. Wie sich herausstellte, habe ich in vielerlei Hinsicht die Tunika in die Tunika eingegeben. Zum Beispiel habe ich alle Beine des Mikrocontrollers verwendet, die innerhalb von 6 KB RAM gehalten wurden. Davon habe ich 4 KB für die Übertragung von Daten von USB zu SPI Flash verwendet. Ich habe Beine für USB verwendet, die auf diesem Controller nicht physisch vorhanden sind.



Als Ergebnis ergab sich ein Preis wie folgt:

STM32F070F6 Mikrocontroller -0,64 $

Winbond W25Q32 serieller Flash-Speicher - 0,35 $

Downconverter LP3992-33B5F - 0,04 $

Statischer Schutz USBLC6-2SC6 -0,08 $

Quarz - 0,15 $



Ich habe Widerstände und Kondensatoren im 0603-Formfaktor 0805-LEDs verwendet. All dies hatte ich bereits, daher ist es nicht möglich, ihre Kosten zu berechnen. Man kann jedoch mit Sicherheit sagen, dass für den Preis alles in 1,5 USD mit einer Marge passt. Es sieht im Vergleich zu Hilliards Projekt nicht billig aus, aber meine Preise sind auch nicht im Großhandel.



Leiterplatte und die Schaltungsanordnung I der ausgelegt Schaltung



und der Leiterplatte in Altium Designer, lege ich die Screenshots.











Alle Komponenten sind gemäß Datenblättern gebunden. Der Flash-Speicherchip wird von der Steuerung über den MOS-Transistor gestartet.



Der USB-Anschluss war hier das Problem. Gemäß der USB-Spezifikation hat es eine Dicke von 2 mm. Eine Platine dieser Dicke ist teuer in der Bestellung und für eine Visitenkarte nicht sehr praktisch. Ich sah einen Ausweg aus der Situation von einer Personwer machte eine musikalische Visitenkarte. Er benutzte eine 1-mm-Platine und fertigte einen zusätzlichen Stecker an, der sich löst und über der Hauptplatine versiegelt ist. Ich tat das gleiche.







Löten Das



Löten von Bauteilen verursachte im Allgemeinen keine Probleme. Ich habe alles mit einem Fön und einer Lötpaste versiegelt. Das einzige Problem für mich war das Löten des Mikrocontrollers. Aus der Lötpaste wurden zu viele Blots erzeugt, es ist schwierig, solche Beine mit einem Lötkolben zu löten. Infolgedessen habe ich nur alle Pads mit Lötmittel übersehen und dann den Mikrocontroller mit einem Haartrockner gelötet.



Programmierung



Es gibt nichts Besonderes für mich zu sagen, ich habe alles auf einer niedrigen Ebene in C ++ programmiert. Ich hänge den Quellcode an . Ich habe die Register durch Artikel angesprochenlamerok. USB wird unter Verwendung von Mikrocontroller-Mitteln implementiert. Der Flash-Speicherchip arbeitet mit SPI über DMA mit der höchsten Geschwindigkeit. Die Dioden blinken wiederum durch die Unterbrechung des Timers bei 250 ms.











Fazit



Daran denke ich alles, ich habe die Hauptpunkte beschrieben. Wenn Sie etwas detaillierter enthüllen müssen (USB-Programmierung, Flash oder Schaltung), dann schreiben Sie, ich werde es auf jeden Fall tun.



Alles Gute!



All Articles