Inhaltsverzeichnis:

Programmierbarer Polizei-LED-Blinker mit einem STM8 [72 LEDs] - Gunook
Programmierbarer Polizei-LED-Blinker mit einem STM8 [72 LEDs] - Gunook

Video: Programmierbarer Polizei-LED-Blinker mit einem STM8 [72 LEDs] - Gunook

Video: Programmierbarer Polizei-LED-Blinker mit einem STM8 [72 LEDs] - Gunook
Video: Polizei Beleuchtung mit Transistoren - Ohne Arduino 2024, Juni
Anonim
Image
Image

Der STM8S001J3 ist ein 8-Bit-Mikrocontroller, der 8 KByte Flash-Programmspeicher sowie ein integriertes True-Data-EEPROM bietet. Es wird als Low-Density-Gerät in der STM8S-Mikrocontrollerfamilie bezeichnet. Diese MCU wird in einem kleinen SO8N-Gehäuse angeboten. In diesem Artikel werden wir ein programmierbares Polizei-LED-Blinkgerät bauen, das für Fahrzeuge, Motorräder und Fahrräder verwendet werden kann.

Verweise

Quelle:

[1]:

[2]:

[3]:

[4]:

[5]:

[6]:

[7]:

[8]:

[9]:

[10]:

[1]: SchaltungsanalyseAbbildung 1 zeigt die schematische Darstellung des Geräts. Das Herzstück dieser Schaltung ist ein STM8S001-Mikrocontroller.

Schritt 1: Abbildung 1: Abbildung 1 Schematische Darstellung des programmierbaren Polizei-LED-Blinkers

Abbildung 2: Finden des besten Widerstandswerts für die Serien-LEDs
Abbildung 2: Finden des besten Widerstandswerts für die Serien-LEDs

Beginnen wir die Analyse vom Netzteil aus. C2 und C3 werden verwendet, um das Eingangsspannungsrauschen zu reduzieren. Dann wird die Spannung dem Regler 78M09 [1] (REG1) zugeführt. Es wird verwendet, um die Spannung bei 9V zu stabilisieren. C4 und C6 werden verwendet, um das Ausgangsrauschen des Reglers zu reduzieren.

Die Ausgabe von REG1 wird an ein RC-Filter erster Ordnung (R28 und C5) gehandhabt. Es hilft, die Geräusche noch weiter zu reduzieren, da dieses Gerät möglicherweise in einer lauten Umgebung wie einem Fahrzeug ständig verwendet wird. Das Verhalten dieses Filters (oder anderer Filtertypen) lässt sich am besten durch eine praktische Messung untersuchen. Das Oszilloskop SDS1104X-E hat eine nette Bode-Plot-Funktion eingeführt, die diese nützliche Berechnung durchführen kann.

REG2 [2] wird verwendet, um 9 V in 5 V umzuwandeln, um die STM8s001-MCU [3] (IC1) zu versorgen. C7 ist ein zusätzlicher Siebkondensator für IC1.

Die IC1-MCU wird mit einem einzigen SWIM-Draht programmiert. Es steht für das Single-Wire-Interface-Modul. Es ist eine Hochgeschwindigkeitsverbindung zwischen der MCU und dem Programmierer/Debugger. Dieser Pin muss mit dem SWIM-Pin des Programmierers/Debuggers verbunden werden. Der Erdungsstift muss ebenfalls angeschlossen werden. Damit ist die Verbindung (P2) abgeschlossen.

IC2 und IC3 sind logische N-Kanal-SMD-Mosfets [4], die zum Ein- und Ausschalten der LEDs verwendet werden. Die Gate-Pins beider MOSFETs wurden mit 4,7K-Widerständen nach unten gezogen, um ein ungewolltes Auslösen zu vermeiden (R13, R14). SW1 ist ein taktiler Taster, der zum Umschalten zwischen Blinkprogrammen verwendet wird. R27 ist ein Pull-Up-Widerstand und C8 reduziert die möglichen Entprellgeräusche der Taster.

Die Widerstände R1 bis R26 werden verwendet, um den Strom der LEDs zu begrenzen. In jedem Teil habe ich 3 LEDs in Reihe geschaltet, die an die +9V-Schiene angeschlossen sind (Abbildung 2). Die Eigenschaften von LEDs variieren von Hersteller zu Hersteller. Daher können wir nicht für alle Fälle einen festen begrenzenden Vorwiderstand zuweisen. Der maximal tolerierbare Strom einer 5 mm LED beträgt etwa 25 mA. Daher sieht der Widerstandswert, der den Strom auf etwa 15 mA (etwas höher als die Hälfte) begrenzen könnte, ausreichend aus und beeinflusst die Lebensdauer der LEDs nicht und verringert die LED-Helligkeit nicht wesentlich.

Sie können von einem 100-Ohm-Widerstand ausgehen und diesen erhöhen und gleichzeitig den Strom überwachen. In meinem Fall habe ich 15 mA mit einem 180-Ohm-Widerstand gelesen.

Schritt 2: Abbildung 2: Finden des besten Widerstandswerts für die Serien-LEDs

[2]: PCB-LayoutAbbildung 3 zeigt das PCB-Layout des Flashers (letzte Überarbeitung). Es ist eine einlagige Leiterplatte. Bis auf LEDs sind alle Bauteile SMD und kupferseitig gelötet. Im Designprozess dieses Schaltplans und PCB habe ich mehrere vorgefertigte Bibliotheken von SamacSys verwendet. IC1 [5], IC2 [6], IC3 [7], REG1 [8] und REG2 [9] werden mit den SamacSys-Bibliotheken und dem Altium Designer-Plugin [10] installiert (Abbildung 4). Es hat mir viel Designzeit gespart. Ich mache immer Fehler, wenn ich die Bibliotheken von Grund auf entwerfe, die meinen Tag und PCB-Prototypen ruinieren. Diese Bibliotheken sind kostenlos und, was noch wichtiger ist, sie folgen den IPC-Footprint-Standards.

Schritt 3: Abbildung 3: Das PCB-Layout der Polizei-Blinker-Schaltung (letzte Überarbeitung)

Abbildung 3: Das PCB-Layout der Polizei-Blinker-Schaltung (letzte Überarbeitung)
Abbildung 3: Das PCB-Layout der Polizei-Blinker-Schaltung (letzte Überarbeitung)

Schritt 4: Abbildung 4: Ausgewählte Komponenten im SamacSys Altium Plugin

Abbildung 4: Ausgewählte Komponenten im SamacSys Altium Plugin
Abbildung 4: Ausgewählte Komponenten im SamacSys Altium Plugin

Die Abbildungen 5 und 6 zeigen die 3D-Ansichten der endgültigen Revision der Leiterplatte.

Schritt 5: Abbildung 5: eine 3D-Ansicht der Leiterplatte von oben (letzte Revision)

Abbildung 5: eine 3D-Ansicht der Leiterplatte von oben (letzte Überarbeitung)
Abbildung 5: eine 3D-Ansicht der Leiterplatte von oben (letzte Überarbeitung)

Schritt 6: Abbildung 6: eine 3D-Ansicht der Leiterplatte von unten (letzte Revision)

Abbildung 6: eine 3D-Ansicht der Leiterplatte von unten (letzte Überarbeitung)
Abbildung 6: eine 3D-Ansicht der Leiterplatte von unten (letzte Überarbeitung)

Bild 7 zeigt ein Bild des ersten getesteten PCB-Prototyps. Ich habe es auf dem PCBWay bestellt und habe 5 Boards zum gleichen Preis bekommen. Wie Sie sehen können, ist die Verarbeitungsqualität in Ordnung. In der letzten Überarbeitung habe ich einige Komponenten-Footprints (alle sind SMD außer LEDs) modifiziert und die Versorgungsdrähte auf die Unterseite verschoben. Sie werden die 12V-Versorgungsdrähte direkt auf der Platine verlöten.

Schritt 7: Abbildung 7: Der erste Prototyp des Flasher Boards

Abbildung 7: Der erste Prototyp des Flasher Boards
Abbildung 7: Der erste Prototyp des Flasher Boards

[3] SoftwareSTM8-MCUs sind nette Chips, aber dennoch unterstützt der STM8CubeMX sie nicht vollständig. Das bedeutet, dass die Software den Code für STM8s noch nicht generiert. Sie können jedoch ST Visual Develop (STVP) als Compiler und vorgefertigte Bibliotheken für die STM8s (STSW) verwenden. Abbildung 8 zeigt die STVP-IDE. Sie müssen auch den COSMIC STM8 installieren, der vom STVP als Compiler verwendet werden soll.

Schritt 8: Abbildung 8: die ST Visual Develop IDE

Abbildung 8: die ST Visual Develop-IDE
Abbildung 8: die ST Visual Develop-IDE

Ich habe die GPIO- und externen Interrupt-Bibliotheken verwendet, um drei Flash-Programme zu schreiben. Die Software ist frei verfügbar. Sie können den Code erweitern und auch eigene Programme hinzufügen. Weitere Beschreibungen finden Sie im YouTube-Video.

[4] Montage und Test

Abbildung 9 zeigt die Stückliste. Beim Löten ist nichts besonderes. Kleinste Teile sind 0805 Passivkomponenten, die Sie mit einem 0,4 mm Lötdraht und einem gewöhnlichen Lötkolben leicht verlöten können.

Schritt 9: Abbildung 9: Stückliste

Abbildung 9: Stückliste
Abbildung 9: Stückliste

Achten Sie auf die positive und negative Polarität der LEDs. Versuchen Sie, alle blauen und roten LEDs vom gleichen Hersteller zu kaufen, da Sie sonst möglicherweise nicht für alle LEDs gleichmäßige und identische Lichter erhalten.

Es gibt einige Jumper auf der Platine. Vergessen Sie nicht, die richtigen Verbindungen mit ein paar Null-Ohm-Widerständen und ähnlichem herzustellen. Verbinden Sie Ihren STM-Programmierer (mit der SWIM-Unterstützung) und wählen Sie die passende Datei aus dem Ordner „Release“und programmieren Sie den Chip. Durch Drücken der Taste wechselt das blinkende Programm. Sie können Ihre eigenen Flash-Routinen hinzufügen und den Chip programmieren.

Empfohlen: