Доброго времени суток!я прочитал все страницы ,по сути пробник находится всё ещё в стадии разработки т.е. нет файлов для повторения? ну скажем плата,схема,прошивка?
Доброго времени суток!я прочитал все страницы ,по сути пробник находится всё ещё в стадии разработки т.е. нет файлов для повторения? ну скажем плата,схема,прошивка?
Почему в разработке? Начиная с 183 поста показана готовая конструкция. Платы как таковой нет-используется про-мини. На нее напаяны несколько проводков и резисторов (видно на фото). Скетч под ОЛЕД дисплей есть, а "схема" вернее ее подобие из 25 поста. Первый вариант (с 30 поста) вообще на голой 328 навесным монтажем с семисегментными индикаторами.
В принципе пока меня данный вариант устраивает, кроме габаритов (немного неудобно в руке). Заниматься пока некогда, хотя в планах есть задумка добавить грубое измерение емкости и ESR электролитов. Но в этот корпус наверное запихнуть не удастся.
ребят! (пишу с вирт.клавы). тема клас! пару дней пробежался... по "свободке", штудирую подобные темы... в общем, многое для себя, нетолько открыл, но, и почерпал! познАвательного! svm и Andry Smart СПС!
пы-сы (фонт ожырел :), избавиться не удается). Мне кажется, мой опыт в амбедЫнге (мк-быкодЫнг ) не лучше Вашего, и как-то тяжко арду-скотчи переваривать, проще си - там скотчя нет :). НО! БлагоДаря Вашим эксперементам... в общем (тоже) собираю мозг до кучи, для другого надеюсь, интересного проэкта. а стмка32 ну очень перспективнее. и не стесняйтесь пробовать ;), там тоже как с мегой/ардуниной, нужно только шагнуть. И примеров в сети... ну сами... Так, о чем я. ткните пинцетом пж-ста, на другие Ваши темы. Мой интерес прост (Задолбали мультиметры! "Хочу другой"! ) Не мои слова... :) А вот функционал, добавить хочеться :). во наболтал :)
на данный момент меня не устраивает точность измерения. как по мне слабовато. решил сделать внешнее опорное на TL431 (2,5v)
Внутренний источник 1.1 В достаточно стабильный, а точности можно добиться коррекцией коэффициентов в скетче. Во всяком случае, два знака после запятой при измерении напряжений у пробника и достаточно хорошего мультиметра, совпадают. Ну а по варианту исполнения - красиво, но это уже не пробник. Кнопок слишком много. Я делал пробник руководствуясь принципом - ткнул и увидел, что там есть. Конечно приходится немного закрывать глаза на точность, но это же всего-навсего пробник.
На данный момент, добавил в пробник измерение конденсаторов от 0,001 до 2000 мкф.
Коротко с чего началось. Попался корейский кассовый аппарат, а в нем шикарный БП. +-12 В 2А. 5В 5А, 3,3В 5А, 30В 0,5А и все в габаритах 100х130 мм. Грех не использовать. Присобачил к нему китайский регулируемый STEP DOWN преобразователь. Получился регулируемый выход 1,5-10 В. В качестве корпуса идеально подошел корпус от российского кассового аппарата ШТРИХ-М. У него достаточно большой семисегментный дисплей, его-то и решил использовать для индикации напряжения БП. За основу была взята слегка поджаренная 168. Ну а дальше задушила жаба. Столько выводов, а используются только 4. Чтобы не мудрить взял скетч от пробника, выкинул автоматический режим и добавил режим измерения емкостей. Разбит на 2 поддиапазона. 0,001-150 мкф (с отдельным входом) измеряет достаточно точно и второй 0,5-2000 мкф погрубее, но определить высохший электролит труда не составляет. Переключение режимов последовательно одной кнопкой U-R-c-C-F . Далее снова режим измерения напряжения регулируемого БП. Переключение коротким нажатием с звуковой индикацией 2 КГц 50 мс. Длительное нажатие-выход на БП с сигналом 4 КГц 200 мс. Скетч написан достаточно криво, много разных костылей (в основном из-за нестандартного индикатора). Но память еще есть и оптимизировать лень. Если у кого-то найдется такой индикатор, то можно применять без изменений. Все три файла должны быть в одной папке. По изменению назначения пинов D5,D6,D7 - менять нельзя. Остальные по желанию.
Основной скетч:
/* Распайка индикатора STC030801DLGY-E-LM от ККМ "ЭЛВЕС-МИКРО"
*1 Gnd Команды библиотеки
*2 +5 V begin() инициализация
*3 Ddat clear_all() очистка дисплея
*4 Clk Ton() звук 2 кГц 50 мс
*5 CHARGE зеленый светодиод Ton_4() звук 4 кГц 200 мс
*6 ACCLO красный светодиод Light_ON() включить подсветку
*7 DRes Light_OFF() выключить подсветку
*8 +5 V OUT(a,b,c,d) выести в позицию а,
*9 NC число b, запятая отделяет с разрядов
*10 NC d 4 или 2 - двоеточие */
#include "ELVES.h"
ELVES tablo(18,19,8); // DDAT,CLK,DRES согласно схемы ККМ "ЭЛВЕС-МИКРО"
byte dot,dd,ri,svet,rr,kor;
byte simv_razr[8];// массив разрядов индикатора
long adc_buff,tau_svet,t_svet,t_delay;
float u_del,u_izm;
volatile unsigned int int_tic=0;
volatile unsigned long tic;
#define Red_Led 9 // Светодиод режимов
#define Btn 10 // кнопка режимов
//******************** Большие емкости **************************************
#define resistorValue 5500.0F // Зарядный резистор для измерения емкости
//unsigned long startTime;
unsigned long elapsedTime;
float microFarads;
float nanoFarads;
//********************* малые емкости ******************************************
const byte pulsePin = 13; //Пин подачи напряжения заряда
const unsigned long resistance = 9100; //Сопротивление зарядной цепи (9.1 KOm)
volatile boolean triggered;
volatile boolean active;
volatile unsigned long startTime;
volatile unsigned long rez,duration;
// Обработчик прерывания аналогового компаратора
ISR (ANALOG_COMP_vect)
{
unsigned long now = micros ();
if (active)
{
duration = now - startTime;
triggered = true;
digitalWrite (pulsePin, LOW); // Снимаем напряжение заряда
}
}
//*****************************************************************************
void setup() {
Serial.begin(9600);
tablo.begin();
tablo.Light_ON();
tablo.Ton_4();
tablo.clear_all();
pinMode(Btn, INPUT); // кнопка режимов
digitalWrite(Btn,1); // включить подтягивающий резистор
pinMode(Red_Led, OUTPUT); // Cветодиод включения пробника
//********************* малые емкости ******************************************
pinMode(pulsePin, OUTPUT);
digitalWrite(pulsePin, LOW);
Serial.println("Started.");
// Настраиваем компаратор
ADCSRB = 0;
ACSR = _BV (ACI) //флаг прерывания. Устанавливается по событию,сбрасывается после ухода на обработчик либо программно, записью в него 1.
| _BV (ACIE) //бит разрешения прерывания от компаратора.
| _BV (ACIS0) | _BV (ACIS1);
}
//********************************************************************************
void loop()
{
Dialog(600); // Опрос состояния кнопки или просто задержка в миллисекундах
//****************************************************************************
kor=0; //К-во доп. разрядов индикатора
if (ri==0){ //Режим БП
BP_voltmeter(); //Читаем напряжение Блока питания
dot=2; //положение десятичной точки
Chow_disp(); //вывод на дисплей
tablo.OUT(7,15,dot,dd); //вывод на дисплей буквы U в начале (FucrAU 10-15)
}//*****************************************************************************
//Вольтметр
if (ri==1){voltmeter();
Chow_disp(); //вывод на дисплей
tablo.OUT(7,11,dot,dd); //вывод на дисплей буквы U в начале
}
//Омметр
if (ri==2){ommeter();
Chow_disp(); //вывод на дисплей
tablo.OUT(7,13,dot,dd); //вывод на дисплей буквы r в начале
}
// Измерение емкостей 0,001-150 Мкф
if (ri==3){ C_meter_NF();
if(rez>0){Chow_disp();}
tablo.OUT(7,12,dot,dd); //вывод на дисплей буквы c в начале
}
//Измерение емкости 0,5-500 Мкф
if (ri==4){
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
C_meter();
Chow_disp();
tablo.OUT(7,16,dot,dd); //вывод на дисплей буквы C в начале
}
//Частотомер
if (ri==5){f_meter();
Chow_disp(); //вывод на дисплей
tablo.OUT(7,10,dot,dd); //вывод на дисплей буквы F в начале
}
}
//---------------------- Конец лупа -----------------------------------------
//****************************************************************************************
// вывод на дисплей массива индикатора
void Chow_disp()
{ rez_mass(); //преобразуем число в массив символов разрядов индикатора
tablo.clear_all();
byte i=0;while(rez > 0){rez/=10;i++;} // Считаем к-во разрядов в числе
i=i+kor;// Коррекция количества выводимых разрядов, если впереди нужны нули
for (byte j=0;j<i;j++){tablo.OUT(j,(simv_razr[j]),dot,dd);}
}
//************ преобразуем число в массив символов разрядов индикатора *******************
void rez_mass(){
simv_razr[0]=(rez%10);
simv_razr[1]=(rez%100/10);
simv_razr[2]=(rez%1000/100);
simv_razr[3]=(rez%10000/1000);
simv_razr[4]=(rez%100000/10000);
simv_razr[5]=(rez%1000000/100000);
simv_razr[6]=(rez%10000000/1000000);
simv_razr[7]=(rez%100000000/10000000);
}
// --------- ПРОЦЕДУРЫ ИЗМЕРЕНИЯ --------
void voltmeter(){// *************** ВОЛЬТМЕТР *****************
analogReference(INTERNAL);// включаем внутренний ИОН 1.1 В
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, OUTPUT); // выводим на 4 пин 0
digitalWrite(4,0); // устанавливая его в 0(включаем нижний резистор делителя)
delay(2);
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A1); }
adc_buff >>=4; // 16368 полная шкала 14bit
rez= (float)adc_buff/16368.0*1135;// - реальный коэфф делителя
}
//**********************************************************************
//вольтметр контроля БП
void BP_voltmeter(){
analogReference(INTERNAL);// включаем внутренний ИОН 1.1 В
delay(2);
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A0); }
adc_buff >>=4; // 16368 полная шкала 14bit
rez= (float)adc_buff/16368.0*1135;// - реальный коэфф делителя
}
//********************************************************************************
void Dialog(long t_zad){ // Выбор режимов или просто задержка
svet=0;t_delay=millis();
Button:
if ((millis()-t_delay)>t_zad)goto WD; //Время задержки
if (digitalRead(Btn)==0 && svet==0){t_svet=millis();svet=1;goto Button;}
if (digitalRead(Btn)==0 && svet==1){t_delay=millis();goto Button;}
if (digitalRead(Btn)==1 && svet==1){tau_svet=millis()-t_svet;
if (tau_svet<400 && tau_svet>50){ri++;tablo.Ton();} //короткое нажатие выбор № режима
if (tau_svet>500){ri=0;tablo.Ton_4();} //длинное нажатие режим № 0
if (ri>=6)ri=0; //Ограничение к-ва режимов
if (ri==0)digitalWrite(Red_Led,LOW); // выключить красный светодиод
if (ri>0)digitalWrite(Red_Led,HIGH); // включить красный светодиод
svet=0;t_svet=0;goto WD;}
goto Button;
WD:
delay(2);
}
void f_meter(){//************** ЧАСТОТОМЕР ********************
pinMode(4, OUTPUT); // выводим на 4 пин 0
digitalWrite(4,0); // загрубляем вход (борьба с наводками)
//pinMode(4, INPUT); // если нужна макс. чувствительность
pinMode (5,INPUT); // вход сигнала T1 (для atmega168/328)
int_tic=0; TCNT1 = 0;
TCCR1B =(1<<CS10)|(1<<CS11)|(1<<CS12);//тактировани от входа Т1
delay(1000); // Время измерения
TCCR1B=0;
tic= ((uint32_t)int_tic<<16) | TCNT1; //сложить что натикало
rez=tic;
}
//****************************************************************************
void ommeter(){// *************** ОММЕТР *****************
rr=1;dot=1;
pinMode(2, INPUT); // 2 пин высокий импеданс
pinMode(3, INPUT); // 3 пин высокий импеданс
pinMode(4, OUTPUT); // 4 пин выход
digitalWrite(4,1); // переводим его в 1 подключаем измерительный резистор 20 kOm
analogReference(DEFAULT); // подключаем опорное 5 В
delay(2);
// измеряем полное напряжение на делителе под нагрузкой
//**************************************************************
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A1); }
adc_buff >>=4;
u_del= (float)adc_buff;
// измеряем напряжение на измеряемом резисторе
//**************************************************************
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A3); }
adc_buff >>=4;
u_izm= (float)adc_buff;
rez= float(u_izm*4600)/float(u_del-u_izm);// для 4.6 kOm
if (u_izm>4000){;//Если значение достоверно - вывод на индикацию
rez/=10;dot=1;
goto vyv;
}
//############################# 4,7 kOm ######################################
rr=2;
pinMode(4, INPUT); // 4 пин высокий импеданс
pinMode(3, OUTPUT); // 3 пин выход
digitalWrite(3,1); // переводим его в 1 подключаем измерительный резистор 4.7 kOm
analogReference(DEFAULT);// подключаем опорное 5 В
delay(2);
// измеряем полное напряжение на делителе под нагрузкой
//**************************************************************
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A2); }
adc_buff >>=4;
u_del= (float)adc_buff;
// измеряем напряжение на измеряемом резисторе
//**************************************************************
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A1); }
adc_buff >>=4;
u_izm= (float)adc_buff;
rez= float(u_izm*4750)/float(u_del-u_izm);// для 4,7 kOm
if (u_izm>4000){;
goto vyv;
}
//############################# 500 Om ######################################
rr=3;dot=0;
analogReference(DEFAULT);// подключаем опорное 5 В
pinMode(3, INPUT); // 3 пин высокий импеданс
pinMode(2, OUTPUT); // 2 пин выход
digitalWrite(2,1); // переводим его в 1 подключаем измерительный резистор 500 Ом
delay(2);
// измеряем полное напряжение на делителе под нагрузкой
//**************************************************************
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A3); }
adc_buff >>=4;
u_del= (float)adc_buff;
// измеряем напряжение на измеряемом резисторе
//**************************************************************
// сначала при опорном 5 В
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A1); }
adc_buff >>=4;
u_izm= (float)adc_buff;
rez= float(u_izm*460)/float(u_del-u_izm);// для 460 om
//rez/=10;dot=1;
if (u_izm >4000){
goto vyv;
}
//Если точность не удовлетворяет переходим на опорное 1,1 В
// измеряем полное напряжение на делителе под нагрузкой при опорном 5 В
//**************************************************************
rr=4;dot=0;
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A3); }
adc_buff >>=4;
u_del= (float)adc_buff/16368*(float)readVcc();
// измеряем напряжение на измеряемом резисторе
analogReference(INTERNAL);// подключаем опорное 1.1 В
delay(2);
adc_buff=0;
for (int n=0; n<=255; n++ ) {
adc_buff+= analogRead(A1); }
adc_buff >>=4;
u_izm= (float)adc_buff/16368*1100;
(rez)= float(u_izm*500)/float(u_del-u_izm);
vyv:;
if (rez>100000){rez=0;dot=0;}
}
//********************* измерение напряжения питания ****************************
long readVcc() {
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
delay(2); // Wait for Vref to settle
ADCSRA |= _BV(ADSC); // Convert
while (bit_is_set(ADCSRA,ADSC));
uint8_t low = ADCL; // сначала нужно прочесть ADCL - это запирает ADCH
uint8_t high = ADCH; // разлочить оба
float result = (high<<8) | low;
//result = (1.03357 * 1023.0*1000) / result;
result =1057342.11/ result;
return result;
}
//****************** Измерение емкости 0,001-150 Мкф ****************************
// Взято из http://digitrode.ru/computing-devices/mcu_cpu/816-izmeritel-emkosti-na-arduino-svoimi-rukami.html
void C_meter_NF()
{
if (!active)
{
active = true;
triggered = false;
digitalWrite (pulsePin, HIGH); // Включаем напряжение заряда
startTime = micros ();
}
if (active && triggered)
{
active = false;
rez= (duration * 1000/ resistance);dot=3;kor=0; //Готовим результат для вывода
if (rez>150000)rez=0;// Оптимизация ирдикации
if (rez<1000)kor=1;
if (rez<100)kor=2;
if (rez<10)kor=3;
triggered = false;
delay (1000);
}}
//****************** Измерение емкости 0,5-500 Мкф ********************************************
// Взято из http://digitrode.ru/computing-devices/mcu_cpu/816-izmeritel-emkosti-na-arduino-svoimi-rukami.html
void C_meter(){
digitalWrite(5, HIGH); //Включаем заряд конденсатора
startTime = millis(); //Засекаем время
while(analogRead(A2) < 648){} //Ждем пока конденсатор не зарядится до 63,2% или 1,58 от полной зарядки
elapsedTime= millis() - startTime; //Фиксируем время заряда
if (elapsedTime<2)elapsedTime=0; // Борьба с шумами
microFarads = ((float)elapsedTime / resistorValue) * 1000;
if (microFarads > 1){
rez=microFarads*100;dot=2;kor=0; //Готовим результат для вывода
}
else{
nanoFarads = microFarads * 1000;
rez=microFarads*10;dot=1;kor=1; //Готовим результат для вывода
delay(500);}
digitalWrite(5, LOW); //Снимаем напряжение
pinMode(2, OUTPUT); //Разряжаем кондюк
digitalWrite(2, LOW); //Закорачивая его на землю
while(analogRead(A2) > 0){} // Пока не разрядится
pinMode(2, INPUT); // Отключаем разряд
}
ELVES.h
#ifndef _ELVES_h
#define _ELVES_h
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#define TAKE_CS() digitalWrite(_CS_pin, LOW)
#define RELEASE_CS() digitalWrite(_CS_pin, HIGH)
class ELVES {
private:
uint8_t _DATA_pin;
uint8_t _RW_pin;
uint8_t _CS_pin;
protected:
public:
enum Modes : uint8_t {
COMMAND_MODE = 0b1000, /*!< This is used for sending standard commands. */
WRITE_MODE = 0b1010, /*!< This instructs the ELVES to prepare for writing the internal RAM. */
};
ELVES(uint8_t DATApin, uint8_t RWpin, uint8_t CSpin) : _CS_pin(CSpin), _DATA_pin(DATApin), _RW_pin(RWpin) {};
void begin(void);
// Очистить память
void clear_all();
// зажечь в разряде (razr) цифру (dat) , запятая отделяет (dot) последних знаков,dd двоеточие
void OUT(int razr,int dat,int dot,int dd);
void Ton();
void Ton_4();
void Light_ON();
void Light_OFF();
// последовательность битов (в количестве (сnt)) отсылается по текущему адресу
void writeBits(uint8_t data, uint8_t cnt);
// посылает ID команды (CS не контролируется
void sendCommand(uint8_t cmd);
//по адресу (address)запись байта (data)
void write(uint8_t address, uint8_t data);
//по адресу (address)запись байта (data) по (cnt) последовательным адресам.
void write_c(uint8_t address, uint8_t data, uint8_t cnt);
//с адреса (address)запись (cnt) байтов (data)
void write(uint8_t address, uint8_t *data, uint8_t cnt);
};
#endif
Второй вариант позволяет измерять
емкости от 1 нФ, но требует схемных изменений (установки делителя для подачи опорного напряжения на компаратор),
А внутренний ИОН не подходит? Типа как тут я делал.
Постоянная времени RC-цепи определяется как время, необходимое для того, чтобы напряжение на конденсаторе достигло 63,2% от его напряжения при полной зарядке. Емкость в RC-цепочке связана с постоянной времени по уравнению: Tc = R* C (произведение сопротивления на емкость). Соответственно, емкость определится как: C = Tc/R. Заряд идет нелинейно. Поэтому подавать 1,1 В несколько некорректно, грубо нужно около 3,1 В. Конечно для пробника может и сойдет. Можно попробовать, но скорее всего достоверного результата удастся получить только в узком диапазоне емкостей. Ну и еще один минус от использования опорного 1,1 В - это его независимость от напряжения питания (читаем зарядки), что даст дополнительную не контролируемую погрешность. В данном случае, больше бы подошло 3,3 В, но его на про мини нет. Сегодня удалось отделить переднюю панель от корпуса, но оказалось, что клей, которым вклеивал разъем для программирования попал еще между корпусом и дисплеем.
в пробниках HB измерения ведутся на переменном токе, приборы понравились, но цена не гуманная
Это немного из другой оперы, почти измерительный прибор. Характеристики неплохие, но и цена тоже. Однако по отзывам одного из владельцев, эти характеристики справедливы если измерять элемент зажатый между щупами. Если на плате, то результат не совсем предсказуем. Зависит от размеров платы, её и вашего расположения. Почти так-же как у китайского транзистор тестера. Но убитые электролиты в материнках и мониторах определяет без проблем. Крайний вариант пробника, примерно таких-же габаритов, параметры поскромнее: резисторы 10 ОМ-2 МОм, конденсаторы 1нФ-1000 мкФ, напряжение 0-10В, частота 0-8 МГц. Информация через блютуз на андроид. Цена (Nano +JDY-30+ несколько резисторов) чуть более 200 руб.
в пробниках HB измерения ведутся на переменном токе, приборы понравились, но цена не гуманная
Это немного из другой оперы, почти измерительный прибор. Характеристики неплохие, но и цена тоже. Однако по отзывам одного из владельцев, эти характеристики справедливы если измерять элемент зажатый между щупами. Если на плате, то результат не совсем предсказуем. Зависит от размеров платы, её и вашего расположения. Почти так-же как у китайского транзистор тестера. Но убитые электролиты в материнках и мониторах определяет без проблем. Крайний вариант пробника, примерно таких-же габаритов, параметры поскромнее: резисторы 10 ОМ-2 МОм, конденсаторы 1нФ-1000 мкФ, напряжение 0-10В, частота 0-8 МГц. Информация через блютуз на андроид. Цена (Nano +JDY-30+ несколько резисторов) чуть более 200 руб.
Крайний вариант пробника, примерно таких-же габаритов, параметры поскромнее: резисторы 10 ОМ-2 МОм, конденсаторы 1нФ-1000 мкФ, напряжение 0-10В, частота 0-8 МГц. Информация через блютуз на андроид. Цена (Nano +JDY-30+ несколько резисторов) чуть более 200 руб.
В режиме пробник виснет, это скетч от Andry Smart но он ещё не доработан. Пока ваш изучаю, добавить бы генератор шим и типо осциллограф без сетки
Сам генератор, в принципе не проблема, взять Димаксовский (в скетче для андроида он присутствует), но для ввода частоты нужны какие-то устройства ввода, а они уже не вписываются в концепцию пробника, в отличии от версии для андроида. С простеньким осциллографом, наверное тоже проблем не должно быть, но когда есть нормальный не хочется смотреть на мизерный экранчик, чтобы увидеть там что-то слегка напоминающее сигнал. Да и опять проблема с управлением.
Как я понял ваш проект готов. Работаю автоэлектриком не хватает хорошего пробника, в программирование не айс, есть только идея что должно быть в пробнике
Как я понял ваш проект готов. Работаю автоэлектриком не хватает хорошего пробника, в программирование не айс, есть только идея что должно быть в пробнике
Готовым его можно условно назвать. Ресурсов у ардуинки еще много осталось и можно еще многое что туда добавить. Я его делал для быстрого поиска неисправностей в цепях ардуино. Для автоэлектрики он не подойдет. Входные цепи не предназначены для измерения в цепях с напряжением 12 В.
Есть у нас прогромер на работе, у него нет свободного времени, собрал контрольку от сюда http://aelectrik.ru/svoimi-rukami/samaya-krutaya-kontrolka-avtoyelektri/ но функций мало. Может кого заинтересует слепить новый проект могу идей подкинуть. В сети не много проектов в основном коммерческого плана.
Вольтметр до 35 в, прозвонку с индикацией , осциллограф 5, 12,24,35в,генератор шим с выборкой частоты и скважности, включение пробника сделать не фиксированной кнопкой, пару кнопок с подтяжкой нагрузки 1ком, 50ом
Ты видать не понял моей мысли, здесь не любят комерсантов, тебе не место здесь, и в предь запомни на ты с не знакомыми людьми не переходят. Будь вежлив!!!
Я тоже работаю автоэлектриком. Свой проект я не забросил. даже пользуюсь прототипом и меняю в процессе то, что мне не понравилось или желаю улучшить.
в конце концов проект перетерпел массу изменений и сейчас жду очередные платы из Китая.
на данный момент в управлени оставил 4 кнопки. а точнее одна кнопка управляет подсветкой щупа (фонариком) вторая подключает в нагрузку маломощную лампочку остальные две переключают режимы и настройки.
режим осциллографа перекроил полностью. развертка полный автомат как по напряжению так и по частоте. (практика показала, что все таки ручное переключение развертки надо добавить)
входное сопротивление примерно 100ком (но можно реализовать и больше но я не вижу смысла
в режиме осциллографа отображает максимальное значение сигнала и частоту (подсчет частоты програмно)
измеряет напряжение и сопротивление
есть звуковая индикация и еще два светодиода красный и зеленый (индикация плюс и масса)
аккумулятора хватает на 4 дня эксплуатации зарядка через микроусб.
диапазон измерения напряжения до 37в
прозвонка и измерение сопротивления (вот тут пока добиваюсь хоть какой то более менее точности.)
автоотключение и пробуждение от кнопки чейчас пытаюсь реализовать
режим генератора не делал. смысля с него для себя не вижу.
изначально думал проект сделать открытым но уж очень много затратил и сил и финансов. катастрофически не хватате времени.
а еще это гребаный вирус в короне очень мешает. возможно и доведу до ума проект если эта зараза не помешает (я в зоне риска и возраст и болезни)
в проекте я использовал библиотеки от Alex Gyver
directADC
GyverOLED
GyverButton
благодаря этому ресурсов атмеги стало меньше жрать.
у меня в схеме R4 на 1к подключается для измерения сопротивление и точность чем ближе к 1к тем точнее. а в автомобиле важен омметр . всякие клапана форсунки от 2 до 20 ом и т.д.
но подключив низкоомный резистор без коммутации можно при измерении напряжения сжечь его.
входное сопротивление я наверное сделаю 10к не вижу необходимости в цепях автомобиля делать больше. помешать оно может лишь в цепях ламбдазондов широкополосных но там тыкать пробником смысла нет.
Доброго времени суток!я прочитал все страницы ,по сути пробник находится всё ещё в стадии разработки т.е. нет файлов для повторения? ну скажем плата,схема,прошивка?
ну тут 2 варианта пробника от автора и еще одного человека, автор я так понял больше этим не занимается, а вот второй человек пропал=)
Доброго времени суток!я прочитал все страницы ,по сути пробник находится всё ещё в стадии разработки т.е. нет файлов для повторения? ну скажем плата,схема,прошивка?
Почему в разработке? Начиная с 183 поста показана готовая конструкция. Платы как таковой нет-используется про-мини. На нее напаяны несколько проводков и резисторов (видно на фото). Скетч под ОЛЕД дисплей есть, а "схема" вернее ее подобие из 25 поста. Первый вариант (с 30 поста) вообще на голой 328 навесным монтажем с семисегментными индикаторами.
В принципе пока меня данный вариант устраивает, кроме габаритов (немного неудобно в руке). Заниматься пока некогда, хотя в планах есть задумка добавить грубое измерение емкости и ESR электролитов. Но в этот корпус наверное запихнуть не удастся.
Спасибо, разобрался!
думаю кое что полезного можно подчерпнуть отсюда:http://aelectrik.ru/svoimi-rukami/samaya-krutaya-kontrolka-avtoyelektri/
ребят! (пишу с вирт.клавы). тема клас! пару дней пробежался... по "свободке", штудирую подобные темы... в общем, многое для себя, нетолько открыл, но, и почерпал! познАвательного! svm и Andry Smart СПС!
пы-сы (фонт ожырел :), избавиться не удается). Мне кажется, мой опыт в амбедЫнге (мк-быкодЫнг ) не лучше Вашего, и как-то тяжко арду-скотчи переваривать, проще си - там скотчя нет :). НО! БлагоДаря Вашим эксперементам... в общем (тоже) собираю мозг до кучи, для другого надеюсь, интересного проэкта. а стмка32 ну очень перспективнее. и не стесняйтесь пробовать ;), там тоже как с мегой/ардуниной, нужно только шагнуть. И примеров в сети... ну сами... Так, о чем я. ткните пинцетом пж-ста, на другие Ваши темы. Мой интерес прост (Задолбали мультиметры! "Хочу другой"! ) Не мои слова... :) А вот функционал, добавить хочеться :). во наболтал :)
да не пропал я. просто работы много а времени мало
еле склепал пробный образец
неплохо смотрится=)) а че умеет?)
пока работает как осциллограф с двумя входными делителями.
0-5v и 0-20v практически функционал пультоскопа. (кроме генератора и остальных фич)
переключается на лету кнопкой
как пробник пока не доброался сделать.
на данный момент меня не устраивает точность измерения. как по мне слабовато. решил сделать внешнее опорное на TL431 (2,5v)
на данный момент меня не устраивает точность измерения. как по мне слабовато. решил сделать внешнее опорное на TL431 (2,5v)
Внутренний источник 1.1 В достаточно стабильный, а точности можно добиться коррекцией коэффициентов в скетче. Во всяком случае, два знака после запятой при измерении напряжений у пробника и достаточно хорошего мультиметра, совпадают. Ну а по варианту исполнения - красиво, но это уже не пробник. Кнопок слишком много. Я делал пробник руководствуясь принципом - ткнул и увидел, что там есть. Конечно приходится немного закрывать глаза на точность, но это же всего-навсего пробник.
На данный момент, добавил в пробник измерение конденсаторов от 0,001 до 2000 мкф.
Коротко с чего началось. Попался корейский кассовый аппарат, а в нем шикарный БП. +-12 В 2А. 5В 5А, 3,3В 5А, 30В 0,5А и все в габаритах 100х130 мм. Грех не использовать. Присобачил к нему китайский регулируемый STEP DOWN преобразователь. Получился регулируемый выход 1,5-10 В. В качестве корпуса идеально подошел корпус от российского кассового аппарата ШТРИХ-М. У него достаточно большой семисегментный дисплей, его-то и решил использовать для индикации напряжения БП. За основу была взята слегка поджаренная 168. Ну а дальше задушила жаба. Столько выводов, а используются только 4. Чтобы не мудрить взял скетч от пробника, выкинул автоматический режим и добавил режим измерения емкостей. Разбит на 2 поддиапазона. 0,001-150 мкф (с отдельным входом) измеряет достаточно точно и второй 0,5-2000 мкф погрубее, но определить высохший электролит труда не составляет. Переключение режимов последовательно одной кнопкой U-R-c-C-F . Далее снова режим измерения напряжения регулируемого БП. Переключение коротким нажатием с звуковой индикацией 2 КГц 50 мс. Длительное нажатие-выход на БП с сигналом 4 КГц 200 мс. Скетч написан достаточно криво, много разных костылей (в основном из-за нестандартного индикатора). Но память еще есть и оптимизировать лень. Если у кого-то найдется такой индикатор, то можно применять без изменений. Все три файла должны быть в одной папке. По изменению назначения пинов D5,D6,D7 - менять нельзя. Остальные по желанию.
Основной скетч:
ELVES.h
ELVES.cpp
Cхема:
Фото девайса:
а кто знает как ssd1306 переключать в спячку и возвращать обратно с библиотекой adafruit ?
на данній момент в проекте осталось только 4 кнопки.
1 подсветка фонарик
2 нагрузка (соединяет щуп с массой через лампу накаливания маленькую такую)
3 и 4 управление самим пробником. mode и set
пытаюсь убрать выключатель питания. мучаюсь с режимами энергосбережения.
еще мучаюсь с автопереключение делителя (для осциллографа) и авторазвертки.
весь этот процесс рождения новых идей мешает да и работаю 6 дней в неделю. машин много а времени мало.
вот как сделаю такого помощника то надеюсь времени будет больше.
по поводу опорного напряжения оставлю внутренний источник (а то на tl431 мешает реализации спящего режима)
Второй вариант позволяет измерять
емкости от 1 нФ, но требует схемных изменений (установки делителя для подачи опорного напряжения на компаратор),
А внутренний ИОН не подходит? Типа как тут я делал.
Второй вариант позволяет измерять
емкости от 1 нФ, но требует схемных изменений (установки делителя для подачи опорного напряжения на компаратор),
А внутренний ИОН не подходит? Типа как тут я делал.
Постоянная времени RC-цепи определяется как время, необходимое для того, чтобы напряжение на конденсаторе достигло 63,2% от его напряжения при полной зарядке. Емкость в RC-цепочке связана с постоянной времени по уравнению: Tc = R* C (произведение сопротивления на емкость). Соответственно, емкость определится как: C = Tc/R. Заряд идет нелинейно. Поэтому подавать 1,1 В несколько некорректно, грубо нужно около 3,1 В. Конечно для пробника может и сойдет. Можно попробовать, но скорее всего достоверного результата удастся получить только в узком диапазоне емкостей. Ну и еще один минус от использования опорного 1,1 В - это его независимость от напряжения питания (читаем зарядки), что даст дополнительную не контролируемую погрешность. В данном случае, больше бы подошло 3,3 В, но его на про мини нет. Сегодня удалось отделить переднюю панель от корпуса, но оказалось, что клей, которым вклеивал разъем для программирования попал еще между корпусом и дисплеем.
в пробниках HB измерения ведутся на переменном токе, приборы понравились, но цена не гуманная
в пробниках HB измерения ведутся на переменном токе, приборы понравились, но цена не гуманная
Это немного из другой оперы, почти измерительный прибор. Характеристики неплохие, но и цена тоже. Однако по отзывам одного из владельцев, эти характеристики справедливы если измерять элемент зажатый между щупами. Если на плате, то результат не совсем предсказуем. Зависит от размеров платы, её и вашего расположения. Почти так-же как у китайского транзистор тестера. Но убитые электролиты в материнках и мониторах определяет без проблем. Крайний вариант пробника, примерно таких-же габаритов, параметры поскромнее: резисторы 10 ОМ-2 МОм, конденсаторы 1нФ-1000 мкФ, напряжение 0-10В, частота 0-8 МГц. Информация через блютуз на андроид. Цена (Nano +JDY-30+ несколько резисторов) чуть более 200 руб.
http://arduino.ru/forum/obshchii/multimetr-arduinoandroid
хороший проект. Всем респект. Буду следить за продолжением
в пробниках HB измерения ведутся на переменном токе, приборы понравились, но цена не гуманная
Это немного из другой оперы, почти измерительный прибор. Характеристики неплохие, но и цена тоже. Однако по отзывам одного из владельцев, эти характеристики справедливы если измерять элемент зажатый между щупами. Если на плате, то результат не совсем предсказуем. Зависит от размеров платы, её и вашего расположения. Почти так-же как у китайского транзистор тестера. Но убитые электролиты в материнках и мониторах определяет без проблем. Крайний вариант пробника, примерно таких-же габаритов, параметры поскромнее: резисторы 10 ОМ-2 МОм, конденсаторы 1нФ-1000 мкФ, напряжение 0-10В, частота 0-8 МГц. Информация через блютуз на андроид. Цена (Nano +JDY-30+ несколько резисторов) чуть более 200 руб.
http://arduino.ru/forum/obshchii/multimetr-arduinoandroid
в режиме пробника как бы зависает , в других режимах отлично,
Крайний вариант пробника, примерно таких-же габаритов, параметры поскромнее: резисторы 10 ОМ-2 МОм, конденсаторы 1нФ-1000 мкФ, напряжение 0-10В, частота 0-8 МГц. Информация через блютуз на андроид. Цена (Nano +JDY-30+ несколько резисторов) чуть более 200 руб.
http://arduino.ru/forum/obshchii/multimetr-arduinoandroid
в режиме пробника как бы зависает , в других режимах отлично,
Поконкретнее, как зависает. В чем это выражается?
В режиме пробник виснет, это скетч от Andry Smart но он ещё не доработан. Пока ваш изучаю, добавить бы генератор шим и типо осциллограф без сетки
Сам генератор, в принципе не проблема, взять Димаксовский (в скетче для андроида он присутствует), но для ввода частоты нужны какие-то устройства ввода, а они уже не вписываются в концепцию пробника, в отличии от версии для андроида. С простеньким осциллографом, наверное тоже проблем не должно быть, но когда есть нормальный не хочется смотреть на мизерный экранчик, чтобы увидеть там что-то слегка напоминающее сигнал. Да и опять проблема с управлением.
Как я понял ваш проект готов. Работаю автоэлектриком не хватает хорошего пробника, в программирование не айс, есть только идея что должно быть в пробнике
Готовым его можно условно назвать. Ресурсов у ардуинки еще много осталось и можно еще многое что туда добавить. Я его делал для быстрого поиска неисправностей в цепях ардуино. Для автоэлектрики он не подойдет. Входные цепи не предназначены для измерения в цепях с напряжением 12 В.
Есть у нас прогромер на работе, у него нет свободного времени, собрал контрольку от сюда http://aelectrik.ru/svoimi-rukami/samaya-krutaya-kontrolka-avtoyelektri/ но функций мало. Может кого заинтересует слепить новый проект могу идей подкинуть. В сети не много проектов в основном коммерческого плана.
Подкидывай, посмотрим, что можно сделать.
Вольтметр до 35 в, прозвонку с индикацией , осциллограф 5, 12,24,35в,генератор шим с выборкой частоты и скважности, включение пробника сделать не фиксированной кнопкой, пару кнопок с подтяжкой нагрузки 1ком, 50ом
Как раз сейчас такое изобретаем. До 50 В , осциллограф + ШИМ + генератор. Частотомер ещё есть, как опция.
50в это в каких устройствах?
Это по БАРАБАНУ, в каких. Входная часть выдерживает гарантировано 50+ Вольт.
По поводу 1к и 50 Ом - зачем так???
Управление центральным замком и 50ом для проверки сгнившей проводки в моём регионе часто отгнивают провода,
В режиме осциллографа при нажатой кнопке 50ом можно наблюдать посадку плохого контакта
На каком микроконтроллере будет ваше устройство?
Смысл мне понятен. Ещё что хотелось бы???
Скорее всего Stm32
Ещё будет WTid - это идентификация провода в косе. Этого нет ни у кого пока, у меня будет.
.
Собирай, я не возражаю.
Проект будет коммерческий?
Если ты готов поработать инженером + схемотехником + программистом бесплатно - проект будет бесплатным. Ты готов поработать ???
Ты видать не понял моей мысли, здесь не любят комерсантов, тебе не место здесь, и в предь запомни на ты с не знакомыми людьми не переходят. Будь вежлив!!!
Видать не понял. Бывает.
Я тоже работаю автоэлектриком. Свой проект я не забросил. даже пользуюсь прототипом и меняю в процессе то, что мне не понравилось или желаю улучшить.
в конце концов проект перетерпел массу изменений и сейчас жду очередные платы из Китая.
на данный момент в управлени оставил 4 кнопки. а точнее одна кнопка управляет подсветкой щупа (фонариком) вторая подключает в нагрузку маломощную лампочку остальные две переключают режимы и настройки.
режим осциллографа перекроил полностью. развертка полный автомат как по напряжению так и по частоте. (практика показала, что все таки ручное переключение развертки надо добавить)
входное сопротивление примерно 100ком (но можно реализовать и больше но я не вижу смысла
в режиме осциллографа отображает максимальное значение сигнала и частоту (подсчет частоты програмно)
измеряет напряжение и сопротивление
есть звуковая индикация и еще два светодиода красный и зеленый (индикация плюс и масса)
аккумулятора хватает на 4 дня эксплуатации зарядка через микроусб.
диапазон измерения напряжения до 37в
прозвонка и измерение сопротивления (вот тут пока добиваюсь хоть какой то более менее точности.)
автоотключение и пробуждение от кнопки чейчас пытаюсь реализовать
режим генератора не делал. смысля с него для себя не вижу.
изначально думал проект сделать открытым но уж очень много затратил и сил и финансов. катастрофически не хватате времени.
а еще это гребаный вирус в короне очень мешает. возможно и доведу до ума проект если эта зараза не помешает (я в зоне риска и возраст и болезни)
в проекте я использовал библиотеки от Alex Gyver
directADC
GyverOLED
GyverButton
благодаря этому ресурсов атмеги стало меньше жрать.
Схемку можно???
входное сопротивление примерно 100ком
прозвонка и измерение сопротивления (вот тут пока добиваюсь хоть какой то более менее точности.)
автоотключение и пробуждение от кнопки чейчас пытаюсь реализовать
При входном 100 ком адекватное измерение сопротивлений (особенно в автомобиле) очень проблематично. Здесь надо выбирать
Усложнение схемы (введение ОУ, коммутаторов и т.п.)
Применение коммутации входов или раздельных входов что снижает удобство пользованиия и повышает требования к человеку.
да так оно и получается. но обратил внимание на одно оптомосфит реле. и возникла идея использовать его.
что бы через это реле включать резисторы в цепь. малогабаритные удобные и не дорогие
https://www.rcscomponents.kiev.ua/product/cpc1002n_126520.html
у меня в схеме R4 на 1к подключается для измерения сопротивление и точность чем ближе к 1к тем точнее. а в автомобиле важен омметр . всякие клапана форсунки от 2 до 20 ом и т.д.
но подключив низкоомный резистор без коммутации можно при измерении напряжения сжечь его.
входное сопротивление я наверное сделаю 10к не вижу необходимости в цепях автомобиля делать больше. помешать оно может лишь в цепях ламбдазондов широкополосных но там тыкать пробником смысла нет.