Радиоуправляемый кораблик своими руками.
Re: Радиоуправляемый кораблик своими руками.
да одинаково всё...
пульт
///////////////////////////////////////////////////////////// инициализация nRF24L01+ :
PORTB.0=0; // SS
SPDR=0b00100001; while(!(SPSR & (1<<7))); // 0x01 EN_AA: (Enhanced ShockBurst ™) -выкл.
SPDR=0b00000000; while(!(SPSR & (1<<7))); // EN_AA = 0x00.
PORTB.0=1; // SS
PORTB.0=0; // SS
SPDR=0b00100100; while(!(SPSR & (1<<7))); // 0x04 SETUP_RETR: (Enhanced ShockBurst ™) -выкл.
SPDR=0b00000000; while(!(SPSR & (1<<7))); // SETUP_RETR = 0x00.
PORTB.0=1; // SS
Address_TX_RX(); // // Адрес nRF24L01+:
PORTB.0=0; // SS
SPDR=0b00110001; while(!(SPSR & (1<<7))); // 0x11 RX_PW_P0: размер FIFO_RX
SPDR=0b00001000; while(!(SPSR & (1<<7))); //(LSB)...(MSB) -8.
PORTB.0=1; // SS
модель
////////////////////////////////////////////////////////////////////////////// инициализация nRF24L01+ :
delay_ms(100); // Power on reset 100ms
PORTC.5=0; // SS
tx=0b00100001; SPI(); // 0x01 EN_AA: (Enhanced ShockBurst ™) - отключить.
tx=0b00000000; SPI(); // EN_AA = 0x00.
PORTC.5=1; // SS
PORTC.5=0; // SS
tx=0b00100100; SPI(); // 0x04 SETUP_RETR: (Enhanced ShockBurst ™) - отключить.
tx=0b00000000; SPI(); // SETUP_RETR = 0x00.
PORTC.5=1; // SS
//PORTC.5=0; // SS
//tx=0b00100101; SPI(); // 0x05 RF_CH: Частота
//tx=0b01111101; SPI(); // 125 // 2.525GHz. - 01111101(125) - вызывной канал
//PORTC.5=1; // SS
PORTC.5=0; // SS
tx=0b00100110; SPI(); // 0x06 RF_SETUP: Скорость, мощность.
tx=0b00100110; SPI(); // 250kbps; 0dBm.
PORTC.5=1; // SS
PORTC.5=0; // SS
tx=0b00110000; SPI(); // 0x10 TX_ADDR_P0: Адрес передатчика
tx=Address_Pult; SPI(); // адрес nRF24L01+
//tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
PORTC.5=0; // SS
tx=0b00101010; SPI(); // 0x0A RX_ADDR_P0: Адрес приёмника.
tx=Address_Pult; SPI(); // адрес nRF24L01+
//tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
PORTC.5=0; // SS
tx=0b00110001; SPI(); // 0x11 RX_PW_P0: Длина полезной нагрузки для приёмника.
tx=0b00001000; SPI(); //(LSB)...(MSB)-8
PORTC.5=1; // SS
////////////////////////////////////////////////////////////////////////////////////////////
значит что-то где-то сдохло))
пульт
///////////////////////////////////////////////////////////// инициализация nRF24L01+ :
PORTB.0=0; // SS
SPDR=0b00100001; while(!(SPSR & (1<<7))); // 0x01 EN_AA: (Enhanced ShockBurst ™) -выкл.
SPDR=0b00000000; while(!(SPSR & (1<<7))); // EN_AA = 0x00.
PORTB.0=1; // SS
PORTB.0=0; // SS
SPDR=0b00100100; while(!(SPSR & (1<<7))); // 0x04 SETUP_RETR: (Enhanced ShockBurst ™) -выкл.
SPDR=0b00000000; while(!(SPSR & (1<<7))); // SETUP_RETR = 0x00.
PORTB.0=1; // SS
Address_TX_RX(); // // Адрес nRF24L01+:
PORTB.0=0; // SS
SPDR=0b00110001; while(!(SPSR & (1<<7))); // 0x11 RX_PW_P0: размер FIFO_RX
SPDR=0b00001000; while(!(SPSR & (1<<7))); //(LSB)...(MSB) -8.
PORTB.0=1; // SS
модель
////////////////////////////////////////////////////////////////////////////// инициализация nRF24L01+ :
delay_ms(100); // Power on reset 100ms
PORTC.5=0; // SS
tx=0b00100001; SPI(); // 0x01 EN_AA: (Enhanced ShockBurst ™) - отключить.
tx=0b00000000; SPI(); // EN_AA = 0x00.
PORTC.5=1; // SS
PORTC.5=0; // SS
tx=0b00100100; SPI(); // 0x04 SETUP_RETR: (Enhanced ShockBurst ™) - отключить.
tx=0b00000000; SPI(); // SETUP_RETR = 0x00.
PORTC.5=1; // SS
//PORTC.5=0; // SS
//tx=0b00100101; SPI(); // 0x05 RF_CH: Частота
//tx=0b01111101; SPI(); // 125 // 2.525GHz. - 01111101(125) - вызывной канал
//PORTC.5=1; // SS
PORTC.5=0; // SS
tx=0b00100110; SPI(); // 0x06 RF_SETUP: Скорость, мощность.
tx=0b00100110; SPI(); // 250kbps; 0dBm.
PORTC.5=1; // SS
PORTC.5=0; // SS
tx=0b00110000; SPI(); // 0x10 TX_ADDR_P0: Адрес передатчика
tx=Address_Pult; SPI(); // адрес nRF24L01+
//tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
PORTC.5=0; // SS
tx=0b00101010; SPI(); // 0x0A RX_ADDR_P0: Адрес приёмника.
tx=Address_Pult; SPI(); // адрес nRF24L01+
//tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
PORTC.5=0; // SS
tx=0b00110001; SPI(); // 0x11 RX_PW_P0: Длина полезной нагрузки для приёмника.
tx=0b00001000; SPI(); //(LSB)...(MSB)-8
PORTC.5=1; // SS
////////////////////////////////////////////////////////////////////////////////////////////
значит что-то где-то сдохло))
- Реклама
Re: Радиоуправляемый кораблик своими руками.
Я тоже так думал, но пока без понятия что именно
Re: Радиоуправляемый кораблик своими руками.
какая та старая прошивка... откуда она взялась вообще))
поменяй адрес переменный Address_TX_RX(); // // Адрес nRF24L01+:
PORTB.0=0; // SS
SPDR=0b00110000; while(!(SPSR & (1<<7))); // 0x10 TX_ADDR_P0: Адрес передатчика
SPDR=Address_Pult; while(!(SPSR & (1<<7))); // адрес пульт начальное 1.
//SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x........C7
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x......C7..
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x....C7....
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x..C7......
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0xC7........
PORTB.0=1; // SS
PORTB.0=0; // SS
SPDR=0b00101010; while(!(SPSR & (1<<7))); // 0x0A RX_ADDR_P0: Адрес приёмника
SPDR=Address_Pult; while(!(SPSR & (1<<7))); // адрес пульт начальное 1.
//SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x........C7
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x......C7..
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x....C7....
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x..C7......
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0xC7........
PORTB.0=1; // SS
на постоянный адрес
PORTC.5=0; // SS
tx=0b00110000; SPI(); // 0x10 TX_ADDR_P0: Адрес передатчика
tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
PORTC.5=0; // SS
tx=0b00101010; SPI(); // 0x0A RX_ADDR_P0: Адрес приёмника.
tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
а лучше вообще оставить заводской адрес да и всё)
Добавлено after 1 minute 15 seconds:
но это не влияет на работу радиомодуля...
ну и что у нас сдохло ? ))
поменяй адрес переменный Address_TX_RX(); // // Адрес nRF24L01+:
PORTB.0=0; // SS
SPDR=0b00110000; while(!(SPSR & (1<<7))); // 0x10 TX_ADDR_P0: Адрес передатчика
SPDR=Address_Pult; while(!(SPSR & (1<<7))); // адрес пульт начальное 1.
//SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x........C7
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x......C7..
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x....C7....
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x..C7......
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0xC7........
PORTB.0=1; // SS
PORTB.0=0; // SS
SPDR=0b00101010; while(!(SPSR & (1<<7))); // 0x0A RX_ADDR_P0: Адрес приёмника
SPDR=Address_Pult; while(!(SPSR & (1<<7))); // адрес пульт начальное 1.
//SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x........C7
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x......C7..
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x....C7....
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0x..C7......
SPDR=0b11000111; while(!(SPSR & (1<<7))); // 0xC7........
PORTB.0=1; // SS
на постоянный адрес
PORTC.5=0; // SS
tx=0b00110000; SPI(); // 0x10 TX_ADDR_P0: Адрес передатчика
tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
PORTC.5=0; // SS
tx=0b00101010; SPI(); // 0x0A RX_ADDR_P0: Адрес приёмника.
tx=0b11000111; SPI(); // 0x........C7
tx=0b11000111; SPI(); // 0x......C7..
tx=0b11000111; SPI(); // 0x....C7....
tx=0b11000111; SPI(); // 0x..C7......
tx=0b11000111; SPI(); // 0xC7........
PORTC.5=1; // SS
//0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
а лучше вообще оставить заводской адрес да и всё)
Добавлено after 1 minute 15 seconds:
но это не влияет на работу радиомодуля...
ну и что у нас сдохло ? ))
Re: Радиоуправляемый кораблик своими руками.
В прошивке ничего не менял)) да и раньше работало. Проблема в том что сначала затопило модуль) не спрашивай как это произошло))) и моя ошибка что вместо того чтобы сначала поменять модуль а потом делать остальные работу по кораблю и пульту. Я сначала начал менять то бузер в пульте, то ставил датчики потопа то ещё что-то, а потом подключил уже антенну. Но сигнал нет….. даже снял все то что напаял, но толку ноль. Теперь даже мыслей нет в каком русле искать.
Добавлено after 2 minutes 33 seconds:
С антеннами вряд ли что-то , так как они сейчас на заводских коннеторах, ничего даже в них не паял. Та и ноги которые идут к антеннам проверил раз 10
Добавлено after 33 minutes 45 seconds:
Возник вопрос, а если транзистор сгорел на корабле может ли он влиять на работу самого радиомодуля?
Добавлено after 2 minutes 33 seconds:
С антеннами вряд ли что-то , так как они сейчас на заводских коннеторах, ничего даже в них не паял. Та и ноги которые идут к антеннам проверил раз 10
Добавлено after 33 minutes 45 seconds:
Возник вопрос, а если транзистор сгорел на корабле может ли он влиять на работу самого радиомодуля?
Re: Радиоуправляемый кораблик своими руками.
Address_Pult надо вообще выкинуть из программы...
будет работать только 0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
затопило модуль... ну тогда менять на другой для проверки...
С антеннами или без - не важно. На пару метров работает и без антенн.
выше есть видео как работает вообще с отключённой антенной.
если транзистор сгорел... какой транзистор ?
Добавлено after 30 minutes 50 seconds:
вообще радиомодули надо делать самодельные на транзисторах... как на первой странице.
они не ломаются))
а вообще выше была идея сделать запасной канал связи...
а то кораблик уплывёт далеко... вода попадёт... и связь будет потеряна... будет обидно...))

будет работать только 0xE7E7E7E7E7 (11100111 11100111 11100111 11100111 11100111) - По умолчанию
затопило модуль... ну тогда менять на другой для проверки...
С антеннами или без - не важно. На пару метров работает и без антенн.
выше есть видео как работает вообще с отключённой антенной.
если транзистор сгорел... какой транзистор ?
Добавлено after 30 minutes 50 seconds:
вообще радиомодули надо делать самодельные на транзисторах... как на первой странице.
они не ломаются))
а вообще выше была идея сделать запасной канал связи...
а то кораблик уплывёт далеко... вода попадёт... и связь будет потеряна... будет обидно...))
- Реклама
Re: Радиоуправляемый кораблик своими руками.
Модули абсолютно новые как на корабле так и на пульте
Re: Радиоуправляемый кораблик своими руками.
новые.. угу... только один залит водой))
выше меняли модули местами...
ещё выше есть тестовые прошивки для модулей - для проверки отдельно логики и от дельно передатчика модуля...
короче всё есть))
выше меняли модули местами...
ещё выше есть тестовые прошивки для модулей - для проверки отдельно логики и от дельно передатчика модуля...
короче всё есть))
- sashamelja
- Говорящий с текстолитом
- Сообщения: 1565
- Зарегистрирован: Пт янв 20, 2012 16:25:02
Re: Радиоуправляемый кораблик своими руками.
denk12345 то что новые не означает что рабочие)))
По хорошему их надо паровать на заведомо рабочем устройстве мастер-слейв (и не только на робо то способность а и на дальность пары) и так чтобы была адыкватная дальность и телеметрия на пульте работала (И ТОГДА ПО ПАКЕТИКАМ ПАРАМИ) потом впаиваеш на новое устройство (имено впаиваеш)...
Питание 5v..
Китайцы что поделать, все меняется появились версии с плюсами, много брака, бывает просто не паруются..
Версия 3.1 точно програмно рабочая и схематически тоже (проблема в модулях)),,,
По хорошему их надо паровать на заведомо рабочем устройстве мастер-слейв (и не только на робо то способность а и на дальность пары) и так чтобы была адыкватная дальность и телеметрия на пульте работала (И ТОГДА ПО ПАКЕТИКАМ ПАРАМИ) потом впаиваеш на новое устройство (имено впаиваеш)...
Питание 5v..
Китайцы что поделать, все меняется появились версии с плюсами, много брака, бывает просто не паруются..
Версия 3.1 точно програмно рабочая и схематически тоже (проблема в модулях)),,,
И опыт сын ошибок трудных и гений парадоксов друг
Re: Радиоуправляемый кораблик своими руками.
короче судя по отзывам модули отстой)) хотя у меня ни одного не ещё сдохло...
надо переходить на другие... например на 433 мгц. там и дальность больше...
к счастью кораблик поддерживает любые виды связи)) включая подключение к Интернет )) да ещё и с шифрованием...

Добавлено after 1 minute 8 seconds:
но это будет уже в следующей части))
надо переходить на другие... например на 433 мгц. там и дальность больше...
к счастью кораблик поддерживает любые виды связи)) включая подключение к Интернет )) да ещё и с шифрованием...
Добавлено after 1 minute 8 seconds:
но это будет уже в следующей части))
Re: Радиоуправляемый кораблик своими руками.
[uquote="roman.com",url="/forum/viewtopic.php?p=4089941#p4089941"]новые.. угу... только один залит водой))
выше меняли модули местами...
ещё выше есть тестовые прошивки для модулей - для проверки отдельно логики и от дельно передатчика модуля...
короче всё есть))[/uquote]
Новые модули не затоплены, не знаю с чего вы так решили. Ну да ладно.
Проблему решил, сначала купил модули оригинальные(которые идут без самой антенны, которая накручивается ), как оказалось) Сразу все заработало. Потом решил посмотреть что с другими, так вот на одном пришлось выпаять кондер, и все заработало.
В перспективе буду брать ещё оригинальный, который на 1км тянет, и было бы хорошо сделать сразу две антенны в корабле.
А сейчас я не смог найти функцию, где можно сделать инверсию поворота, если помогите, можете подсказать где это настроить? Или может в версии 3.1 это вообще нельзя делать?))
Добавлено after 2 minutes 18 seconds:
sashamelja, roman.com, Спасибо, что давали советы)
Добавлено after 3 minutes 13 seconds:
[uquote="roman.com",url="/forum/viewtopic.php?p=4090462#p4090462"]короче судя по отзывам модули отстой)) хотя у меня ни одного не ещё сдохло...
надо переходить на другие... например на 433 мгц. там и дальность больше...
к счастью кораблик поддерживает любые виды связи)) включая подключение к Интернет )) да ещё и с шифрованием...

