Inhoudsopgave:
- Benodigdheden
- Stap 1: Bestel PCB's
- Stap 2: Werkgebied voorbereiden
- Stap 3: Soldeerpasta
- Stap 4: Montage
- Stap 7: Verbind de geassembleerde tegel met de programmer
- Stap 8: IDE voorbereiden en firmware binair bouwen
- Stap 9: Firmware uploaden
- Stap 10: (Optioneel) PCB-test
- Stap 11: 3D-afdrukbehuizing
- Stap 12: Tegels aansluiten
- Stap 13: Controller
- Stap 14: Klaar
Video: EFM8BB1 Kinetische lichtdriehoeken - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Ik werd geïnspireerd om deze te maken nadat ik de Nanoleaf-lichtdriehoeken in de winkel zag, maar ik was ontmoedigd toen ik zag dat elke tegel twintig dollar kostte! Ik wilde een gelijkwaardig product maken, maar de prijs per tegel rond de drie tot vier dollar houden. Dit project is niet compleet, omdat ik de printplaten van de controller nog moet laten maken, maar ik heb momenteel 50 tegels in elkaar gezet en werkend.
Ik heb andere projecten gezien die dit product proberen te repliceren, maar geen enkele die ik tot nu toe heb gezien, maakt het mogelijk om een tegel in ELKE richting te verbinden, waardoor complexere ontwerpen en eenvoudige herschikking mogelijk zijn.
Dit is mijn eerste Instructable, laat een reactie achter als je vragen hebt!
Benodigdheden
Elke tegel vereist:
- 1x EFM8BB10F8G-A-QFN20 microchip (Digikey)
- 9x WS2812E LED's (LCSC)
- 1x AMS1117 5.0v spanningsregelaar (LCSC)
- 1x AMS1117 3.3v spanningsregelaar (LCSC)
- 1x SOD-123 1N4148 diode (LCSC)
- 1x 10k 8050 weerstand (LCSC)
- 11x 0.1uf 8050 keramische condensator (LCSC)
- 2x 10uf 16v opbouw elektrolytische condensatoren (LCSC)
- 1x aangepaste printplaat (JLCPCB)
- 12x TE Connectivity 2329497-2 PCB-veervingers voor behuizing
- 1x Linker-printplaat
De controller (in uitvoering) vereist:
- 1x ESP32 DevKit-C
- 1x 12V voeding
- 1x DC-DC stepdown (om de ESP32 van stroom te voorzien)
- 1x 10K ohm weerstand
- 1x 1n4148 diode
- 2x SPST drukknoppen (LCSC)
Gereedschap:
- Soldeerbout
- Reflow oven
- 3D-printer (voor behuizing)
- J-link EDU programmeur
- Draadstrippers / snijders / diverse draad (om programmeerharnas te maken)
- Pincet met fijne punt voor montage
- Lege PVC-kaart om soldeerpasta te verspreiden
- Loodvrije of loodvrije soldeerpasta
Stap 1: Bestel PCB's
De tegel-PCB is ontworpen in EasyEDA en is voor fabricage naar JLCPCB gestuurd. Ik bestelde 50 PCB's omdat het eigenlijk goedkoper was om er 50 te bestellen dan om er maar 10 te bestellen. Om de productiekosten laag te houden, werd de PCB in 3 stukken gesplitst.
Ik gebruikte de productie-opties van
- 1,6 mm dikte
- HASL oppervlakteafwerking
- 1oz koper
- Wit soldeermasker
Ik heb gehoord dat je je JLCPCB- en LCSC-bestellingen kunt koppelen, zodat je maar één keer verzendkosten betaalt, maar ik heb het niet kunnen achterhalen. Ik gebruikte de goedkoopste verzendoptie en beide pakketten kwamen binnen twee weken na de besteldatum.
Het ontwerp is hier gelinkt
Stap 2: Werkgebied voorbereiden
Plaats een van de Tile PCB's op een tafel waarvan je het niet erg vindt om vies te worden en plak er twee andere PCB's naast om hem op zijn plaats te houden, zoals op de afbeelding hierboven. Plak het sjabloon vervolgens vast met Kapton-tape en zorg ervoor dat de gaten zijn uitgelijnd met de blootgestelde pads op de printplaat.
Stap 3: Soldeerpasta
Voeg soldeerpasta toe aan de bovenkant van het sjabloon. Ik heb dit gebruikt. Verspreid de soldeerpasta rond het sjabloon met een oude creditcard of iets dergelijks. Zorg ervoor dat ook de kleine gaatjes voor de microchip worden opgevuld.
Probeer, voordat je het sjabloon optilt, zoveel mogelijk overtollige pasta terug op de spreidkaart te krijgen om opnieuw te gebruiken als je meer dan één tegel maakt (dit spul is duur $$$)
Til het sjabloon op door voorzichtig een hoek op te pakken en de tape eraf te halen. Als je een gebied eenmaal hebt opgetild, probeer het dan niet weer neer te zetten, omdat er wat van de pasta kan vegen.
Uw PCB zou er nu uit moeten zien als de afbeelding hierboven.
Stap 4: Montage
Nadat de printplaat opnieuw is geplaatst, scheidt u de zijkanten van de tegel door de lipjes die de verschillende zijden op hun plaats houden te buigen en te breken. Schuur vervolgens eventuele overtollige PCB's weg door de lipjes te breken, zodat deze gemakkelijker in de bedrukte behuizing passen.
Zoek vervolgens de twee zijden met de letter "B" en soldeer alle 7 zijkussens aan elkaar. De resterende ene kant kan maar op één manier en soldeer dat ook.
De tegel zou eruit moeten zien als de bovenstaande afbeeldingen.
Stap 7: Verbind de geassembleerde tegel met de programmer
ALVORENS DE TEGEL AAN TE SLUITEN OP DE JLINK, OPEN JLINK COMMANDER EN TYPE "power on perm" OM DE 5V-UITGANG IN TE SCHAKELEN
J-Link Commander is opgenomen in het software- en documentatiepakket dat hier beschikbaar is
Elke tegel heeft een niet-bevolkte header direct boven de microchip met het label Debug. Deze header onthult de C2-programmeerinterface die compatibel is met de Segger J-Link. Ik gebruik de EDU-versie omdat deze identiek is aan de duurdere versies, maar niet kan worden gebruikt voor commerciële producten, waar dit niet onder valt. Ik bestelde de mijne bij SparkFun voor $ 72 inclusief verzendkosten.
Pin 1 op de connector is de enige met een vierkant pad op de printplaat.
Stap 8: IDE voorbereiden en firmware binair bouwen
Download Simplicity Studio 4 hier en installeer het. Meld u aan of meld u aan voor een Silicon Labs-account om toegang te krijgen tot de EFM8-toolchain. Download vervolgens de projectcode van hier en importeer deze in de IDE. Klik vervolgens op het hamerpictogram in de werkbalk en bouw het project.
U zou een bericht Build Finished moeten krijgen. Als er een bericht verschijnt waarin u wordt gevraagd een licentiesleutel voor de Keil-compiler in te voeren, klikt u gewoon op overslaan (of u kunt het activeren als u wilt, het is gratis)
Stap 9: Firmware uploaden
Klik op de knop in de werkbalk die eruitziet als een stempel op een chip "Flash Programmer". Blader vervolgens naar het ingebouwde.hex-bestand en selecteer dat. Klik op "Programma" en accepteer de voorwaarden van de J-Link EDU-licentie. Zorg er vervolgens voor dat u geen foutmelding krijgt en dat de led's op het bord gedimd wit moeten branden om u te laten weten dat het met succes is geprogrammeerd.
Stap 10: (Optioneel) PCB-test
Voor deze stap moet u de virtuele COM-poort op uw J-Link inschakelen door J-Link Configurator te openen en de bijgevoegde programmer te kiezen.
Sluit de "DAT"-lijn van een van de zijkanten van de tegel aan op het circuit dat op de bovenstaande foto's is bevestigd.
Open een seriële monitor met 112500 baud 8N1 en gebruik deze commando's:
- 0x08 0xFF 0xFF 0x00 0xFF 0x0A
- 0x08 is de opdracht "kleur instellen"
- 0xFF is "alle tegels"
- 0xFF 0x00 0xFF is de kleur
- 0x0A is een teken voor een nieuwe regel
De tegel zou nu paars moeten zijn. Als dit niet het geval is, controleer dan nogmaals of de diode correct is aangesloten en probeer het opnieuw.
Stap 11: 3D-afdrukbehuizing
Ik ontwierp de behuizing om oorspronkelijk te worden spuitgegoten om tijd te besparen in plaats van elke tegel in 3D te printen, maar toen de kosten voor slechts 50 behuizingen $ 6000 bedroegen, besloot ik van dat idee af. De behuizing is ontworpen in Inventor 2021 en bestaat uit twee delen, een basis en de bovenste diffusor. De basis heeft gaten in de zijkanten om tegels te kunnen verbinden met de connector-PCB's (hieronder gekoppeld) of draden. Als u de route van het gebruik van de connector-PCB's volgt, heeft u er 12 per tegel nodig om de PCB's met elkaar te kunnen verbinden.
Als je geen toegang hebt tot een 3D-printer, kun je de techniek achter deze tegels laten zien door een kinetische sculptuur te maken en de tegels aan elkaar te koppelen met koperdraad. Zorg er wel voor dat de draden niet kortsluiten!
Ik heb 20 behuizingen geprint en ontdekte dat deze tegels fijn printen tot 150 mm/sec zonder noemenswaardige kwaliteitsvermindering, wat een reductie van ongeveer 60% van de printtijd mogelijk maakt.
Ik ben vergeten foto's te maken van deze stap, maar je plaatst gewoon de voltooide PCB in de basis en klikt de bovenkant erop.
Stap 12: Tegels aansluiten
De tegellinker PCB is hier beschikbaar. Deze passen in de behuizingen en gebruiken deze connectoren. Zorg ervoor dat de twee kanten op één lijn liggen.
Stap 13: Controller
De controllersoftware is in uitvoering en zal hier worden bijgewerkt. Volg het schema om uw ESP32 aan te sluiten op een van de tegels. Upload de software met PlatformIO en maak verbinding met de WiFi-hotspot om de tegels verbinding te laten maken met uw WiFi.
Stap 14: Klaar
Monteer de tegels op elke gewenste manier, ik heb cirkels op de achterkant van de behuizing geplakt om plakband te kunnen plaatsen.
Genieten van! Laat een reactie achter als je vragen hebt.
Tweede plaats in de verlichtingsuitdaging