Страница 13 из 20 ПерваяПервая ... 31112131415 ... ПоследняяПоследняя
Показано с 121 по 130 из 196

Тема: Максимально легкие модули

  1. #121
    Цитата Сообщение от PetrOs Посмотреть сообщение
    Пришлось пофиксить скетч от shalex - там была ошибка, что при повторе высылалось значение сенсора с номером Х+1 вместо Х, и соответственно сразу после сигнала вкл. шел сигнал выкл.
    Этот самый shalex все перерыл и не нашел такой ошибки
    Петр, покажите пальцем, пожалуйста?

  2. #122
    Вечером, все скетчи дома, на работе нет...
    Там в главном цикле было следующее - вначале был сделан ++ на счетчик, а потом делался повтор посылки, если таймаут.


    Не могу исключить что у меня был устаревший скетч...


    Мне подсказали возможную причину - блок у меня задан 30 см длиной, лок 20 см. И Рокрейл это не любит, ему 10 см с каждой стороны подавай Попробую вечером.

  3. #123
    Цитата Сообщение от PetrOs Посмотреть сообщение
    Вечером, все скетчи дома, на работе нет...
    Там в главном цикле было следующее - вначале был сделан ++ на счетчик, а потом делался повтор посылки, если таймаут.


    Не могу исключить что у меня был устаревший скетч...
    Сейчас так, взято из последней опубликованной версии Arduino_Nano_Loconet_BOD_PRO_v5

    Код:
    #define SEND_TRIES 4
    #define SEND_TIMEOUT 50
    #define SEND_TIMEOUT_RAND 5
    
    void sendSensor1 (int addr, boolean state)
    {
      byte tries = 0;
      LN_STATUS ret;
      do {
        tries ++;
        ret = LocoNet.reportSensor(addr, state);
        if (ret != LN_DONE) delay(SEND_TIMEOUT + random(SEND_TIMEOUT_RAND + 1));
        Serial.print("SEND addr:");
        Serial.print(addr);
        Serial.print(" state:");
        Serial.print(state);
        Serial.print("try:");
        Serial.print(tries);
        Serial.print("ret:");
        Serial.println(ret);
        
      } while(tries <= SEND_TRIES && ret != LN_DONE);
      if (ret != LN_DONE) Serial.println("send FAILED");
       
    }
    - - - - - - - - - - Добавлено - - - - - - - - - -

    Цитата Сообщение от PetrOs Посмотреть сообщение
    Мне подсказали возможную причину - блок у меня задан 30 см длиной, лок 20 см. И Рокрейл это не любит, ему 10 см с каждой стороны подавай Попробую вечером.
    Точно, ведь сам несколько месяцев назад на эти грабли наступил - внес длины блокам и составам, а потом не мог запустить лок. Для начала лучше это все не использовать, как и permissions, логику с типами поездов и т.д. Это уже потом, аккуратно добавлять, когда "основа" заработает.

  4. #124
    это не в sendSensor1 было, а в главном цикле....

  5. #125
    Цитата Сообщение от PetrOs Посмотреть сообщение
    это не в sendSensor1 было, а в главном цикле....
    Понял, спасибо. В рабочей версии v8 этот блок вообще убран за неактуальностью, т.к. появилась ф-ия sendSensor1.

  6. #126
    Ок! Еще вопрос - так как почти все модули от Литфинского очень чувствительны к качеству ДЦЦ сигнала, то оказалось магнитник не работает от ДЦЦ32.
    Вопрос - делали ли вы вариант скетча, который бы обьединил и токовые датчики, и пару серво? Или еще лучше, как лучше всего Ардуино использовать для магнитных приводов? Такой вот вариант подойдет? https://www.codeproject.com/KB/board...845211/9.1.jpg

  7. #127
    Цитата Сообщение от PetrOs Посмотреть сообщение
    Вопрос - делали ли вы вариант скетча, который бы обьединил и токовые датчики, и пару серво? Или еще лучше, как лучше всего Ардуино использовать для магнитных приводов? Такой вот вариант подойдет? https://www.codeproject.com/KB/board...845211/9.1.jpg
    Совмещенный скетч делал, но не публиковал. Это так называемый "Депо Декодер", плата от серводекодера, а прошивка читает два ИК датчика и управляет 2-мя сервами ворот.
    Просто слепил из кусков скетчей детектора занятости и серводекодера.

    Для магнитного привода пробовал MOSFET и подавал PWM. Как вариант, для управления магнитами можно использовать эл.реле http://forum.tt-hobby.ru/showthread....ll=1#post32977

  8. #128
    Спасибо!
    Думаю куплю все-же МОСФЕТ полевик сильный, а может и есть еще в загашнике такой. Оптопары у меня все низкоточные, транзисторы тоже. Реле есть, но честно говоря, не хочу с ними связываться... Надо будет попробовать, сработает ли переключение от контакта Vin Ардуино (там где-то 8.5 В).

  9. #129
    Убрал длину блоков, поставил на 0. Лок теперь сам туда сюда ездит Теперь осталось стрелки решить - магнитам 8.5 В от Ардуино Vin не хватает. Придется клепать переводы на серво, что в принципе само по себе неплохо - серводекодеры с ДЦЦ я сделал уже давно, теперь пора их обкатать.

  10. #130
    Цитата Сообщение от PetrOs Посмотреть сообщение
    Реле есть, но честно говоря, не хочу с ними связываться...
    Разделяю точку зрения, вспоминая одну из легенд про происхождение термина "debug"
    Но я писал насчет электронных реле, немеханических.

Похожие темы

  1. Лёгкие конверсии серийных моделей (отечественный ПС)
    от Игорь Сергеев в разделе конверсия | самоделки | самосборка
    Ответов: 13
    Последнее сообщение: 22.07.2016, 11:05
  2. Модули SUSI
    от PetrOs в разделе Электрика и DCC
    Ответов: 10
    Последнее сообщение: 02.05.2016, 00:54
  3. Ответов: 3
    Последнее сообщение: 22.09.2012, 18:51
  4. Как стыковать модули между собой?
    от Arseny в разделе Макеты
    Ответов: 39
    Последнее сообщение: 21.08.2012, 18:18

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •