Salutări de la cititori, producători, tocilari, pasionați, pasionați de electronică și începători;
De mult timp, am încercat să construiesc o mașină R/C fără fir cu un motor fără perii și Arduino.
Acum că mi-am terminat examenul de la școală, am decis să-l susțin.
În procesul final de determinare a metodei de control pe care o voi folosi pentru a realiza o mașină R/C, am o problemă: controlul motorului fără perii cu Arduino.
Când controlați (din punct de vedere tehnic)
motorul de curent alternativ al Arduino pare puțin înfricoșător, nu vă faceți griji, pentru că în acest manual vă voi arăta cât de ușor este să controlați motorul de curent continuu folosind Arduino folosind orice tip de comutator/potențiometru/joystick, practic, orice poate schimba parametrii într-un mod în care Arduino poate înregistra, fie că este o tensiune directă sau un rezistor.
Pentru a încerca singur acest proiect, aveți nevoie de ceva de bază:
Ofer link-uri internaționale de aprovizionare pentru majoritatea produselor pe care le-am folosit)
Aveți nevoie și de câteva instrumente de bază: Să începem proiectul nostru după ce ați rezolvat materialele!
Înainte de a începe să scriem codul, să ne conectăm mai întâi la ESC și la motor de la arduino.
Legătura cu acest proiect este destul de simplă și directă.
Conform codului pe care l-am scris, conexiunea este următoarea: pinul de ieșire al potențiometrului/joystick-ului este conectat la pinul analogic 0 de pe Arduino.
Este prezentată o diagramă schematică a utilizării potențiometrului și a joystick-ului analogic. (
Am folosit un joystick de casă și am dat o diagramă schematică a joystick-ului)
ESC la Arduino: linie neagră (Pământ)---
> Pin de masă pe ArduinoFir alb (semnal)---
> Linie lunară a pinului digital ArduinoRed (Putere)--
> Vin pe Arduino (
Aceasta alimentează Arduino)
Conectați ESC la motorul fără perie: pur și simplu conectați ESC la motorul fără perie.
Comenzile nu sunt importante. (
Dacă motorul nu se rotește în direcția dorită, pur și simplu comutați oricare dintre cele două fire din esc la motorul fără perii)
După ce conexiunea hardware este finalizată, ne putem ocupa de codul Arduino.
Codul este destul de simplu și încerc să explic funcționalitatea fiecărei linii cu comentarii.
Cu toate acestea, vă rugăm să nu ezitați să mă contactați dacă aveți probleme: hrithikbansal70 @ gmail.
Comhrithikbansal. comThe Code:(.
Atașat și fișierul ino)
/* ESC calibrează pinul de date ESC conectat la pinul digital 10 de pe arduino.
Intrare potențiometru/joystick conectată la pinul analogic 0 pe Arduino.
Compilați și încărcați codul.
Apoi țineți joystick-ul/potențiometrul în poziția maximă și conectați sursa externă de alimentare la ESC.
Veți auzi câteva bipuri și veți pune potențiometrul/joystick-ul în poziția cea mai joasă.
Aceasta va seta punctul final pe ESC.
Acest exemplu de cod este în domeniul public.
A fost revizuit de Hrithik Bansal www pe 20 martie 2017. hrithikbansal.
Com */include /include o bibliotecă de servo pentru funcțiile servo esc;
/Declară ESC ca intrare int a obiectului servo; void setup(){esc. atașează(10);
/Conectați ESC la pinul digital 10 serial. începe(9600);
Începeți citirea/deschiderea serialului monitorvoid loop(){
Input = analogRead (A0);
/Valoarea intrării este intrarea analogică pe pinul 0 0 serial. print(
\'Valoarea de intrare originală:\');
/Portul serial imprimă secvența originală a valorii de intrare. imprimare(intrare); Serial. print(\' | \'); întârziere(1); input=map(analogRead(A0)
, 0,1023, 0,180);
/Mapează valorile de intrare ale joystick-ului pe pinul analogic 0 la valorile maxime și minime corespunzătoare ieșirii servo: 180 și 0 serial. print(
\'Valoarea de intrare pentru mapare:\'); Serial. imprimare(intrare);
/Serial imprimă valoarea de intrare a serialului de mapare. imprimare(\'\'); întârziere(1);
/Delay determină rezoluția/netezimea și capacitatea motorului de a răspunde la mișcarea potențiometrului/joystick-ului. Esc. scrie (intrare);
Starea/ESC va fi aceeași cu starea/poziția joystick-ului}
După ce ați încărcat codul în arduino și verificați din nou toate conexiunile hardware, conectați bateria la ESC și resetați imediat arduino (
apăsați butonul mic de resetare).
Apoi plasați imediat potențiometrul/joystick-ul în oricare dintre cele două poziții extreme, care va fi punctul dvs. final superior (
unde motorul se va roti la cea mai mare viteză).
Veți auzi din nou câteva bipuri, după care potențiometrul/joystick-ul este complet orientat spre celălalt capăt/celălalt capăt.
Acesta va fi nivelul inferior (
motorul va fi staționar în acest moment).
Din nou, veți auzi câteva bipuri și munca de calibrare a fost încheiată. {
Acest lucru a fost demonstrat în videoclipul
Project demo: video LinkNow, când mutați butonul potențiometrului/joystick-ul analogic în punctul superior/inferior, motorul fără perii va accelera/încetini în consecință.
Sfat: În timpul testului, din cauza rotației generale a motorului (motor cu rotor extern),
este, de asemenea, periculos să nu-l țineți în mâini.
În timpul testării, ruloul de hârtie a zburat accidental când motorul se învârtea foarte repede: Dacă aveți probleme, vă rugăm să mă contactați: hrithikbansal70
Comhrithikbansal.
Sper că asta vă va rezolva problema și veți învăța ceva nou astăzi. Multumesc!