<< | #109 ; Unua praktika provo kun paŝa motoro |
>> |
Mi firme kredas ke malgrandaj elektraj paŝaj motoroj tipo "unipolar" estos gravaj por la estonteco de nia kara nacieto Mueleja Insulo. Jen la unua provo kun tia ege interesa kaj promesa elektra motoro.
Por DC-motoro sufiĉas en la plej simpla kazo du elektraj linioj el baterio. Paŝa motoro tamen postulas pli da kondukado. Avantaĝo estas ke oni povas gvidi la paŝan motoron akurate en malgrandaj paŝoj. Ekstera kargo afektas rotacian rapidon de DC-motoro, sed paŝa motoro turnas precize en dezirata rapido kaj deziratan angulon sendepende de grando de kargo - certe nur inter iuj mezebonaj limoj. Ne eblas simple kaj bone kontroli la angulon kaj rapidon de DC-motoro. Klare paŝaj motoroj havas mision.
Oni utiligas paŝan motoron per konvenaj fortaj elektraj pulsoj en konvena ordo. Oni gvidas tian simplan unipolar-motoron kun 4 pulsoj en apartaj 4 linioj kaj krome oni bezonas linion por la komuna tero.
Arduino Uno povas krei tiujn pulsojn kaj konvena fortigilo povas proponi pli da kurento por la pulsoj kun ekstera fonto de elektro. La elektra motoro konsumas tiel multe da kurento ke Arduino Uno ne kapablas konduki ĝin sole.
Miaj mekanikaj kapabloj kiel maŝina konstruisto estas ankoraŭ mankhavaj, sed mi jam havas kelkaj motoroj en ia eksperimenta platformo, kiel vi vidas en la apuda foto.
La plej granda motoro en la centro estas tipo "bipolar" MINEBEA kaj por ĝi mankas la pli detalaj teknikaj informoj. Konvena uza tensio por tiu "The Big Sucker" eble estus 2 aŭ 3 voltoj, sed kiel forta bipolar-motoro ĝi postulus kelkaj amperoj da kurento kaj du fortajn H-pontojn por renversi la kurenton en du bobenoj.
La aliaj du pli grandaj motoroj estas grando NEMA 17. NEMA signifas National Electrical Manufacturers Association kaj 17 estas la diametro de antaŭa plato en dekonoj de colo (1 colo proksimume 25,4 mm), do diametro estas 1,7" aŭ proksimume 43 mm. Japan Servo produktis unipolar-motoron nominale 6V kaj 0,54A, 200 paŝoj per turno. Vexta estas bipolar-motoro por 4V kaj 0,9 A, speciale malgranda 0,9° angula turno per paŝo, sume 400 paŝoj per turno de tuta rondo 360°.
Ĉi tie ni eksperimentas nur kun la plej malgranda unipolar-motoro ASMOT 28BYJ-48. Ĉi tiu estas profita aparato favorata de multaj amatoroj. La testa platformo estas tre simpla, ĉar eblas eksperimenti kun la motoro ankaŭ sen vera ekstera kargo.
La malgranda komputila karto Arduino Uno ricevas sian uzan elektron tra USB-konektilo el pli granda komputilo kie estas Arduino IDE por programi la malgrandan komputilan karton.
La motoro ricevas sian propran uzan elektron tra elektronika fortigilo kaj reostato 1 Ω el kvar AA-baterioj, sume preskaŭ 6 voltoj.
La tensio por la motoro estas nominale 5 V, sed iom da tensio malaperas en la fortigilo kaj en la reostato. La signifo de reostato estas ke eblas sekvi kaj mezuri la kurenton kiu fluas tra la cirkvito de motoro kaj ekstera fonto de kurento. Espereble la motoro kontentiĝas kun maksimume 0,5 A da kurento en uza tensio 5V.
La fortigilo estas simpla karto ULN2003 Stepper Motor Driver de Elecrow. Tensio por la motoro povas esti inter limoj 5 ... 15 voltoj kaj la kurento eĉ 0,5 A. La IC-cirkvito ULN2003A fakte enhavas 7 Darlington-transistoroj, sed en ĉi tiu malgranda karto oni uzas nur 4 el ili.
Ĉi tiuj estas relative malmultekostaj objektoj. La motoro 28BYJ48 kostas 5,48€ kaj la konvena fortigilo ULN2003 kostas 3,13€. Eĉ la tabuloj de akacio-ligno por la supre fotita testa platformo estis pli multekostaj ol tiuj mirakloj de miniatura tekniko! La tabuloj estis antaŭe partoj de tranĉtabuleto por tranĉi panon. En la finna reta vendejo PARTCO la prezo de aŭtentika Arduino Uno R3 estas 29,90€ kaj Joy-It Uno R3 - laŭ onidiro kaj fizike kaj programe tute kunigebla kun la origina Arduino Uno - nur 19,90€ inkluzive la USB-kondukilo tra kiu oni povas programi la malgrandan komputilan karton. Certe ie alie la prezoj estas eĉ pli malaltaj.
La malgranda motoro laboras per 100 Hz pulsoj kiujn la komputila karto kreas. Ĉi tiu motoro estas tre malrapida. Ĝi postulas 64 paŝoj per unu turno de (intera) akso.
Eble oni povus sukcese uzi ankaŭ iom pli rapidaj pulsoj por peli la motoron? Eble eĉ 500 Hz? Provizore mi tamen estas kontenta kun ĉi tio kvieta takto.
Ia industria normo por paŝaj motoroj ĝenerale estas 200 paŝoj por unu turno de (ekstera) akso, aŭ angulo 1,8° per paŝo, sed ĉi tiu malgranda motoro ne estas tute ordinara. Ĝi tordas tre forte pro la mekanika perado 1:64 malgraŭ la iom malgranda amplekso de sia korpo.
La motoro havas mekanikan peradon, tiel ke la intera akso devas turni 64 fojoj per unu turno de ekstera akso. Unu tuta rondo de ekstera akso do postulas 64*64 = 4096 paŝoj kaj preskaŭ minuton da tempo.
Ĉi tie estas norma programo por testi paŝan motoron. La intenco de programo estas turni la motoron alterne al ambaŭ direktoj, sed tio ne funkcias tiel kun ĉi tiu eta motoro. La motoro estas iom speciala kazo kaj ĝi turnas nur al unu direkto kun tia biblioteka programo.
La normaj bibliotekaj programaj funkcioj de Arduino (Stepper.h) povas turni ĉi tiun motoreton nur al unu direkto. Se tio estas problemo, oni devas uzi iom alian programon por gvidi la motoron.
Mi selektis unue la rotacian rapidon 90 rpm ĉar tio estas 90/60 = 1,5 turnoj per sekundo kaj estas 64 paŝoj per unu turno de intera akso. Laŭ mia kompreno la frekvenco de pulsoj por la motoro do estas 1,5 r/s * 64 = 96 Hz kio ne estas tro granda. La elektroniko ja vidas nur la interan akson de motoro kaj scias nenion pri la ekstera akso.
#include <Stepper.h> const int stepsPerRevolution = 64; Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { myStepper.setSpeed(90); // 90 rpm } void loop() { myStepper.step(stepsPerRevolution); // pozitiva valuo ; unu direkto delay(500); myStepper.step(-stepsPerRevolution); // negativa valuo ; ĉu alia direkto? delay(500); }
Sekve mi provas esplori la kazon pli detale kaj prezenti elektran skemon de eksperimento.
Mi desegnis la Darligton -transistorojn de ULN2003 nur kiel renversantaj fortigiloj, la malgrandaj trianguloj kun rondo, sed mi kredas ke ekzistas ankaŭ protektaj diodoj (kontraŭ la negativa tensio de motoro) ene en la cirkvito ULN2003.
La desegnitaj diodoj en la dekstra flanko de ULN2003 estas LEDoj aŭ Lumon Emisiaj Diodoj por indiki ke la responda transistoro konduktas.
La reostatoj en la maldekstra flanko "tiras" la tensian nivelon supren kiam estas nenia alia signalo en la eniro.
( Fakte mi ne havas nun fortojn por bone esplori la konekton de motoro. Estas iom konfuza kazo. La skemo do estas nur prepara versio. )
Troviĝas ja multe da artikoloj en la komputila reto pri ĉi tiu esence sama temo: Arduino Uno, 28BYJ48-5V motoro kaj ULN2003 IC-cirkvito.
Oni serĉu ekzemple la frazon "28BYJ-48 stepper".
Bona tradicia fonto en angla lingvo estas ekzemple Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board for Arduino
Por Arduino angle la baza adreso estas Stepper Speed Control
Ĝisfundaj informoj angle en la artikolo Control of Stepping Motors
Certe indas mencii ankaŭ la retan paĝon pri tiaj motoroj de Tom Igoe Stepper Motors
Kaj ĉu iu ankoraŭ tion dubas .....
NI VENKOS!
La Ambasadoro en Pori de sendependa nacio Mueleja Insulo |