Почему контакты Arduino не выдают 0 вольт?
void setup() {
pinMode(5, OUTPUT);
}
void loop() {
analogWrite(5, 0);
// or
//digitalWrite(5, LOW);
}
Выходное напряжение составляет 0,003 В, а из-за небольшого напряжения схема потребляет 20 мкА.
Можно ли как-то получить абсолютный 0 В от контакта ШИМ Arduino?
@ElectronSurf, 👍0
Обсуждение1 ответ
Лучший ответ:
▲ 3
Он не выводит 0v, потому что это почти невозможно. 0,003 В на самом деле очень мало. Выход LOW, согласно техническому описанию, может достигать 0,8 В (при питании от 5 В) и при этом считаться действительным.
LOW не означает 0v. Это означает «ниже порога напряжения, который считается НИЗКИМ».
,
@Majenko
Смотрите также:
- Затемнение этого светодиода ~ 30 В с помощью ШИМ, что мне нужно?
- Можно ли иметь длинные проводные соединения от NodeMCU к серводвигателю или кнопке?
- как изменить выходной ШИМ на основе аналогового входа
- Контролировать ток 48 вольт и 30 ампер с помощью ШИМ-сигнала - какие компоненты необходимы для этого
- NodeMCU - Vin контакт как выход 5V?
- Установите частоту ШИМ на 25 кГц.
- Какова частота PWM-выхода на Arduino
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
Это совсем маленькое напряжение. Это не проблема кода, так как вы не можете сделать больше, чем перевести вывод в LOW (что и происходит, когда вы используете
analogWrite(pin,0)
. Пожалуйста, покажите нам свою схему., @chrisl@chrisl Я конвертирую ШИМ Arduino в аналоговый с RC и OA, а затем использую это напряжение в качестве опорного напряжения для другого OA ..., @ElectronSurf
Чтобы было ясно, установить такое точное напряжение может быть очень сложно (также потому, что оно находится в диапазоне шума). Я не уверен, исходит ли это даже от Arduino. С таким же успехом это может исходить от самой схемы операционного усилителя, поскольку они тоже не идеально построены. В зависимости от вашей конкретной схемы может быть лучше использовать дополнительную часть схемы для действительного отключения схемы операционного усилителя, вместо того, чтобы позволять ей усиливать шум., @chrisl
@chrisl 0,003 В от Arduino, в этом я уверен (проверено). он просто будет считать от 0 В до 0,5 В, а затем останется на уровне 0,5 В. не могли бы вы предоставить ссылку или что-нибудь, связанное с упомянутой вами «дополнительной схемой»?, @ElectronSurf
Где взять что-нибудь подсчитано? Я не вижу ничего подобного в вашем коде. О дополнительной схеме: это была просто мысль об отключении мощности операционных усилителей (возможно, через полевой МОП-транзистор) или понижении выходного сигнала ОУ через токоограничивающий резистор (также с помощью МОП-транзистора). Просто мысль, а не полноценная схема, на которую я мог бы дать ссылку, @chrisl
@chrisl я не добавлял этот подсчет в код, потому что он не имел отношения к вопросу. использование mosfet/транзистора - хорошая идея, я попробую это. Спасибо., @ElectronSurf
Вы, вероятно, не получите ниже 3 мВ даже с транзистором (это то, что уже делает Arduino). Вам действительно нужно получить ниже этого крошечного напряжения, я имею в виду, что оно в 4 раза меньше, чем разрешение ШИМ (идеально отфильтрованное) при работе на 3V3. Если да, то единственный шанс, который я вижу, это использование внешней схемы., @Sim Son
Внутри Arduino включается полевой транзистор, замыкающий выходной контакт на внутреннюю землю микросхемы. Если земля вашей внешней цепи не имеет того же потенциала, что и земля внутри микросхемы, ваша внешняя цепь будет иметь некоторое напряжение. Теперь… как два основания могут иметь разные потенциалы? Возможно, по проводу, соединяющему два заземления, проходит некоторый ток! Убедитесь, что в проводе, соединяющем заземление, нет тока., @user69795
@Sim Son Я предложил использовать MOSFET после усиления, потому что проблема заключается в том, что операционный усилитель усиливает 3 мВ до нежелательного большего сигнала. Подтягивания выхода усиления к низкому напряжению может быть достаточно, так что само усиление в этот момент не имеет значения., @chrisl
@newbie, как вы на самом деле проверили, что эти 3 мВ исходят от ардуино? Были ли удалены какие-либо внешние схемы при этом? В противном случае я бы заподозрил, что эти 3 мВ являются входным напряжением смещения операционного усилителя., @Sim Son
@SimSon Я отключил все от Arduino, а затем измерил напряжение на контакте 5., @ElectronSurf
https://majenko.co.uk/blog/what-exactly-gpio-pin, @Majenko