20 martie 2021

Circuit de comanda AZ - EL pentru rotorul antenei ( 3 )

 Modulul nr.3

Este destinat afisarii datelor sau mesajelor generate de microcontroler.
Afisarea se face cu ajutorul a doua ecrane OLED de 0.96 inch. Rezolutia unui ecran este 128 x 64 pixeli. Initial am folosit un ecran LCD 2 x 16 caractere, cu dimensiunile 80 x 36 mm. Am renuntat rapid la acesta din urmatoarele motive:
- nu reusea sa afiseze in timp real datele generate de microcontroler, respectiv azimutul si elevatia.
- vizibiltatea era redusa. Nu ma refer strict la dimensiunea fontului. Nu era vizibil bine in lumina naturala, iar unghiul de vizibilitate era redus.
Cautind solutii, dupa mai multe incercari nereusite, am testat cu succes ecranele OLED. Am ramas impresionat de viteza mare la afisare, cca 60 cadre/secunda, si vizibilitatea acestora in lumina naturala. In opinia mea sint cele mai bune.



Pentru afisarea datelor am folosit doua ecrane identice din urmatoarele motive:
- aveam panoul frontal deja decupat pentru un ecran LCD 16 x 2 caractere.
- dimensiunile ecranelor OLED sint destul de reduse si nu puteam afisa toate datele.
Astfel am utilizat doua ecrane pozitionate astfel incit dimensiunea compusa sa se incadreze in dimensiunile ecranului LCD. Ambele ecrane au fost montate pe o bucata de cablaj imprimat cu dimensiunile 80 x 36 mm, iar sustinerea acestora am realizat-o cu banda dublu adeziva. Un cadran din carton negru ascunde ochiului elementele constructive care nu trebuiesc vazute.


Ecranele comunica cu microcontrolerul pe magistrala de date I2C. Acestea sint setate, din constructie, cu o adresa unica de interogare. Pentru a nu avea conflicte, am schimbat adresa de interogare la un ecran. Aceasta am realizat-o prin modificarea pozitiei unui rezistor SMD situat pe cablajul acestuia. Modificarea este optionala si este recoandata de producator.

Pentru realizarea proiectului m-am inspirat din:

Descarca: Cablajul imprimat.


Modulul nr.4


Asigura conexiunea si transferul de date cu calculatorul.
Este o expansiune a portului USB de pe placa de dezvolatare STM32F103C. Conectat la calculator, dupa instalare, in lista dispozitivelor instalate va apare un port serial cu denumirea 'Mapple'. Prin intermediul acestui port este posibila programarea, comandarea sau interogarea microcontrolerului. Programarea se poate face fara a fi necesara deconectarea placii de dezvoltare din soclu.
Montajul a fost realizat pe o bucata de cablaj imprimat cu dimensiunile: 44 x 26 mm.
Conectorul folosit este USB-B.






18 martie 2021

Circuit de comanda AZ - EL pentru rotorul antenei ( 2 )

 Modulul nr. 2


Acest modul asigura conexiunea cu elementele de citire a pozitiei si executie.

Elementele de citire a pozitiei

Citirea pozitiei antenei se face cu ajutorul a doua contacte Reed. Acestea sint actionate de motoarele care actioneaza antena. Unul in azimut si altul in elevatie. La fiecare rotatie completa a axelor acestora este generat un impuls electric. Acesta este captat si contorizat de catre microcontroler. 

Exemplu practic 
Pentru rotirea completa a antenei utilizez un reductor mecanic cu raportul 1:60. La 60 de rotatii ale axului melcat, axul antenei se roteste o singura data.
Axul melcat este conectat la un motoras de stergator de parbriz la 24V. Acesta la rindul sau are un reductor intern cu raportul 1:36. 
In concluzie, pentru rotirea completa a antenei sint necesare 60 x 36 rotatii ale axului melc al motorasului, respectiv 2160 rotatii. Cum la fiecare rotatie este generat un impuls, voi avea 2160 impulsuri.
Rezolutia citirii pozitiei antenei este de 360 grd / 2160 impulsuri = 0.1666 grd / 1 impuls.
Daca reusec sa contorizez impulsurile atunci voi cunoaste in orice moment unde se afla antena mea si cit trebuie deplasata sau cit s-a deplasat. 
Contactele sint conectate la microcontroler prin intermediul unor optocuplori. Condensatoarele C1 si C2 de 1uF au rolul de a filtra zgomotele si netezii semnalul sosit de la contacte. Valoarea de 1uF functioneaza foarte bine la mine. Semnalele sosite de la contactele Reed sint captate de microcontroler pe sistemul de intreruperi, astfel niciun impuls electric nu este pierdut.

