admin

Устройство Импульсного Заряда/разряда Акб На Мк Pic (Эх, Заряжу - 01)

252 сообщения в этой теме

roma_BLR    1

поясните,что это за конденсаторы и где они на схеме

14576651_m.jpg

 

если Rразр я посталю 2,2Ом тяжело это праить  прошиBке?

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00

Здравствуйте! Собрал на макетке контроллер и дисплей. Залил прошивку. Включаю-Верхняя строчка квадратики и больше ничего! перепробовал все прошивки которые есть на этом обсуждении-результат один. Все проверил, прозвонил.Брал другой контроллер, дисплей без толку. поставил DS18B20, пищалку. при включении писк есть.И на кнопки реагирует. Писком. Скажите без силовой части должно хотя-бы меню выходить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
18 часов назад, Александр Бычехвостов сказал:

Здравствуйте! Собрал на макетке контроллер и дисплей. Залил прошивку. Включаю-Верхняя строчка квадратики и больше ничего! перепробовал все прошивки которые есть на этом обсуждении-результат один. Все проверил, прозвонил.Брал другой контроллер, дисплей без толку. поставил DS18B20, пищалку. при включении писк есть.И на кнопки реагирует. Писком. Скажите без силовой части должно хотя-бы меню выходить?

Нашел! Поменял местами 12 и 13 ножки контроллера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток! Собрал данную схему, правда печать сделал свою, и  добавил отключение АКБ при пропадании сети, т.к. у меня в гаражах часто свет отключают и есть риск вместо заряженной батареи застать пустую чуть не в ноль. Всё пошло с первого раза, ничего нигде не греется и всё вроде хорошо, но есть нюанс - при отключении питания и повторном включении контроллер выводит на дисплей меню с выбором режима, а не с выбором батареи, и из-за этого не происходит автоматическое включение заряда, а это для меня важно. Народ, подскажите  -  это у меня только так или это прошивка? Грешу ещё на длину проводов от PICа до кнопок, она где то 15см, вполне возможно при подаче питания происходит наводка и PIC понимает это как нажатие кнопки SET. Проверить это пока нет возможности, проще поспрошать у людей. Прошивка 1.06 с сайта со схемой. Буду признателен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 03.02.2017 в 19:43, Киркоров Филипп Бедросович сказал:

Доброго времени суток! Собрал данную схему, правда печать сделал свою, и  добавил отключение АКБ при пропадании сети, т.к. у меня в гаражах часто свет отключают и есть риск вместо заряженной батареи застать пустую чуть не в ноль. Всё пошло с первого раза, ничего нигде не греется и всё вроде хорошо, но есть нюанс - при отключении питания и повторном включении контроллер выводит на дисплей меню с выбором режима, а не с выбором батареи, и из-за этого не происходит автоматическое включение заряда, а это для меня важно. Народ, подскажите  -  это у меня только так или это прошивка? Грешу ещё на длину проводов от PICа до кнопок, она где то 15см, вполне возможно при подаче питания происходит наводка и PIC понимает это как нажатие кнопки SET. Проверить это пока нет возможности, проще поспрошать у людей. Прошивка 1.06 с сайта со схемой. Буду признателен!

Похоже длинные провода ни при чем, исключал. Программа при "холодном" старте почему то сама переходит в меню выбора режима. У меня источник импульсный, не исключено что при пуске его свист может на это влиять, но хотелось бы удостоверится что это частный случай а не особенность ПО. Кто то сможет помочь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Bondarik    0

Здравствуйте.

Разъясните пожалуйста подробней процедуру калибровки данного устройства. Собрал, всё вроде работает но показания напряжения завышены вольта на 3 , пока только разряжать пробовал.

Какой мощности резистор 5-10 Ом нужен, когда перемычку на реле ставить, когда подключать аккумулятор.

И не могу разобрать индикацию дисплея в режимах кроме заряда (какие-то циферки показывает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Glucka    0

Здравствуйте!  Собрал и настроил авторскую схему с прошивкой 1.06. Попробовал  заряжать ак. батарею - прошли все режимы. Устройство закончило заряд. Проверил плотность - батарея не набрала емкость. Попробовал несколько циклов заряда,  результат  тот же. После зарядки обыкновенным выпрямителем аккумулятор  набрал емкость. В чем может быть дело. 

Сосед собрал тоже эту схему и жалуется на ту же проблему. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проверьте калибровку прибора.

Пробуйте установить в меню более низкую температуру. При этом увеличится напряжение окончания зарядки

а следовательно и время за которое АКБ наберет плотность.

Я проблем с недозарядом не замечал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тестировал новый АКБ.60Аh (плотность 1:28). Действительно после разряда для проверки емкости (она оказалась всего 32 Ah) до 10.5в переключил на зарядку.

Перед окончанием зарядки U-14.37в

плотность электролита 1:21

температура в МЕНЮ +25

После установки в МЕНЮ температуры -20

Перед окончанием зарядки U-16в

плотность электролита 1:27

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тест нового АКБ 60-Ah.  Ca Ca

плотность электролита  1: 31

после разряда до 10.5в

емкость  40Ah

электролит  1:10

Перед окончанием зарядки  U -15в

температура в МЕНЮ +10

электролит  1:31

Время зарядки двое суток, В режиме Z4 включаются качели, пренебрегать которыми не стоит так как они хорошо поднимают плотность.

Так что для каждой  АКБ необходимо устанавливать свое значение температуры в МЕНЮ контролируя плотность электролита в конце

зарядки. Вот как -то так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
boksen    0

Прочитал весь форум. Есть упоминания и рисунки собранных плат в lay  от postaloi. 

Не смог найти ссылку. Я собрал оригинальную схему автора, прошил прошивкой 1.06_5. Пока тестю с аккумулятором 7ач. Не определился с источником тока. Подходящего транса не нашел. Трансы с УПС = на выходе 7+7 в - маловато. Сейчас питаю с переделанного компьютерного БП . Но из-за пиковых импульсов тока, он у меня цокает раз в сек. Поделитесь - что используете в качестве источника.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зарядное тоже запитал   от переделанного компьютерного  БП.

Схема и плата от Старичок.   Все работает отлично.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
zot08    9

 Calligraff поделитесь платкой в layout, если есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
m1han    0

А возможно изменить в прошивке список емкостей АКБ на более малые, например 2,2 Ач и 7 Ач (и т.д.) с нужным зарядным током и сохранением всех функций? Сможет ли схема работать с меньшими токами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Такая возможность есть. При входе в режим калибровки вы выбираете необходимую емкость батареи от 1Ач и выше.

Программа пересчитает нужные токи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sedojkot    0

Логика и тестирование подсказывают, что в приведённых ниже фрагментах программы просится оператор И "&&", вместо ИЛИ "||" , или так задумано???

#separate
void abc(void)
{
 if(t>-80 || t<=-15) {indtokr=0;}
         if(t>-15 || t<=-5) {indtokr=1;}
         if(t>-5 || t<=5) {indtokr=2;}
         if(t>5 || t<=15) {indtokr=3;}
         if(t>15 || t<=22) {indtokr=4;}
         if(t>22 || t<=27) {indtokr=5;}
         if(t>27 || t<=35) {indtokr=6;}
         if(t>35 || t<=45) {indtokr=7;}
         if(t>45 || t<=120) {indtokr=8;}

}

...

   WHILE (TRUE)
   {
         float t=20;
         tempcomp ();
         t = ds1820_read();
         if(t>-80 || t<=-15) {indtokr=0;}
         if(t>-15 || t<=-5) {indtokr=1;}
         if(t>-5 || t<=5) {indtokr=2;}
         if(t>5 || t<=15) {indtokr=3;}
         if(t>15 || t<=22) {indtokr=4;}
         if(t>22 || t<=27) {indtokr=5;}
         if(t>27 || t<=35) {indtokr=6;}
         if(t>35 || t<=45) {indtokr=7;}
         if(t>45 || t<=120) {indtokr=8;}
         lcd_putc ('\f');

...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
m1han    0

Отличная схема. Собрал на печатке от Calligraff, точнее пришлось ее пиратить по шаблону в SL :lol:, но это даже было интересно. И еще на этой печатке перепутаны 12 и 13 вывод, так что обратите на это внимание. Диодный мост не ставил, на первое время просто питаю от ЛБП 19в.

После сборки я немного затупил на калибровке, по глупости выставлял 1ое и 2е напряжение равным напряжению на выходе, поэтому не видел ток при калибровке и получал ошибку "КЗ" при попытке заряда. Просто первое напряжение замеряйте до шунта, второе после шунта. Прошивка Charger1.06_5.hex, подстроечники в делителях ставил по 1к (то что было под рукой). Сильных неточностей пока не заметил.

Третий день гоняю дохлый АКБ на 7 Ач в восстановлении (его высушили в ИБП, я заправил), результатов нет, потому что я обнаружил рассыпавшуюся пластину в первой банке, на этом остановлюсь. На второй АКБ 2,2 Ач у меня очень хорошие надежды, потому как он высох после нескольких лет хранения в подвале, я его заправил дистилированной водой и зарядил, он держит напряжение немного пониженное (ровно 12в), ток отдает хорошо, но заряжая его через китайский В\А-метр емкость посчитало 0,7 Ач. Надежда на зарядное устройство.

Огромное спасибо автору за схему и исходники, а также тем, кто дорабатывал прошивку!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sedojkot    0

Подскажите, кто знает, время опроса ADC в прерывании - 1 мс от балды, или определено какими-то исследованиями или знаниями?

Дело в том, что компилятор предупреждает(Charger.c: Warning#216  Interrupts disabled during call to prevent re-entrancy:  (get_adc)), т.е. прерывание вызывается повторно, до выхода их него, это не очень хорошо.

Может надо увеличить время опроса до десятков или сотен мс?

Программа очень интересная, спасибо автору. Разберусь в софте, обязательно соберу в железе.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starichok    1 103

а посмотреть в даташите на МК, сколько времени длится измерение? и на это время "не беспокоить" АЦП.

в AVR, например, можно проводить измерения без применения прерывания - просто проверяя флаг "занятости". и когда флаг будет сброшен, значит измерение закончилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sedojkot    0

Ваша логика понятна, и я начал именно с этого. Измерение длится около 14 мкс, два, около 30 мкс, плюс две задержки по 5 мкс, плюс накладные на вызов,возврат long, вроде всё укладывается в 100 мкс, а ещё тело самого прерывания, сохранение регистров на входе и выходе...и компилятор матерится %)   ??? 

long get_adc( int ch )
{
    long a;
    //ADCON0.CHS = ch;
    set_adc_channel( ch );
    delay_us( 5 );
    a = read_adc( );
    return a;
}

можно конечно посмотреть генерируемый asm, но а по сути, надо ли 1мс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sedojkot    0

Я был прав. Убрал "лишнюю" красоту кода "с". Проблема исчезла. И delay, при переключении канала adc, можно увеличить в два раза до рекомендуемых 10 мкс

//adc0t=get_adc(0); 

 set_adc_channel( 0 );
 delay_us( 10 );
 adc0t = read_adc( );

//adc1t=get_adc(1);

 set_adc_channel( 1 );
 delay_us( 10 );
 adc1t = read_adc( );

Рекомендую автору поправить код прерывания в программе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starichok    1 103

какие-то нестыковки у тебя.

8 часов назад, sedojkot сказал:

Измерение длится около 14 мкс

а ты ставишь задержку 5 мкс перед чтением результата.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sedojkot    0

Проблема была в том, что чтение результата было через вызоы функции get_adc(0), которая каждый раз создавала временную 16 разряlную переменную, в неё читала результат и возвращмла этот результат в место вызова. Задержка 5мкс (а по рекомендации производителя 10 мкс "The time varies depending on the impedance of the input source. In general 10us is good for most applications.") необходима не перед чтением результата, а после переключения канала ADC,  Я просто убрал чтение результата через вызов функции и проблема исчезла.

Извините за придирчивость, но мне также непонятно зачем включено чтение из индикатора определением #define USE_LCD_RW   1 , это потери ресурсов, которые на пределе. Рекомендую заменить 1 на 0.

Изменено пользователем sedojkot

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: butterfly193
      Доброго времени суток всем, уважаемые специалисты.
    • Автор: Vlad Zubarev
      Доброго времени суток!  Кто разбирается с Atmega128,  ассемблером и кому не жалко времени,  пожалуйста помогите. 
      Как можно корректировать скорость падения маятника (он должен постеменно набирать скорость падения и плавно замедляться к верхней точке)... Какие данные нужно менять?!  Спасибо! 
      логин маятник 2.zip

    • Автор: Veeeo
      Планирую сделать устройства для поддержания заданной темперетуры воды (равномерно по всему объему)
      Основные компоненты - ТЭН, помпа = бесколлекторный мотор (примерно как аквариумная, только расчитанная на 100 градусов), термодатчик, мозги на ESP8266.
      Плюс светодиоды.
      Схема ниже. Подскажите, пожалуйста, что упустил, какие ошибки. Больше всего смущает управление насосом. Его нужно только включать/выключать, ШИМ не нужен. Как избежать бросков тока при старте?

      Питание нисковольтной части:

      Преобразователь 12V -> 5V тоже думаю взять готовый (на LM2596):

    • Автор: _Anatol
      Доброго времени суток!
      Столкнулся, казалось бы, с мелкой проблемой, но ответ на свой вопрос так и не отыскал.
      Дорабатываю свое самодельное ЗУ по схеме ВЗВУ ОТРЕ-6П-12 6 УХЛЗ с целью автоматического ступенчатого понижения зарядного тока. За основу взял схему УЗАБ: http://radiokot.ru/circuit/power/charger/11/
      на LM358, где на его выходах транзисторы КТ315 с реле РЭС49.
      Проблема в том, что в режиме десульфатации напряжение АКБ плавает и компаратор тоже включает и выключает реле, когда нужно только включить его и зафиксировать. Реле подключает дополнительное сопротивление к резистору R28.
      В таком виде выглядит топорно, но другого варианта не подобрал.
      Как мне зафиксировать реле без его самоблокировки с помощью транзисторов? Спасибо.

    • Автор: Andreydobrui
      Всем привет! Очень нужен толковый человек по PIC контроллерам в Москве. Нужно ответить на все наши вопросы . Например к какой программе подключается, как слить прошивку, короче вопросов куча. За отдельную плату разумеется.