Ежедневный радиожурнал со звуком. Иногда с юмором. Всегда с картинками

Доставка квітів Чернігів

26.06.2022

Отрицательный результат

Ранок неділі приніс засмучення. Зібрав нарешті на подарованому новому, на вигляд дуже потужному моторі, обертач варіометра для автоузгодження, але результат негативний. :-( Крутитися тільки до моменту коли в роботу включається перший кулачковий перемикач. Вірніше два: відключення збудження та перемикання з послідовного включення індуктивностей на паралельне. Не вистачає моменту на осі :-(

При дослідах спалив два з половиною контролери крокового двигуна DRV2855. З половиною тому, що спалив вхід Enable на третьому :-( Тепер відключати мотор щоб не грівся в простій не можна. Можливо тому, що мотори не по 200 кроків на оборот, кажуть у тих момент на валу набагато вище за рахунок меншої швидкості, але я сумніваюся - це ж не механічний редуктор. Тепер думатиму над сервомашинками Ардуїно з поворотом на 360 градусів. Ну якщо взагалі такі знайду.

   Знаючі люди кажуть, що взагалі треба прилаштовувати колекторні двигуни з редукторами і до них потенціометри положення. Крокові все-одно калібрувати (обнулювати) перед використанням. Коротше охолонув. Швидше за все оголошу паузу :-(

   Sunday morning brought frustration. Finally assembled on the gift of a new, seemingly very powerful motor, a rotary variometer for auto-matching, but the result is negative. :-( Rotate only until the first cam switch is turned on. Or rather two: switching off the excitation and switching from series to inductance to parallel. There is not enough torque on the axis :-(

  During the experiments, he destroyed two and a half controllers of the DRV2855 stepper motor. With half because I burned the Enable input on the third :-( Now you can't turn off the motor so that it doesn't heat up in idle mode. Probably because the motors are not 200 steps per revolution, they say at that moment on the shaft much higher due to lower speed I doubt it's a mechanical gearbox.

   Knowledgeable people say that in general it is necessary to attach collector motors with reducers and to them assembly potentiometers. Steps are still calibrated (reset) before use. In short, disappointed. Most likely I will announce a pause :-(

Эхо

 Назначил ревизию полки с QSL карточками. Точно помню, что получал карточку Мальпелло -HK0NA. Дело в том что эта территория оказалась неподтвержденной в LOTW, как впрочем и десяток еще, по причине потери лога (полностью) за 2012 год. В логах у него  связи есть, я их вижу в OQRS, но подать свои данные не могу :-(  Нету. Но ближе к делу.  Так вот перебирая карточки нашел и EK3GM. А в чем прикол, спросите вы?   Карточку печатал DJ6CW, а дизайн делал я. Интересно найти свои экзерсисы спустя лет 10 :-)   Время от времени такое случается, я делал картинку на только для клиентов Саши, но спустя годы приятно найти одну из них и видеть что труды не пропали даром.



25.06.2022

Субботняя карамель

Казка як один простакуватий гітарний риф підкорив світ :-)

23.06.2022

Коментарі до циклу Ардуино

Комментарии к циклу ардуино.      Юрий      АС6А

AC6A Напевно варто відмітити що це учбовий проект, а не зовсім закінчена поворотка. Найскладніше це зрозуміти на що здатний процесор і як придумати в голові алгоритм. Можна розкласти виклад на елементарні функції, наприклад розрахунок, смикання ніжками і АЦП/ЦАП. Але це швидше за все пізніше. Можливості ардуино в загальному випадку обмежені фантазією автора)

UY2RA Я сподіваюся що прочитавши наші опуси і подивившись відики радіоаматори просто перестануть боятися Ардуино і почнуть, хоч би для інтересу, робити які-небудь девайсики. Від них, можливо, буде і не така велика користь, але Рубікон те пререйден :-) Далі більше, як мовиться, апетит приходить під час їжі :-) Конкрктно із приводу поворотки: її можна вважати закінченою моделлю. Ну тому що завдання ставилося скромна. З особистого досвіду, як тільки антена стане обертатися, тут же захочеться нею управляти через спортивний софтвер або супутниковий, наприклад :-) А для протоколу GS232 ми ще не готові. Тому дійсно це перший крок. Але за ним вже стоїть на бойовому чергуванні другий......

AC6A Ще важливий момент, принаймні це було для мене, як використати пласт готових розробок і бібліотек, наприклад ту ж поворотку. До кожної плати ардуино як правило є купа тестових прикладів. Від мигання світлодіода до відео сервера під ESP32. Знаю що, як правило, на навчання часу немає, хочеться все і відразу, але зі свого скромного досвіду ці уроки дійсно корисні. Наприклад в проекті позавчора використав функції з прикладу АЦП для тинси, диференціальний АЦП з оверсамплингом до 16 біт і усереднюванням. Сам би точно не здогадався)). А читати інструкцію на контроллер 1000+ сторінок лінь))

UY2RA
Так, це вірно. Я цим користуюся. Але як правило для своїх скетчів намагаюся спочатку винайти алгоритм, а потім дивлюся синтаксис в прикладах :-)

Дивися матеріали по темі  

 Виктор US5WE

Фред Деннин WW4LL, Пабло Гарсия EA4TX и Ричард Рилей 9A1TT награждены памятными плакетками Лиги Радиоаматоров Украины UARL и Фонда Международной Радиолюбительской Службы FAIRS за безвозмездную помощь в организации работы в эфире радиолюбителям Украины с радиолюбительских радиостанций систем BeLoud и RHR в Испании, США и Хорватии.


22.06.2022

 Петро  UW3WF

Конкурсний комітет "Slovenia Contest Club" скасував змагання "European HF Chempionship", які мали відбутися 06 серпня 2022 року.
Дослівно:
    "Конкурсний комітет "SCC" ухвалив рішення про скасування "EUHFC 2022" через поточну ситуацію в Європі, пов’язану з війною в Україні. Ми не бачимо сенсу боротися за звання чемпіона Європи без присутності наших друзів з UR та без активності в змаганнях з усіх інших країн EU. Сподіваючись на мир, ми знову зустрінемося в серпні наступного року на "EUHFC 2023"!".
       Більш детальну інформацію Ви можете прочитати за посиланнями: https://euhf.s5cc.eu/
    Хочеться подякувати словенським радіоаматорам за солідарність із українцями.  Рішення безумовно не просте, але безпрецедентне за рівнем підтримки і розумінням місця і значення українського радіоспорту в системі цінностей цивілізованих країн.
Все буде Україна.   73!  

20.06.2022

"It is life" (song:-)

 

Raspberry PI4 WEBSDR by US5WE

Victor US5WE
Raspberry PI4 WEBSDR installation and setup by US5WE.

Those interested in Low band Dxing are aware of the importance of the ability to copy weak DX signals, especially on 160 meters. Unfortunately, the noise situation in urban areas is worsening daily. So, the obvious solution is to install the WEB receiver in some quiet rural place away from the noise sources.

The first attempt to make this was initiated by VO1HP’s idea to use the remote Afedri SDR-NET receiver.


So, the Afedri receiver was purchased and installed on a temporary basis at the Skiing Carpathian mountain site. This was “one band (160m)/one user” project using the fiber optics cable ¼-in Standart Steel Messenger as the long wire antenna which proved to be very effective with the 20Mbit Internet access speed and low noise from fiber optics to Ethernet converters.

The next step was to install the public WEBSDR not far from Lvov for an easy maintenance access and possibility for local club members to use it.

PA3FWM WEBSDR software which has the shortest signal processing delay time (perfect for the contest use) has been chosen for this project. Obviously, the WEBSDR site would had to be situated in accordance with the “100 km contest rule”: https://www.cq160.com/rules.htm that says:

For Single Operator Assisted Only: “The use of one and only one remote receiver located within 100 kilometers of the main transmitter site is permitted, in addition to the receiver at the transmitter site. WebSDRs are OK, but must be located within the 100-KM limit.”

The WEBSDR v.11 software and RTL-SDR stick was tested on 50MHz this season.

It was decided to install the 160, 80 and 6m WEBSDR at the country site 30 km from Lvov in KN19XM.

Hardware.

The 160m receiver is Afedri-Net SDR, 80m receiver is RTL-SDR stick with the homemade ON1BES SBL1 upconverter https://www.on1bes.be/sdr_up_conv_v3.0_ade1_125_en.html with corresponding two band splitter, highpass and bandpass filters and W7IUV 2N5109 preamplifier.
On 50MHz the RTL-SDR stick with SPF5122Z preamplifier is used.
Antennae are the fullsize 160m delta loop 4 m up and 50 MHz dipole.
Picture 1. FILTER unit         


             Picture 2. WEBSDR RX unit




Software installation

PA3FWM WEBSDR software v.11 worked perfectly on Ubuntu 16.04 desktop but we decided to switch to Raspberry PI4 having in mind low energy consumption with the possible solar power installation at the quiet remote sites in the future. The Raspberry PI with all accessories, power supply, SD card and SDD 120Gb HDD were donated by FAIRS Inc., Floyd VA https://fairs.org/


Picture 3. Raspberry PI4 computer unit.

Several attempts to install PA3FWM software using different Raspberry OS installation packages were made and the only OpenWebRX Debian package was OK for this purpose.

   Installation procedure. 

Download and install BalenaEtcher https://www.balena.io/etcher/ and flash OS image to SD card (16G and more)

Follow the PA3FWM WEBSDR instructions https://semislave57.rssing.com/chan-30397001/latest.php

The same file is in unzipped websdr-dist11.tgz file (../dist11/doc/install.txt).
Install necessary libraries mentioned in the installation guide: (libfftw3-3 libpng12-0 etc) The software needs libcrypto.so.1.0.0 for the HTML5 audio stream.
  Download and install the following libraries from the debian pool http://ftp.debian.org/debian/pool/main/o/openssl/
When all necessary libraries are installed and websdr.cfg file is fored, the websdr-rpi starts with no errors.

Setting up receivers.

To set up Afedri-Net receiver, two software packages:
and corresponding libraries (libudev1,libudev1-dev,libasound-dev, etc) have to be installed.
Copy both sdr_commander and sdr_split to /home/websdr/dist11
Make the FIFO file: create the directories /home/websdr/band160/fifo/ and run the command: mkfifo /home/websdr/band160/fifo/afedri-ch-1
Set the device in /cfg/websdr.cfg device /home/websdr/band160/fifo/afedri-ch-1 device $hw 1:0:0
To avoid any possible conflicts between ALSA devices I suggest disabling the PI4 onboard sound card: cd /etc/modprobe.d create the file sudo vi alsa-blacklist.conf and enter the following line: blacklist snd_bcm2835 . Save the file and reboot the machine.

   To set up RTL-Sdr please follow the installation guide from F4GOH https://hamprojects.files.wordpress.com/2020/09/rpi-part-10-v1.0.pdf

   When using the RTL-SDR with upconverter one has to know that there’s a bug in websdr v.11 than requires to restart the rtl_tcp driver after starting the WebSDR software (websdr-rpi).

  Set the bands and fill the rest of websdr.cfg fields in accordance with /home/websdr/dist11/doc/config.txt ended with swapiq command and start the software.

