Перейти к содержанию

Работа компаратора


BFG5000

Рекомендуемые сообщения

Имеется схема генератора пилообразного напряжения. Частоты звуковые. Управляется током, заряжающим конденсатор и сбрасывающим его до 5В при достижении нуля. Все работает, но компаратор LM311 выдает плавный фронт для заряжающего транзистора BC547C, вследствие чего фронт у выходного сигнала не настолько крут, как хотелось бы. В чем может быть дело?

2018-06-13_12-14-21.jpg.42a0e4d04e0331b67f0bc307a2da2a61.jpg

DS1Z_QuickPrint5.png.3f23d9df2f5062e2b18a832edec268fd.png

DS1Z_QuickPrint7.png.6bd7cc05458b70ef756ebf8fd9b64ec0.png

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

осмелюсь спросить - С3 для чего нужен ?

зачем U3A ?

зачем Q4 ? может компаратор включить по другому?

зачем R20 включен потенциометром ?

Изменено пользователем next sound
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

9 минут назад, next sound сказал:

осмелюсь спросить - С3 для чего нужен ?

Ради эксперимента, осциллограммы без него.

U3A - буфер, ток заряда маленький, может повлиять на линейность если грузить без него.

Q4 - для сброса сигнала заново, до 5В.

R20 - 10K

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

схема собирается по другому.

компаратору надо дать петлю гистерезиса

выход компаратора достаточно мощный что бы напрямую коммутировать конденсатор

остальное в топку

ну или продолжайте экспериментировать далее. ;)

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

1 минуту назад, next sound сказал:

выход компаратора достаточно мощный что бы напрямую коммутировать конденсатор

Тогда придется инвертировать вход.

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

А в чем проблема инвертировать? Кроме того, как правильно заметили 

1 hour ago, next sound said:

выход компаратора достаточно мощный что бы напрямую коммутировать

На выходе стоит транзистор с ОК, зачем вам еще один транзистор Q4? Но суть вопроса в другом (это я подвожу) - база Q4 подключена к выходу напрямую. Может подтянуть ее к + питания резистором? Переключаться станет быстрее?

Настоящему коту и в декабре март!

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

 

 

6 минут назад, KomSoft сказал:

Но суть вопроса в другом (это я подвожу) - база Q4 подключена к выходу напрямую. Может подтянуть ее к + питания резистором?

5b210a20813ed_.png.caeae46bf4e82df1a65bad53b64b1627.png5b210a0f80922_.png.04ea84bb24bafc0f6b4e8574f92c5160.png

Добавил резистор R16, фронт у компаратора в симуляторе появился. А включить без Q4 не знаю как. Попробовал включить так:

5b210b44d2994_.png.86739ba99ae8a7eeccde03e37176d676.png

И на выходе ничего:

5b210b66ac260_.png.c3437813fd564e21d270fc87deb2b159.png

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

4 минуты назад, BFG5000 сказал:

И на выходе ничего:

Правильно, эмиттер транзистора (1 вывод) должен быть на массу подключен, как и в первой схеме.

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

5 минут назад, BARS_ сказал:

Или R5 подключен к +5В?

Так должно быть понятнее:

5b2110113e6bb_.png.a1e4e93970ddac8447a2a4b562034e3d.png

U5B питание подключено, мультисим не отображает просто.

Изменено пользователем BFG5000
Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, BARS_ сказал:

Коллектор внутреннего транзистора должен быть притянут к + питания.

Покажи, я тебя не понял. В прошлом варианте с Q4, коллектор и был подтянут к +12В

Изменено пользователем BFG5000
Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, BFG5000 сказал:

Да, там он там подтянут

image.png.915a86dbb512c3daa9d53841e351a4ef.png

К воздуху?

Транзистор может притянуть свой коллектор только к массе, где сидит эмиттер. А вот к + питания подтяжки нет, т.е. на С4 всегда будет 0.

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

9 минут назад, BARS_ сказал:

К воздуху?

