Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Minilift

Componenten en benodigdheden

Arduino Mega 2560
× 1

Benodigde gereedschappen en machines

Jigsaw

Apps en online services

Arduino IDE

Over dit project

Dit is een werkende lift van 5 verdiepingen. Het is 3 meter hoog. We hebben hier veel werk in gestoken.

Laten we tot de ontdekking komen... zo werkt het!

Snelle links:

  • Code
  • Bedradingsschema (binnenkort beschikbaar)

Inspiratie

We spelen nu al een paar jaar met Arduino en embedded processing/IoT, maar de meeste projecten die we hebben gedaan (en de meeste die we hebben gezien) zijn vrij eenvoudig. We zijn al heel lang op zoek naar iets "echts" om te doen.

Deze zomer ging ik naar een geweldig zomerkamp, ​​Project Ember. Het is in de San Francisco Bay Area en het is geweldig! Kinderen ontwerpen en bouwen grote houten constructies met elektrisch gereedschap. Toen ik eenmaal wist dat ik dat kon, wilde ik het fysieke gebouw combineren met Arduino en dit is het resultaat!

Benadering

Het moeilijkste om dit uit te zoeken was de motor- en vloerdetectietechniek. Een echte lift gebruikt waarschijnlijk een enorme A/C-motor met sensoren op elke verdieping. We zouden deze aanpak zeker kunnen gebruiken met een kleinere schaal, maar het plaatsen van sensoren op elke verdieping is veel bedrading, en we zouden ons zorgen maken over gevoeligheid en uitlijning, enz. Aan de andere kant kan een stappenmotor precies worden gepositioneerd ... maar we zouden precies moeten weten waar we zijn en hoe ver we moeten gaan om dat te doen.

Gelukkig hebben we iets soortgelijks gedaan in ons eerdere project "fancy calendar". Daar hadden we ontdekt hoe we stappenmotoren konden gebruiken en, interessanter, om hun posities op te slaan in niet-vluchtig geheugen (EEPROM op de Arduino). Dus we zullen hier dezelfde aanpak gebruiken. Op deze manier hebben we helemaal geen positiesensoren nodig, we rekenen gewoon op ons vermogen om het aantal stappen te tellen dat we onze stappenmotor verplaatsen.

Het andere ontwerpprobleem was met de belknoppen van de lift. Het moeten tijdelijke contactschakelaars zijn, maar de lichten moeten onafhankelijk van de knop kunnen worden bediend. We hebben een aantal geschikte gevonden op eBay.

Materialen

Knoppen met aparte lampjes (we hebben ze op eBay gekocht, ze zouden er als volgt uit moeten zien:

  • Een Arduino Mega2560 – we hebben hiervoor gekozen omdat deze meer GPIO-pinnen had voor alle toeters en bellen in het project. Koop Officieel - misschien kunt u een imitatie/compatibele goedkoper krijgen.
  • Een 8×8 LED-matrix om pijlen weer te geven Kopen (Amazon)
  • Een display met zeven segmenten om de verdiepingsnummers weer te geven. Koop (SparkFun)
  • Een stappenmotor en bestuurdersbord om de auto te verplaatsen Koop 5-pack (Elegoo) Opmerking:je gebruikt er maar één, maar je hebt er misschien meer nodig. En je kunt de doos waarin ze komen opnieuw gebruiken. 🙂
  • Een Mega2560-protoboard, om onze draden aan te sluiten Koop (BangGood) We hebben de kop bovenaan losgesoldeerd, dat hoeft niet.
  • Schroefklemmen (10×2) Koop (frys.com)Je hebt er 4 nodig
  • Draadspoel

U kunt alle onderstaande materialen vinden bij uw plaatselijke Home Depot of andere bouwmarkt:

  • Vezelplaat en 3/4 m² in lijstwerk voor de lift en de kooi.
  • Aluminium hoekbeugel om de motor vast te houden
  • Diverse schroeven
  • Slang om als doorvoer in de spoel te dienen
  • String (we gebruikten heavy-duty nylon kite-snaar)

Bouw

We hebben de schacht en de auto gemaakt van vezelplaat en lijstwerk om de hoeken te versterken.

We zijn begonnen met de liftschacht. We hebben 3 stukken vezelplaat gesneden tot 36 "x8" voor de zijkanten en achterkant (de voorkant is open). Vervolgens gebruikten we 4 stukken 3/4 "vierkant vormstuk, 36" lang, we schroefden de vezelplaat aan elkaar om een ​​verticale as te maken. Vierkante stukken vezelplaat aan de boven- en onderkant houden alles vierkant.

De liftkooi is de volgende. Het maakt gebruik van dezelfde soort constructie, met wanden, plafond en vloeren van vezelplaat, en steunen voor grenen gietstukken. Het is bijna de volledige breedte van de schacht, maar rijdt tussen de grenen voor- en achterkant (dus breder dan diep). We hebben een ooghaak aan de bovenkant van de auto bevestigd, zodat deze aan een touwtje hangt.

Zorg ervoor dat je niet te vroeg een bodem op je schacht legt, want je moet de auto in en uit kunnen stappen! Zodra het testen is voltooid, kunt u de onderkant toevoegen.

De motor zit bovenop de lift. We bevestigden een gewone houten spoel (van naaigaren) aan de as van de motor. Dit is een beetje lastig. De motoras heeft een platte rand maar het gat in de spoel is natuurlijk rond. Dus hebben we een gat in de spoel geboord en getikt, en een schroef aangebracht om tegen de platte rand van de motoras te houden. Ook is het gat in de spoel groter dan de motoras. Om als een bus te dienen om de ruimte in te nemen, hebben we een heel kort stuk rubberen slang van de juiste maat gebruikt.

Daarna monteerden we de motor op een stuk hoekaluminium en schroefden dat op de bovenkant van de as. Om de andere kant van de spoel te ondersteunen, steken we een schroef door een tweede stuk hoekaluminium. Dit zorgt ervoor dat het gewicht van de lift de spoel niet van de motoras trekt, maar waterpas blijft.

We hebben meer vezelplaat gebruikt om de knoppanelen te maken. Aan de linkerkant hebben we een bord ter hoogte van de schacht gebruikt voor de belknoppen. We gebruikten afwisselend rode en groene knoppen. Rood voor beneden, groen voor omhoog. De bovenste verdieping heeft alleen een rode en de onderste heeft alleen een groene. Ons paneel "in de lift" bevindt zich aan de rechterkant. We hebben gaten gemaakt voor de LED-matrix en het zevensegmentendisplay naast de 5 gaten voor de knoppen.

We hebben 4 schroefdozen gemonteerd. Twee op het oproeppaneel en twee aan de zijkant naast het "binnen"-liftpaneel.

Bedrading

De bedrading is lastig omdat het er veel zijn! We kozen ervoor om een ​​Arduino Mega prototyping shield te gebruiken, mede omdat we er al een hadden :-). Maar de echte motivatie was dat we met zoveel draden bang waren dat er onvermijdelijk iets zou losraken als we gewoon de standaard Arduino-pinverbindingen zouden gebruiken. Met het prototyping-schild konden we draden direct solderen en dat risico vermijden. Bovendien gaf het ons een handige plek om dingen zoals weerstanden te plaatsen, die nodig zijn voor ons 7-segments display.

Dat gezegd hebbende, we wilden niet dat al deze verschillende panelen met elkaar verbonden waren, want als we een fout zouden maken, zou het heel moeilijk te repareren zijn. Dus elke draad heeft een soort verwijderbaar uiteinde. We gebruikten schroefblokken tussen de schakelpanelen en de Arduino, en voor de 7-segmenten en LED-matrix zijn het ene uiteinde van de draad nog steeds snel loskoppelbare pinnen.

Voor de knoppenpanelen hebben we onze eigen kabelbomen gemaakt, met behulp van crimp-on vrouwelijke spade-connectoren die perfect op de knopterminals passen. Omdat elke knop twee aardingen nodig had (één voor de knop en een aparte voor het licht), zouden er VEEL aardingsdraden zijn geweest als we ze allemaal naar de Arduino hadden geleid. Dus in plaats daarvan hebben we ze allemaal in serie geschakeld met een mooie aangepaste kabelboom. De signaalpinnen (een voor de schakelaar en een voor het licht op elke knop) zijn allemaal gescheiden en lopen naar de schroefblokken.

Ten slotte gaven de schroefblokken ons nog een voordeel:we gebruikten draad met een vaste kern om aan het prototype-schild te solderen, maar we gebruikten gevlochten draad voor de krimpconnectoren aan de achterkant van de knoppen. De schroefblokken gaven ons een plek om van de ene naar de andere over te schakelen zonder te solderen.

Programmeren

We hadden veel revisies van code, maar hier is de huidige versie. Het meest gecompliceerde deel van de software is de logica om erachter te komen waar de liftkooi heen moet. Als het op verdieping 2 is, wil iemand binnen naar 3, iemand wil naar beneden vanaf 4 en omhoog vanaf 1 … waar ga je als eerste heen?

Het andere gecompliceerde deel is dat de manier waarop de stappenmotorbibliotheek normaal werkt, is dat gedurende de tijd dat de motor beweegt, niets de Arduino "loop()" -functie aanroept. Toch zou het moeten werken als iemand op een knop drukt terwijl de lift onderweg is. U kunt dus niet in één stap helemaal naar de bestemming gaan - u moet zich beetje bij beetje verplaatsen en onderweg controleren op het indrukken van knoppen (en mogelijk wijzigingen in de bestemming).

Je kunt onze Arduino-schets hier downloaden.

Om de code te uploaden:

U moet deze bibliotheken downloaden:

  • LEDControlMS
  • SevenSeg

Upload de code:

  • Kies het juiste bord: Bekijk deze afbeelding
  • Kies de poort:vergelijkbaar, maar je gaat naar "Poort". Op MacOS zal het zoiets zijn als /dev/cu.usbmodem1411, terwijl het op Windows zoiets als COM2 zal zijn.
  • Upload je code.

Als dat zo is, gefeliciteerd! Ga verder met testen. Als dat niet het geval is, gaat u terug naar stap 5. Als dat niet meer werkt, controleert u nogmaals uw bedrading. Als dat niet werkt, neem dan contact met ons op via de link bovenaan.

  • Download de Arduino IDE. arduino.cc
  • Open de code.
  • Bekijk deze tutorial om bibliotheken te installeren.
  • De lift moet de zelftest doorlopen. Alle belknoppen moeten in volgorde oplichten, dan de vijf knoppen in de lift, dan moet het zevensegmentendisplay doorlopen, dan moet de matrix de pijlen omhoog en omlaag tonen. Eenmaal voltooid, toont het 7-segments display het laatst bekende verdiepingsnummer van de liftkooi.

Testen/kalibreren

Omdat de stappenmotor precies moet weten waar hij moet stoppen voor elke verdieping, moet je hem handmatig vertellen - één keer. Het onthoudt dit in een niet-vluchtig geheugen (wat betekent dat het wordt opgeslagen, zelfs wanneer de stroom wordt losgekoppeld).

Kalibreren:

  • Houd de bovenste en onderste knoppen op het rechterpaneel ingedrukt. De matrix moet een C tonen (voor kalibreren).
  • Gebruik die bovenste en onderste knoppen om de auto handmatig naar de vloer te verplaatsen die wordt weergegeven in het zevensegment. Als het op de juiste plaats staat, druk je op de middelste knop.
  • Herhaal stap 2 voor alle vijf verdiepingen. Als je klaar bent, zou de matrix moeten uitschakelen.

Volgende stappen

Projecten als deze zijn nooit echt af! We willen de structuur van de lift en de schacht opnieuw opbouwen met lasergesneden onderdelen. We hebben hiervoor een draagbare decoupeerzaag gebruikt en dus zijn onze sneden niet echt zo recht ... dat is gedeeltelijk de oorzaak van ons "wrijvingsprobleem". Tegelijkertijd zouden we een betere motorsteun ontwerpen en een betere, snellere motor krijgen.

Elektronisch hebben we een verzoek gekregen om een ​​bel of bel toe te voegen voor elke keer dat de liftdeur opengaat, zoals veel echte liften doen. Dat zullen wij ook doen.

Eventuele gedachten of suggesties over dit project, laat het ons weten in de comments!

Versiegeschiedenis

Opmerking:de Google Drive-link wordt automatisch bijgewerkt met elke versie.

Versie 2:We hebben de bug opgelost waarbij het bellen van de lift van buitenaf op de huidige verdieping ertoe kan leiden dat de software vastloopt, waardoor je op de resetknop moet drukken.

Code

Arduino LED-matrixbibliotheek
https://github.com/shaai/Arduino_LED_matrix_sketchhttps://github.com/shaai/Arduino_LED_matrix_sketch
SevenSeg-bibliotheek
https://github.com/sigvaldm/SevenSeghttps://github.com/sigvaldm/SevenSeg
Arduino-schets

Productieproces

  1. Lift
  2. Mini Boss Battle
  3. Arduino Spybot
  4. FlickMote
  5. Zelfgemaakte tv B-Gone
  6. Hoofdklok
  7. Vind mij
  8. Arduino Power
  9. Tech-TicTacToe
  10. Arduino Quadruped
  11. 7-segment arrayklok