SIMULATORUL RC PE VÎNT ŞI PE VALURI
În numărul trecut v-am prezentat un program în BASIC, care transpus pe un calculator personal va permite să vă antrenați în vederea participării la un concurs de navomodele telecomandate, clasa de viteză F1. La început am considerat condițiile de navigație ideale apa liniștită, fără valuri, fără vânt sau curenți laterali. Dar, în realitate, lucrurile nu stau întotdeauna așa! Dacă în ziua de concurs apa este agitată de valuri, ambarcația noastră va fi aruncată când la dreapta, când la stânga, iar conducerea ei printre balize devine mult mai complicată. La fel stau lucrurile dacă în zona de concurs bate un vânt lateral ambarcația va fi deplasată permanent în direcția vântului, pe o porțiune de traseu aceasta poate chiar să ne ajute, dar pe alte porțiuni, câte eforturi spre a o menține pe direcție! Dacă avem norocul să fie și vânt și valuri atunci măiestria pilotului este pusă la grea încercare.
Să ne pregătim deci să înfruntăm aceste condiții vitrege. Pe apă nu le putem avea "la comandă", în ziua hotărâtă pentru antrenament, în schimb le putem obține, relativ simplu, de la consola calculatorului, care poate fi învățat să le simuleze. Să vedem cum.
1. Vânt puternic în rafale
Pentru a crea "vântul" se vor introduce, în programul de bază deja existent, următoarele instrucțiuni suplimentare:
160 LET C=3 170 LET D=3 180 LET S=0 305 LET SS=1 320 IF INT(S/5)=S/5 THEN GO TO 240 330 LET X=X+C 340 LET Y=Y+D 350 PLOT X,Y
Cu aceste instrucțiuni introduse, ambarcația noastră va fi împinsă, pe tot parcursul traseului, de către un vânt din sud-vest. Dacă vântul vi se pare prea puternic, înlocuiți în instrucțiunile 160 și 170 pe 3 cu 2 sau chiar cu 1, iar dacă, din contră, sunteți un "as" al pilotajului, înlocuiți în instrucțiunea 320 pe S/5 cu S/4 sau cu S/3, în ambele părți ale inegalității.
Evident, putem modifica și direcția vântului, nu numai tăria sa, înlocuind valorile atribuite în instrucțiunile 160 și 170 astfel:
pentru vânt din vest: C=4 și D=0 pentru vânt din sud: C=0 și D=4 pentru vânt din sud-est: C=-3 și D=3 pentru vânt din est: C=-4 și D=0 pentru vânt din nord-est: C=-3 și D=-3 pentru vânt din nord: C=0 și D=-4 pentru vânt din nord-vest: C=3 și D=-3
2. Valuri puternice
Efectul unor valuri ce vin din toate direcțiile, deranjând bunul mers al ambarcației noastre, poate fi creat cu următorul set de instrucțiuni, care se adaugă la programul de bază:
180 LET S=0 305 LET SS=S+1 400 IF ABS(X-131)<4 THEN GO TO 430 410 LET E=(INT(RND*5))-2 420 IF INT(S/4)=S/4 THEN LET X=X+E 430 LET F=(INT(RND*5))-2 440 IF INT(S/4+0.5)=(S/4+0.5) THEN LET Y=Y+F 450 PLOT X,Y
Din nou, să vedem cum putem modifica forța și/sau frecvența valurilor. Dacă vi se par prea mari, înlocuiți expresia (INT(RND*5))-2 prin (INT(RND*3))-1, atât în 410, cât și în 430. Dacă le doriți și mai mari, atunci înlocuiți în ambele instrucțiuni cu (INT(RND*7))-3. Dacă doriți valuri mai dese, înlocuiți în 420 expresia S/4 cu S/2 în ambele părți ale egalității, iar în 440 pe (S/4+0.5)=S/4+0.5 prin INT(S/2)=S/2, dacă, din contra, vi se par prea dese, înlocuiți în 420 pe S/4 prin S/6 sau S/8, iar în 440 la fel.
Dacă doriți să aveți și vânt și valuri, veți introduce în programul de bază ambele pachete de instrucțiuni (evident, scriind o singură dată instrucțiunile 180 și 305 care sunt comune). Și atunci să vă vedem!
Vă urăm succes! Să știți că veți avea nevoie de această urare, pentru că pilotarea se va dovedi a nu fi deloc ușoară. Un ultim sfat: măcar pentru primele antrenamente, pe vânt sau pe valuri, lăsați în instrucțiunea 150 din programul de bază o valoare măricică pentru J.
3. Introducerea programului
Bănuim că programul de bază îl aveți deja pe o casetă de pe care îl introduceți pe calculator prin LOAD "nume". Înainte de a face aceasta, scrieți pachetul de instrucțiuni corespunzătoare vântului și salvați-le și pe ele pe casetă sub un alt nume, de pildă "VANT". Ștergeți memoria și procedați la fel cu instrucțiunile pentru valuri, pe care le veți salva sub numele "VAL". În ziua antrenamentului, încărcați programul de bază și faceți câteva trasee de "acomodare". Dați apoi de pe tastatură comanda MERGE "VANT" și porniți casetafonul. La apariția O.K.-ului, programul complet este gata. Dacă mai apoi doriți să introduceți și valurile, atunci dați încă o dată MERGE "VAL" și încărcați peste programul deja existent. Ia să vedem, merge?
LIVIU MIHAIL BALOIU
ERATA. În instrucțiunea 270, primul semn : se înlocuiește cu ;;, deci: PRINT AT 11, 13; "Timpul:" În instrucțiunea 2420, simbolul D$ se înlocuiește cu D$=, deci: 2420 IF D$="1" THEN GO TO 3000.
SERVOCOMUTATOR
Posesorii stațiilor de telecomandă proporționale au nevoie de multe ori și de comenzi tot-sau-nimic (pentru pornirea-oprirea unui electromotor, bec etc.).
Schema alăturată, relativ simplă, realizată cu două circuite integrate logice CMOS (produse în mod curent de Microelectronica), are câteva avantaje remarcabile: - consum extrem de mic (circa 0,15 mA când releul nu e acționat), consumul montajului fiind practic cel al releului; - prag de acționare foarte precis, neexistând posibilitatea unui regim tranzitoriu; - fiabilitate ridicată și imunitate la perturbații (nu este necesară decuplarea cu condensatoare a sursei de alimentare).
Schema folosește 4 porți SAU-NU (cuprinse în circuitul MMC4001, CD4001 etc.), din care 3 pe post de inversoare și 4 porți ȘI-NU (circuitul MMC4011, CD4011 etc.). Grupul R-C creează o constantă de timp ce determină pragul de basculare al bistabilului R-S, realizat cu ultimele două porți ȘI-NU. În absența semnalului la intrare cele două ieșiri ale bistabilului sunt A=1, B=0 (datorită condensatorului C1). Frontul pozitiv al impulsului de comandă determină începerea încărcării condensatorului C prin semireglabilul R. Analizând stările logice în fiecare situație, constatăm că:
a) dacă impulsul de comandă durează mai puțin decât timpul de încărcare a condensatorului, bistabilul basculează (A=0, B=1) pe frontul descrescător al impulsului. Tranzistorul neprimind curent în bază, releul nu va fi acționat;
b) dacă impulsul de comandă e mai lung decât timpul de încărcare a condensatorului, nu se va produce bascularea, releul rămânând acționat, situație ce rămâne neschimbată până la apariția unui nou impuls, când ciclul se repetă.
Există, așadar, un prag bine stabilit, releul fiind acționat doar dacă durata impulsurilor depășește acest prag. Conectând rezistorul R1 în punctul B, montajul va funcționa invers, adică releul va fi acționat pentru impulsuri mai scurte decât valoarea de prag. Această proprietate permite utilizarea, pe același canal, a două comutatoare cu constante de timp K1 și K2 diferite. Presupunând K1<K2, primul comutator va folosi ieșirea B, al doilea ieșirea A. Intrările de semnal se leagă în paralel. Dacă durata impulsului de comandă este t>K1 și t<K2, nici un releu nu va fi acționat. Pentru t<K1 e acționat primul releu, pentru t>K2 al doilea. Putem transmite, așadar, două comenzi tot-sau-nimic pe același canal.
Pentru ușurința construcției se dau alăturat cablajul și dispunerea pieselor. Traseele punctate reprezintă conexiuni realizate pe cealaltă față a plăcuții; mai bună este utilizarea unui cablaj stratificat dublu placat. Valorile pieselor nu sunt critice. Singurul reglaj este cel al constantei de timp, semireglabilul R înlocuindu-se cu o rezistență convenabil aleasă, în jur de 60k.
FLORIN DUTA