Мой дневник

05.04.2017

Самый простой термометр на arduino

Filed under: электроника — sae762 @ 10:25
Tags:

В ряде случаев необходимо хотя бы примерно измерять температуру, например нагрев радиатора транзисторов. Можно конечно использовать специальные модули и датчики. Но если под рукой их нет, то можно сделать датчик из любого диода или транзистора.
Теория гласит, что падение напряжения на p-n переходе составляет порядка 600mV при комнатной температуре и изменяется почти линейно с коэфициентом -2mV/C. То есть, если например при +25 600mV, то при +35 уже 580mV.

pic1

Как измерить такие величины?
У arduino есть аналоговый компаратор, который позволяет измерать входное напряжение от 0 до некоторого “эталонного” напряжения. В качестве эталона можно использовать как внешний источник, так и внутренний, номиналом 1.1 вольт. Последний вполне подходит. Задаем analogReference(INTERNAL) и получаем analogRead(A7) значение от 0 до 1023 что примерно соответствует милливольтам.
Обычно для измерения падения напряжения схема состоит из последовательно соединенных диода и резистора. Резистор подключается к 3.3V можно и к 5V, диод к GND, а с точки соединения снимается прямое напряжение на p-n переходе.
Схему можно собрать и не транзисторе, превратив его в диод, соединив коллектор и базу. Эмиттер транзистора npn подключем к земле, а коллектор с базой – к резистору.

pic2
Где-то на форуме прочитал, что можно еще упростить схему, используя внутренний подтягивающий резистор arduino. То есть подключаем эмиттер npn транзистора к земле, базу с коллектором, к примеру, к A7. Затем “подключаем внутренний резистор командой digitalWrite(A7, INPUT_PULLUP);”.

НЕ РАБОТАЕТ! Мало того что команда должна быть pinMode(A7, INPUT_PULLUP), но похоже резистор слишком велик, и падение напряжения получается нестабильным.

ВОТ ТАК НЕ РАБОТАЕТ:pic3
В качестве бонуса привожу код, получающий аналоговое значение без задержек. В регистры устанавливаем параметры для считывания, запускаем процесс, а результат опрашиваем когда нам удобно. Можно также сделать по прерыванию.

int t;

void setup() {
Serial.begin(115200);
//pinMode(A7,INPUT_PULLUP);
//first measure
ADMUX=0b11000111;//ref 1.1v, input A7
ADCSRA |= 0b01000000;//start bit
delay(300);
}

void loop() {
if ((ADCSRA & 0b01000000) == 0) { //if bit ADSC cleared
t=ADCL; //read it first, to lock adch
t|=(ADCH<<8);//read it last to unlock
}
Serial.println(t);
//start new conversion
ADCSRA |= 0b01000000;//start bit
delay(1000);
}

Обратите внимание на порядок считывания значения ADCL и ADCH

 

Advertisements

10.05.2016

tle5205 – осторожно!

Filed under: электроника — sae762 @ 17:00

Собирал схему с arduino + tle5205 и сразу же испортил последний чип. Вывод in2 пробился на землю. Возможно, нужно ставить резисторы по входам. Гугление проблемы ничего не дало, лишь одно упоминание на форуме (

https://www.infineonforums.com/threads/2040-TLE5205-breakdown

08.02.2016

Портативная зарядка АКБ

Filed under: arduino,автомобиль,электроника — sae762 @ 09:35

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

panel

Прибор подзаряжает импульсами частотой 1 кГц, следит за напряжением на выходе (сейчас стоит 15 вольт), также следит за напряжением на входе (откл при <10 вольт), в процессе подзарядки делает паузы, и следит за мощностью импульсов (силовая часть собрана по схеме flyback)

inside

с декабря проходят полевые испытания. в целом положительно: подтянул аккумуляторы (их у меня два, пришлось поочередно, вторую пару проводов – слишком запутанно получается), машину таки завел (хотя пришлось зачистить контакты и все же подключить литиевый бустер).

Доп плюс – девайс также проводит десульфатацию, хотя не всегда помогает.

Минус – flyback очень не любит переполюсовку на выходе, сгорает диод. Также не любит обрыв выхода – может сгореть mosfet, он всего на 30 вольт у меня, надо бы 60, но под рукой не было.

Для тех кто сомневается в накачке от маленького аккумулятора:

5 Ампер-часов = 300 Ампер-минут =)

25.12.2015

Brushless windings

Filed under: электроника — sae762 @ 15:40

Типы обмоток brushless моторов (для ebike например)

Такую схему долго искал…

ebike-windings

29.09.2015

Мосты h-bridge mosfet L6201 и похожие

мост miniIBT сделан на основе L6201 – интегрального контроллера с мосфетами внутри:

miniibt

datasheet: http://www.alldatasheet.com/datasheet-pdf/pdf/529767/STMICROELECTRONICS/L6201.html

диаграмма:

L6201

мосты wangxin IMS-2C и прочие, на дискретный мосфетах, имеют аналогичные входы управления, следовательно скорее всего выполнены по такой же схеме. Однако нужно проверять.

– V +               Power Input +
– GND              Power Input
– IN1               Forward PWM input, high active
– IN2               Reverse PWM input, active high
– EN                Driver Enable, high enable, low off
– CT                Current signal output,analog signal
– VT                Voltage signal output, analog signal

ims-2

Как видно из схемы, в принципе возможно управление каждым плечом по отдельности, если это нужно.