In our case the startup file looks like this: #!/bin/bash cd /home/websdr/dist11 sleep 1 sdr_commander -sn256000 -g20 -q0 -f1890000 sleep 5 rtl_tcp -d 0 -s 1024000 -f 8350000 -a 127.0.0.1 -g 30.0 -p 1234 -b 3 & sleep 10 rtl_tcp -d 0 -s 1024000 -f 5050000 -a 127.0.0.1 -g 30.0 -p 1235 -b 3 & sleep 5 cd /home/websdr/dist11 ./websdr-rpi & sleep 6 killall -KILL rtl_tcp sleep 6 rtl_tcp -d 0 -s 1024000 -f 8350000 -a 127.0.0.1 -g 30.0 -p 1234 -b 3 & sleep 10 rtl_tcp -d 0 -s 1024000 -f 5050000 -a 127.0.0.1 -g 30.0 -p 1235 -b 3 & sleep 5 exit 0

If everything is configured correctly WEBSDR program starts and can be reached by any browser at port 8901

Hardware items list.

1. RPI4 computer box (RaspberryPI4 board, SSD HDD 120GB, M.2 (NGFF) to mini SATA SSD adapter card).
2. Video cable with DVI converter.
3. RaspberryPI4 3.5A power supply.
4. WEBSDR 160/80m receivers box
5. FILTER unit and 2N5109 LNA boxes.
6. Interconnection 80 and 160m band coax cables.
7. WEBSDR < - > FILTER unit power cable.
8. USB cables for receivers (total 3)
9. 12-15V 1A linear PS for for LNA+relay and upconverter.
10. 9V 1A linear PS for Afedri SDR and shielded power cable.
11. 12V shielded power cable for LNA+relay and upconverter.
12. 5V shielded power cable for 50 MHz SPF5122Z LNA (optional)
13. Separate RTL-SDR stick for 50 MHz and set of antenna coaxes
Setting-up the system.

1. Open the computer cabinet and connect video and power cables to RaspberryPI4 board.
2. Connect RJ45 network cable.
3. Connect three USB receiver cables to the RaspberryPI4 board through the front panel.
4. Close the cabinet.
5. Connect USB cables to the corresponding receiver female connectors on WEBSDR receiver box. Black USB cable is connected directly to the RTL-SDR 50 MHz receiver.
6.Connect 12V power cable to the WEBSDR receiver box. Connect power interconnection cable to the filter box.
7. Connect 160 and 80m coax cables between WEBSDR and FILTER boxes.
8. Connect antenna 160/80m antenna to the FILTER unit antenna connector.9. Connect 50 MHz antenna coax the input SPF5122Z LNA connector.

Important notes.

The Raspberry PI4 3.5A power supply can’t handle the additional 500 mA load of Afedri SDR via USB port resulting in computer freezing due to PS overload.

The 9V 1A linear PS has to be used for Afedri SDR. Avoid trying to use the 12V PS as the internal Aferdi SDR 7805 chip is becoming too hot for 24/7 usage.

Final adjustments.

Set the fixed IP, subnet mask, gateway and DNS in /etc/dhcpd.conf

19.06.2022

Primitiv Rotator. Comments

Радує, що українські радіоаматори не побоялися нового і активно пробують на зуб Ардуино. Принаймні в двох листах було зрозуміло, що модель зібрали і випробували: -)  Ну тому що виражають незадоволення :-) Але все лікується і виявлені недоліки легко усуваються.  Але в першоджерелі є одна принципова особливість. Назвати її недоліком не можна, але для Сергія і тепер для мене вона "дряпає око" :-)
  Якщо монтаж блоку реле видно, наприклад пристрій без корпусу або корпус прозорий, то світлодіод на реле напряму обертання увесь час світиться и змiнюется тiлькi в роботi. Оскільки напрям руху може бути тільки вліво або управо, при завершенні руху "напрям" залишається незмінним і діод, що світиться увесь час, бентежить око.  Приводити значення до "нуля" тільки для того, щоб погасити світлодіод недоцільно. Тому якщо світлодіод дратує - його треба випаяти :-)
  Але це так, майже жарт. Куди серйозніша пропозиція була від Олега з Білої Церкви. У нього, і він вважає у багатьох інших, є тільки виконавчий пристрій від Yaesu. Конкретно у нього G450, але це не принципово. Усі такі механізми управляються поданням "землі" на відповідний пін роз'єму - вліво або управо. І логіка роботи Примітив Ротатора може залишитися незмiнною, але сигнали, що управляють, мають бути інші. 
  Таким чином принцип роботи модифікації залишився той же - порівняння напряжений, але вихідні сигнали стали іншими: це програмування. Нічого перепаювати не треба. Поправили скетч і все: телемаркет:-) Нуль або на контакт "вліво" або на контакт "управо".  Коли антена досягає потрібного напряму, усі реле вимикаються. Схеми підключення напруги на выконуючi пристрої (мотори) є в інтернеті, тому я спробував заощадити час і підключитися  до Yaesu G800, що є у мене, зі стандартним роз'ємом PS/2. Півтори години витратив на пошуки шнурка з таким роз'ємом, але безуспішно. Розібрав 7 мишок та одну клавіатуру. Але або провід 4-х дротовий, або дротiв  5, але кінці в роз'єм не збігаються, коротше не доля. Тому демонстрація кіно знову буде на реле без підключення самого поворотного пристрою. Але воно буде працювати, тому що так ще простіше, ніж було :-) На схемі наведено нове підключення блоку реле та входу А0, тому що тепер ми прив'язані до роз'єму на задній стінці контролера.
А зараз новий скетч. Він став ще простіше. Для керування реле обрані вихідні піни 11 та 12. Вони прописані як LEFT_GO и RIGHT_GO i замінили собою поняття DIR_pin и Motor_pin у старому скетчі

#define RIGHT_GO 11
#define LEFT_GO 12
#define Uant_PIN A0 
#define Udir_PIN A1 
#define U_trimmer A2 
#define right_led 9
#define left_led 10
#define error_preset 20

int X1, X2;
int error = 0; 
//int potentiometer; // подключить на аналоговый вход А2 если потенциометр есть

void setup()
{
pinMode(RIGHT_GO, OUTPUT);
digitalWrite(RIGHT_GO, LOW); 
pinMode(LEFT_GO, OUTPUT);
digitalWrite(LEFT_GO, LOW);
pinMode(right_led, OUTPUT);
digitalWrite(right_led, LOW);
pinMode(left_led, OUTPUT);
digitalWrite(left_led, LOW);
}

void loop()
{
X1 = analogRead (Uant_PIN); 
X2 = analogRead (Udir_PIN); 
float voltage = X1 * (5.0 / 1023.0);
float voltage1 = X2 * (5.0 / 1023.0);
// potentiometer = analogRead(U_trimmer); //раскоментировать сторочку если потенциометр есть
error = abs(X2 - X1); 
//if (error > potentiometer/10){ // раскомментировать если потенциоьетр есть
if (error > error_preset) { // закомментировать если потенциоометр есть
if (X1 > X2 ) {
digitalWrite(RIGHT_GO, LOW);
digitalWrite(left_led, HIGH);
digitalWrite(right_led, LOW);
}
if (X1<X2) {
digitalWrite(LEFT_GO, LOW);
digitalWrite(left_led, LOW);
digitalWrite(right_led, HIGH);
}
}
else
{
digitalWrite(LEFT_GO, HIGH);
digitalWrite(RIGHT_GO, HIGH); 
digitalWrite(left_led, LOW);
digitalWrite(right_led, LOW);
}
}

18.06.2022

Син Буратино

Ну я жартую, звичайно. "Дерев'яні" чоловічки дуже часто радують нестандартним.

13.06.2022

Primitiv Rotator. Comment

 Юрий. AC6A

Теперь комментарии к Primitiv Rotator. Если на схеме поменять местами выводы мотора и источника питания, то независимо от положения  контактов реле Р1/Р2 КЗ не будет.  Нормально замкнутой группой р3 лучше замыкать мотор, это пассивный тормоз для редуктора.

UY2RA: Спасибо. Отличная идея.

Фильтры по входу АЦП можно существенно увеличить, например 10к/1мкф всего лишь даст задержку 10 мс. 

UY2RA: Иметь такую возможность в арсенале - очень хорошо. Неизвестно как медленно будет вращаться мотор. Так что  идея очень хороша. Хотя всё равно лучше бы прописать гистерезис.

Блок реле имеет опторазвязку, на его плате нужно снять перемычку между землями и запитать от независимого источника питания, например того же что питает мотор. Имеется в виду запитать по шине 5 вольт.   И здесь и на самой плате для защиты можно использовать суппресоры. 

Концевики на редуктор лучше ставить с диодами. Когда сработает концевик, приложенное напряжение обратной полярности позволит мотору "слезть" с концевика.

В условии определения направления условие if (x1<x2) нужно заменить на else. Иначе при проходе АЦП через равенство цикл безусловно перейдет в конец на обесточивание всех реле.

UY2RA:  Результат будет правильный в обоих случаях, хотя теоретически может возникнуть дребезг.  Но справедливости ради следует заметить, что тогда запись должна была бы быть   IF (X1<==X2), что в логическом эквиваленте  (в контексте) и будет означать ELSE :-)  Так что согласен, спасибо.

Primitiv_rotator. Comment

Андрiй UR5XMM 

"   Доброго дня, Георгій! Слідкую на Вашому сайті за циклом статтей "Ардуіно - це дуже просто". Хочу додати невеликий коментар по останньюму доданому матеріалу:



Можливо, це може здатися, що хочу "поумничати", але це може бути дійсно важливо.
Червоним кольором виділені проводи, що ідуть від "резистора - сельсіна".
Я думаю, що довжина цього проводу буде як мінімум метрів 10 а то і більше, залежить від конкретного місця.
Виникає питання: Як Ардуїнка буде себе почувати під час сильної грози?
Це може бути небезпечно дня неї, оскільки при розряді блискавки, імпульс напруги на порті А0 може скакнути до декількох кВ.
Я бачу варіанти захисту:
1. Добре екранований кабель із добре заземелним екраном. (Не впевнений, що це допоможе)
2. Фізичне відключення роз'єма після завершення роботи на радіостанції (вручну або через реле).
Тут є нюанс, що можна забути фізично витягнути роз'єм. Можливо реле - надійніше, але залежить від його типу.
Яка Ваша думка з приводу цього?"

P.S. From UY2RA: 
Так, така опсаність звичайно існує. І по хорошому екранування допоможе. Але краще кабель "нагору" відключати. Принаймні. А також є рішення від "забув відключити". Я це робив для КВ антен, але тут воно так само буде до речи. - "Таблетка від склерозу". У платі "4 реле Ардуїно" одне реле залишається вільним. Якщо на нього подавати напругу живлення просто коли пристрій увімкнено, його середній контакт може підключати аналоговий вхід "провід зверху". I коли напруга знімається (устрій вимикається), то відпущений контакт замикає провід на землю. Про цю небезпеку також писав і Юрій, AC6A, дивись його коментарі вище.
 Взагалі постом вище  практичні зауваження від Юрія, АС6А. Теж можна "розумнішати".

12.06.2022

Primitiv_rotator

Юрий, AC6A & Егор, UY2RA 

Внаслідок колективної праці робота, можна сказати, завершена. Ще можна фарбувати ручки в різні кольори, але логіка та функціонал цього пристрою не зміниться. Практична схема примітив ротатора нижче. Не забудьте по живленню +5 вольт додати пару-трійку конденсаторів по 470 мКф та 0,1 мКф. Залежно від швидкості обертання конкретного мотора можна скоригувати постійні часу ланцюга в аналогових входах. Якщо виміри запізнюються, повільні, замініть конденсатори на менші. Резисторит по 10 ком краще не змінювати.

Власне скетч з коментарями та функціями (рядками) для виведення контрольних параметрів на екран (в СОМ порт) у попередньому матеріалі, а зараз робочий скетч, як то кажуть, нічого зайвого. У скетчі є рядки, що описують підключення додаткового потенціометра на аналоговий вхід А2. Його можна використовувати просто як "задатчик" величини припустимої помилки напруги потенціометрів. Він може бути зручнішим для завдання величини error (практично аналог гістерези) ніж зміна параметра в тексті скетча. Усі рядки пов'язані з ним мають коментарі. Але без нього простіше :-)

    До речі, на схемі також відсутні світлодіоди вказатели напрямку обертання та їх струмообмежуючі резистори. Ну тому що вони потрібні були при налаштуванні, а в роботі від них користі мало. Одне з двох: або повісити на Ардуїно ці резистори і світлодіоди (що не дуже потрібно на практиці), або прибрати зі скетчу всі рядки, що містять left_led і right_led. Їх у тексті аж 12. Скетч буде ще коротшим :-) І я б дуже рекомендував у ланцюг живлення двигуна включити "кінцевики" (обидва послідовно). Ціна питання копійчана, а якщо щось із контролером не так, не дасть відірвати кабель.

#define DIR_PIN 8
#define MOTOR_PIN 7
#define Uant_PIN A0 
#define Udir_PIN A1 
#define U_trimmer A2 
#define right_led 9
#define left_led 10
#define error_preset 20

int X1, X2;
int error = 0; 
//int potentiometer; // if soldered to A2 for tuning

void setup()
{
pinMode(DIR_PIN, OUTPUT);
digitalWrite(DIR_PIN, LOW); 
pinMode(MOTOR_PIN, OUTPUT);
digitalWrite(MOTOR_PIN, HIGH);
digitalWrite(LED_PIN, LOW);
pinMode(right_led, OUTPUT);
digitalWrite(right_led, LOW);
pinMode(left_led, OUTPUT);
digitalWrite(left_led, LOW);
}

void loop()
{
X1 = analogRead (Uant_PIN); 
X2 = analogRead (Udir_PIN); 
float voltage = X1 * (5.0 / 1023.0);
float voltage1 = X2 * (5.0 / 1023.0);
// potentiometer = analogRead(U_trimmer); // trimmer potentiometer value, uncomment if present
error = abs(X2 - X1); 
//if (error > potentiometer/10){ // uncomment if trimmer potentiometer is present
if (error > error_preset) { // comment if trimmer potentiometer is present
digitalWrite(MOTOR_PIN, LOW);
if (X1 > X2 ) {
digitalWrite(DIR_PIN, LOW);
digitalWrite(left_led, HIGH);
digitalWrite(right_led, LOW);
}
if (X1<X2) {
digitalWrite(DIR_PIN, HIGH);
digitalWrite(left_led, LOW);
digitalWrite(right_led, HIGH);
}
}
else
{
digitalWrite(MOTOR_PIN, HIGH); 
digitalWrite(DIR_PIN, LOW); 
digitalWrite(left_led, LOW);
digitalWrite(right_led, LOW);
}
}
Нижче вже як за традицією :-) видосик, що показує практичне втілення думок :-)

Конкурс на скоростное изготовление

  Я іноді думаю: ну що толку, що ти такий розумний, досвідчений? Скрізь побував, і послати тебе нема куди? :-) Коли до справи, іноді відчуваю гордість за прожиті роки: дечому таки навчився :-) Сьогодні довелося терміново запускати ще один приймач на 40 метрів. А антен уже нема. Скінчилися :-( І було щось небагато. А наморщив розум, і відразу згадав, що на прийом можна поділити антену між приймачем і скіммерсервером. Оголосив конкурс на швидкісну збірку. Переміг я з результатом 15 хвилин. Втрати в девайдері -2,2 дБ. SWR - 1,2. Їй богу нефігово за 15 хвилин, зате обидва приймачі вже працюють.


11.06.2022

"Arduino" - це дуже просто 9

  Настав час написати перші осмислені :-) рядки коду. І нехай вороги зловтішно скажуть, що це примітив, ми не образимося :-). Дійсно просто: описовий блок міститиме номери пінів, які ми підключатимемо до нашої схеми, а так само початкові присвоєння (властивості) цих пінів. Їх небагато: аналогові входи А0 і А1 для середніх ніжок потенціометрів, виведення 8 для зміни напрямку обертання двигуна та виведення 7 - двигун вкл/викл.  У блоці реле Р1 і Р2 працюють синхронно і змінюють полярність прикладеного до мотору напруги. Пін 8 управляє обома реле паралельно. Пін 7 управляє каскадом з двох транзисторів: VT1 – емітерний повторювач, VT2 – ключовий каскад. Поки на піні 7 буде низька напруга, пітання на двигун не подаватиметься.
