I denna handledning ska vi styra en servomotor av ARDUINO UNO. Servomotorer används där det finns ett behov av exakt axelrörelse eller position. Dessa föreslås inte för höghastighetsapplikationer. Dessa föreslås för låg hastighet, medelvridande vridmoment och korrekt positionstillämpning. Dessa motorer används i robotarmsmaskiner, flygkontroller och styrsystem.
Servomotorer finns i olika former och storlekar. En servomotor kommer huvudsakligen att ha ledningar, en är för positiv spänning en annan är för mark och den sista är för lägesinställning. Den RÖDA ledningen är ansluten till ström, den svarta ledningen är ansluten till jord och den Gula ledningen är ansluten till signalen.
En servomotor är en kombination av likströmsmotor, lägesstyrsystem, växlar. Positionen på DC-motorns axel justeras av styrelektroniken i servon, baserat på PWM-signalens arbetsförhållande SIGNAL-stiftet.
Enkelt sagt justerar styrelektroniken axelns position genom att styra likströmsmotorn. Dessa data angående axelns position skickas genom SIGNAL-stiftet. Positionsdata till kontrollen ska skickas i form av PWM-signal via servomotorns signalstift.
Frekvensen för PWM-signalen (Pulse Width Modulated) kan variera beroende på typ av servomotor. Det viktiga här är PUTM-signalen. Baserat på denna DUTY RATION justerar styrelektroniken axeln.
Som visas i figuren nedan, för att axeln ska flyttas till 9o-klockan måste TURN PÅ RATION vara 1 / 18.ie. 1 ms PÅ-tid och 17 ms AV-tid i en 18 ms-signal.
För att axeln ska flyttas till 12o-klockan måste signalens PÅ-tid vara 1,5ms och OFF-tiden ska vara 16,5ms. Detta förhållande avkodas av styrsystemet i servo och det justerar positionen baserat på det. Denna PWM här skapas med ARDUINO UNO.
Kretskomponenter
Hårdvara: ARDUINO UNO, strömförsörjning (5v), 100uF kondensator, knappar (två delar), 1KΩ motstånd (två delar), Servomotor (som behövde testas).
Programvara: arduino IDE (Arduino nattlig).
Arduino Servomotorkretsdiagram och förklaring
I normala fall måste vi gå till registerregistret för att justera frekvensen och för att få erforderligt arbetsförhållande för noggrann positionskontroll av servo, i ARDUINO behöver vi inte göra dessa saker.
I ARDUINO har vi fördefinierade bibliotek, som ställer in frekvenser och arbetsförhållanden i enlighet därmed när rubrikfilen anropas eller ingår. I ARDUINO måste vi helt enkelt ange positionen för servo som behövs och PWM justeras automatiskt av UNO.
De saker som vi behöver göra för att få en korrekt position för servon är:
|
Först måste vi ställa in frekvensen för PWM-signalen och för det bör vi kalla ”#include
Nu måste vi definiera ett namn för servon "Servo sg90sevo", här är "sg90servo" det namn som valts, så när vi skriver för potion ska vi använda det här namnet, den här funktionen är till nytta när vi har många servor att kontrollera, vi kan styra så många som åtta servo med detta.
Nu berättar vi för UNO var signalstiftet på servo är anslutet eller var det måste generera PWM-signalen. För att göra detta har vi "Sg90.attach (3);", här berättar vi för UNO att vi kopplade signalstiftet på servo vid PIN3.
Allt kvar är att ställa in positionen, vi kommer att ställa in positionen för servo genom att använda “Sg90.write (30);”, med detta kommando rör sig servohanden 30 grader, så det är det. Därefter närhelst vi behöver ändra positionen för servo måste vi kalla kommandot ”Sg90.write (needed_position_ angle);”. I den här kretsen har vi två knappar, en knapp ökar positionen för servo och den andra för att minska positionen för servo.
Den Arduino Servo Motorstyrning handledning förklaras i steg för steg av C-kod ges nedan.