Inhoudsopgave:

Automaat met schaal om itemdrop te bevestigen (Raspberry Pi) - Ajarnpa
Automaat met schaal om itemdrop te bevestigen (Raspberry Pi) - Ajarnpa

Video: Automaat met schaal om itemdrop te bevestigen (Raspberry Pi) - Ajarnpa

Video: Automaat met schaal om itemdrop te bevestigen (Raspberry Pi) - Ajarnpa
Video: Dit gebeurt er als je een week geen ondergoed draagt 2024, September
Anonim
Automaat met schaal om itemdrop te bevestigen (Raspberry Pi)
Automaat met schaal om itemdrop te bevestigen (Raspberry Pi)

Welkom mede maker, voor een schoolproject besloot ik een snackautomaat te maken. Onze opdracht was om een reproduceerbaar apparaat te maken dat minimaal 3 sensoren en 1 actuator gebruikte. Ik ging een automaat maken, deels omdat ik via mijn lokale makerslab toegang had tot enkele essentiële onderdelen (d.w.z. de motoren). Eerst was het idee om een drankautomaat te maken, maar dat zou niet haalbaar zijn geweest vanwege de behoefte aan isolatie, een koelelement en een zachter vrijgavemechanisme voor mousserende dranken.

Dit project was in zekere zin een primeur voor mij; Ik had nog nooit op zo'n schaal met hout en elektronica gewerkt. Mijn ervaring was voornamelijk in software, dus besloot ik mezelf uit te dagen door een project te creëren dat een echte leerervaring zou zijn.

Ik zal proberen jullie op de best mogelijke manier uit te leggen hoe je deze automaat kunt maken. Houd in gedachten dat dit alles een primeur voor mij was, dus ik maakte wat beginnersfouten met houtsnijden enz.

Alle code is te vinden in de Github-repository:

Benodigdheden

  • Hout
  • Scharnieren

    • 2 hardere voor de voordeur
    • 2 zachte voor het productluik
  • Plexiglas
  • 4 automaat DC-motoren (met een knop voor rotatiebeheer)
  • 4 spiralen (ik gebruikte 6 mm² koperdraad)
  • 4 connectoren om de motoren met de spiraal te verbinden (ik heb ze 3D geprint)
  • Raspberry Pi
  • 4x4 toetsenbord
  • Muntvangers
  • LCD
  • Doorverbindingsdraden
  • Breadboards
  • 4 TIP 120-transistoren
  • Weerstanden
  • Een draad thermometer
  • Loden strip

Stap 1: Programmeren van de sensoren

Omdat ik de meeste ervaring had met software besloot ik eerst te beginnen met het programmeren van de sensoren.

De sensoren omvatten:

  • Een draad thermometer
  • Laadcelsensor
  • 4x4 toetsenbord
  • Muntvangers

De eendraadsthermometer is vrij eenvoudig en omvat het aansluiten van de ene draad op GPIO PIN 4 van de Raspberry Pi (met enkele weerstanden) en het lezen van het bijbehorende bestand.

De loadcel was iets ingewikkelder maar nog steeds rustig eenvoudig. De 4 draden moesten worden aangesloten op de HX711-versterker en op zijn beurt moest de HX711-versterker worden aangesloten op de Raspberry Pi. Zodra dit is gebeurd, heb ik de HX711-pythonbibliotheek gebruikt om waarden uit te lezen. Het uitlezen van de load cell zonder last definieerde de tarrawaarde. Daarna plaatste ik een aantal vooraf bekende gewichten op de weegschaal en met de regel van drie berekende ik de constante waar de afgelezen waarde door gedeeld moest worden om door een waarde in grammen te worden weergegeven.

Het 4x4-toetsenbord is zo intuïtief als het maar zijn kan. Met de 8 draden aangesloten op het toetsenbord die de 4 kolommen en 4 rijen van het toetsenbord vertegenwoordigen. Enige voorzichtigheid is geboden bij het bestellen van deze draden, aangezien de 2 4x4 toetsenborden die ik gebruikte 2 totaal verschillende draadorders hadden. Met een eenvoudig te gebruiken toetsenbordbibliotheek kan de ingedrukte toets eenvoudig worden geregistreerd wanneer deze correct is aangesloten op de Raspberry Pi.

De moeilijkste van de sensoren is absoluut de muntvanger. Het instellen van de munten op het apparaat is vrij eenvoudig dankzij goede documentatie. Ik had een apparaat dat 4 verschillende munten kon onderscheiden. U moet het bijbehorende aantal pulsen opgeven voor een munt die het apparaat naar de Raspberry Pi stuurt. De muntregistratie aan de kant van het apparaat is bijna foutloos, wat te zien is aan het display aan de zijkant. Het probleem zit hem in het registreren van deze pulsen op de Raspberry Pi. Er moet een voldoende krachtige adapter (12V, 1A) worden gebruikt om de verschillende munten onderscheidend te kunnen registreren, evenals een zorgvuldige programmering om het tellen van pulsen niet te vroeg te stoppen.

Stap 2: Aansluiten en programmeren van de motoren

De motoren aansluiten en programmeren
De motoren aansluiten en programmeren

Ik heb wat automaatmotoren uit mijn lokale makerslab gehaald, maar ik moest nog uitzoeken hoe ik ze kon aansluiten en programmeren.

Op de motoren waren 4 draden aangesloten en na enig speuren waren er 2 voor stroom (minimaal 12V) en 2 voor de knop die elke halve slag ingedrukt wordt. Ik heb elk van deze motoren aangesloten op een TIP 120-transistor om ze via de Raspberry Pi te kunnen besturen. Een van de andere 2 draden heb ik aangesloten op een ingang van de Pi (met pullup-weerstand) en een op aarde.

Daarna heb ik een paar spiralen gemaakt van 2,2 mm staaldraad, die de verkeerde kant op bleken te draaien; zodat mijn items in plaats daarvan achteruit gingen. Dus ik gebruikte koperdraad van 6 mm², wat veel gemakkelijker was om mee te werken.

Na het maken van 4 spiralen was het tijd om de connectoren te maken die nodig waren om de spiralen op de motoren aan te sluiten. Ik besloot ze in 3D te printen (bestand bijgevoegd) en ze op de motoren te lijmen en de draad eromheen te buigen.

Stap 3: De behuizing van de machine maken

De behuizing van de machine maken
De behuizing van de machine maken

Voor de behuizing heb ik hout gebruikt dat in het makerslab aanwezig was. Omdat er niet genoeg van één type was en het frontpaneel slanker moest zijn om de elektronica te passen, bestond de behuizing uit minimaal 6 houtsoorten.

Als eerste heb ik 2 planken van 168 x 58 cm doormidden gezaagd voor het achterpaneel, de 2 zijpanelen en het middelste tussenpaneel.

Voor het onderpaneel heb ik een handig (zo dacht ik) stuk hout van 58 x 58 cm gebruikt. Dit bleek een vergissing te zijn aangezien ik geen rekening had gehouden met de dikte van het hout, dus het achterpaneel moest boven op het onderpaneel worden geschroefd en de zijpanelen vanaf de zijkant. Hierdoor stak er een extra stuk van 2 cm uit de bovenkant.

Daarna heb ik de 2 horizontale productplanken op het middelste scheidingspaneel geschroefd. Evenals de bovenkant van het productcompartiment. Toen begon ik het plexiglas voor het luik open te breken dat ik met 2 zachte scharnieren op een houten balk bevestigde die met het middelste scheidingspaneel was verbonden. Toen dat klaar was moest het gat midden compartiment in het linker zijpaneel worden geschroefd.

Daarna heb ik de houten delen van de weegschaal gemaakt en op de onderkant van de behuizing gelijmd. Hierdoor bleef er een klein gaatje aan de onderkant van de behuizing wat ik oploste door er een dunne plank voor te plaatsen. (Niet op foto)

Stap 4: Montage van de sensoren en motoren aan de behuizing

Toen het skelet van de behuizing klaar was, was het tijd om de ingewanden in te brengen.

Eerst heb ik wat gaten in een plank gezaagd voor het LCD, het toetsenbord en de muntvanger. Toen heb ik deze elektronica op de plank genageld en aangesloten op de Raspberry Pi. Er moest een zorgvuldige planning worden gemaakt om de draden niet te veel te kruisen. De eendraadsthermometer heb ik aangesloten op een breadboard die aan de binnenkant van de elektronicaplank is gelijmd. Daarna zaagde ik een plank voor de Raspberry Pi, het breadboard voor de motortransistoren en de arduino die ik gebruikte om de 12V te leveren voor de muntvangers en de motoren.

De motoren heb ik op de horizontale productplanken gelijmd en ik heb enkele verticale planken toegevoegd om de artikelcompartimenten te verdelen.

Stap 5: klaar met de automaat

De automaat klaar
De automaat klaar

Voor de afwerking heb ik de hele machine zwart geverfd en aan de binnenkant een ledstrip aangebracht. Onder de muntvanger heb ik een vakje gemaakt waar de munten in kunnen vallen, zodat ze niet over het linker compartiment zouden schuiven. Ik voegde ook de plexiglazen deur toe met de hardere scharnieren.

Aanbevolen: