Përmbajtje:

Kontrolluesi i trenit Arduino 2 në 1: 4 hapa
Kontrolluesi i trenit Arduino 2 në 1: 4 hapa

Video: Kontrolluesi i trenit Arduino 2 në 1: 4 hapa

Video: Kontrolluesi i trenit Arduino 2 në 1: 4 hapa
Video: Как сделать регулятор скорости двигателя постоянного тока 220 В 4000 Вт 2024, Korrik
Anonim
Kontrolluesi i Trenit Arduino 2-në-1
Kontrolluesi i Trenit Arduino 2-në-1

Dyzet vjet më parë, unë projektova një mbytje treni me model op-amp për disa miq, dhe pastaj rreth katër vjet më parë e rikrijova duke përdorur një mikrokontrollues PIC. Ky projekt Arduino rikrijon versionin PIC, por gjithashtu shton aftësinë për të përdorur një lidhje Bluetooth në vend të çelsave manuale për mbytjen, frenat dhe kontrollin e drejtimit. Ndërsa dizajni që paraqes këtu është drejtuar për një motor hekurudhor të modelit 12 volt, ai lehtë mund të modifikohet për një sërë aplikimesh të tjera të kontrollit të motorit DC.

Hapi 1: Modulimi i Gjerësisë së Pulsit (PWM)

Modulimi i Gjerësisë së Pulsit (PWM)
Modulimi i Gjerësisë së Pulsit (PWM)

Për ata prej jush që nuk janë të njohur me PWM, nuk është aq e frikshme sa tingëllon. E tëra që do të thotë me të vërtetë për aplikimin tonë të thjeshtë të kontrollit motorik është që ne të krijojmë një valë katrore të një frekuence, dhe pastaj të ndryshojmë ciklin e punës. Cikli i punës përcaktohet si raporti i kohës kur dalja është e lartë logjike në krahasim me periudhën e formës së valës. Ju mund ta shihni atë qartë në diagramin e mësipërm me formën e valës së sipërme në ciklin e punës 10%, formën e valës së mesme në 50% ciklin e punës dhe formën e valës së poshtme në 90% ciklin e punës. Linja e thyer e mbivendosur në secilën formë të valës përfaqëson tensionin ekuivalent DC të parë nga motori. Duke pasur parasysh që Arduino ka një aftësi PWM të integruar, është vërtet shumë e thjeshtë të gjenerosh këtë lloj kontrolli të motorit DC. Një avantazh tjetër i përdorimit të PWM është se ai ndihmon për të mbajtur motorin nga fillimi i tmerrshëm që mund të ndodhë kur përdorni DC të drejtpërdrejtë. Një disavantazh i PWM është se ndonjëherë ka një zhurmë të dëgjueshme nga motori në frekuencën e PWM.

Hapi 2: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Fotografia e parë tregon lidhjet Arduino për çelsin dhe modulin e drejtuesit të motorit LM298. Ka rezistenca të dobëta tërheqëse të brendshme në Arduino, kështu që nuk nevojiten rezistorë tërheqës për çelsin. Ndërprerësi i Drejtimit është një ndërprerës i thjeshtë SPST (hedhje e vetme me një pol). Çelsat Throttle dhe Brake shfaqen si butona normalisht të hapur, kontakti të çastit të kontaktit.

Fotografia e dytë tregon lidhjet Arduino për modulin Bluetooth dhe modulin e drejtuesit të motorit LM298. Dalja Bluetooth TXD lidhet drejtpërdrejt me hyrjen serike Arduino RX.

Fotografia e tretë është një modul i urës së dyfishtë L298N. Moduli LM298 ka një rregullator 5 volt në bord që mund të aktivizohet nga një kërcyes. Ne kemi nevojë për +5 volt për Arduino dhe Bluetooth, por duam +12 volt për të drejtuar motorin. Në këtë rast ne aplikojmë +12 volt në hyrjen " +12V power" të L298N dhe do të lëmë kërcyesin "5V enable" në vend. Kjo lejon që rregullatori 5 volt të dalë në lidhjen "fuqia +5" në modul. Lidheni atë me Arduino dhe Bluetooth. Mos harroni të lidhni telat e tokëzimit për hyrjen +12 dhe daljen +5 me modulin "fuqia GND".

Ne duam që tensioni i daljes në motor të ndryshojë bazuar në PWM të krijuar nga Arduino në vend që të jetë vetëm i ndezur ose i fikur. Për ta bërë këtë, ne heqim kërcyesit nga "ENA" dhe "ENB" dhe lidhim daljen tonë Arduino PWM me "ENA" në modul. Mbani në mend se kunja aktive e aktivizimit është ajo më e afërt me skajin e tabelës (pranë kunjave "hyrës"). Kunja e pasme për secilën mundësi është +5 volt, kështu që ne duam të sigurohemi që nuk lidhemi me të.

Kunjat "IN1" dhe "IN2" në modul janë të lidhur me kunjat përkatëse Arduino. Ato kunja kontrollojnë drejtimin e motorit dhe, po, ka një arsye të mirë për të lejuar që Arduino t'i kontrollojë ato në vend që thjesht të lidhë një ndërprerës në modul. Ne do të shohim pse në diskutimin e softuerit.

Hapi 3: Moduli Bluetooth

Moduli Bluetooth
Moduli Bluetooth

Fotografia e treguar këtu është tipike për modulet Bluetooth të disponueshëm. Kur kërkoni një për të blerë, mund të kërkoni me termat "HC-05" dhe HC-06 ". Dallimet midis të dyve janë në firmware dhe zakonisht në numrin e kunjave në tabelë. Fotografia e mësipërme është e një moduli HC-06 dhe vjen me firmware të thjeshtuar që lejon vetëm konfigurim shumë themelor. Shtë vendosur gjithashtu si një pajisje Bluetooth "Slave" vetëm. Me fjalë të thjeshta kjo do të thotë se mund t'i përgjigjet vetëm komandave nga një pajisje "Master" dhe nuk mund të lëshojë komanda më vete. Moduli HC-05 ka më shumë mundësi konfigurimi dhe mund të vendoset si një pajisje "Master" ose "Slave". HC-05 zakonisht ka gjashtë kunja në vend të vetëm katër të treguar më sipër për HC-06. Kodi i gjendjes nuk është me të vërtetë i rëndësishëm, por kunja kryesore (ndonjëherë shkon me emra të tjerë si "EN") kërkohet nëse doni të bëni ndonjë konfigurim. Në përgjithësi, modulet nuk kanë nevojë për konfigurim nëse jeni në rregull me normën e paracaktuar të baud prej 9600 dhe nuk kujdeseni t'i jepni një emër specifik modulit. Kam disa projekte ku i përdor këto, kështu që më pëlqen t'i quaj në përputhje me rrethanat.

Konfigurimi i moduleve Bluetooth kërkon që ose të blini ose të ndërtoni një ndërfaqe në një portë serike RS-232 ose në një port USB. Unë nuk do të mbuloj se si të krijoj një në këtë postim, por ju duhet të jeni në gjendje të gjeni informacion në internet. Ose thjesht blini një ndërfaqe. Komandat e konfigurimit përdorin komandat AT si ato që ishin përdorur në kohët e lashta me modemët e telefonit. Unë kam bashkangjitur një manual përdoruesi këtu që përfshin komandat AT për secilin lloj moduli. Një gjë për tu vënë në dukje është se HC-06 kërkon komanda UPPERCASE dhe vargu i komandës duhet të përfundojë brenda 1 sekonde. Kjo do të thotë që disa nga vargjet më të gjata për gjëra të tilla si ndryshimi i normave të baudit do të duhet të priten dhe të ngjiten në programin tuaj terminal ose do t'ju duhet të vendosni skedarë teksti për t'u dërguar. Kërkesa e PERGJITHSHME është vetëm nëse po përpiqeni të dërgoni komanda konfigurimi. Mënyra e rregullt e komunikimit mund të pranojë çdo 8-bit të të dhënave.

Hapi 4: Softuer

Softueri është mjaft i thjeshtë si për versionin manual ashtu edhe për versionin Bluetooth. Për të zgjedhur versionin Bluetooth thjesht mos komentoni deklaratën "#define BT_Ctrl".

Kur shkrova kodin PIC unë eksperimentova me frekuencën PWM dhe më në fund u vendosa në 500-Hz. Zbulova se nëse frekuenca ishte shumë e lartë atëherë moduli LM298N nuk ishte i aftë të reagonte mjaft shpejt ndaj impulseve. Kjo do të thoshte se dalja e tensionit nuk ishte lineare dhe mund të bënte kërcime të mëdha. Arduino ka komanda PWM të integruara, por ato ju lejojnë të ndryshoni ciklin e punës dhe jo frekuencën. Për fat të mirë, frekuenca është rreth 490-Hz, kështu që është mjaft afër 500-Hz që kam përdorur në PIC.

Një nga "tiparet" e mbytjeve të trenit është një ndjenjë vrulli për nxitimin dhe frenimin për të simuluar se si funksionon një tren i vërtetë. Për ta arritur këtë, një vonesë e thjeshtë kohore futet në lak për versionin manual të softuerit. Me vlerën e treguar, duhen afërsisht 13 sekonda për të shkuar nga 0 në 12 volt ose nga 12 volt përsëri në zero. Vonesa mund të modifikohet lehtësisht për kohë më të gjatë ose më të shkurtër. Rasti i vetëm ku vrulli nuk është në fuqi është kur ndërrohet ndërprerësi i drejtimit. Për qëllime mbrojtjeje, cikli i punës PWM vendoset menjëherë në 0% sa herë që ky ndërrues ndryshohet. Kjo, në fakt, e bën kalimin e Drejtimit gjithashtu të dyfishtë si një frenë emergjence.

Për të siguruar trajtimin e menjëhershëm të ndërprerësit Direction, unë vendos kodin e tij në një mbajtës ndërprerjeje. Kjo gjithashtu na lejon të përdorim funksionin "ndërpres ndryshimin" kështu që nuk ka rëndësi nëse ndryshimi është nga i ulët në i lartë ose i lartë në i ulët.

Versioni Bluetooth i softuerit përdor komandat me një shkronjë për të filluar funksionet Forward, Reverse, Brake dhe Throttle. Në fakt, komandat e marra zëvendësojnë çelsat manuale, por shkaktojnë përgjigje të njëjta. Aplikacioni që përdor për kontrollin Bluetooth quhet "Kontrolluesi serial Bluetooth" nga Prototipet e Mëparshëm. Kjo ju lejon të konfiguroni një tastierë virtuale dhe të vendosni vargjet dhe emrat tuaj të komandës për secilin çelës. Gjithashtu ju lejon të vendosni një ritëm të përsëritjes, kështu që vendosa butonat e Frenave dhe Throttle në 50ms për të dhënë rreth 14 sekonda vrull. Çaktivizova funksionin e përsëritjes për butonat Forward dhe Reverse.

Kaq është për këtë postim. Shikoni udhëzimet e mia të tjera. Nëse jeni të interesuar për projektet e mikrokontrolluesve PIC shikoni faqen time në internet në www.boomerrules.wordpress.com

Recommended: