Inhoudsopgave:

Een gemotoriseerde intrekbare joystick ontwikkelen - Ajarnpa
Een gemotoriseerde intrekbare joystick ontwikkelen - Ajarnpa

Video: Een gemotoriseerde intrekbare joystick ontwikkelen - Ajarnpa

Video: Een gemotoriseerde intrekbare joystick ontwikkelen - Ajarnpa
Video: Turbo Twist Promo Video 2024, Juli-
Anonim
Een gemotoriseerde intrekbare joystick ontwikkelen
Een gemotoriseerde intrekbare joystick ontwikkelen

Deze gemotoriseerde intrekbare joystick is een goedkope oplossing voor gebruikers van elektrische rolstoelen die moeite hebben met het gebruik van handmatige wegzwenkbare joystickbevestigingen. Het is een ontwerp-iteratie op een eerder project met intrekbare joysticks.

Het project bestaat uit twee delen: een mechanisch deel (montageontwerp, montage enz.) en een elektrisch deel (schakelingen, Arduino-code enz.).

De gemotoriseerde intrekbare joystickmodule kan door iedereen worden gemaakt en gerepliceerd door de instructies hier te volgen. Er is geen voorkennis over circuits of Arduino of Solidworks nodig. Er is heel weinig solderen bij dit project betrokken, en instructies voor het solderen zijn hier te vinden. Toegang tot elementaire boor-/bewerkingsactiviteiten is noodzakelijk. Gedetailleerde uitleg van het ontwerp wordt behandeld in Mechanisch deel en elektrisch deel.

Stap 1: Inhoud

  1. Inhoud
  2. Functies en functionaliteit

    • Gemotoriseerd in- en uitschuifmechanisme
    • Links/rechts modus
    • Modulariteit
    • Instelbare rotatiesnelheid
  3. Voorbereiding

    • Software

      Arduino

    • Hardware

      • Overzicht van alle benodigde onderdelen en gereedschappen
      • Arduino Nano (Rev 3.0)
      • Motorstuurprogramma-chip: L293D
      • Pull-down weerstanden
      • Knoppen en schakelaars
      • Motorselectie
    • Aangedreven door elektrische rolstoelen

      Een USB-poort gebruiken

  4. Mechanisch onderdeel

    • productie
    • Eindschakelaar bijlage
    • Montage/demontage
    • Motorvervanging
    • Elektronica Behuizing
  5. Elektrisch onderdeel

    • Circuits

      • Schema's
      • Breadboard-indeling
    • Arduino-code
  6. Stapsgewijze instructies

    Download het PDF-bestand met instructies

  7. Probleemoplossen
  8. Videodocumentatie
  9. Referenties

Stap 2: Functies en functionaliteit

Functies en functionaliteit
Functies en functionaliteit

Gemotoriseerd in- en uitschuifmechanisme

Met deze gemotoriseerde intrekbare joystickbevestiging kunnen gebruikers van elektrische rolstoelen hun joystick automatisch in- of uitschuiven. Gebruikers hebben de mogelijkheid om ofwel op twee knoppen te drukken (één voor intrekken en één voor uitschuiven) of op één knop (een enkele knop voor zowel intrekken als uitschuiven), afhankelijk van hun voorkeuren. De plaatsing van de knoppen is flexibel en kan veranderen om tegemoet te komen aan verschillende gebruikersvereisten. De knoppen zijn via universele knopaansluitingen aan het circuit bevestigd, dus de knoppen die in deze demo worden gebruikt, kunnen worden vervangen door elke universele knop.

Links/rechts modus

Dit product is geschikt voor zowel links- als rechtshandige gebruikers. De technicus die het gemotoriseerde systeem op de elektrische rolstoel van de klant installeert, kan de modus eenvoudig wijzigen door een schakelaar in de elektronicabox om te zetten. Er hoeven geen wijzigingen aan de code te worden aangebracht.

Modulariteit

Het product is faalveilig. Als het geautomatiseerde mechanisme in gebreke blijft of als het systeem wordt gerepareerd, wordt het handmatige wegdraaimechanisme niet beïnvloed. Een gedetailleerde beschrijving van het eenvoudige montage- en demontageproces vindt u verderop in de instructies.

Instelbare rotatiesnelheid

De rotatiesnelheid van het geautomatiseerde mechanisme kan worden aangepast door de Arduino-code te wijzigen (instructies worden in latere secties gegeven). Als veiligheidsmaatregel mag de rotatiesnelheid niet te hoog zijn, omdat het systeem niet kan voelen wat er in de weg zit, wat licht letsel kan veroorzaken.

Stap 3: Voorbereiding

Voorbereiding
Voorbereiding
Voorbereiding
Voorbereiding
Voorbereiding
Voorbereiding

Software

In dit project wordt Arduino gebruikt, dus je moet de Arduino IDE op je computer hebben geïnstalleerd. De link om de applicatie te downloaden is hier. De Arduino-code die voor dit product wordt gebruikt, is beschikbaar in een later gedeelte.

Hardware

Overzicht van alle benodigde onderdelen en gereedschappen

Deze volgende tabel bevat alle onderdelen en gereedschappen die nodig zijn voor dit project.

Arduino Nano (Rev 3.0)

In dit product wordt Arduino Nano (Rev 3.0) gebruikt. U kunt dit bord echter vervangen door andere Arduino-boards met PWM-pinnen. PWM-pinnen zijn vereist in dit project, omdat we Arduino (afbeelding) zullen gebruiken om een motordriverchip (L293D) te besturen, en de chip moet worden bestuurd door PWM-ingangen. De PWM-pinnen van Arduino Nano (Rev 3.0) omvatten: D3-pin (Pin 6), D5-pin (Pin 8), D6-pin (Pin 9), D9-pin (Pin 12), D10-pin (Pin 13), D11-pin (pin 14). Als u geïnteresseerd bent in meer details over Arduino Nano, kunt u hier de pinlay-out en de schema's raadplegen.

Motorstuurprogramma-chip: L293D

L293D is een krachtige DC-motoraandrijfchip waarmee de DC-motor zowel met de klok mee als tegen de klok in kan draaien.

De pinnen die in dit project worden gebruikt zijn: Enable1, 2 pin (Pin 1), Input 1 (Pin 2), Output 1 (Pin 3), GND (Pin 4), Output 2 (Pin 6), Input 2 (Pin 7), Vcc 1 (pen 8), Vcc 2 (pen 16).

  • Enable1, 2-pins (Pin 1): regel de snelheid van de motor
  • Ingang 1 (Pin 2): regel de richting van de motor
  • Uitgang 1 (Pin 3): aansluiten op de motor, polariteit maakt niet uit
  • GND (Pin 4): verbinden met aarde
  • Uitgang 2 (Pin 6): aansluiten op de motor, polariteit maakt niet uit
  • Ingang 2 (Pin 7): regel de richting van de motor
  • Vcc 1 (Pin 8): voed het interne circuit van de chip, sluit aan op 5 V
  • Vcc 2 (Pin 16): voeding van de DC-motor, varieert afhankelijk van de motorvereisten. De motor die voor dit project wordt gebruikt, kan op 5 V worden gevoed.

Als u geïnteresseerd bent in meer details over de L293D, vindt u hier en hier toegang tot de datasheet.

Pull-down weerstanden

Elke knop/schakelaar is gekoppeld aan een pull-down-weerstand. Pull-down weerstanden zijn hier om ervoor te zorgen dat de Arduino een constante waarde van de pin zal lezen. Als je onze knoppen/schakelaar niet koppelt met een weerstand, zal de waarde die Arduino leest van de corresponderende pin tussen 0 en 1 zweven. In dit geval zullen de knoppen/schakelaar niet werken zoals verwacht. Omdat we pull-down-weerstanden gebruiken, worden de weerstanden bedraad tussen de overeenkomstige digitale pin en de grond, dus de knoppen / schakelaar worden bedraad tussen de power-pin (+5V) en de digitale pin op de Arduino Nano. Wanneer de knop wordt ingedrukt, leest de Arduino 1 van de bijbehorende pin. In dit project worden drie weerstanden van 270 gebruikt.

