Bouwverslag CG-scale

Discussie in 'Zweefvliegen' gestart door Alpha21, 12 aug 2018.

  1. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Hi allen,


    Ik volgde al geruime tijd een interessant draadje op RC groups over een electronische weegschaal met zwaartepuntsbepaling voor F3X modellen. Zelf was ik al wat aan het experimenteren met Arduino dus ben ik deze winter gestart met het project (na ook de demo gezien te hebben van Rick Ruijsink op de KNVL dag …- bedankt nog voor de info, Rick!). Het RC groups draadje is ondertussen al 35 pagina’s lang, mss. dat dit bouwverslagje het wat compacter kan houden.
     
  2. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Het begon allemaal met deze pagina van Olav Kallhovd. Onder Documentation vindt je een overzicht van alle nodige materialen (BOM.xls) en de 3D print files (*.stp) voor het chassis. Aaro Malila heeft een evolutie van Olav’s project geschreven en die heb ik gebruikt voor mijn project:
    • I2C naar LCD interface, samen met een 16x2 LCD module. Dit versimpelt de interface naar 4 draadjes (2* power en 2* I2C) en vooral: het hele project draait vanaf 1 Arduino.
    • Aaro heeft ook nog enkele drukknopjes en een calibratie procedure toegevoegd.
    • Diverse handige verbeteringen in de CG_scale software
    • LCD contrastregeling (door de Arduino) en monitoring vd batterij heb ik achterwege gelaten
    Ondertussen is door David Beach alweer verder gesleuteld aan de software, met name een verbeterde calibratie routines (maar daar ben ik nog niet helemaal aan toe gekomen).
     
  3. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Om met de software te beginnen: de basis vind je op de Arduino webpaginas, incl. de Arduino IDE om software in te schrijven en te downloaden naar de microcontroller. Zelf heb ik al enige tijd ervaring met C++ en gebruik nu Microsoft Visual Studio als ontwikkelomgeving (recent is een Arduino extensie toegevoegd). Het programma voor de weegschaal vindt je bij de Code tab van Aaro, verder zijn er nog 2 libraries nodig: HX711_ADC en LiquidCrystal_I2C (Arduino built-in libraries: Wire.h, EEPROM.h.
    PS: alle software is gratis
     
  4. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Hardware

    · Arduino Pro Micro 5V/16MHz (gekozen omdat die in tegenstelling tot de Mini wel een USB aansluiting heeft). Deze kan op de raw pin met <12V gevoed worden (in mijn geval een 9V batterij) en levert zal een gestabiliseerd 5V uitgang die door het display/load versterkers gebruikt wordt.
    • 16x2 karakters LCD display
    • I2C naar LCD interface
    • HX711 versterker (met metalen afscherming)
    • 2kg Loadcells.
    • 3D print onderdelen.
    • Kleinmateriaal. Verkijk je hier niet op – er zijn nogal wat specifieke M3/M4 boutjes nodig.
     
  5. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Opmerkingen betreffende de hardware:
    • 3D onderdelen. Een ELC clublid – Hans Meijdam – heeft die voor mij geprint. Wel moet er met voldoende infill geprint worden, anders wordt het allemaal wat te zwak. Hans kan hier mogelijk nog commentaar geven. Rondvragen bij clubleden/netwerk kan de kostprijs van deze aardig drukken.
    • De I2C adapter heeft een potmeter om het contrast te regelen. Echter hierdoor kwam het geheel te dik uit voor de houder. Dus heb ik die potmeter losgesoldeerd en met wat draadjes naar het display verhuisd.
    • De HX711 versterkers die ik ontving, hadden SCK en DOUT gewisseld van positie ten opzichte van wat Olav/Aaron gedocumenteerd hadden.
    • Het is raadzaam eerst de hardware aan te schaffen en die goed te checken met 3D print files. Ik had eerst een 2 en 3kg load cell, maar de boorgaten van de 3kg cell pasten niet!
    • Schuif de loadcell correct in de houders – past het niet, check de boven/onder oriëntatie – niet forceren want dan loop je kans de sensor te beschadigen. De draadjes zijn trouwens bijzonder dun – niet meteen kort afknippen! Draadjes twisten vermindert de gevoeligheid aan storing en een stabieler uitlezing.
    • Heel handig om schema’s te maken: Fritzing. Speciaal voor dit soort maker toepassingen want je kunt bovenstaande componenten kant en klaar instantiëren.
    PS: alle hardware is goed verkrijgbaar in Nederland. (opencircuits.nl, tinytronics.nl)
     
  6. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Built:
    • Het grootste werk zit in de opbouw van de electronica. Alles moet in een 5x5x1cm traytje passen, ff puzzelen dus. Ik heb vooral met reepjes experimenteerprint gewerkt om een 2laags opbouw te maken en alle onderdelen netjes te verbinden (voeding verdelen, drukknopjes monteren). Ook de sensoraansluitingen heb ik zo gedaan want meteen op header pins solderen, bleek veel te delicaat.
    • Het is geen goed idee om alles in één keer in mekaar te solderen en dan pas met software te kijken of het allemaal werkt. Stapsgewijs opbouwen en telkens met een stukje software controleren of dat deel klopt werkt een stuk overzichtelijker. In de code kun je met extra Serial.print commando’s op de console volgen wat er allemaal gebeurt, status laten zien, kortom: soft- en hardware debug dus). Zo ontdekte ik in de code een While-loop die vast liep als er geen geldige waardes van de loadcell ontvangen werden).
    • Tip voor het LCD display: die leek het aanvankelijk niet te doen maar de contrast setting was helemaal verkeerd waardoor karakters gewoon niet zichbaar werden.
     
  7. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Laatst bewerkt: 13 aug 2018
  8. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Hier is de opbouw van de onderdelen vóór inbouw te zien: links de 2 HX711 versterkers, rechts onder Arduino pro micro, rechts opstaand het experimenteerprintje voor de drukknopjes, midden opstaand het verdelen van voeding (geregelde 5V van de Arduino). Verder nog wat stekkertjes: op het voedingsprintje: display voeding, op de Arduino: 9V batterij naar de raw input en geel/oranje de I2C aansluiting van het display/

     
    Laatst bewerkt: 13 aug 2018
  9. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Laatst bewerkt: 13 aug 2018
  10. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
  11. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    De CG scale is nu volledig werkend en gecalibreerd. Het resultaat wijkt qua gewicht ca. 0.1% van mijn digitale keukenweegschaal en het CG wijkt ca. 0.1mm af van wat ik met de digitale schuifmaat gemeten had. Prima resultaat vind ik, want uiteindelijk komt het straks toch op het vlieggevoel aan.

    Het heeft me al bij al toch aardig wat avonden gekost om alle info bij mekaar te krijgen, te verwerken, Arduino software te proberen. Her en der wat hardware hick-ups gehad, maar dat is voor mij ook een leuk aspect van dit stuk hobby. Het nadeel van open source is dat het aardig wat tijd kost om de goede bestanden te vinden. Iedereen kan zijn versie/smaak van code voor een onderdeel op het net gooien, maar dat is niet per se compatibel met wat jij nodig hebt.

    Verbeterpunten: het duurt nu nog behoorlijk lang eer de CG-scale een stabiele eindwaarde bereikt (20-30sec). Ik moet nog eens door de software routines spitten om overbodige wachttijden en debug zaken eruit te filteren. En de SW van David Beach proberen/evalueren.
     
    Laatst bewerkt: 12 aug 2018
    Rick NL vindt dit leuk.
  12. Alpha21

    Alpha21

    Lid geworden:
    29 okt 2010
    Berichten:
    573
    Locatie:
    Gld
    Oh ja - en binnenkort mijn modellen eens nameten :)
     
    jve vindt dit leuk.

Deel Deze Pagina