Beheersing van richting en snelheid van gelijkstroommotor met Raspberry Pi (1 / 1 stap)

Stap 1: Controle richting van DC motor via de RPi


Controlerende gelijkstroommotor met behulp van de RPi

Onze volgende taak is om te controleren van een DC-motor met behulp van python script en GPIO kopteksten op raspberry pi en dit zal een beeld van 'hoe de robot werkt' in onze geest. U kunt fan van uw kamer volgens het weer buiten (als je weet dat het gebruik van sensoren met rpi). Doen al deze zal je het begrijpen van de basisregels van robotica.

We gaan controle een DC-motor die ten minste moeten 400mA van stroom te laten functioneren, maar onze RPi bijna 20mA alleen kan leveren. Het betekent dat we moeten een DC voedingsbron extern verbinding te maken. Het is geen probleem! We hebben kleine batterijen 6V en 9V beschikbaar in de markt.

Waarschuwing: Sluit een motor niet rechtstreeks aan de Raspberry Pi, het beschadigt je Raspberry Pi.

Uiteraard zijn we verplicht een motorcontroller IC waarmee de functionaliteit van de motor (om te roteren met de klok mee of tegen de klok). Het is beter om te starten met L293D motor controller IC.

Vereisten:

· Een Raspberry Pi met de SD-kaart voorgeïnstalleerde met Raspbian

· Een Breadboard

· Een L293D motor driver IC

· Jumper draden (man-man) en vrouw tot man

· Een gelijkstroommotor gewaardeerd voor 6v

· Een 6V of 9V batterij.

L293D

Het is een motor coureur IC kunnen we de controle van 2 motoren tegelijk uit. De pin-configuratie is hieronder weergegeven. Het is een 16 pins IC die omvat (aan één zijde) een Vcc (voor het aandrijven van) een GND pin, een pin inschakelen (om op en uit een motor), twee ingangen overeenkomt met twee uitgangen.

Verbindingen:

· Eerst de Vcc pin van L293D verbinden met 5V (3,3 v kan ook worden gebruikt)

· Sluit nu de gronden

· We zijn met behulp GPIO-2,3,4 de IC. (GPIO-02 & GPIO-03 als ingang 1 & 2 respectievelijk)

· GPIO-04 verbinden met respectieve inschakelen pin van de IC.

· Nu eindelijk uitgang 1 & 2 op zowel de verbinding van de motor zoals aangegeven in figuur.

Python Code:-

importeren van RPi.GPIO als GPIO

importeren van tijd slaap

GPIO.setmode (GPIO. BCM)

Motor1A = 02

Motor1B = 03

Motor1E = 04

GPIO.setup (Motor1A, GPIO. UIT)

GPIO.setup (Motor1B, GPIO. UIT)

GPIO.setup (Motor1E, GPIO. UIT)

afdrukken "Motor gonna Start"

GPIO.output (Motor1A, GPIO. HOOG) # te lopen motor in de richting van de klok

GPIO.output (Motor1B, GPIO. LAGE) # zet het hoge draaien van de motor in de richting van de anti-klok

GPIO.output (Motor1E, GPIO. HOOG) # moet altijd hoog zijn motor starten

Sleep(5)

Print "Stopping motor"

GPIO.output (Motor1E, GPIO. LAGE) # om te stoppen met de motor

GPIO.cleanup()

Na het uitvoeren van de bovenstaande code start uw motor zal draaien in de richting van de klok gedurende 5 seconden. Door de bovenstaande code wijzigen u kunt doen omkeren. Nu kunnen we een auto met behulp van twee of vier motoren.

Controle van de snelheid van de gelijkstroommotor met behulp van de RPi

Zoals u op een aantal van de plaatsen weet die we willen ook de controle van de snelheid van motoren. Uit het bovenstaande onderwerp u begrepen de ON / OFF-controle van de motoren, maar dat is niet voldoende recht?? Nu je een vraag in je geest dat hoe moet we kunnen produceren analoge spanning van de GPIO pinnen van RPi. Geen probleem want wij kunnen pulsen van de spanning van het via PWM (puls breedte modulatie produceren) en controle van de uitgangsspanning van GPIO pin.

Pulse Width Modulation

Het is een zeer eenvoudig proces waaruit kunnen we de controle van de frequentie van de spanning van de bron. PWM-module is beschikbaar voor GPIO in RPi & zoals we weten

Periode = 1/frequentie

Dus als ik Selecteer een frequentie van 100Hz dan betekent dit de periode is 10m sec. (spanning is triged op 'Hoog' voor 10m sec). Onze batterij leveren 9V aan motor en ter vermindering van de snelheid die wij hebben om deze spanning. Zo willen we de snelheid tot de helft te verlagen dan we moeten veranderen van de dutycycle (is het percentage van de periode voor welke spanning weetje zit) tot 50.

Zoals spanning geleverd aan controleren de motor door inschakelen pin van de motor driver IC - L293N zodat we slechts hoeft toe te passen van de PWM op inschakelen pin om de snelheid te variëren. Bellow is de python code te begrijpen PWM en die moet de verbinding hierboven in vorige onderwerp (control gelijkstroommotor via RPi).

>>> RPi.GPIO als GPIO # bibliotheek GPIO importeren importeren

>>> importeren uit tijd slaap

>>> GPIO.setmode (GPIO. BCM)

>>> Motor1A = 02 # GPIO-02 als Input 1 van de controller IC instellen

>>> Motor1B = 03 # GPIO-03 instellen als ingang 2 van de controller IC

>>> Motor1E = 04 # GPIO-04 als inschakelen pin 1 van de controller IC instellen

>>> GPIO.setup (Motor1A, GPIO. UIT)

>>> GPIO.setup (Motor1B, GPIO. UIT)

>>> GPIO.setup (Motor1E, GPIO. UIT)

>>> pwm = GPIO. PWM(04,100) # configureren inschakelen pin betekent GPIO-04 voor PWM

>>> pwm.start(50) # beginnen met 50% dutycycle

>>> afdrukken "Voorwaarts gaan"

>>> GPIO.output (Motor1A, GPIO. HOOG)

>>> GPIO.output (Motor1B, GPIO. LAAG)

>>> GPIO.output (Motor1E, GPIO. HOOG)

>>> sleep(2)

# wordt uitgevoerd uw motor in voorwaartse richting 2 seconden met een snelheid van 50%.

>>> pwm. ChangeDutyCycle(80) # steeds meer dutycycle aan 80

>>> afdrukken "GO achteruit"

>>> GPIO.output (Motor1A, GPIO. HOOG)

>>> GPIO.output (Motor1B, GPIO. LAAG)

>>> GPIO.output (Motor1E, GPIO. HOOG)

>>> sleep(2)

# Dit loopt uw motor in omgekeerde richting voor 2 seconden met 80% snelheid door het verstrekken van 80% van de accuspanning

>>> afdrukken "Nu stop"

>>> GPIO.output (Motor1E, GPIO. LAAG)

>>> pwm.stop() # stop PWM van GPIO output is het noodzakelijk

>>> GPIO.cleanup()

Hoop dat het zal werken voor u!

Gerelateerde Artikelen

Verbinden van gelijkstroommotor met arduino en controle in links en rechts

Verbinden van gelijkstroommotor met arduino en controle in links en rechts

In dit project kunt u gelijkstroommotor met arduino met behulp van L23NEZie meer project in www.arduinoo.tk
Internet van dingen met Raspberry Pi - 1

Internet van dingen met Raspberry Pi - 1

Toen ik was nieuw voor IOT (Internet van dingen), zag ik dat er nauwelijks tutorials die eenvoudig genoeg voor een beginner om te begrijpen en waren waren uit te proberen. Er was ofwel te veel technisch jargon, of de hardware te ingewikkeld was.Dus n
Bouwen van robots met Raspberry Pi en Python

Bouwen van robots met Raspberry Pi en Python

het doel van deze tutorial is zodat u kunt beginnen met programmeren met Python om te controleren uw robots van de Arduino met een Raspberry PI. We gaan over de basics zoals installatie en enkele eenvoudige voorbeelden om te controleren uw robot van
Animatie maken van Openclipart van SVG met Raspberry Pi

Animatie maken van Openclipart van SVG met Raspberry Pi

Dit is een Instructable die het proces beschrijft van het maken van een animatie van de Openclipart SVG.Openclipart-bibliotheek is een collectie van 100% licentie-vrije kunst die u voor elk doel gebruiken kunt.Ik zal uitleggen dit Instructable voor d
Internet van dingen met Raspberry Pi-2

Internet van dingen met Raspberry Pi-2

Dit is een vervolg op mijn vorige instructable Internet of Things met Raspberry Pi - 1.(Als u niet bekend met webservers, PHP coderen en de basisconcepten van IOT bent, je moet waarschijnlijk gaan door deel 1 eerste.)In de vorige instructable, we opz
Snelheidscontrole van gelijkstroommotor met 8051

Snelheidscontrole van gelijkstroommotor met 8051

Hey vrienden, dit mijn 3de jaar BE project is " toerentalregeling voor DC-motor" die ik zou graag met u delen. Hierin leert u hoe interface LCD, hex toetsenblok en motor. De code is geschreven in de vergaderingom te vereenvoudigen heb ik eerst u
Beheersing van servomotor met IR-afstandsbediening

Beheersing van servomotor met IR-afstandsbediening

Als u op zoek bent naar comfort en beheersen van uw elektronische apparaten op afstand, u uw behoefte in dit instructable vindt.In dit instructable zullen we leren hoe om te controleren van een servomotor met afstandsbediening, dit geeft je een algem
Beheersing van gelijkstroommotoren met behulp van MSP430 Launchpad

Beheersing van gelijkstroommotoren met behulp van MSP430 Launchpad

Hallo mensen,We gaan in dit Instructable Controle twee DC-motoren met behulp van MSP430 Launchpad en L293D Motor controle-Chip.De oorspronkelijke artikel is hier online beschikbaarHier we zijn met behulp een Motor Control Booster Pack (of shield) voo
Beheersing van elektromagneten met arduino

Beheersing van elektromagneten met arduino

In dit instructable we zullen bouwen een eenvoudige schakeling waarmee we beheren een solenoïde met behulp van de populaire fysieke computing platform arduino. Ik raakte geïnteresseerd in elektromagneten voor robotic muziek toepassingen beheren. Een
Beheersing van servomotor met behulp van toetsenbordinvoer

Beheersing van servomotor met behulp van toetsenbordinvoer

Ik ben terug!!!Nou hallo iedereen!! Het is al heel lange tijd geleden dat ik gepost hier. Een beetje bezig met studies de laatste tijd. Maar toch vandaag graag wil delen met jullie over een eenvoudig experiment betreffende arduino en servo motor. In
Beheersing van Edison met Python

Beheersing van Edison met Python

Dit is een project om bekend zijn de Edison Intel en Intel Arduino expansiekaart.In de tussentijd ik eindelijk geleerd wat Python code.Het een tijdje geweest aangezien ik Linux gebruikt heb en nu had ik om het te doen zonder een Gui venster front-end
Lezen van JSON met Raspberry Pi

Lezen van JSON met Raspberry Pi

Dus voor deze tutorial ga ik proberen uit te leggen hoe je een JSON-bestand en decoderen nodig welke gegevens bevinden zich in het en hoe u de waarden uit het u hebt.Stap 1: Configureer je Raspberry PiDeze tutorial zal veronderstellen u hebt setup in
Beheersing van een DC-Motor met Arduino

Beheersing van een DC-Motor met Arduino

De laatste tijd heb ik gewerkt aan een draadloze afstandsbediening voor een robotachtig wapen. De meeste van alles wat uit is gepland, maar ik heb niet alle onderdelen en schilden nog, dus heb ik besloten om te beginnen van prototyping met een intern
Hoe om te keren een gelijkstroommotor met behulp van knoppen.

Hoe om te keren een gelijkstroommotor met behulp van knoppen.

In deze korte video ik laten zien hoe je een gelijkstroommotor met knoppen in plaats van een schakelaar DPDT of elke afstandsbediening die zich omkeren. Onlangs wilde ik een DC motor spin in één richting en in de andere richting voor een project make