Knoppen/Schakelaar

In dit project implementeren we 3,5 mm-knopaansluiting (en) op het breadboard voor eenvoudige vervanging van de knop. Een twee-pins schakelaar (om de links-/rechtshandige modus te schakelen) is rechtstreeks op het breadboard aangesloten, aangezien de meeste gebruikers van elektrische rolstoelen geen interactie met de schakelaar nodig hebben en de schakelaar is ontworpen voor de persoon die helpt bij het installeren van het hele mechanisme.

Motorselectie

We hebben enkele handmatig intrekbare standaardbevestigingen verkregen van verschillende elektrische rolstoelen van The Boston Home Inc. De hoeveelheid kracht en koppel die nodig is om al deze monsters in te trekken, werd getest en berekend. Na het controleren van de motorspecificaties, werd een DC-motorreductor gekozen voor de joystick-standaardbevestiging die eerder werd getoond als een demo voor de instructies, omdat die joystick-standaardbevestiging het meeste koppel vereiste van de 4 monsters die we hadden. U wilt de hoeveelheid kracht en koppel testen die nodig is voor uw joystickarm + het gewicht van de joystickconstructie zelf om er zeker van te zijn dat deze binnen de specificatie past.

Aangedreven door elektrische rolstoelen

De meeste elektrische rolstoelen zijn uitgerust met een 24V voeding. Dit geautomatiseerde intrekbare joystickproduct vereist een 5V-ingang. Aangezien het product is ontworpen om stroom te ontvangen van de voeding van de rolstoel, is er geen externe voeding nodig.

Een USB-poort gebruiken

Een DC-DC 24V-naar-5V buck-converter (een buck-converter wordt gebruikt om de spanning omlaag te brengen.) module met een USB-poort kan online worden besteld (degene die we gebruikten, is hier besteld). Sluit de ingang van de buck-converter aan op de 24V-voeding (voedingspoort naar voedingspoort en grondpoort naar grondpoort), en het Arduino Nano-bord kan vervolgens via de USB-poort op de buck-convertermodule worden aangesloten.

Stap 4: Mechanisch onderdeel

Mechanisch onderdeel
Mechanisch onderdeel
Mechanisch onderdeel
Mechanisch onderdeel
Mechanisch onderdeel
Mechanisch onderdeel

Alle metingen en afmetingen zijn gemaakt met betrekking tot de specifieke joystickarm die we voor dit project hebben gebruikt. Deze kunnen variëren afhankelijk van de arm en we zullen belangrijke variabiliteitsgebieden opmerken.

productie

Er zijn drie extra onderdelen die moeten worden gefabriceerd om het mechanische onderdeel opnieuw te maken (zie afbeeldingen). De buitenste arm van de joystickarm moet ook worden aangepast om de mechanische componenten aan de joystickbevestiging te bevestigen.

  1. Bovenste beugel
  2. Trapas
  3. Koppelkoppelingsblok
  4. Buitenste arm

Gebruik de aluminium L-vormige hoeksteun (boven- en onderbeugels), aluminium vierkante stangsteun (koppelblok) en de bestaande joystickarm (buitenste arm), volg de onderdeeltekeningen en/of 3D STL-bestanden.

Bevestigingsdraden voor eindschakelaars moeten vóór bevestiging op de eindschakelaar worden gesoldeerd. De positionering van de eindschakelaar is flexibel zolang de schakelaar gesloten is wanneer de arm is ingetrokken en open is wanneer de joystick zich in de normale positie bevindt. Zie montagestap 8 en "outer_arm"-bestanden die hierboven zijn gelinkt voor details.

Montagemethode:

Zie cijfers voor elke stap.

  1. Bevestig de motor aan de motorsteun door de gaten uit te lijnen en 6 M-3 schroeven met platte kop in te schroeven (niet alle 6 zijn nodig om de motor op zijn plaats te houden, maar schroef er zoveel mogelijk in voor maximale veiligheid; zorg ervoor dat u schroeven van de juiste lengte volgens de dikte van de beugel om schade aan de motor te voorkomen).
  2. Lijn het koppelstuk uit onder de buitenste balk en schroef op zijn plaats met een ½” #8-32 platkopschroef. Mogelijk moet u een 8-32 gat in de arm boren en tappen om het koppelstuk met de arm te verbinden. *In dit geval zwaait de arm tegen de klok in uit, zodat de buitenste balk (vanuit het perspectief van de elektrische rolstoelgebruiker) aan de linkerkant zit. Voor rechtshandige gebruikers wordt dit omgekeerd.
  3. Bevestig de bovenste beugel aan de intrekbare arm met de M-6 schroef (losjes).
  4. Breng de intrekbare arm naar de uitgestrekte positie.
  5. Bevestig het subsamenstel van de motor-motorsteun aan de intrekbare arm door de motoras in het overeenkomstige gat op het koppelstuk te steken. Het beugelgedeelte moet tussen de arm en de bovenste beugel passen en de gaten op één lijn brengen.
  6. Gebruik de ¼-20 schroef en een borgmoer om de twee beugels aan elkaar te bevestigen. Draai vervolgens de M6-schroef op de bovenste beugel vast.
  7. Zorg ervoor dat de steun in de uitgeschoven positie staat en zet de motor vast aan de koppeling met de 10-32 stelschroef/s.
  8. Schroef de eindschakelaar vast met 2 #2-56 schroeven (zorg ervoor dat de eindschakelaar volledig naar buiten wordt gesloten - in ons geval drukt de schouderbout hem dicht).

*Opmerking over het bevestigen van stelschroeven: stelschroeven moeten aansluiten op de platte kant van de D-as. Om de asrichting aan te passen, bevestigt u de motor aan de voeding totdat de platte kant zich in de gewenste positie bevindt. U kunt ook het circuit instellen zoals beschreven in 4.1 Elektrische onderdelencircuits hieronder en de timing in regel 52 van de code wijzigen zoals aangegeven in 4.2 Arduino-code elektrisch onderdeel totdat het zich in de gewenste positie bevindt. Vergeet niet om het na montage terug te veranderen!

demontage

Volg de montageprocedure in omgekeerde richting. Kijk hieronder of uw motor doorbrandt en aan vervanging toe is.

Motorvervanging

  1. Verwijder de stelschroef die de as aan het koppelstuk houdt.
  2. Schroef ¼-20 beugelbevestiging en borgmoer los.
  3. Trek de subconstructie van de motor-motorsteun naar buiten en schroef de motor los voor vervanging.
  4. Bevestig de nieuwe motor met schroeven aan de beugel.
  5. Steek de nieuwe motoras in het gat in het koppelstuk, waarbij u de beugel op zijn plaats schuift (los indien nodig de bovenste M6-schroef los).
  6. Draai de ¼-20 schroef en borgmoer vast om de beugels weer vast te zetten (draai indien nodig de bovenste M6-schroef vast).
  7. Bevestig tot slot de as aan de koppeling met de stelschroef.

Elektronica Behuizing

  1. Plaats het breadboard-circuit geassembleerd in het elektrische deel in de elektronicabehuizing, zoals weergegeven in de afbeelding.
  2. Maak met behulp van een frees en/of boor sleuven en gaten voor connectoren (Arduino USB-poort, knopaansluiting en tuimelschakelaar).
  3. Zie figuur hierboven voor een voorbeeld. Sleuf- en gatposities zijn afhankelijk van uw componenten en circuit.

Stap 5: Elektrisch onderdeel

Elektrisch onderdeel
Elektrisch onderdeel
Elektrisch onderdeel
Elektrisch onderdeel
Elektrisch onderdeel
Elektrisch onderdeel

Circuits

Schema's

Het schema van het circuit wordt getoond in figuur 1 in deze sectie, en het is ook beschikbaar op Github. Er wordt een 5V-stroom geleverd van de elektrische rolstoel naar het Arduino Nano-bord. Het Arduino Nano-bord is zo gecodeerd dat het het schakelgedrag en de beweging van de DC-motor regelt. Het ontwerp en de bedrading van het circuit wordt uitgelegd in het gedeelte Hardware (hyperlink naar het hardwaregedeelte), als u geïnteresseerd bent.

Breadboard-indeling

Een afbeelding van een breadboard-bedrading van Fritzing of het circuit wordt getoond in figuur 2 in deze sectie, en de afbeelding van het uiteindelijke breadboard wordt getoond in figuur 3.

Arduino-code

De code die voor dit product wordt gebruikt, staat aan de zijkant en kunt u hier downloaden.

Om de code naar de Arduino te uploaden, download je de Arduino IDE op de computer. Gebruik de code "Rhonda_v4_onebutton.ino" die je hebt gedownload.

Elke regel code heeft zijn uitleg per regel in het codebestand.

Upload de code naar de Arduino door (de interface wordt hier getoond):

  1. Verbind de Arduino met de computer via de USB-connector
  2. Van het tabblad Tools op de Arduino-interface:

    • Stel het bord in op "Arduino Nano"
    • Stel de poort in op de USB-poort
  3. Druk op de upload (→) knop
  4. Wacht tot de interface "upload voltooid" aangeeft.

De huidige snelheid is ingesteld op het maximum 255 in regel 25 "analogWrite(motorPin, 255)" om de motor te draaien, en minimum 0 in regel 36 "analogWrite(motorPin, 0)" om de motor te stoppen. Het snelheidsbereik kan worden ingesteld tussen 0 en 255, afhankelijk van het motortoerental.

De huidige rotatietijd is getimed voor de specifieke joystickstandaard die we hebben gekozen, maar je kunt eenvoudig de code (regel 52) wijzigen om de rotatietijd te wijzigen en aan te passen aan de specifieke joystickarm die je hebt. De tijd is in microseconden in Arduino. Als we bijvoorbeeld willen dat de rotatietijd 5 seconden is, moet u de tijd instellen op "5000" in Arduino.

Stap 6: Stapsgewijze instructies downloaden

Stap 7: Problemen oplossen (bijgewerkt 12/12/17)

  1. Motor trekt arm niet in.

    • Zorg ervoor dat de schakelaar in de gewenste richting staat
    • Controleer of de stelschroeven zijn aangedraaid
    • Controleer op mechanische storingen
    • Controleer verbindingen tussen motor en circuit
    • Controleer circuitaansluitingen (testcircuit met alleen motor, niet bevestigd aan montage)
    • Ondersteun joystick met enige kracht: als de arm nu met ondersteuning intrekt, is je motor niet krachtig genoeg! Controleer of de knop die je hebt gebruikt functioneel is
  2. Arm beweegt te ver of niet ver genoeg.

    Wijzig de timing in Arduino-code zoals beschreven in Arduino Code Read Me

Stap 8: Videodocumentatie

Image
Image

Stap 9: Referenties

1. Leer en maak uw eigen goedkope L293D-motorstuurprogramma (een complete gids voor L293D) https://just4electronics.wordpress.com/2015/08/28/learn-make-your-own-cheap-l293d-motor-drivera- complete-gids-voor-l293d/

Stap 10: UPDATE 14/5/18

UPDATE 14/5/18
UPDATE 14/5/18
UPDATE 14/5/18
UPDATE 14/5/18
  • Gefreesde nieuwe armstaven van staal (vergeleken met origineel aluminium) met een grotere hoogte om te voorkomen dat de balk doorbuigt
  • Overgeschakeld naar motor met hoger koppel (1497 oz-in)
  • Bijgewerkte code die niet aan het compileren was
  • Getest gereviseerd apparaat op de rolstoel van de klant

Aanbevolen: