Een open source IoT-controller bouwen en certificeren, deel 3: productie en testen

Deel 1 van deze serie besprak de ontwerpvereisten van de Anthilla Controller (of AnthC). In deel 2 leerden we over het proces voor het verkrijgen van de open-sourcecertificering van AnthC. Deze aflevering beschrijft het proces (en de uitdagingen) van het daadwerkelijk bouwen van de Anthilla Controller, van het verkrijgen van componenten tot het testen van de eerste prototypes.

Het ontwerp bijwerken

Door tekorten aan grondstoffen en afgewerkte componenten zijn de afgelopen jaren moeilijk geweest voor de elektronica-industrie. Net als veel andere projecten over de hele wereld leed het AnthC-project onder het gebrek aan materialen, wat vertragingen en kostenstijgingen veroorzaakte. De noodzaak om componenten te vervangen zorgde ook voor nieuwe fasen in het ontwerpproces, waardoor we de mogelijkheid kregen om vóór de montage een aantal nuttige wijzigingen aan te brengen.

Beschikbaarheid van componenten

De eerste versie van de Anthilla Controller maakte gebruik van een PCB-assembler in China, en sommige van de specifieke componenten die erin zaten waren alleen in dat land verkrijgbaar. Meestal zou dit geen probleem zijn; het verlaagt de uiteindelijke prijs, omdat de assembleur deze componenten relatief goedkoop en zonder importkosten kan verkrijgen. Dit is vooral gunstig voor kleinschalige productieruns zoals die van AnthC.

Toen de mondiale aanbodsituatie veranderde, moesten we onze prioriteiten aanpassen. Nu waren beschikbaarheid en doorlooptijd, in plaats van prijs, bepalend voor onze besluitvorming. Uiteindelijk hebben we de exclusieve componenten vervangen door onderdelen die verkrijgbaar zijn bij grote distributeurs, zoals Mouser, Digikey en Farnell.

Door de componenten te vervangen, konden we voor de nieuwe versie van de AnthC een assembler in Europa gebruiken. Omdat het ontwerpteam ook in Europa was gevestigd, verkortte dit de levertijd van de nieuwe prototypes.

Ontwerp voor productie en testen

Naast het vervangen van verouderde componenten, hebben we deze keer ook de Design for Manufacturability (DFM) en Design for Testing (DFT) van het bord verbeterd door de volgende wijzigingen:

  • Alle via’s op dezelfde maat afgesteld (gatdiameter 0,3 mm, koperpaddiameter 0,6 mm). Dit leverde ons de beste afweging op tussen de vereiste dichtheid en de prijs van het bord.
  • Testpunten toegevoegd aan alle belangrijke spanningsmetingen op de onderste laag. Hierdoor kon de plaat worden getest in een productielijn met behulp van een proefbank (Figuur 1).
  • Verbeterde zeefdrukleesbaarheid van componenten waarbij de polariteit cruciaal was, zoals diodes. In een eerdere versie van het bord waren alle diodes met de verkeerde polariteit gemonteerd.
  • Het aantal verschillende componenten in de stuklijst is verminderd door middel van uniforme onderdeelnummers voor de productie.

Figuur 1. PCB-testbanken zijn van cruciaal belang voor de kwaliteitscontrole bij massaproductie. Afbeelding gebruikt met dank aan SparkFun

Productie en assemblage

Nadat alle verbeteringen waren doorgevoerd, brak de tijd voor productie aan! Vanwege hun populariteit hebben we JLCPCB onderzocht als mogelijke fabrikant en assembleur. JLCPCB biedt lage prijzen, wat een duidelijk voordeel voor hen was.

Minder gunstig is dat het JLCPCB-proces extra werk van de ontwerper vereist, wat mogelijk ook de toeleveringsketen compliceert. Gelukkig is er een leercurve en wordt het proces intuïtiever met herhaling.

Het verstrekken van de bestanden

Voor het leesgemak en om hen in staat te stellen automatisch naar de juiste referenties te zoeken, vereist JLCPCB dat gebruikers de productie- en assemblagebestanden in specifieke formaten uploaden. De productiebestanden moeten Gerber-bestanden zijn. Deze zijn eenvoudig te genereren met KiCad en het exporteren ervan is net zo eenvoudig.

De vereisten voor het assemblagebestand zijn echter specifieker en mogelijk lastiger om goed te krijgen. Het correct formatteren van de stuklijst kan bijzonder tijdrovend zijn. Gelukkig is de open-sourcegemeenschap erg actief, dus er is een plug-in genaamd JLC-plugin-voor-KiCad dat kan helpen. De belangrijkste kenmerken van deze plug-in zijn:

  • Genereert de benodigde Gerber-bestanden in een acceptabel formaat.
  • Genereert de BOM- en Pick and Place-bestanden in formaten die bruikbaar zijn voor JLCPCB.
  • Voegt het JLCPCB-onderdeelnummer toe aan de stuklijst. JLCPCB gebruikt hun eigen onderdeelnummers om naar componenten te zoeken.
  • Voegt een veld toe dat de componentoffset corrigeert. De offset van een door de gebruiker gedefinieerde component kan verschillen van de offset die is gedefinieerd door de JLCPCB-bibliotheken; deze functie bespaart u de offset bij het bestellen van de PCBA.

Nadat de Gerber- en BOM-bestanden waren geüpload, werd het mogelijk om de PCBA in KiCad te visualiseren (Figuur 2). Ik vond het ook interessant om de PCB-houders te zien die werden gebruikt om de componenten op het bord te monteren. Figuur 2 bevat geen terminalconnectoren, omdat deze daarna handmatig zijn gesoldeerd.

Door EDA gegenereerde afbeelding van de PCBA van AnthC.

Figuur 2. Anthilla-controller PCBA. Afbeelding gebruikt met dank aan Ignacio de Mendizábal

Bestellen van de componenten

JLCPCB had veel, maar niet alle, componenten op voorraad die nodig waren voor het Anthilla Controller-bord. Voor componenten die ze niet op voorraad hebben, bieden ze de mogelijkheid om de componenten te bestellen en op te slaan voor gebruik in toekomstige assemblages. U kunt de onderdelen ook zelf bestellen en naar JLCPCB sturen.

Welke optie u ook kiest, of welke assembleur u ook kiest, het is belangrijk om de minimale bestelhoeveelheid (MOQ) te controleren wanneer u een bestelling plaatst. De MOQ wordt bepaald door:

  • De minimale hoeveelheid die de verkoper van onderdelen nodig heeft voor een aankoop.
  • Het aantal componenten dat u op uw boards moet installeren.
  • De slijtagehoeveelheid, die verwijst naar het aantal reserveonderdelen dat de monteur nodig heeft voor het geval er iets misgaat tijdens het montageproces.

Als u in eerste instantie niet aan de MOQ voldoet, moet u een extra bestelling plaatsen om het verschil te compenseren voordat de montage kan beginnen. Zorg er vooral voor dat u de slijtagehoeveelheid controleert. Het is beter om in het begin iets meer uit te geven aan reserveonderdelen dan dat de montage dagen of weken wordt uitgesteld terwijl u wacht op een extra zending.

Testen

Voor voorlopige tests moesten we wat code schrijven in de Arduino-programmeertaal. Een voorbeeld hiervan is te vinden in Tabel 1.

Tafel 1. Een fragment van de code die is gebruikt om de Anthilla Controller te testen.

Codefragment voor Arduino-programmeertaal.

Gelukkig waren er al veel codebibliotheken beschikbaar, wat de ontwikkeling versnelde. We hebben de volgende bibliotheken gebruikt:

  • MCP3XXX: voor toegang tot de analoog-digitaalomzetter (ADC) MCP3464T-E_NC
  • MCP7940: voor toegang tot de Real Time Clock (RTC) MCP7940N-I/SN.
  • arduino-i2c-sht4x: voor toegang tot de Sensirion temperatuur- en vochtigheidssensor SHT40-AD1B-R2.

Wij hebben een modulaire aanpak gevolgd. Elke module kan indien nodig worden geactiveerd of gedeactiveerd. Hierdoor werd het testen van elk onderdeel van het bord mogelijk, waardoor problemen werden geïsoleerd, zodat ze allemaal afzonderlijk konden worden aangepakt.

Wijzigingen

Tijdens de testfase vereisten sommige punten speciale aandacht of aanpassingen. Om te beginnen gedroeg het stuurcircuit van de LM2735-converter zich niet goed: de logische niveaus wanneer de batterij was aangesloten, gingen niet hoog of laag genoeg om de converter in te schakelen. Om dit probleem op te lossen, hebben we de weerstanden R30 en R11 vervangen.

De nieuwe weerstanden maakten het mogelijk om te schakelen tussen de batterij en een gelijkstroomvoeding, namelijk de boostconverter U12. Vóór deze aanpassing zouden de logische niveaus van R30 en R11 niet hoog of laag genoeg zijn geweest om de boost-omzetter te activeren of te deactiveren. Figuur 3 toont de weerstanden voor en na de wijzigingen.

Schakelschema met weerstanden R11 en R30 voor en na ontwerpwijzigingen.

Figuur 3. Weerstanden R11 en R30 vóór (links) en na (rechts) wijzigingen. Afbeelding gebruikt met dank aan Ignacio de Mendizábal

Bovendien was de knoopcelhouder ten onrechte gemaakt voor een CR2430-batterij in plaats van een CR2032-batterij. Dit was geen groot probleem; we konden een CR2430 gebruiken voor het prototype, en dat hebben we uiteindelijk ook gedaan. In de definitieve versie hebben we de connector echter vervangen door een connector voor een CR2032, waardoor we de kans hebben benut om een ​​apparaat voor opbouwmontage te gebruiken in plaats van een apparaat met een doorgaand gat.

Volgende stappen

Op dit punt in het proces werken de belangrijkste functionaliteiten van de Anthilla Controller allemaal. De productie wordt soepeler; oplossingen voor de problemen die we hebben ontdekt, zullen in de volgende versie worden geïmplementeerd. Er blijft echter meer werk.

Om de AnthC in Europa, onze doelmarkt, te kunnen verkopen, moet deze elektromagnetische compatibiliteitstests (EMC) ondergaan en voldoen aan de richtlijnen van de Europese Unie met betrekking tot gezondheid, veiligheid en impact op het milieu. Het laatste artikel in deze serie legt deze wettelijke vereisten uit en hoe u eraan kunt voldoen, waardoor het proces hopelijk wordt ontraadseld.

Noot van de redactie: De initiële ontwikkeling, het testen en de productie van de Anthilla Controller werden mogelijk gemaakt door financiering van Anthilla, maar het bedrijf is momenteel niet bij het project betrokken. Noch All About Circuits, noch de auteur van dit artikel ontvangen enig financieel voordeel van Anthilla voor de publicatie van het artikel.

Heater
Logo
Compare items
  • Total (0)
Compare
0
Shopping cart