Середня ніжка управляючого потенціометра (на малюнку нижній) підключається до входу АЦП А1, а середня ніжка потенціометра, що знаходиться у зв'язці з мотором, на такий самий вхід А0.   За бажання транзисторний каскад можна так само замінити на ардуїновську групу реле. Це ще спростить схему, але тоді доведеться купувати або окрему плату реле або знову здвоєну. Треба відзначити, що працювати буде надійніше :-)
      До процесу підключився Юрій, AC6A. Його коментар та поради: 
"Реле P1 і P2 краще б замінити на одне з двома групами контактів - 2Н2П. Але якщо це економічно недоцільно, або такого реле немає в наявності, то в жодному разі не включати поки що обмотки реле не будуть запаралелені. Якщо одне з них включиться, а інше ні - отримаємо КЗ в ланцюзі живлення мотора. Транзисторний каскад потрібно замінити на реле. Таке ж, Ардуїно, з оптопарою. Причина - захист контролера від викидів напруги при комутації обмотки мотора. Аналогові входи через високий вхідний опір краще розв'язати резисторами по 10 кОм і блокуючими конденсаторами по 1 мФ. Постійна часу цих ланцюжків гратиме роль демпфера."
Я з усім згоден, так що схему доведеться міняти. Зараз намалюю. Тепер чернетка скетчу від Юрія. Зрозуміло, ще не робоча версія. А ще доданий індикатор увімкнення мотора - світлодіод та триммер гистерезиса.  
   Тепер до схеми потрібно (б) додати два світлодіоди, що індикують напрям обертання (за годинниковою або проти) і задіяти ще два цифрові піни. Тому що робота світлодіода на платі реле (напрямок обертання) ліворуч горить, а праворуч немає. Незрозуміло :-( Світлодіод, що індикує працюючий мотор на платі реле працює правильно. Але схему малюватиму вже завтра.
//Описательная часть
#define DIR_PIN      8
#define MOTOR_PIN    7
#define Uant_PIN     A0 // номер порта к которому подключен управляющий потенциометр
#define Udir_PIN     A1 // номер порта к которому подключен ведомый потенциометр
#define U_trimmer    A2 // trimmer potentiometer
#define LED_PIN      13 // LED pin for state indicator
#define right_led    9
#define left_led     10
#define error_preset 10 // error amount, has to be adjusted for existing motor


// Определение переменных
int X1, X2;// Целые переменные Х1 и Х2
int error = 0; // error
//int potentiometer; // if soldered to A3 for tuning

bool flag = 0;  //Логический флаг для рабочего режима. 0 - мотор выключен, 1 - включен.

void setup()
{
  pinMode(DIR_PIN, OUTPUT);
  digitalWrite(DIR_PIN, LOW); // set low to save power
  pinMode(MOTOR_PIN, OUTPUT);
  digitalWrite(MOTOR_PIN, HIGH);
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
  pinMode(right_led, OUTPUT);
  digitalWrite(right_led, LOW);
  pinMode(left_led, OUTPUT);
  digitalWrite(left_led, LOW); 
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

void loop()
{

  X1 = analogRead (Uant_PIN); // считываем значение напряжения на потенциометре антенны
  X2 = analogRead (Udir_PIN); // считываем значение напряжения на управляющем потенциометре
 float voltage = X1 * (5.0 / 1023.0);
 float voltage1 = X2 * (5.0 / 1023.0);
  // вывод в СОМ порт:
  Serial.print ("voltage "); Serial.print (voltage); Serial.print ("    ");
  Serial.print (" voltage1 ");
  Serial.println(voltage1);
  delay (1000);
  // potentiometer = analogRead(U_trimmer); //  trimmer  potentiometer value, uncomment if present
 error = abs(X2 - X1)/2; // absolute value of error
  Serial.print (" Error "); Serial.println (error); 
  //if (error > potentiometer/10){ // uncomment if trimmer potentiometer is present
  if (error > error_preset) { // comment if trimmer potentiometer is present
    flag = 1;
    digitalWrite(MOTOR_PIN, LOW); // начать вращать мотор
    digitalWrite(LED_PIN, HIGH); // turn LED on

    if  (X1 > X2 ) {
      digitalWrite(DIR_PIN, LOW);// сказать мотору чтобы крутил влево
      digitalWrite(left_led, HIGH);
      digitalWrite(right_led, LOW);
    }

   if (X1<X2) 
   {
      digitalWrite(DIR_PIN, HIGH);// сказать мотору чтобы крутил вправо
      digitalWrite(left_led, LOW);
      digitalWrite(right_led, HIGH);
    }
  }
  else
  {
    digitalWrite(MOTOR_PIN, HIGH);  //Отключаем мотор
   digitalWrite(DIR_PIN, LOW); //saving power on DIR relays
   digitalWrite(left_led, LOW);
   digitalWrite(right_led, LOW);
  digitalWrite(LED_PIN, LOW); // turn LED off
   flag = 0;
  }
}

Текст скетчу поки що з коментарями та перевірочними рядками (щоб легше було розуміти. У наступній частині, зі схемою, все те без чого скетч працюватиме я заберу і, можливо, підключу все це до свого ротатора Yaesu G-800XDA для демонстрації роботи. Хоча це не важливо, все одно виконавчий пристрій у вас буде інше, не вгадаєш...

Субботняя карамель

 3,2,1    No comment. Антивоенная песня :-)   You not need a gun :-)

08.06.2022

Нарочно не придумаешь

 Виктор Ярошенко

Владимирович без фонаря плохо видит дисплей :-)
P.S. Начальник поймал момент когда я забыл выключить налобный фонарь :-)


07.06.2022

"Arduino" - це дуже просто 8

Настав час намалювати електричну схему пристрою, що розглядається. Вона на малюнку. У верхній частині мотор та вимірювальний потенціометр. Обидва потенціометри в 10 ком. Розміщені вгорі двигун і потенціометр з'єднуються з вузлом управління (Ардуіно) п'ятипровідним кабелем. Якщо є можливість – екранованим. Якщо ні – не страшно. Працюватиме і так. Провідники від двигуна підключаються безпосередньо до виходів реле, які подають напругу для обертання двигуна за годинниковою стрiлкою та проти. Реверс проводиться зміною полярності живлення, тому провідники немає з'єднання із землею.

  Опорна напруга 5 вольт подается на обидва потенцiометра с шины 5 вольт плати Ардуино. Активни контакты подаются на аналогови входи А0 и А1 плати Arduino Uno. 
 При цьому напруга з потенціометра Udir є опорною та порівнюється з напругою потенціометра Uant. Рівні управління блоком реле виводяться (DIGITALWRITE) на піни 7 і 8 на час, необхідний для того, щоб увімкнений мотор повернув вісь на потрібний кут, після чого мотори відключаються. Сигнал управління "мотор увімкнути" подається на блок реле сигналом на піні 9 транзисторним ключем VT1. Напруга на ньому залежить від типу двигуна. З вказаної вище причини вихідні кінці блоку живлення подаються прямо на контакти реле.

05.06.2022

No comment

Это ненормально

А это - нормально.


Ардуiно. Знову крок назад

Завдяки зворотному зв'язку з читачами я маю поняття про ефективність тих чи інших матеріалів, які пишу. В даному випадку реакція на спробу популяризувати найпростіше програмування позитивна, але дуже несподіваний аспект мене бентежить. З'ясовується що більшість тих, кому це стало цікаво, вже встигли втратити (забути) здатність динамічно підміняти поняття логіки та змінних так просто як це бувало в школі :-) Тому, як і раніше, найпопулярнішим проханням залишається ще раз, на іншому прикладі, зробити логістичну послiдовнiсть вирішення задачі за допомогою мікроконтролера.

За законом жанру повертаюся ще на крок і вибираю завдання мабуть найближче радіоаматору - обертання спрямованої антени.

* Ліріка. Деякі антени в силу свого специфічного виконання мають властивість випромінювати (концентрувати випромінювання) в певному напрямі і тому надають власнику перевагу. Така властивість називається Коефіцієнт Спрямованої Дії. Але воно має і зворотний бік медалі: для того, щоб перевага була реалізована, антена повинна обертатися і не просто, а в потрібному напрямку. Тобто необхідний механізм управління антенною та індикації цього напрямку на місці оператора.

Існує безліч варіантів управління і така ж кількість реальних девайсів, які можна придбати в магазинах. Це і соленоїди, і гіроскопи, і електромагнітні компаси та ін. Але вони дуже недешеві і, звісно, ​​не продаються у найближчому магазині. Складні варіанти реалізації, типа вказівку кута повороту з клавіатури в градусах ми не розглядаємо. Більше того, ми навмисне виберемо наймінімалістичніший варіант і спробуємо його комп'ютеризувати. Так як наше завдання навчання, то вибір виконавчого пристрою залишимо за читачем, йому видніше що є в його арсеналі, за основу візьмемо поняття мотора, який може обертатися в обох напрямках і його вісь механічно пов'язана з потенціометром, що знаходиться там, нагорі, у антени, який через шестерні з числом передачі 1:2 "передає" вниз напругу, що змінюється, яку можна відстежувати мікропроцесором і відповідно реагувати.
 На малюнку представлена ​​кінематична схема (!:-) механічної частини. При повороті осі двигуна на 360 градусів, вісь потенціометра повертається приблизно на 180 градусів. При подачі на потенціометр напруги, наприклад 5 вольт, при повному повороті антени напруга на середньому виводі потенціометра буде змінюватися приблизно від 0,5 до 4,5 вольта. Ця напруга може відстежити аналого-цифровий перетворювач Ардуїно і цей сигнал буде сигналом помилки при порівнянні із заданим, який ми будемо задавати за допомогою такого ж потенціометра, тільки встановленого в пульті управління на столі.
   Пристрій на столі складається з такого ж потенціометра, на який подано 5 вольт. Виставляючи ручкою потенціометра кут на який має повернутися антена, ми задаємо "опорну" напругу. Різниця між значенням напруги з потенціометра "згори" і того, що на столі, становитиме напругу помилки. Ардуїно визначить в який бік потрібно обертати мотор, задасть відповідно полярність живлення на мотор і обертатиме мотор доти, доки напруги не зрівняються. 
Таким чином управління пристроєм буде притимівно-мінімальним: потенціометром на столі потрібно встановити бажаний напрямок і почекати, поки Ардуїно не поверне антену :-) Цей принцип реалізований і в індикаторі кута повороту Yaesu G-5500. І можна індикувати, до речі.

Отже, ми продумали алгоритм роботи пристрою на мікроконтролері. Тепер можна намалювати схему роботи пристрою (алгоритм). У силу того, що Ардуїно досить простий мікроконтролер, оточуюче середовище створене так, що він виконує доручене обертання по колу і до безкінечності. Таким чином, значно спрощуючи життя самому мікроконтролеру. Тобто зовнішній конверт на Бейсіку або Паскалі мав би вигляд "виконувати доки".

Спочатку розглянемо як має працювати програма в мікроконтролерi для того, щоб антена завжди "дивилася" туди ж, куди вказує "носик" потенціометра DIR. Очевидно, що вона за допомогою двигуна повинна підтримувати рівність напруг Uant і Udir.  Для цього вона повинна записати в пам'ять два значення напруги на своїх аналогових входах Uant і Udir. Для зберігання цих величин, до речі, це реальні числа, ми пізніше повинні будемо описати ці змінні в стартапi скетчу.
   Далі мікроконтролер повинен порівняти цi напругi і при їх рівності зупинити мотор, якщо він обертався, і нічого не робити, якщо мотор стояв. Якщо ж цi напругi не дорівнють одна iншiй, то визначити яка з них більше. Якщо більше напруга на потенціометрі у антени, то призначити напрямок обертання "вліво", тобто зменшувати напругу на вимірювальному потенціометрі, якщо більше - навпаки. Для зберігання цього поняття можна використовувати змінні типу булевських, або ж завести змінну цілого типу і змінювати там значення з 0 на 1. Ці змінні також потрібно описати на початку скетчу.
   Наступною дією в цьому випадку є обов'язкове вмикання двигуна. Всі ці дії будуть продовжуватися доти, доки напруги не зрівняються. У цьому випадку, відповідно до першої перевірки алгоритму мотор повинен зупинитися.  Так як ми вказуємо напрямок, в якому повинна встановитися антена кутом повороту потенціометра, індикатором напрямку буде його шкала і, отже, нам не потрібен дисплей, що значно полегшує скетч:-)
Далi буде

04.06.2022

Я - за "зеленых" :--)

 Всі люди як люди, у вихідний день сидять за столом за чашечкою кави, а я з ранку годую мошку. 
Хто не знає, що таке мошка в сосновому лісі теплим ранком після дощу - не знає нічого :-) Завдання стояло наступне - підняти кінці інвертед V на діапазони 40 та 30 метрів так, щоб вони стали працювати як диполь. Ефективність зростає і, я сподівався, що з підйомом на 3 метри частота піде трохи вгору. 
Я розрахував довжину із запасом і, як завжди переборщив: в обох діапазонах частота піднялася, але не на 100 кгц, як я розраховував, а всього на 50 :-( КСХ пристойний, незважаючи на те, що резонанс нижче. Зате кінці тепер метрIв на 2 -3 вищі і тепер ці антени можна називати диполями :-) Ну майже.



Субботняя карамель

Pam pam pam Очарование ритма

02.06.2022

Лучшее поворотное устройство для УКВ

 :-)      Alex UR5RP

Виктор US5WE – EA4/K1WE и Лена UR5WA – EA4/KT4RP

27 мая 2022 года в FAIRS Hq, Floyd, VA https://fairs.org/ пришел, думаю, достаточно уникальный "War Time DXCC", выполненный ремоутом из Мадрида, со станции Пабло Гарсии EA4TX, который любезно и совершенно бесплатно предоставил свою станцию для ремоут работы, начиная с 16 апреля 2022 года.

Учитывая тот факт, что HAM SPIRIT, который мы знали десятки лет, после вторжения 24 февраля, по-просту, умер и во избежание различных эфирных провокаций, было принято решение воспользоваться нашими дейстующими американскими позывными K1WE и KT4RP.

Работа ведется barefoot, на трансивере IC7300, всеми видами – CW, FT4/8 и SSB на пяти основных диапазонах 80,40,20,15 и 10 метрах.    WARC, 160 и 6м на станции отсутствуют.

Прохождение в IN80 отличается от нашего – Северная и Южная Америки “гремят” и отвечают, практически, сразу. С Дальним Востоком и центральным Пасификом намного сложнее.

По состоянию на 31.05.2022 года отработаны 187 территорий, подтверждены, по понятным причинам, только в LoTW - 163. Не знаю, получится ли добраться до 200 LoTW CFM территорий, но Dxing должен продолжаться. Никому и никогда не удастся заставить нас замолчать.

От всей души благодарим Пабло EA4TX, нашего старого друга Алана KM2P (WA2HSU), Фреда WW4LL - директора компании https://beloud.us/ без помощи которых эта работа была бы невозможна.

Особая благодарность директорам FAIRS David Larsen KK4WW и Gaynell Larsen KK4WWW за логистическую и моральную поддержку. 73/88

© Copyright 2011-2021 UY2RA,    All rights reserved.    Все права защищены.    Пожалуйста уважайте их. Использование материалов c этого сайта разрешается только с указанием АКТИВНОЙ ссылки на этот сайт.

FREE & OPEN UKRAINIAN HAM  RADIO  BANNERS NET