Inhoudsopgave:

Programmeerbare politie-LED-flitser met behulp van een STM8 [72 LED's] - Ajarnpa
Programmeerbare politie-LED-flitser met behulp van een STM8 [72 LED's] - Ajarnpa

Video: Programmeerbare politie-LED-flitser met behulp van een STM8 [72 LED's] - Ajarnpa

Video: Programmeerbare politie-LED-flitser met behulp van een STM8 [72 LED's] - Ajarnpa
Video: LED Flitsers Aansluiten & Synchroniseren | Ledhandel24 HOW-TO 2024, Juni-
Anonim
Image
Image

De STM8S001J3 is een 8-bits microcontroller die 8 Kbytes Flash-programmageheugen biedt, plus een geïntegreerde echte data-EEPROM. Het wordt een apparaat met lage dichtheid genoemd in de STM8S-microcontrollerfamilie. Deze MCU wordt aangeboden in een klein SO8N-pakket. In dit artikel gaan we een programmeerbaar politie-LED-flitserapparaat bouwen dat kan worden gebruikt voor voertuigen, motorfietsen en fietsen.

Referenties

Bron:

[1]:

[2]:

[3]:

[4]:

[5]:

[6]:

[7]:

[8]:

[9]:

[10]:

[1]: CircuitanalyseFiguur 1 toont het schematische diagram van het apparaat. Het hart van dit circuit is een STM8S001-microcontroller.

Stap 1: Figuur 1: Figuur 1 Schematisch diagram van de programmeerbare politie LED-flitser

Afbeelding 2: De beste weerstandswaarde vinden voor de serie-LED's
Afbeelding 2: De beste weerstandswaarde vinden voor de serie-LED's

Laten we beginnen met de analyse vanaf de voedingseenheid. C2 en C3 worden gebruikt om de ingangsspanningsruis te verminderen. Vervolgens wordt de spanning naar de 78M09 [1] (REG1) regelaar gestuurd. Het wordt gebruikt om de spanning op 9V te stabiliseren. C4 en C6 worden gebruikt om de uitgangsgeluiden van de regelaar te verminderen.

De output van de REG1 gaat naar een eerste-orde RC-filter (R28 en C5). Het helpt de geluiden nog verder te verminderen, omdat dit apparaat continu kan worden gebruikt in een lawaaierige omgeving, zoals een voertuig. De beste manier om het gedrag van dit filter (of andere filtertypes) te onderzoeken, is door een praktische meting uit te voeren. De SDS1104X-E-oscilloscoop introduceerde een mooie bode-plotfunctie die deze nuttige berekening kan uitvoeren.

REG2 [2] wordt gebruikt om 9V om te zetten naar 5V om de STM8s001 MCU [3] (IC1) te voeden. C7 is een aanvullende filtercondensator voor de IC1.

IC1 MCU is geprogrammeerd met behulp van een enkele SWIM-draad. Het staat voor de Single-Wire Interface Module. Het is een snelle verbinding tussen de MCU en de programmeur/debugger. Deze pin moet worden aangesloten op de SWIM-pin van de programmer/debugger. De aardingspen moet ook worden aangesloten. Hiermee is de verbinding (P2) voltooid.

IC2 en IC3 zijn logische N-Channel SMD Mosfets [4] die worden gebruikt om de LED's aan/uit te zetten. De gate-pinnen van beide MOSFET's zijn naar beneden getrokken met behulp van 4,7K-weerstanden om ongewenste activering te voorkomen (R13, R14). SW1 is een tactiele drukknop die wordt gebruikt om te schakelen tussen knipperprogramma's. R27 is een pull-up weerstand en C8 reduceert de mogelijke debouncing-geluiden van de drukknop.

R1 tot R26 weerstanden worden gebruikt om de stroom van de LED's te beperken. In elk deel heb ik 3 LED's in serie gezet die op de +9V-rail zijn aangesloten (Figuur 2). De kenmerken van LED's verschillen van fabrikant tot fabrikant. Daarom kunnen we niet voor alle omstandigheden een vaste beperkende serieweerstand toewijzen. De maximaal toelaatbare stroom van een 5 mm LED is ongeveer 25 mA. Daarom lijkt de weerstandswaarde die de stroom zou kunnen beperken tot ergens rond de 15mA (iets hoger dan de helft) voldoende en heeft geen invloed op de levensduur van de LED's en vermindert de helderheid van de LED niet significant.

U kunt uitgaan van een weerstand van 100 Ohm en deze verhogen en tegelijkertijd de stroom bewaken. In mijn geval lees ik 15mA door een weerstand van 180 ohm te gebruiken.

Stap 2: Afbeelding 2: De beste weerstandswaarde vinden voor de serie-LED's

[2]: PCB-layout Figuur 3 toont de PCB-lay-out van de flasher (laatste revisie). Het is een enkellaags printplaat. Behalve LED's zijn alle componenten SMD en aan de koperzijde gesoldeerd. In het ontwerpproces van dit schema en PCB heb ik verschillende vooraf gemaakte bibliotheken van SamacSys gebruikt. IC1 [5], IC2 [6], IC3 [7], REG1 [8] en REG2 [9] worden geïnstalleerd met behulp van de SamacSys-bibliotheken en de Altium Designer-plug-in [10] (Afbeelding 4). Het bespaarde veel van mijn ontwerptijd. Ik maak altijd fouten wanneer ik de bibliotheken helemaal opnieuw ontwerp die mijn dag en PCB-prototypes verpesten. Deze bibliotheken zijn gratis en, belangrijker nog, ze volgen de IPC-footprint-standaarden.

Stap 3: Figuur 3: de PCB-layout van het Police-Flasher Circuit (laatste revisie)

Figuur 3: de PCB-layout van het Police-Flasher Circuit (laatste revisie)
Figuur 3: de PCB-layout van het Police-Flasher Circuit (laatste revisie)

Stap 4: Afbeelding 4: Geselecteerde componenten in de SamacSys Altium-plug-in

Afbeelding 4: Geselecteerde componenten in de SamacSys Altium-plug-in
Afbeelding 4: Geselecteerde componenten in de SamacSys Altium-plug-in

Figuren 5 en 6 tonen de 3D-aanzichten van de laatste revisie van de printplaat.

Stap 5: Figuur 5: een 3D-weergave van de printplaat van bovenaf (laatste revisie)

Figuur 5: een 3D-aanzicht van de printplaat van bovenaf (laatste revisie)
Figuur 5: een 3D-aanzicht van de printplaat van bovenaf (laatste revisie)

Stap 6: Figuur 6: een 3D-weergave van de printplaat vanaf de onderkant (laatste revisie)

Figuur 6: een 3D-aanzicht van de printplaat vanaf de onderkant (laatste revisie)
Figuur 6: een 3D-aanzicht van de printplaat vanaf de onderkant (laatste revisie)

Afbeelding 7 toont een afbeelding van het eerste geteste PCB-prototype. Ik bestelde het op de PCBWay en ik kreeg 5 borden voor dezelfde prijs. Zoals je kunt zien, is de bouwkwaliteit prima. In de laatste revisie heb ik enkele componentvoetafdrukken aangepast (allemaal SMD behalve LED's) en de voedingsdraden naar de onderkant verplaatst. U soldeert de 12V voedingsdraden direct op de printplaat.

Stap 7: Figuur 7: het eerste prototype van het flasherbord

Afbeelding 7: het eerste prototype van het Flasher-bord
Afbeelding 7: het eerste prototype van het Flasher-bord

[3] SoftwareSTM8 MCU's zijn mooie chips, maar toch ondersteunt de STM8CubeMX ze niet volledig. Het betekent dat de software de code voor STM8's nog niet genereert. U kunt echter ST Visual Develop (STVP) gebruiken als compiler en vooraf geschreven bibliotheken voor de STM8s (STSW). Figuur 8 toont de STVP IDE. U moet ook de COSMIC STM8 installeren om door de STVP als compiler te worden gebruikt.

Stap 8: Figuur 8: de ST Visual Develop IDE

Afbeelding 8: de ST Visual Develop IDE
Afbeelding 8: de ST Visual Develop IDE

Ik heb de GPIO en externe interruptbibliotheken gebruikt om drie knipperende programma's te schrijven. De software is vrij beschikbaar. U kunt de code uitbreiden en ook uw eigen programma's toevoegen. Voor meer beschrijving, bekijk de YouTube-video.

[4] Montage en testen

Figuur 9 toont de stuklijst. Er is niets bijzonders aan solderen. Kleinste onderdelen zijn 0805 passieve componenten die je eenvoudig kunt solderen met een 0,4 mm soldeerdraad en een gewone soldeerbout.

Stap 9: Figuur 9: Stuklijst

Afbeelding 9: Stuklijst
Afbeelding 9: Stuklijst

Wees voorzichtig met de positieve en negatieve polariteiten van de LED's. Probeer alle blauwe en rode LED's van dezelfde fabrikant te kopen, anders krijgt u mogelijk niet vloeiende en identieke lichten voor alle LED's.

Er zijn enkele jumpers op het bord. Vergeet niet om de juiste verbindingen te maken met behulp van een paar weerstanden van nul ohm en dergelijke. Sluit uw STM-programmeur aan (met de SWIM-ondersteuning) en selecteer het geschikte bestand uit de map "Release" en programmeer de chip. Door op de drukknop te drukken, verandert het knipperende programma. U kunt uw eigen knipperroutines toevoegen en de chip programmeren.

Aanbevolen: