1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 8

Arduino Mega. Контроллер теплицы. Хроники - 2

Тема в разделе "Теплицы и парники", создана пользователем DIYMan, 06.06.16.

Статус темы:
Закрыта.
  1. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Да, пугаться не надо:), для лута тоже много надо и что бы хороший результат был, надо попотеть;)
     
  2. Alexnesterov
    Регистрация:
    13.05.13
    Сообщения:
    5
    Благодарности:
    0

    Alexnesterov

    Участник

    Alexnesterov

    Участник

    Регистрация:
    13.05.13
    Сообщения:
    5
    Благодарности:
    0
    Адрес:
    Москва
    Спасибо за ответ!

    1. Принтер лазерный есть на работе.
    2. Пленку куплю у себя в городе.
    3. Фоторезист думал купить такой
    https://ru.aliexpress.com/item/Professional-30cm-Photosensitive-Dry-Film-Replace-Thermal-Transfer-PCB-Board-Longth-1M-Brand-New-no-wrinkle/32508901573.html

    На али подешевле чем у себя в городе
    4. Ламинатора нет. Думал попробовать без него обойтись
    5. УФ лампу. думал купить на али светодиодов УФ (у них угол должен быть уже и пучок концентрированнее ну мне так кажется) и спять. Либо энергосберегайку закажу.
    7. Паяльник у меня есть покупал тут рублей за 300-400 без регулировок температуры ват на 30-35.
    Ещё есть вот такой фен
    Bosch GHG 660
    http://bosch.vseinstrumenti.ru/instrument/feny_termopistolety/termopistolet_bosch_ghg_660_lcd_0601944302/
    У него плавная регулировка температуры и воздушного потока. Думал прикупить насадок маленьких.
    Но я не знаю паяют ли им платы только догадки.
    8. Сверлильный станочек имеется и сверла Р6 есть. Может даже из Р18 сверло подберу.
     
  3. Alexnesterov
    Регистрация:
    13.05.13
    Сообщения:
    5
    Благодарности:
    0

    Alexnesterov

    Участник

    Alexnesterov

    Участник

    Регистрация:
    13.05.13
    Сообщения:
    5
    Благодарности:
    0
    Адрес:
    Москва
    Схемы попроще только не хватает.
    У вас там аж два сдвиговых регистра 74hc595 как я понял они на 14 портов увеличат возможности Mega (жесть я вообще изначально когда темой заинтересовался на Uno делать думал).
    Может без них сделать?
    Или схему самостоятельно боюсь не потяну, упрощать непросто таки окажется в итоге. И всё же лучше сделать как у вас проверенную "плата полива3.lay6 "
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Можно и без сдвиговых, прошивка позволяет. Посмотрите принципиальную схему на гитхабе - там есть, как и что подключается, примерно. Остальное - можете прикинуть по месту, рисуя схему: номера используемых пинов настраиваются.

    Сдвиговые применены потому, что так удобнее - для контроля 8 окон не надо 16 ног меги занимать ;) А на Uno - прошивка не влезет, изначально задумывалось именно под мегу, т. к. очень много разных плюшек.
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    В этой плате есть небольшие косячки в разводке, не стоит на неё полностью опираться ;)
     
  6. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Я же написал, что там есть ошибки:).
    Фоторезист Китайский не пробовал. С OrdylAlfa отличные результаты.
    Лампы заказывал две, одна не пришла, другая приехала разбитой:)], по этому купил лампы в России 6W х 4 шт. от детектора валют, по спектру идеально подходят, со светодиодами не пробовал, наверно будут работать, главное равномерность освещения.
    Строительный фен лучше не использовать, я пользуюсь недорогой BETTER850, причем практически только для выпайки, паяю им только корпуса TQFP (и микросхемы с падом) с использованием подогревочного столика.
    Паяльник ооочень желательно с регулировкой температуры (лучше паяльную станцию).
    74hc595 можно не использовать, у Дмитрия в пошивке можно отключать.
    Про сверла писал, на стеклотекстолите очень быстро выходят из строя (стачиваются на конус и тупятся), выдавливают медь, победитовые на порядок лучше:), но работать с ними сложней, хрупкие как стекло.
    Все это немного не в тему, по этому лучше по скайпу:) (a300482)
     
  7. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Дмитрий, здравствуйте. Направьте в какую сторону копать: универсальны модуль датчиков по 1-wire с мерой общается а по NRF нехотить. NRF на модуль датчиков навесил согласно данным в прошивке CE-9 CSN-10 MOSI-11 MISO-12 SCK-13. На меге CE-A8 CSN-A9. Модуль на меге зарегистрировал.
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    С радио штука такая: эфир у всех разный. Поэтому номер канала - вам придётся подбирать ручками, при регистрации универсального модуля через конфигуратор. У меня, например, канал номер 19 оказался свободен.

    Ещё лучше - просто заставьте две nRF общаться меж собой на любом тестовом скетче, и смотрите, на каком канале это получилось. Потом этот номер канала пропишите универсальному модулю через конфигуратор, он заодно пропишется и в мегу, емнип.

    Ещё для меги есть отладочный режим nRF:

    Пробуйте, смотрите через монитор порта, что происходит. Я недавно менял размеры пакетов, мог где-то напороть, есстественно. Но проверить работу nRF пока не могу - нет платы, скоро должна приехать.

    Вы можете также в скетче универсального модуля с датчиками (UniversalSensorsModule.ino), начиная со строки 1127 и ниже - посмотреть, что закомментировано, и раскомментировать, чтобы плевалось в Serial и вы видели, что происходит на самом модуле. Из закомментированного имею в виду строки вида Serial. println, там их буквально пару ;) В любом случае - там по контексту понятно, что происходит.

    З. Ы. Да, и учтите - не будет работать nRF, если подсоединено по 1-wire, там специально проверка сделана - надо хотя бы на 30 секунд разорвать линию 1-Wire, а ещё лучше - пересбросить питание модуля, перед этим отсоединив его с линии 1-Wire.

    З. З. Ы. Вдогонку: надеюсь, директива
    в прошивке универсального модуля раскомментирована?
     
    Последнее редактирование: 17.04.17
  9. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Директивы раскомментированы. Железо на работоспособность тестовыми скетчами проверено. Канал выбрал пустой. И вот какая незадача на одном и тоже железе исполнительный модуль с Мегой общается и по 1-Wire и по радио (по 485 пока не проверял, железки где то в пути). А вот модуль датчиков только по 1-Wire. Причем инициализация NRF проходит, данные якобы отсылаются.

    Init nRF...
    STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    RX_ADDR_P0-1 = 0xf0f0f0f0e1 0xf0f0f0f0e0
    RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
    TX_ADDR = 0xf0f0f0f0e1
    RX_PW_P0-6 = 0x1e 0x1e 0x00 0x00 0x00 0x00
    EN_AA = 0x3f
    EN_RXADDR = 0x02
    RF_CH = 0x37
    RF_SETUP = 0x07
    CONFIG = 0x0e
    DYNPD/FEATURE = 0x00 0x00
    Data Rate = 1MBPS
    Model = nRF24L01+
    CRC Length = 16 bits
    PA Power = PA_MAX
    Send sensors data via nRF...
    Sensors data sent.
    Send sensors data via nRF...
    Sensors data sent.
    Send sensors data via nRF...
    Sensors data sent.
    Send sensors data via nRF...
     
  10. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    А это в меге:
    nit nRF...
    STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    RX_ADDR_P0-1 = 0xf0f0f0f0e0 0xf0f0f0f0e1
    RX_ADDR_P2-5 = 0xe2 0xe3 0xe4 0xe5
    TX_ADDR = 0xf0f0f0f0e0
    RX_PW_P0-6 = 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e
    EN_AA = 0x3f
    EN_RXADDR = 0x3e
    RF_CH = 0x37
    RF_SETUP = 0x07
    CONFIG = 0x0f
    DYNPD/FEATURE = 0x00 0x00
    Data Rate = 1MBPS
    Model = nRF24L01+
    CRC Length = 16 bits
    PA Power = PA_MAX
    READY, Tue 18.04.2017 - 16:47:18
    Controller state changed, send it...
    Controller state sent.
    Controller state changed, send it...
    Controller state sent.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Должна получать из эфира данные с модулей с датчиками, и писать при этом
    Если такой надписи нет - мега из эфира ничего не получает. По каким причинам - сходу не скажу. Попробуйте проверить на исполнительном модуле результат вызова
    Должно возвращать true. Если возвращает false, проверьте на всякий случай:
    Код:
    Serial. println (sizeof (t_scratchpad));
    
    Должно выводить 30 - это максимальный размер пакета. Сходу по коду я проблем не вижу, код отсыла данных датчиков какой был, такой и остался, когда я крайний раз тестировал (правда, давненько это было) - всё работало. Вы датчикам индексы в системе назначили, при регистрации модуля через конфигуратор?

    В общем, если не взлетит у вас - подождите пару недель, придёт плата ко мне, и я смогу проверить nRF - сейчас очень не хочется опять пауком проводов опутываться на макетке, привык к плате :|:

    З. Ы. Вижу, вы разбираетесь в коде - попробуйте для себя в коде модуля с датчиками добавить побольше отладочной информации - в какую трубу пытается писать и т. п. - так будет проще понять, что у вас происходит.
     
    Последнее редактирование: 18.04.17
  12. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Индексы при регистрации назначил. Спасибо за подсказки, буду копать дальше
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Да, давайте попробуем разобраться вместе, что там происходит ;) Самому интересно, ибо должно работать, тем более, вы говорите, что исполнительный модуль исправно слушает эфир.

    Я пока код пересмотрю на меге - возможно, там чего-то не обрабатывается.

    З. Ы. Ещё проверьте - совпадают ли каналы:

    1. На меге, файл UniversalSensors. cpp:
    Код:
    radio.setChannel(UniDispatcher.GetRFChannel());
    2. На модуле:

    Код:
    radio.setChannel(scratchpadS.rf_id);
    Должны быть одинаковы.
     
  14. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Radio. write(&scratchpadS,sizeof (scratchpadS); возращает 0
    Serial. println (sizeof (t_scratchpad); выводит 30
     
  15. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Убедился - канал в меге и в модуле один и то же. Попытаюсь поразбираться, но мне до вашего уровня как до луны:hello:. Если будут еще инструкции что где проверить, напишите, обязательно сделаю. На сегодня я уже закругляюсь, т. к. у нас третий час ночи, а завтра весь день могу сражаться с железякой.
     
Статус темы:
Закрыта.