Добавлено after 1 minute 8 seconds:
но это будет уже в следующей части))[/uquote]
Скорее всего модули только те отстой, которые не оригинальные, которые были в моем случае.
выше меняли модули местами...
ещё выше есть тестовые прошивки для модулей - для проверки отдельно логики и от дельно передатчика модуля...
короче всё есть))[/uquote]
Новые модули не затоплены, не знаю с чего вы так решили. Ну да ладно.
Проблему решил, сначала купил модули оригинальные(которые идут без самой антенны, которая накручивается ), как оказалось) Сразу все заработало. Потом решил посмотреть что с другими, так вот на одном пришлось выпаять кондер, и все заработало.
В перспективе буду брать ещё оригинальный, который на 1км тянет, и было бы хорошо сделать сразу две антенны в корабле.
А сейчас я не смог найти функцию, где можно сделать инверсию поворота, если помогите, можете подсказать где это настроить? Или может в версии 3.1 это вообще нельзя делать?))
Добавлено after 2 minutes 18 seconds:
sashamelja, roman.com, Спасибо, что давали советы)
Добавлено after 3 minutes 13 seconds:
[uquote="roman.com",url="/forum/viewtopic.php?p=4090462#p4090462"]короче судя по отзывам модули отстой)) хотя у меня ни одного не ещё сдохло...
надо переходить на другие... например на 433 мгц. там и дальность больше...
к счастью кораблик поддерживает любые виды связи)) включая подключение к Интернет )) да ещё и с шифрованием...
Добавлено after 1 minute 8 seconds:
но это будет уже в следующей части))[/uquote]
Скорее всего модули только те отстой, которые не оригинальные, которые были в моем случае.
Re: Радиоуправляемый кораблик своими руками.
[uquote="denk12345",url="/forum/viewtopic.php?p=4093714#p4093714"]не смог найти функцию, где можно сделать инверсию поворота, если помогите, можете подсказать где это настроить.[/uquote]
Всё есть в меню. И выбор канала (1...
и инверсия любого канала (+ / -).
Всё есть в меню. И выбор канала (1...
Re: Радиоуправляемый кораблик своими руками.
Что у нас тут..))
МК закончились...
А пока надо подкрутить Java...
[uquote="Ser60",url="/forum/viewtopic.php?p=4093714#p4093714"]если создавать сокеты в потоках, то их нельзя будет назначить на один и тот-же порт. Значит, следует создать один сокет в стартовой программе вне потоков и передать его потокам, например чераз паракетр конструктора потока. Таким образом, управляющая программа содзаст сокет и потоки на приём и передачу, запустит их и потом terminate. А оба потока будут продолжать использовать созданный ей сокет. Я попробовал таким образом, у меня всё работает.[/uquote]
Можно и так... И я попробовал таким образом и у меня всё работает.))
Но есть идея лучше))
Создать один сокет в стартовой программе вне потоков и передать его через параметр в функцию этого же потока. Таким образом, управляющая программа создаст сокет и на приём и передачу и запустит его. А обе функции будут продолжать использовать созданный ей сокет в одном потоке...
Вот я попробовал... И у меня всё работает.))
При этом скорость работы Java увеличилась в ~5 раз. Больше 1000 пакетов в секунду обрабатывает Java.
И это с шифрованием ! ))
Прикольно.))

МК закончились...
А пока надо подкрутить Java...
[uquote="Ser60",url="/forum/viewtopic.php?p=4093714#p4093714"]если создавать сокеты в потоках, то их нельзя будет назначить на один и тот-же порт. Значит, следует создать один сокет в стартовой программе вне потоков и передать его потокам, например чераз паракетр конструктора потока. Таким образом, управляющая программа содзаст сокет и потоки на приём и передачу, запустит их и потом terminate. А оба потока будут продолжать использовать созданный ей сокет. Я попробовал таким образом, у меня всё работает.[/uquote]
Можно и так... И я попробовал таким образом и у меня всё работает.))
Но есть идея лучше))
Создать один сокет в стартовой программе вне потоков и передать его через параметр в функцию этого же потока. Таким образом, управляющая программа создаст сокет и на приём и передачу и запустит его. А обе функции будут продолжать использовать созданный ей сокет в одном потоке...
Вот я попробовал... И у меня всё работает.))
При этом скорость работы Java увеличилась в ~5 раз. Больше 1000 пакетов в секунду обрабатывает Java.
И это с шифрованием ! ))
Прикольно.))
- sashamelja
- Говорящий с текстолитом
- Сообщения: 1565
- Зарегистрирован: Пт янв 20, 2012 16:25:02
Re: Радиоуправляемый кораблик своими руками.
нужно попробовать когда-то https://www.youtube.com/watch?v=-VVtaB0fOcE
И опыт сын ошибок трудных и гений парадоксов друг
Re: Радиоуправляемый кораблик своими руками.
попробовать то можно... да только всё одно и то же))
выше делали уже на все частоты... 27 мгц... 433 мгц... 2400 мгц...
что мы ещё не пробовали ?))
Лучше бы рассказали подробней про Key.
Как там всё это работает... режим шифрования... генерация и обмен ключами... всё в подробностях))
Сейчас для меня этот вопрос более актуальный.

выше делали уже на все частоты... 27 мгц... 433 мгц... 2400 мгц...
что мы ещё не пробовали ?))
Лучше бы рассказали подробней про Key.
Как там всё это работает... режим шифрования... генерация и обмен ключами... всё в подробностях))
Сейчас для меня этот вопрос более актуальный.
Re: Радиоуправляемый кораблик своими руками.
А как там наш умный дом поживает ? )) Интересно... всё работает ? Эксперименты продолжаются ? ))

Re: Радиоуправляемый кораблик своими руками.
Что у нас тут))
Для самодельного Ethernet закончились МК...
Для кораблика новых идей пока н поступало...
Поэтому займёмся пока Умным домом...))

Добавлено after 34 minutes 49 seconds:
Далее надо придумать схему и протокол умного дома.
Думаю всё будет работать по проводам... Значит надо придумать как связать много МК по проводам.
В кораблики для связи всех МК мы использовали UART. Для умного дома надо придумать свой протокол...

Для самодельного Ethernet закончились МК...
Для кораблика новых идей пока н поступало...
Поэтому займёмся пока Умным домом...))
Добавлено after 34 minutes 49 seconds:
Далее надо придумать схему и протокол умного дома.
Думаю всё будет работать по проводам... Значит надо придумать как связать много МК по проводам.
В кораблики для связи всех МК мы использовали UART. Для умного дома надо придумать свой протокол...
- Niobium
- Говорящий с текстолитом
- Сообщения: 1521
- Зарегистрирован: Сб апр 17, 2021 12:24:15
- Откуда: Украина
Re: Радиоуправляемый кораблик своими руками.
Как насчёт полностью аналогового кораблика?)))))Для кораблика новых идей пока н поступало...
Re: Радиоуправляемый кораблик своими руками.
полностью аналоговый кораблик уже пытались делать...
https://cxem.net/uprav/uprav3.php
но быстро от этой идеи отказались... ввиду бесперспективности этой идеи))