????? Ты определись про какую версию схемы говоришь. С Q4 или без него. С Q4 подтяжка есть. Ты сам даже стрелкой указал. И перебрасываешь на другую схему.

Изменено пользователем BFG5000
Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, BARS_ сказал:

там где нет Q4 и линия лежит в нуле

А зачем там подтяжка? Нарисовать можешь?

Изменено пользователем BFG5000
Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, BARS_ сказал:

Учи, как работает транзистор.

Если я поставлю подтяжку, то на выходе будет напряжение с этой подтяжки или 0 (земля). А конденсатор C4 cтанет бесполезен.

Изменено пользователем BFG5000
Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, BFG5000 сказал:

на выходе будет напряжение с этой подтяжки

Естественно. А когда транзистор откроется, будет 0. Без подтяжки 0 будет всегда.

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

2 минуты назад, BARS_ сказал:

Без подтяжки 0 будет всегда.

Мне просто нужно закорачивать C4. С Q4 это удавалось, тут же говорите, что можно и без него.

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • А как же вы квазар спаяли? Или ЛУТом не владеете? Можно даже маркером все прорисовать. А за осцил боятся не стоит, ему на вход будет приходить допустимое напряжение (указано в хар-ках осциллографа).
    • Релюхи не причём. При неисправности релюх симптомы были бы другие. И ИБП даже не клацает когда переходит в  "аварию".   Да. Аккум новый. Более того - 2 новых пробовал. И без АКБ тоже. Не влияет. Да мелкие особо не вздуваются ж. Хотя С21 под подозрением..   Спасибо. Буду иметь ввиду.
    • #include <Wire.h> #include <Oregon_TM.h> #include <BME280I2C.h> //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Скетч для устройства, передающего данные датчика BME280 в формате Oregon Scientific THGN132N //Принципиальная схема прилагается. //Для работы необходима библиотека https://github.com/finitespace/BME280/ //Устройство работает от 3-ех пальчиковых батареек, для экономии электричества заливать скетч нужно через ISP //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Также возможна передача данных в формате - THP (температура, влажность, давление, напряжение батареи) //Пример с приёмником поддерживает расшифоовку THP //////////////////////////////////////////////////////////////////////////////////////////////////////////// # define THGN_SEND 1 // Передавать ли данные в формате THGN132 # define THP_SEND 0 // Передавать ли данные в формате THP # define DEVICE_LOG 1 //Писать ли лог В Serial # define DONE_PIN 15 // вывод сигнала об окончании работы на таймер # define BME_WAIT 10 // Сколько мс ожидать датчик BME # define BATTERY_THR 3.5 // Порог напряжения для выставляения флага разряда батарейки (THGN) ///////////////////////////////////////////////////////////////////////////////////////////////// //Ниблы датчика THP //Во всех полях младшие ниблы идут вперёд!!! // 1-2 - тип (55) // 3 - канал (0-7) // 4-6 - (температура от -100С) * 10. Т.е. +25.1С = 1251 = 4E3h // 7-9 - Влажность *10 Т.е. 25.1% = 251 = 0FBh // 10-12 - (давление от 500ммртст) * 10. Т.е. 765мм = 2650 = A5Ah // 13-15 - данные с АЦП (A0) // 16-17 - CheckSUM // 18-19 - CRC8 (poly 0x07 start 0x00) ///////////////////////////////////////////////////////////////////////////////////////////////// Oregon_TM transmitter(4); BME280I2C bme; bool bme_present = false; float bme_temp(NAN), bme_hum(NAN), bme_pres(NAN); ///////////////////////////////////////////////////////////////////////////////////////////////// void setup() { digitalWrite(DONE_PIN, LOW); pinMode(DONE_PIN, OUTPUT); #ifdef DEVICE_LOG Serial.begin(115200); Serial.println("Waiting for BMEsensor..."); #endif //Обмен данными с BME////////////////////////////////// Wire.begin(); while(!bme.begin()) { if (millis() > BME_WAIT) break; } if (!bme.begin()) { #ifdef DEVICE_LOG Serial.println("No BME sensor found"); #endif bme_present = false; } else { switch(bme.chipModel()) { case BME280::ChipModel_BME280: bme_present = true; bme.read(bme_pres, bme_temp, bme_hum); #ifdef DEVICE_LOG Serial.println("Found BME280 sensor! Success."); Serial.print("Temperature = "); Serial.print(bme_temp, 1); Serial.println("C"); Serial.print("Humidity = "); Serial.print(bme_hum, 1); Serial.println("%"); Serial.print("Pressure = "); Serial.print(bme_pres * 0.75, 1); Serial.println("mmHg"); #endif break; default: #ifdef DEVICE_LOG Serial.println("Found UNKNOWN sensor! Error!"); #endif bme_present = false; } } //Напряжения батареи/////////////////////////////////////////// word battvotage = (word)(((float)(1.1 * 16368) / Vbg()) * 100); #ifdef DEVICE_LOG Serial.print("Battery voltage = "); Serial.println(battvotage,HEX); #endif //Подготовка и отправка данных THGN////////////////////////////////////// transmitter.protocol == 2; if (THGN_SEND) { transmitter.setType(THGN132); transmitter.setChannel(3); transmitter.setBatteryFlag(battvotage < BATTERY_THR); if (bme_present) { if (bme_hum > 98) bme_hum = 98; if (bme_hum < 2) bme_hum = 2; if (bme_temp > 70) bme_temp = 70; if (bme_temp < -50) bme_temp = -50; transmitter.setTemperature(bme_temp); transmitter.setHumidity(bme_hum); transmitter.setComfort(bme_temp, bme_hum); } else { transmitter.setTemperature(-49.9); transmitter.setHumidity(2); transmitter.setComfort(-49.9, 2); } transmitter.SendPacket(); } // Если отправляются оба формата пакетов, межу ними надо выдержать паузу if (THP_SEND && THGN_SEND) delay(100); //Подготовка и отправка данных THP////////////////////////////////////// if (THP_SEND) { transmitter.setType(THP); transmitter.setChannelTHP(1); transmitter.setBatteryTHP( battvotage); if (bme_present) { transmitter.setTemperatureTHP(bme_temp); transmitter.setHumidityTHP(bme_hum); transmitter.setPressureTHP(bme_pres * 0.75); // перевод Pa в mmHg } else { transmitter.setErrorTHP(); } transmitter.SendPacket(); } #ifdef DEVICE_LOG Serial.println(); Serial.print(millis()); Serial.println("ms"); Serial.println(); #endif //Команда на отключение питания digitalWrite(DONE_PIN, HIGH); } ///////////////////////////////////////////////////////////////////////////////////////////////// void loop(){} ///////////////////////////////////////////////////////////////////////////////////////////////// int Vbg() { ADMUX = (1<<REFS0)|(0<<REFS1)|(1<<MUX3)|(1<<MUX2)|(1<<MUX1)|(0<<MUX0); long buffersamp=0; for (int n=0x0; n<=0xff; n++ ) { ADCSRA = 0xc7; while (bit_is_set(ADCSRA,ADSC)); buffersamp += ADC; } buffersamp >>=4; //16368 full scale 14bit ADCSRA &= ~(1 << ADEN); // отключаем АЦП return buffersamp; } Вот код программы. Пробовал по разному и от 5в запитывал и всю систему от 3,3 в. Причем голая ардуинка с таймером работает в нормальном режиме некоторое время, но потом все равно слетает и начинает питать мк постоянно( Причем это происходит всегда через разный промежуток времени.
    • На фото может быть название , характеристики и т.д. И по этому фото я смогу выбрать такой же в инете.. самому мне не собрать..
    • А что даст фотка? Тот же щуп, только чуть крупнее и с проводами питания.
    • Для меня наверное лучше купить готовый.. цель повысить чувствительность до 1 mV.. Наверное на Авто стоит покупать , мне бы фотку какую нить..такого активного щупа..))
  • Похожий контент

×
×
  • Создать...