Форум радиолюбителей Украины
Радио => КВ техника => Тема начата: bybra от Февраля 22, 2013, 12:39:45 am
-
http://www.youtube.com/watch?feature=player_embedded&v=PJGE0UGpJDw
вот почти допилили бенд декодер на Ардуино
8 светодиодов слева в 2 ряда висят на антенных выходах (пока для отладки, вместо антенных реле)
4 светодиода - выход Yaesu ABCD для управлением усилителем (пока для отладки висят светодиоды)
на табло (оно останется) отображается бенд и внизу мигает светодиод (когда есть связь с трансивером), который показывает выбранную антенну
кнопки для ручного управления выбором антенн
вообщем как-то так...
... осталось навести марафет и можно запускать в серию
-
http://www.youtube.com/watch?v=sJWgH7HtJ9Q
научил свой бенддекодер на Ардуино рулить мощностью
теперь он не только включает нужные антенны, но и устанавливает мощность трансивера в зависимости от диапазона
-
какие протоколы будет поддерживать? есу, кенвуд, айком?
-
какие протоколы будет поддерживать? есу, кенвуд, айком?
будет поддерживать есу, кенвуд, айком
-
после летнего перерыва проект более менее продвигается
разработан корпус
(http://www.cqham.ru/forum/attachment.php?attachmentid=157695&d=1385496826)
заказали тестовую печатку и лицевую панель
если все обойдется без косяков, то будем заказывать платы и корпуса на первую партию
1. в нашем бенддекодере будут разъемы DB-9 мама
таким образом можно использовать легкодоступные прямые кабеля DB-9F/DB-9M для подключения к компу и трансиверу
2. скорость порта и режим работы "с компом" и "без компа" будут устанавливаться в сетапе,
попасть в который можно зажав 2 кнопки при включении декодера
3. выбор разных антенн на прием и передачу у нас реализован изначально.
Достаточно завести PTT с трансивера на декодер
4. наш декодер по САТ декодирует следующие диапазоны
"160","80","75","40","30","20","17","15","12","10" ," 6"
каждый из которых разбит на 2 части
т.е. можно выбрать разные антенны для CW и SSB
границу между CW и SSB можно в любой момент изменить, выставив на трансивере частоту этой границы и нажав 2 кнопки на декодере
Кроме этого в декодере реализован ручной режим управления антеннами
с возможностью использовать разные антенны на прием и передачу
На данном этапе по САТ работает
с TS-590
http://www.youtube.com/watch?feature=player_embedded&v=jjmPnk2D0OM
TS-2000, TS-480 и со всеми остальными Кенвудами в которых есть разъем CAT RS-232
с FT-2000, FT-950, FT-450
и FT-857/897
http://www.youtube.com/watch?feature=player_embedded&v=U8SpucbPrfE
В ближайшей перспективе добавление поддержки не сильно старых Айкомов
ну, и естественно, декодируется Icom Voltage и Yaesu BCD
добавил, ИМХО, важную фичу
если более 10 сек от трансивера по САТ не поступают данные о частоте,
то все светодиоды (8 шт) загораются красным цветом и на экране вместо диапазона появляется надпись "nc-"
http://www.youtube.com/watch?feature=player_embedded&v=iLA2sLbxLxU
-
а 706-й это сильно старый ИКОМ? =)
-
а 706-й это сильно старый ИКОМ? =)
не сильно
тема вдруг ожила
разработан и изготовлен пилотный вариант корпуса (традиционно из композита)
(http://)
-
нарисована и заказана печатная плата
-
Проект длиною в жизнь
-
та ладно. если убрать перерывы, то на все про все - пару недель ушло.
это ж не антенны делать и башни ставить.
-
та ладно. если убрать перерывы, то на все про все - пару недель ушло.
это ж не антенны делать и башни ставить.
та не пару
но зато я насобачился программить для ардуино
и раскурил кикад
ну и прокачал скил в разработке корпусов из композита
короче, одни плюсы
-
"яка розумна людина. і що воно йому дало?" (с) анекдот
-
"яка розумна людина. і що воно йому дало?" (с) анекдот
посмотрим по итогу
п.с. платы уже шипанули
-
"яка розумна людина. і що воно йому дало?" (с) анекдот
посмотрим по итогу
п.с. платы уже шипанули
Будешь свиней стричь?
-
"яка розумна людина. і що воно йому дало?" (с) анекдот
посмотрим по итогу
п.с. платы уже шипанули
Будешь свиней стричь?
откуда ты про свиней знаешь?! :o
-
посчитал затраты на комплектующие, если их покупать у нас
выходит 366 грн
это без резисторов смд на плату, новых кнопок на индикатор, колпачков, крепежа и корпуса (+120-150 грн)
+ 6 баксов индикатор https://bit.ly/2whpA9Q (https://bit.ly/2whpA9Q)
+ платы
выходит себестоимость около 25 долл...
... однако... :'(
-
да нормально выходит. дешевле можно только если индикатор на 1602 поменять
-
Шо, тема рухнула?
-
Надо выходить на рынок СШП
-
Шо, тема рухнула?
чего?
надо довести проект до конца
уже чисто из принципа 8)
-
да нормально выходит. дешевле можно только если индикатор на 1602 поменять
ну кроме индикатора надо еще какие то кнопки
и все это как-то на морде закрепить
я думаю что замена индикатора на какой-то другой сэкономит максимум доллар
ну разве что на вот такой
https://bit.ly/2OXMFpY (https://bit.ly/2OXMFpY)
тогда сэкономится 3,5 долл
но не понятно куда лепить две доп кнопки управления
-
да нормальная цена получается
-
да нормальная цена получается
так это ж себестоимость, а не цена
-
ну себестоимость. за 5$ это если у китайцев все тиражом в 100000 заказать будет
-
ну себестоимость. за 5$ это если у китайцев все тиражом в 100000 заказать будет
вот только как это до нашего храма донести?
-
до какого храма? боюсь потребности всего радиолюбительского мира не превышают 10000 таких девайсов =)
хотя если в каждом храме да по радио поставить...
-
до какого храма? ...
хама
-
так у нас старые хамы и сами с усами и седой бородой, а молодые не хамы, а пользователи портативок. ни одним ни вторым твои изделия не интересны.
-
до какого храма? ...
хама
О, Быбра с нового телефона чатится
-
Глядишь, ещё и Вайбер поставит :)
-
...прокачал скил в разработке корпусов из композита
короче, одни плюсы
А можна зробити темку-майстерклас по оцим корпусам з композита? Цікавить технологія. Я корпуси останнім часом готові купую - накладнувато.. Ну або з підручних матеріалів роблю - кривенькі.
-
из композита не дешевле
из композита технологичнее и красивее
-
Главное, можно выпилить под нужные размеры.
-
Главное, можно выпилить под нужные размеры.
чтобы выпилить, сначала нужно нарисовать в кривых, да так, чтобы все потом сошлось
ну а с этим, по опыту, у хамов огромный трабл
-
Да у них со всем трабл. Но ты ещё не видел как профессионалы делают...
-
Да у них со всем трабл. Но ты ещё не видел как профессионалы делают...
покаж!
-
...платы уже шипанули
приехали платы
-
вторая сторона
-
красота!
-
http://www.youtube.com/watch?feature=player_embedded&v=PJGE0UGpJDw
вот почти допилили бенд декодер на Ардуино ...
наконец то многострадальный прототип бенддекодера обрел покой в корпусе
(http://www.cqham.ru/forum/attachment.php?attachmentid=296589&d=1537133772)
(http://www.cqham.ru/forum/attachment.php?attachmentid=296590&d=1537133783)
6 лет прожил собранный на соплях на куске пластика
-
приехали платы
спаял
работает
-
вид сзади
-
Красиво
-
спаял
работает
Красота!
-
сделал пробный вариант передней панели
подошло все идеально
материал - прозрачный акрил 2 мм
изнутри УФ печать черным цветом, а потом белым
теперь жду длинные кнопки из Китая
-
Осталось к нему сделать столько антенн =)
-
Не прошло и 120 дней как изделие готово =)
-
еще один бенддекодер для ICOM https://forums.qrz.com/index.php?threads/icom-arduino-band-voltage-decoder.702126/ (https://forums.qrz.com/index.php?threads/icom-arduino-band-voltage-decoder.702126/)
Modded from http://www.5b4wn.com/main/a1921.html
Using an ULN2803A Darlington array for relay driving. 2 spare Darlington pairs will key amp (160M & 30M)
Here's the sketch.
Ed
//icom band decoder
//Marios Nicolaou 5B4WN (c) 2009 7 24
//Use the code at your OWN risk
//GPL licence
//Modified by Ed Grafton WA4SIX
//Mod is to directly select pin, instead of BCD
int icomBandPin = 5; // select the input pin for the potentiometer
//int realVoltage = 8; // variable to store the value coming from the sensor Volts
int sensedVoltage=0;
int H=5;
int G=6;
int F=7;
int E=8;
int D=9;
int C=10;
int B=11;
int A=12;
float calculatedVoltage=0;
int band=0;
int counter =0;
int previousValue=0;
void setup() {
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(H, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensedVoltage = analogRead(icomBandPin);
//get 5 consecutive values
// counter++;
if (counter==5) {
calculatedVoltage = float(sensedVoltage)*5/1024;
Serial.print (sensedVoltage);
Serial.print (" - ");
Serial.print (calculatedVoltage);
Serial.print (" - ");
band=getBand(calculatedVoltage);
Serial.println(band, DEC);
delay (20);
} else {
if (abs(previousValue-sensedVoltage)>10) {
//means change or spurious number
previousValue=sensedVoltage;
} else {
counter++;
previousValue=sensedVoltage;
}
}
}
int getBand(float voltage) {
int band=0;
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(H, LOW);
if (voltage>4.20 && voltage<4.68) {
band=160;
digitalWrite(A, HIGH);
} else if (voltage>3.50 && voltage<4.20) {
band=80;
digitalWrite(B, HIGH);
} else if (voltage>=2.95 && voltage<3.50) {
band=40;
digitalWrite(C, HIGH);
} else if(voltage>=2.30 && voltage<2.95) {
band=20;
digitalWrite(D, HIGH);
} else if (voltage>=1.70 && voltage<2.30) {
band=15;
digitalWrite(E, HIGH);
} else if (voltage>=1.2 && voltage<1.7) {
band=10;
digitalWrite(F, HIGH);
} else if (voltage>=0.75 && voltage<1.2) {
band=6;
digitalWrite(G, HIGH);
} else if (voltage <0.75) {
band=30;
digitalWrite(H, HIGH);
}
return band;
}
-
Here's the sketch...
Жахливо.. :o
-
Here's the sketch...
Жахливо.. :o
Чому?
-
Отличный аппарат!
не хватает светофильтра на табло для лучшей читабельности
-
Чому?
Код дуже кострубатий. Навіщо робити глобальні змінні типу int для номерів виводів? Це жере ресурси. Можна спокійно їх визначити #define A 12... Навіщо робити безкінечні плутані вкладені одне в одне if-else-if, коли є гарний і наочний механізм switch-case? Ну і структурування коду може бути кращим.. Там взагалі його немає..
-
Це жере ресурси. Можна спокійно їх визначити #define A 12...
мають дуже хочеться в ефір, нема коли займатися оптимізацією ;)
кому треба - той зробить як йому зручно.
-
switch-case? Ну і структурування коду може бути кращим.. Там взагалі його немає..
а что можно вот так писать в case:
case (voltage>=0.75 && voltage<1.2):
?
-
switch-case? Ну і структурування коду може бути кращим.. Там взагалі його немає..
а что можно вот так писать в case:
case (voltage>=0.75 && voltage<1.2):
?
Ну, теоретично, можливо й так, не перевіряв. Але зазвичай для аналогових речей є маппінг: http://arduino-diy.com/arduino-vyrazheniye-switch (http://arduino-diy.com/arduino-vyrazheniye-switch)
-
switch-case? Ну і структурування коду може бути кращим.. Там взагалі його немає..
а что можно вот так писать в case:
case (voltage>=0.75 && voltage<1.2):
?
Ну, теоретично, можливо й так, не перевіряв. Але зазвичай для аналогових речей є маппінг: http://arduino-diy.com/arduino-vyrazheniye-switch (http://arduino-diy.com/arduino-vyrazheniye-switch)
там интервалы разные
от 0,45 до 0,7В
так что может не попасть
-
switch-case? Ну і структурування коду може бути кращим.. Там взагалі його немає..
а что можно вот так писать в case:
case (voltage>=0.75 && voltage<1.2):
?
Ну, теоретично, можливо й так, не перевіряв. Але зазвичай для аналогових речей є маппінг: http://arduino-diy.com/arduino-vyrazheniye-switch (http://arduino-diy.com/arduino-vyrazheniye-switch)
там интервалы разные
от 0,45 до 0,7В
так что может не попасть
Я так розумію, там крок 0.5.. То помножити на 2 - буде крок 1.