Elementele de executie

Rotirea si elevarea antenelor se face cu ajutorul a doua motoare. Acestea trebuiesc comandate electric cu doua tipuri de semnale: unul, pentru comanda de pornire si oprire a motoarelor, si altul, pentru schimbarea sensului de rotatie. Aceste semnale sint generate automat, in functie de comenzi si decizii, de catre microcontroler. Pentru schimbarea sensului de rotatie, pentru un singur motor, folosesc ambele perechi de contacte ale unui releu. Pentru pornirea si oprirea acestui motor folosesc un comutator electronic, respectiv BTS432D. Comutatorul electronic poate fi comandat normal, 1 pentru motor pornit si 0 pentru motor oprit, cit si in PWM. Astfel, pe linga pornirea si oprirea motorului, este posibila cresterea sau reducerea turatiei motoarelor.


Montajul a fost realizat pe o bucata de cablaj imprimat cu dimensiunile: 100 x 95 mm. Pentru conectarea firelor de legatura cu motoarele si contactele Reed, am folosit o bareta de contacte recuperata de la o sursa in comutatie.

Atentie, pinul 4 de la comutatorul electronic, BTS432D, nu este conectat la cablajul imprimat!




15 martie 2021

Circuit de comanda AZ - EL pentru rotorul antenei ( 1 )

Modulul nr. 1

Este elementul de baza al intregului proiect.
Acesta indeplineste urmatoarele functii:
- contorizeaza impulsurile sosite de la elementele de citirea a pozitie antenei
- interpreteaza comenzile sosite de la butoane sau calculator
- proceseaza, ia decizii si actioneaza motoarele  
- afiseaza pozitia antenei
- comunica cu calculatorul


Toate acestea se realizeaza cu ajutorul unei placi de dezvoltare STM32F103C. Reprezinta inima si creierul intregului sistem. Aceasta poate comunica cu exteriorul prin urmatoarele elemente:
- optocuplori. Acestia asigura interfatarea cu elementele care indica pozitia antenei. Aceste elemente sint niste contacte reed actionate de rotorul motorului care roteste sau eleveaza antena.
- butoane. Acestea sint conectate direct la pinii GPIO ai procesorului, setati ca intrari. Conectarea pull-up a intrarilor se face in interiorul microcontrolerului.
- port USB conectat la un port serial intern. Astfel este posibila comunicarea externa cu calculatorul.
- porturi de iesire, prin pinii GPIO, pentru comanda si actionarea motoarele care rotesc sau eleveaza antena.
- ecrane OLED. Acestea comunica printr-o magistrala I2C si sint conectate direct la pinii GPIO ai microcontrolerului.

Alimentarea modulului se face de la o sursa externa de 12V si un stabilizator de tensiune de 5V. Placa de dezvoltare poate fi programata, comandata sau interogata, in prezenta sau absenta tensiunii externe de 12V/5V. Doua diode, 1N4001, conectate impreuna la intrarea de 5V, protejeaza 'amestecarea' tensiunilor intre ele, HI!
Tensiunea de 3V3 este furnizata de un stabilizator situat pe placa de dezvoltare STM32F103C. Aceasta este folosita si pentru alimentarea cu tensiune a ecranelor OLED.
Conectorii de legatura neutilizati sint utili pentru dezvoltarea ulterioara a proiectului.


Montajul a fost realizat pe o placa de cablaj imprimat cu dimensiunile: 98 x 52 mm. Executarea este foarte simpla si fara probleme. 

Placa de dezvoltare a fost pre-programata cu bootloader inainte de inceperea proiectului. Programul pentru comanda rotorului utilizat de mine este intr-o continua dezvoltare. Versiunile testate urmeaza a fi publicate, in viitor, pe blog.

Update 09.05.2022

Atunci cind treceam pe emisie statia radio, observam tendinta de rotire a rotorului fara sa actionez vreo tasta. Deoarece foloseam tastatura externa a panoului de comanda, prima modificare a fost in montarea unor ferite pe cablul de legatura. Fara succes! Analizind cu atentie schema mi-am dat seama ca punerea intrarilor in pull-up intern, setat software, nu este adecvata. Am montat niste rezistente de 10Km pe aceste intrari si astfel microcontrolerul a devenit imun la radiofrecventa. Deasemenea, ferita a ramas in continuare pe cablul de legatura la tastatura externa.

Pentru realizarea proiectului m-am inspirat din:



Constantin Badican  - YO7FWS

 ---  73's   YO7FWS  ---