Добавлено after 8 minutes 19 seconds:
Далее...
Топология сеть для умного дома может быть разной.
-"общая шина" - "кольцо" - "звезда" - ещё варианты... и т.д.
Надо выбрать одну.

Добавлено after 5 minutes 15 seconds:
"общая шина" - один провод на все устройства в доме. Прикольно))
но есть проблема - коллизии..
"кольцо" - один провод на все устройства в доме. Прикольно))
но есть проблема - при обрыве провода упадёт вся сеть...
"звезда" - много проводов на все устройства в доме. Не прикольно.
и ещё проблема - надо много деталей...

Добавлено after 8 minutes 52 seconds:
Далее... Берём любые МК типа AVR.
Протокол.
Возьмём самый простой протокол - с частотным кодированием. Принцип работы простой:
TX - используем задержки или любой таймер. Переводим биты в импульсы разной частоты.
RX - используем прерывания INT0 по изменению уровня и таймер который считает время между изменениями уровня и переводит частоту импульсов обратно в биты.
Закидываем в протеус... Всё работает.))
Скорость (при RC = 8 MHz) 20 кБит/с.
Для сравнения скорость UART (при RC = 8 MHz) 56 кБит/с.
Пакетики между AVR побежали))
Добавлено after 4 minutes 2 seconds:
Далее...
Режим SLEEP.
Переводим МК в Режим выключения (Powerdown) и пробуждения по получению пакета. AVR переходит в активный режим (ток потребления 4...6 mA) только на время приёма и отправки пакета.
Всё остальное время AVR спит (ток потребления 0,1...0,5 мкA).
У нас получился самый экономичный МК.))

Добавлено after 2 minutes 33 seconds:
Теперь надо придумать как подключить 20 штук AVR к одному AVR !!!
Добавлено after 4 minutes 39 seconds:
Подробней... Протокол устойчив к помехам на линии... Прикольно))

Добавлено after 1 hour 24 minutes 5 seconds:
Далее...
В прошлой раз мы подключали много датчиков и исполнительных устройств по витухе через два роутера. На одну витуху можно подключить два датчика или исполнительных устройства. Для питания датчиков и исполнительных устройств использовали технологию PoE. Всеми датчиками и исполнительными устройствами управляли с компьютера. Теперь задача заменить два роутера на МК типа AVR.
Вопрос как это лучше сделать ?

https://cxem.net/uprav/uprav3.php
но быстро от этой идеи отказались... ввиду бесперспективности этой идеи))
Добавлено after 8 minutes 19 seconds:
Далее...
Топология сеть для умного дома может быть разной.
-"общая шина" - "кольцо" - "звезда" - ещё варианты... и т.д.
Надо выбрать одну.
Добавлено after 5 minutes 15 seconds:
"общая шина" - один провод на все устройства в доме. Прикольно))
но есть проблема - коллизии..
"кольцо" - один провод на все устройства в доме. Прикольно))
но есть проблема - при обрыве провода упадёт вся сеть...
"звезда" - много проводов на все устройства в доме. Не прикольно.
и ещё проблема - надо много деталей...
Добавлено after 8 minutes 52 seconds:
Далее... Берём любые МК типа AVR.
Протокол.
Возьмём самый простой протокол - с частотным кодированием. Принцип работы простой:
TX - используем задержки или любой таймер. Переводим биты в импульсы разной частоты.
RX - используем прерывания INT0 по изменению уровня и таймер который считает время между изменениями уровня и переводит частоту импульсов обратно в биты.
Закидываем в протеус... Всё работает.))
Скорость (при RC = 8 MHz) 20 кБит/с.
Для сравнения скорость UART (при RC = 8 MHz) 56 кБит/с.
Пакетики между AVR побежали))
Добавлено after 4 minutes 2 seconds:
Далее...
Режим SLEEP.
Переводим МК в Режим выключения (Powerdown) и пробуждения по получению пакета. AVR переходит в активный режим (ток потребления 4...6 mA) только на время приёма и отправки пакета.
Всё остальное время AVR спит (ток потребления 0,1...0,5 мкA).
У нас получился самый экономичный МК.))
Добавлено after 2 minutes 33 seconds:
Теперь надо придумать как подключить 20 штук AVR к одному AVR !!!
Добавлено after 4 minutes 39 seconds:
Подробней... Протокол устойчив к помехам на линии... Прикольно))
Добавлено after 1 hour 24 minutes 5 seconds:
Далее...
В прошлой раз мы подключали много датчиков и исполнительных устройств по витухе через два роутера. На одну витуху можно подключить два датчика или исполнительных устройства. Для питания датчиков и исполнительных устройств использовали технологию PoE. Всеми датчиками и исполнительными устройствами управляли с компьютера. Теперь задача заменить два роутера на МК типа AVR.
Вопрос как это лучше сделать ?
- Niobium
- Говорящий с текстолитом
- Сообщения: 1521
- Зарегистрирован: Сб апр 17, 2021 12:24:15
- Откуда: Украина
Re: Радиоуправляемый кораблик своими руками.
Я конечно в этом ничего пока не понимаю, но мне всё-равно интересно. Куча микроконтроллеров, которые как-то хитро соеденены - это компьютер? Один МК - это ядро процессора. Верно?
Re: Радиоуправляемый кораблик своими руками.
Это локальная вычислительная сеть (LAN).Niobium писал(а):Куча микроконтроллеров, которые как-то хитро соединены - это компьютер?
https://ru.wikipedia.org/wiki/Локальная ... льная_сеть
И это же Интернет вещей (IoT).
https://ru.wikipedia.org/wiki/Интернет_вещей
Далее...
Какие есть варианты ?
Думаем...
1- можно соединить все МК по схеме "звезда". Но тогда придётся прокладывать слишком много проводов по дому... Не очень хорошая идея))
2- можно соединить все МК по схеме "шина".
3- можно соединить все МК по схеме "кольцо".
Что лучше ?
Добавлено after 8 minutes 27 seconds:
*
для гальванической развязки МК можно использовать трансформаторы или высоковольтные конденсаторы. при необходимости МК могут работать в режиме модема с внешней буферизацией (буфер на втором МК). при необходимости МК могут работать в режиме сквозной маршрутизации (для схемы "кольцо").
...
И т.д.
Добавлено after 4 hours 38 minutes 22 seconds:
Далее...
Соединяем кучу МК...
"звезда" - много проводов...
"шина" - один провод. Но есть коллизии... Надо писать протокол по устранению коллизий...
Для уменьшения коллизий можно сделать раздельно TX и RX. "кольцо" - один провод. Коллизий нет. Это интересно. )) Выше в бортовых системах кораблика мы уже использовали "кольцо" - соединяли несколько Ардуино последовательно по UART. Схема получилась довольно устойчивой. Можно её повторить для умного дома.
Добавлено after 21 minute 28 seconds:
Далее...
"кольцо" - при обрыве провода в любой точке вся схема перестаёт работать.
Но с другой стороны... можно же сделать выводы в МК переключаемыми... TX<>RX Тогда при обрыве в любой точке вся схема продолжит работать. Просто пакеты будет передаваться в обратном направлении... Будет не просто схема устойчивая к обрывам но и с автодиагностикой))
В этой схеме МК сами подскажут в каком месте произошел обрыв провода.
А вот и это уже интересно))
Добавлено after 41 minute 7 seconds:
P.S.
А что происходит в мире ? ))
На планете Земля самая популярная схема "звезда".
Практически весь проводной Интернет работает по схеме "звезда". На втором месте схема "кольцо".
Практически весь мобильный Интернет работает по схеме "кольцо". Схема "шина" практически уже нигде не используется. Устарело.))