Другие мосты на дискретных мосфетах имеют входы только направления и pwm, видимо на входе есть дополнительный инвертор, разделяющий сигналы на правую и левую стороны.

Dual-Motor-Driver-Module-board-H-bridge-DC-MOSFET-IRF3205-3-36V-10A-Peak-30A

02.06.2015

Bafang BBS-02 motor pinout

Для программирования мотора BBS-02 определил следующие выходы:

GND – понятно, земля

P1/P2 – питание, контроллер включается замыканием этих контактов. это не силовые провода.

RX/TX – понятно сигналы com-порта, 1200 бод. не стал заморачиваться, если нет сигнала нужно просто поменять местами RX и TX )

 bafang-pins

Для себя показалось удобно вывести тонкие провода (только RX, TX и GND) и соединить разъем с дисплеем. Теперь можно всегда подключить ком-порт, а кнопкой дисплея можно включать контроллер. При работе с контроллером через ком-порт дисплей выдает ошибку, а софт нормально работает.

09.02.2015

Измерение емкости и индуктивности на arduino

Filed under: схемы,электроника — sae762 @ 11:44

Изучил тему в интернете, нашел следующие проекты:

– измеритель емкости в arduino tutorial: http://arduino.cc/en/Tutorial/CapacitanceMeter
– ультра-простой измеритель емкости: http://wordpress.codewrite.co.uk/pic/2014/01/21/cap-meter-with-arduino-uno/
– измеритель LC на компараторе: http://reibot.org/2011/07/19/measuring-inductance/, http://www.engineersgarage.com/contribution/inductance-meter-using-arduino
– модификация программы: http://codinglab.blogspot.com/2013/02/measuring-inductances-using-arduino.html

Измерить емкость действительно несложно, а вот индуктивность – в случае с LR требует солидных токов, либо очень короткое время, поэтому решил измерять LC-колебания. Решил вместо внешнего использовать внутренний компаратор ардуино. И это таки удалось! Упрощение схемы привело к тому, что требуется всего один резистор 0.5-1К. Фото измерителя:

arduino-lc

Все скетчи от проектов находятся тут:
https://github.com/sae/Arduino-LCQmeter

дальше работаю над развитием темы генератора…

13.05.2014

Зарядка от солнечных панелек

Недавно озадачился этой проблемой: вроде бы есть солнечная панель, 5В 200мА, но при подключении сотового телефона к такой панели сотка не заряжается, а наоборот, ускоренно разряжается. Аналогичная проблема с зарядным устройством от USB…

Поразмыслив, пришел к выводу: сотка видит подключение внешнего источника, и подключает свои системы на полную мощность (процессор, wifi итп), в результате ток потребляется значительно больше 200мА и происходит разряд. Аналогично с умным зарядником – он сам ест порядка 150мА…

Вывод: от небольших солнечных панелек нужно заряжать _аккумулятор_, по возможности подключив его напрямую. Практика показала что в этом случае заряд идет хорошо. Литиевый аккумулятор в свою очередь имеет схему защиты, которая не даст ему зарядиться более 4.2В. 

Далее, от этих аккумуляторов нужно заряжать _выключенную_ сотку, тогда процесс пойдет. Возможно также заряжать аккумулятор от сотки отдельно, если есть подходящий разъем.

17.01.2014

Прибор лечебный Ультратон

Filed under: медицина,схемы — sae762 @ 14:47

Вчера посмотрел в работе сей чудный девайс. В качестве рабочего тела – старый газоразрядный индикатор ИН-12. Ионизирует воздух очень сильно. Можно прикладывать к воспалениям кожным и внутренним, можно вдыхать озон при ОРЗ, можно просто озонировать воздух. Полезный девайс.

Сегодня вспомнил, погуглил. Нашел неплохую статейку: http://www.qrz.ru/schemes/contribute/constr/ultraton.shtml

На случай если страница пропадет, скопипастил пару схем и немного текста.

  • оригинал схемы взят из: М.Шустов “Аппараты для ультратоновой терапии” Минск,”Радиолюбитель” №7, 1998г.
  • МТХ-90 тоже пойдет, пойдет и неонка, все электроды вместе.
  • трансформатор строчный от ТВ ТВС-90ПЦ10,  автор ставит ТВС-110ПЦ15
  • автор рекомендует вместо коронного разряда – жесткий искровой, но со скважностью 5 и частотой 10Гц (вторая схема)

Image – классика

Image – искровой со скважностью 5

не болейте )

ЗЫ В качестве дополнения прочитал на http://biorezonans.3bb.ru/viewtopic.php?id=260, что даже простое свечение тиратрона (MTX-90 как обычно) дает лечебный эффект при солнечных ожогах, кожных болезнях и гайморите. Простая схема оттуда (модуляция НЧ на 555, спорный эффект, простого свечения часто достаточно):

7045-2

 

———-

22.11.2013

Ebike controller kt36zws-yysh2

Filed under: схемы,электроника — sae762 @ 11:05

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

1. Light/horn – выдают полное напряжение батареи, то есть около 40 вольт

2. Регулятор максимальной скорости – три белых проводка и разъем. Пока разомкнуто – скорость максимальна, Если замкнуть, то скорость определяется маленьким потенциометром. Может быть полезно если делать ебайк для ребенка и, возможно, если ехать в горку с небольшой скоростью (буду пробовать)

… если что еще нарою – допишу сюда

kt36zws-yysh2.color

kt36zws-yysh2.wiring

Next Page »