Прошивка (скетч) ЛБП на Ардуино

Тема в разделе "Лабораторный блок питания на Arduino", создана пользователем Gupic, 3 мар 2018.

  1. Rysiksss

    Rysiksss Новый пользователь

    Всем привет! Собрал данный БП с ардуино нано, вроди все пашет, но на дисплее непонятные символы. Пробовал две прошивки из этой темы эффект тот же. Дисплей покупал этот: http://arduino.ua/prod169-LCD_16x2_s_podsvetkoi_1602. (У меня их два и на обоих одинаковые иероглифы). Обычно все на PICах собираю, а с ардуино вожусь первый раз, может что не так прошил?
     

    Вложения:

  2. Gupic

    Gupic Moderator Команда форума

    Плохой контакт от ардуины к дисплею?...
     
  3. Алексеевич

    Алексеевич Интересующийся

    Тут совсем не похоже на плохой контакт.
     
  4. Rysiksss

    Rysiksss Новый пользователь

    Контакт хороший, в этом я уверен.
     
  5. Alsi

    Alsi Новый пользователь

    Проверь подключение дисплея, вероятность 99% что тут ошибка.
     
    Gupic нравится это.
  6. Alsi

    Alsi Новый пользователь

    пины не правильно указаны
     
  7. sashokc

    sashokc Новый пользователь

  8. avramenkoal

    avramenkoal Новый пользователь

    Не нашел в русской прошивке строчки защиты "Зашита от длительного максимального шим".... Может не там качал ) ? Или кому-то не очень нужно...
     
  9. sashokc

    sashokc Новый пользователь

    Тут вернул защиту https://github.com/SaNToS/arduinolps/blob/master/arduinobprus_pre.ino
     
    avramenkoal нравится это.
  10. avramenkoal

    avramenkoal Новый пользователь

    Эта штука теперь вместо А*ч сопротивление считает :) .

    " if(disp==6) disp = 0; //дошли до конца, начинаем снова "
    здесь вместо 6 - 7 поставил тогда и R, и А*ч...в общем все вмещается.
    А идея с предустановками просто класс, для себя вместо режима "ЗАЩИТА" поставлю "ПО ТОКУ".
    А не лучше двумя кнопками входить в режим ПРЕДУСТАНОВКИ?
     
    Последнее редактирование: 10 июл 2018
  11. avramenkoal

    avramenkoal Новый пользователь

    Может кому понадобится скетч с десульфатацией, КИРИЛЛИЦА на библиотеке "LiquidCrystal_1602_RUS-master" она же в архиве.
    Работает с самыми "китаеризированными" LCD1602 без русских символов.
    Проверил, вроде работает.. С теми же багами, что и оригинал(но их не видно :))
    Английский оригинал скетча скачан с:
     

    Вложения:

    Последнее редактирование: 13 июл 2018
  12. avramenkoal

    avramenkoal Новый пользователь

    Ваш скетч для arduino, только с библиотекой "LiquidCrystal_1602_RUS-master". Спасибо большое, много интересного - предустановки,защиты(новые) и даже расчет сопротивления.
    Для тех кто его устанавливает: смена отображения параметров производится удерживанием и отпусканием кнопки S1 не менее2с,
    так же рекомендую одновременно нажать S1+S2:). Этот скетч без функции "десульфатация". Библиотека так же в "комплекте" в архиве..
     

    Вложения:

    Последнее редактирование: 13 июл 2018
    sergdvin и Вадим163 нравится это.
  13. ra6fqq

    ra6fqq Новый пользователь

    Доброго Времени суток обитателям форума!
    Переделал скетч под дисплей I2C,делюсь своими мыслями.
    Так как шина I2C использует порты A4,A5,в скетче выходы на светодиоды переназначены на A2,A3.
    Поменял состояние boolean off = false на true,теперь блок питания включается с обесточенным выходом,как мне кажется,так всё таки безопаснее.
    Добавил кэффициент делителя напряжения float Kr = 5.Где Kr=(1+R11/R12)см.схему,
    float Uout = analogRead(A1) * ((5.0 + Ucorr) / 1023.0) * Kr;
    то есть теперь не ограничиваемся 25ю вольтами на выходе.Меняя резисторы делителя можем менять выходное напряжение.(Не забывам:главное,чтоб напряжение
    на делителе не превысило 5в,иначе прощай Arduino.)
    Чтоб всё правильно работало,так же необходимо подобрать делитель R5,R6,чтоб на его выходе,при максимальном напряжении(которое Вам необходимо),
    было 5 вольт.Но опять же всё упирается в схематическое исполнение,а именно включение LM-ки и выходного каскада,
    отсюда следует:выходное напряжение ограничивается напряжением питания LM минус падение на транзисторах.
    Сейчас моделирую схему,где управляющий транзистор включён по схеме с общим коллектором,что позволяет снизить напряжение питания ОУ хоть до 8-ми вольт,
    а выходное повысить до желаемого(естественно,до разумных пределов).
    Автору огромная благодарность за проект!Скетч прикладываю.
     

    Вложения:

    • BP_RUS_I2C.ino
      Размер файла:
      28,5 КБ
      Просмотров:
      6
  14. sashokc

    sashokc Новый пользователь

    Немного доработал скетч.
    https://github.com/SaNToS/arduinolps/blob/master/arduinobprus_pre.ino

    Изменения:
    - Добавлена автоматическая смена значений на экране:
    В режиме стандарт по очереди отображаются значения РЕЖИМ => МОЩНОСТЬ НАГРУЗКИ (смена через 5 секунд).
    В режимах стаб. тока и защита Отображаются поочередно РЕЖИМ => УСТАНОВЛЕНЫЙ МАКС. ТОК => МОЩНОСТЬ НАГРУЗКИ (смена через 5 секунд.)
    - Предустановленные значения применяются сразу по нажатию энкодера (подтверждать прокруткой вправо теперь не нужно)
    - Добавлена защита от выхода из строя транзистора.

    Планируется:
    - Допилить защиты.
    - Все таки внедрить (терморезисторы?) для контроля температуры транзистора.
    - Управление охлаждением учитывая мощность нагрузки + значение полученное с терморезисторов.
    - Увеличить дисплей? для вмещения всех параметров сразу. Хотя при внедрении автоматической смены значений, для себя необходимость пропала.

    Кто хочет поучаствовать в доработке скетча пишите, выдам права на гитхабе.
     
    AHA нравится это.
  15. Oleg_D

    Oleg_D Интересующийся

    Есть пару предложений по этому поводу.
    В скетче есть защита при превышении тока:
    if (((Iout > ( counter + 0.3 ) * 2.0) | Iout>10.0 | off) & set<4 & millis()>100 ){ // условия защиты
    digitalWrite(power, 0); //вырубаем реле
    - Я бы добавил также подобным образом защиту при превышении напряжения выше установленного;
    - Понятно что терморезисторы дешевые, но не лучше ли взять нормальный датчик ds18b20 и не мучиться. Точность несоизмерима. В скетче добавить пару строчек для контроля вентилятора. Вентилятор назначить на свободный пин. А там у кого какая фантазия, хочешь через реле, хочешь через мосфет развести дорожки на самой плате. У меня на паялке работает отлично , и температуру кажет.
    - 20х4 дисплей будет в самый раз, учитывая что выводимых параметров все больше и больше, чередование не очень удобно ждать. На любителя конечно.
    - Сделать регулировку не через ШИМ , а через DAC mcp4725, (стоят копейки). Зазубрин в осциллограмме меньше будет. Код есть в наличии, уже баловался как-то со скетчем. Немного изменить печатку придется конечно.
     
    AHA нравится это.
  16. AHA

    AHA Новый пользователь

    Очень заинтересовало. Выложите схему и скетч, пжл.
     
  17. sashokc

    sashokc Новый пользователь

    Уже есть в моем скетче:
    Код:
    //Зашита от Что то пошло не так. Например сгорел транзистор.
        if (level==0 & off==false & counter<Uout & Iout>0)
        { 
          if(set<4)//если уже не сработала защита
          {
            digitalWrite(power, 0); //вырубаем реле
         level = 0; //убираем ШИМ сигнал
         digitalWrite(A4, 1);               
         Serial.print("I0;U0;r1;W0;");
         Serial.println(' ');
            set = 8;
          }  
    Согласен с терморезисторами не оправданного гемора больше!

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

    Можно навесным сделать, у многих уже готовые блоки, смысл переделывать)
     
  18. AHA

    AHA Новый пользователь

    т.е. подключить mcp4725 к arduino по scl, sda, а R3 отключить от D9? А куда подключить выход ЦАП? Через фильтр или сразу на вход ОУ?
     
  19. sashokc

    sashokc Новый пользователь

    сразу. Тем более модуля готовые, копейки стоят.
    12918-02.jpg
    Вот такой дисплей хочу. Стоит не дорого зато есть тач. Иногда необходима оперативность а пока накрутишь енкодером что тебе нужно....
     
    Последнее редактирование: 12 фев 2019
  20. ra6fqq

    ra6fqq Новый пользователь

    Хороший дисплей.По такому принципу можно тогда и ацп-ху добавить,чтоб точнее мерить.ЦАП тут в любом случае лучше будет чём ШИМ,быстрее(что скажется на быстродействии срабатывания защиты),да и качество сигнала,естественно.Тоже планирую с ЦАПом делать,но у нас не оказалось даже у местных барыг,придется ждать.
     

Поделиться этой страницей