В данной статье мы рассмотрим создание металлоискателя (металлодетектора) на основе платы Arduino с возможностью дискриминации металлов. Данный металлоискатель будет способен обнаруживать мелкие металлические предметы (например, монеты) на глубине до 15 см, а крупные предметы из металла он сможет обнаруживать на глубине до 50 см (и даже более). Также он будет способен отличать железосодержащие металлы (ferrous) от цветных металлов (nonferrous). Металлоискатель отличается достаточно простой конструкцией и в то же время он обеспечивает приемлемую чувствительность.
Ранее на нашем сайте рассматривался проект простого металлоискателя на Arduino, рекомендуем его прочитать чтобы понять принцип работы металлоискателя (металлодетектора).
Необходимые компоненты
- Плата Arduino Nano (купить на AliExpress).
- ЖК дисплей 16х2 (купить на AliExpress).
- Операционный усилитель TL081 или 741, также подойдет LT1677 (использован автором проекта) (купить на AliExpress).
- Громкоговоритель (Speaker) 0,25 Вт, 8 Ом.
- Транзистор общего назначения NPN типа.
- Катушка индуктивности – 2 шт.
- Потенциометр 10 кОм (купить на AliExpress).
- Конденсаторы и резисторы (согласно схеме, представленной далее).
- Переключатели.
- Батарейка.
Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158
Схема проекта
Схема металлоискателя на Arduino c дискриминацией металлов представлена на следующем рисунке.
При обнаружении металла устройство будет издавать звуковой сигнал, а на ЖК дисплее с помощью столбчатой диаграммы (bar graph) будет отображать степень близости металла, а также указываться тип металла – железо (ferrous) или цветной (nonferrous).
Устройство представляет собой индукционно-балансный металлодетектор, работающий на очень низкой частоте (very low frequency, VLF). Металлоискатель содержит передающую и приемную катушки индуктивности. Как и во всех схемах подобных детекторов, для нашего прибора очень важен баланс между катушками. Потенциометр в схеме детектора используется для устранения влияния противофазного компонента (out-of-phase component) сигнала – приводит сдвиг по фазе к нулю, а синфазный компонент (in-phase component) обнуляется с помощью соответствующего расположения катушек – по принципу работы IB-детекторов.
Каждая катушка индуктивности изготовляется при помощи намотки 64 витков провода сечением 0,5 мм2 из эмалированной меди на D форму (D shape) диаметром 11 см. После этого конструкция катушки обматывается лентой и экранируется алюминиевой фольгой, после чего к ней к ней прикрепляется луженая медная проволока – необходимо оставить небольшой пропуск в фольге чтобы ее прикрепить. После чего обе катушки закрепляются на пластиковое основание. Внешний вид собранных катушек индуктивности для металлоискателя показан на следующем рисунке.
Более подробно процесс их сборки вы можете посмотреть на видео, приведенном в конце статьи. Внешний вид собранной конструкции металлоискателя показан на следующем рисунке.
Для настройки работы проекта нам первым делом необходимо определить резонансную частоту колебательного контура в нашей схеме. Для этого можно использовать известную из курса физики формулу, online калькуляторы, либо же ее можно измерить с помощью осциллографа. Если собрали катушки описанным способом, то резонансная частота нашего контура должна составлять примерно 7.64 кГц. Если вы получили другое значение резонансной частоты, то вам необходимо внести соответствующие изменения в следующую строчку программы:
1 |
#define TIMER1_TOP (249) // fine-tune the frequency |
Как вы можете посмотреть на далее представленном видео, результаты работы металлоискателя получились весьма впечатляющими. В отсутствии металла прибор показывает устойчивую работу. Металлический круг диаметром 15 см обнаруживается на расстоянии более 30 см. Металлические предметы большего размера обнаруживаются на расстояниях, превышающих 40-50 см. Маленькую монету можно обнаружить на расстоянии 15 см (в воздухе).
Для питания металлоискателя автор проекта использовал два литиевых аккумулятора, которые при последовательном соединении обеспечивают питающее напряжение 7.4 В – это напряжение подается на контакт Vin платы Arduino. Энергопотребление устройства не превышает 20mA, поэтому от таких аккумуляторов оно будет работать достаточно долго.
Для значительного увеличения чувствительности металлоискателя автор проекта предлагает осуществлять управление передающей катушкой с помощью мощного MOSFET транзистора – в дальнейшем он на странице проекта планирует опубликовать результаты подобного эксперимента.
Примечание: рекомендации по практической сборке данного проекта металлоискателя от активного читателя нашего сайта с именем Александр с описанием, фотографиями и видео можно скачать по следующей ссылке.
Исходный код программы (скетча)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 |
// Induction balance metal detector // We run the CPU at 16MHz and the ADC clock at 1MHz (АЦП работает на 1 МГц). ADC resolution is reduced to 8 bits at this speed. (разрешение АЦП уменьшено до 8 бит) // Timer 1 is used to divide the system clock by about 256 to produce a 62.5kHz square wave. (Таймер 1 использовается для формирования прямоугольных импульсов с частотой 62,5 кГц) // This is used to drive timer 0 and also to trigger ADC conversions. // Timer 0 is used to divide the output of timer 1 by 8, giving a 7.8125kHz signal for driving the transmit coil. // Таймер 0 делит выход таймера 1 на 8, и, таким образом, формирует сигнал частотой 7.8125kHz для управления передающей катушкой // This gives us 16 ADC clock cycles for each ADC conversion (it actually takes 13.5 cycles), and we take 8 samples per cycle of the coil drive voltage. // The ADC implements four phase-sensitive detectors at 45 degree intervals. Using 4 instead of just 2 allows us to cancel the third harmonic of the // coil frequency. // Timer 2 will be used to generate a tone for the earpiece or headset. (таймер 2 используется для генерации тона для наушников) // Other division ratios for timer 1 are possible, from about 235 upwards. // Wiring: // Connect digital pin 4 (alias T0) to digital pin 9 // Connect digital pin 5 through resistor to primary coil and tuning capacitor // Connect output from receive amplifier to analog pin 0. Output of receive amplifier should be biased to about half of the analog reference. // When using USB power, change analog reference to the 3.3V pin, because there is too much noise on the +5V rail to get good sensitivity. #include <LiquidCrystal.h> #include <LcdBarGraph.h> #define max_ampAverage 200 LiquidCrystal lcd(6, 7, 10, 11, 12, 13); LcdBarGraph lbg(&lcd, 16, 0, 1); #define TIMER1_TOP (259) // can adjust this to fine-tune the frequency to get the coil tuned (see above) (это значение используется для точной настройки частоты катушки) #define USE_3V3_AREF (1) // set to 1 of running on an Arduino with USB power, 0 for an embedded atmega28p with no 3.3V supply available // Digital pin definitions // Digital pin 0 not used, however if we are using the serial port for debugging then it's serial input const int debugTxPin = 1; // transmit pin reserved for debugging (передающий контакт, зарезервированный для целей отладки) const int encoderButtonPin = 2; // encoder button, also IN0 for waking up from sleep mode const int earpiecePin = 3; // earpiece, aka OCR2B for tone generation const int T0InputPin = 4; const int coilDrivePin = 5; const int LcdRsPin = 6; const int LcdEnPin = 7; const int LcdPowerPin = 8; // LCD power and backlight enable const int T0OutputPin = 9; const int lcdD4Pin = 10; const int lcdD5Pin = 11; // pins 11-13 also used for ICSP const int LcdD6Pin = 12; const int LcdD7Pin = 13; // Analog pin definitions (используемые аналоговые контакты) const int receiverInputPin = 0; const int encoderAPin = A1; const int encoderBpin = A2; // Analog pins 3-5 not used // Variables used only by the ISR int16_t bins[4]; // bins used to accumulate ADC readings, one for each of the 4 phases (используются для хранения значений, считываемых с АЦП) uint16_t numSamples = 0; const uint16_t numSamplesToAverage = 1024; // Variables used by the ISR and outside it volatile int16_t averages[4]; // when we've accumulated enough readings in the bins, the ISR copies them to here and starts again volatile uint32_t ticks = 0; // system tick counter for timekeeping volatile bool sampleReady = false; // indicates that the averages array has been updated // Variables used only outside the ISR int16_t calib[4]; // values (set during calibration) that we subtract from the averages (значения, устанавливаемые во время калибровки, в дальнейшем мы их вычитаем из средних значений) volatile uint8_t lastctr; volatile uint16_t misses = 0; // this counts how many times the ISR has been executed too late. Should remain at zero if everything is working properly. const double halfRoot2 = sqrt(0.5); const double quarterPi = 3.1415927/4.0; const double radiansToDegrees = 180.0/3.1415927; // The ADC sample and hold occurs 2 ADC clocks (= 32 system clocks) after the timer 1 overflow flag is set. // This introduces a slight phase error, which we adjust for in the calculations. const float phaseAdjust = (45.0 * 32.0)/(float)(TIMER1_TOP + 1); float threshold = 5.0; // lower = greater sensitivity. 10 is just about usable with a well-balanced coil. // The user will be able to adjust this via a pot or rotary encoder. (эту границу можно сделать настраиваемой с помощью потенциометра или энкодера) void setup() { lcd.begin(16, 2);// LCD 16X2 pinMode(encoderButtonPin, INPUT_PULLUP); digitalWrite(T0OutputPin, LOW); pinMode(T0OutputPin, OUTPUT); // pulse pin from timer 1 used to feed timer 0 digitalWrite(coilDrivePin, LOW); pinMode(coilDrivePin, OUTPUT); // timer 0 output, square wave to drive transmit coil cli(); // Stop timer 0 which was set up by the Arduino core TCCR0B = 0; // stop the timer TIMSK0 = 0; // disable interrupt TIFR0 = 0x07; // clear any pending interrupt // Set up ADC to trigger and read channel 0 on timer 1 overflow #if USE_3V3_AREF ADMUX = (1 << ADLAR); // use AREF pin (connected to 3.3V) as voltage reference, read pin A0, left-adjust result #else ADMUX = (1 << REFS0) | (1 << ADLAR); // use Avcc as voltage reference, read pin A0, left-adjust result #endif ADCSRB = (1 << ADTS2) | (1 << ADTS1); // auto-trigger ADC on timer/counter 1 overflow ADCSRA = (1 << ADEN) | (1 << ADSC) | (1 << ADATE) | (1 << ADPS2); // enable adc, enable auto-trigger, prescaler = 16 (1MHz ADC clock) DIDR0 = 1; // Set up timer 1. // Prescaler = 1, phase correct PWM mode, TOP = ICR1A TCCR1A = (1 << COM1A1) | (1 << WGM11); TCCR1B = (1 << WGM12) | (1 << WGM13) | (1 << CS10); // CTC mode, prescaler = 1 TCCR1C = 0; OCR1AH = (TIMER1_TOP/2 >> 8); OCR1AL = (TIMER1_TOP/2 & 0xFF); ICR1H = (TIMER1_TOP >> 8); ICR1L = (TIMER1_TOP & 0xFF); TCNT1H = 0; TCNT1L = 0; TIFR1 = 0x07; // clear any pending interrupt TIMSK1 = (1 << TOIE1); // Set up timer 0 // Clock source = T0, fast PWM mode, TOP (OCR0A) = 7, PWM output on OC0B TCCR0A = (1 << COM0B1) | (1 << WGM01) | (1 << WGM00); TCCR0B = (1 << CS00) | (1 << CS01) | (1 << CS02) | (1 << WGM02); OCR0A = 7; OCR0B = 3; TCNT0 = 0; sei(); while (!sampleReady) {} // discard the first sample (отбрасываем первый отсчет) misses = 0; sampleReady = false; Serial.begin(19200); } // Timer 0 overflow interrupt (прерывание от таймера 0). This serves 2 purposes: (служит для 2-х целей) // 1. It clears the timer 0 overflow flag. If we don't do this, the ADC will not see any more Timer 0 overflows and we will not get any more conversions. // 2. It increments the tick counter, allowing is to do timekeeping. We get 62500 ticks/second. // We now read the ADC in the timer interrupt routine instead of having a separate comversion complete interrupt. ISR(TIMER1_OVF_vect) { ++ticks; uint8_t ctr = TCNT0; int16_t val = (int16_t)(uint16_t)ADCH; // only need to read most significant 8 bits (нам нужно считывать только 8 наиболее значащих бит) if (ctr != ((lastctr + 1) & 7)) { ++misses; } lastctr = ctr; int16_t *p = &bins[ctr & 3]; if (ctr < 4) { *p += (val); if (*p > 15000) *p = 15000; } else { *p -= val; if (*p < -15000) *p = -15000; } if (ctr == 7) { ++numSamples; if (numSamples == numSamplesToAverage) { numSamples = 0; if (!sampleReady) // if previous sample has been consumed { memcpy((void*)averages, bins, sizeof(averages)); sampleReady = true; } memset(bins, 0, sizeof(bins)); } } } void loop() { while (!sampleReady) {} uint32_t oldTicks = ticks; if (digitalRead(encoderButtonPin) == LOW) { // Calibrate button pressed. We save the current phase detector outputs and subtract them from future results. // This lets us use the detector if the coil is slightly off-balance. // It would be better to everage several samples instead of taking just one. for (int i = 0; i < 4; ++i) { calib[i] = averages[i]; } sampleReady = false; Serial.print("Calibrated: "); lcd.setCursor(0,0); lcd.print("Calibrating... "); for (int i = 0; i < 4; ++i) { Serial.write(' '); Serial.print(calib[i]); lcd.setCursor(0,1); lcd.print(' '); lcd.print(calib[4]); lcd.print(" "); } Serial.println(); } else { for (int i = 0; i < 4; ++i) { averages[i] -= calib[i]; } const double f = 200.0; // Massage the results to eliminate sensitivity to the 3rd harmonic, and divide by 200 double bin0 = (averages[0] + halfRoot2 * (averages[1] - averages[3]))/f; double bin1 = (averages[1] + halfRoot2 * (averages[0] + averages[2]))/f; double bin2 = (averages[2] + halfRoot2 * (averages[1] + averages[3]))/f; double bin3 = (averages[3] + halfRoot2 * (averages[2] - averages[0]))/f; sampleReady = false; // we've finished reading the averages, so the ISR is free to overwrite them again double amp1 = sqrt((bin0 * bin0) + (bin2 * bin2)); double amp2 = sqrt((bin1 * bin1) + (bin3 * bin3)); double ampAverage = (amp1 + amp2)/2.0; // The ADC sample/hold takes place 2 clocks after the timer overflow double phase1 = atan2(bin0, bin2) * radiansToDegrees + 45.0; double phase2 = atan2(bin1, bin3) * radiansToDegrees; if (phase1 > phase2) { double temp = phase1; phase1 = phase2; phase2 = temp; } double phaseAverage = ((phase1 + phase2)/2.0) - phaseAdjust; if (phase2 - phase1 > 180.0) { if (phaseAverage < 0.0) { phaseAverage += 180.0; } else { phaseAverage -= 180.0; } } // For diagnostic purposes, print the individual bin counts and the 2 indepedently-calculated gains and phases Serial.print(misses); Serial.write(' '); if (bin0 >= 0.0) Serial.write(' '); Serial.print(bin0, 2); Serial.write(' '); if (bin1 >= 0.0) Serial.write(' '); Serial.print(bin1, 2); Serial.write(' '); if (bin2 >= 0.0) Serial.write(' '); Serial.print(bin2, 2); Serial.write(' '); if (bin3 >= 0.0) Serial.write(' '); Serial.print(bin3, 2); Serial.print(" "); Serial.print(amp1, 2); Serial.write(' '); Serial.print(amp2, 2); Serial.write(' '); if (phase1 >= 0.0) Serial.write(' '); Serial.print(phase1, 2); Serial.write(' '); if (phase2 >= 0.0) Serial.write(' '); Serial.print(phase2, 2); Serial.print(" "); // Print the final amplitude and phase, which we use to decide what (if anything) we have found) if (ampAverage >= 0.0) Serial.write(' '); Serial.print(ampAverage, 1); Serial.write(' '); lcd.setCursor(0,0); lcd.print(" "); lcd.print(ampAverage); lcd.setCursor(0,1); lbg.drawValue(ampAverage, max_ampAverage); if (phaseAverage >= 0.0) Serial.write(' '); Serial.print((int)phaseAverage); // Decide what we have found and tell the user if (ampAverage >= threshold) { // When held in line with the centre of the coil: // - non-ferrous metals give a negative phase shift, e.g. -90deg for thick copper or aluminium, a copper olive, -30deg for thin alumimium. // Ferrous metals give zero phase shift or a small positive phase shift. // So we'll say that anything with a phase shift below -20deg is non-ferrous. if (phaseAverage < -20.0) { Serial.print(" Non-ferrous"); lcd.setCursor(0,0); lcd.print("NonFerous "); } else { Serial.print(" Ferrous"); lcd.setCursor(0,0); lcd.print("Ferrous "); } float temp = ampAverage; int thisPitch = map (temp, 10, 200, 100, 1500); tone(3, thisPitch,120); while (temp > threshold) { Serial.write('!'); temp -= (threshold/2); } } Serial.println(); } while (ticks - oldTicks < 8000) { } } |
Библиотеку LcdBarGraph, используемую в данном скетче, можно скачать по этой ссылке. В коде программы активно используются таймеры, если вы не очень сильны в этих вопросах, то рекомендуем прочитать руководство по таймерам Arduino для начинающих.
Доброго времени! Подключил параллельно катушке Тх конденсатор 470 нФ, и поменял в программе местами "металл" и "неметалл", все стало работать, но очень слабо... плоскогубцы вплотную, алюминиевая тарелка 5 см. Сопротивление 100 Ом нужно многооборотное ставить и поставил подстроечный резистор 10к между резисторами 100к мне кажется чуствительность нужно на компараторе пытаться настраивать
Ну вы серьезно погрузились в этот проект, спасибо за конструктивные комментарии для нашего сайта
К раннее сказанному хочу добавить, что у нас контур катушки Тх получается смешанное соединение включая сопротивление 100 Ом, а Rх параллельное. Мне кажется конденсатор 470 нФ нужно не "землить", а включить параллельно Тх, тогда у нас 2 параллельных колебательных конура получаться с одной рабочей частотой
Доброго времени! Тоже участвую в сборке настроил катушки, обе получились на 7,3-7,4кГц, настроил Timer1_TOP(271) что соответствует 7,35кГц, но девайс живет своей жизнью... Начал читать комментарии и увидел запись Виталия, что ошибка в схеме в цепи Тх катушки... Он предлагает конденсатор 470нФ последовательно включать, а не параллельно катушке в этом есть смысл, но тогда резонансную частоту нужно искать не на параллельном колебательном контуре, а последовательном и еще момент: а как учитывается у автора R 100 Ом в контуре Тх- С=470нФ при настройке на резонансную частоту?
Нашел на этом сайте(md4u.ru/viewtopic.php?f=94&t=10067&start=75) объяснение, как высчитывается коэффициент таймера!!!
Формула выглядит так(идем поэтапно, чтоб было все понятноXD):
__Общий вид формул:
fр=k/8;
k=f/n;
n=f/k=f/(8*fр);
___Вводим значения(в кГц для частот):
n=16000/k=16000/(8*fр)=2000/fр;
___Пусть fр будет, как в исходниках железки, 7.64 кГц:
n=2000/7.64=261.8 Для скетча 261...262. Кстати сам автор получается накосячил там-_-
n- коэфф таймера (который нужен, как я увидел среди похожих форумов, всему миру);
fр- резонансная частота катушки (высчитывается исходя от значений LC контура, калькулятор для этого(https://tel-spb.ru/lc.html));
k- коэфф умножения резонансной частоты на 8 бит;
f- частота кварц генератора Arduino Uno(16 МГц).
Ну вы уверены что эти формулы подойдут к материалу данной статьи?
Ну, давайте отвечу вам так...
Среди всех ответов в комментариях ниже, никто не предложил ничего лучше и точнее, все посылают на какую то тему, где должны объяснить, как высчитывать собсна эти значения для таймера... Но там ничего не понятно и ничего это не дает.
Я предложил вот такой вариант, причем цитируя ответ как раз на точно такой же вопрос "Как же высчитать это значение в скетче?", ваше дело верить или нет, если вы предложите более точный/правильный/верный вариант, я только буду рад и благодарен, ну и все остальные участники этого форума, я думаю, тоже.
Даже скину замечательную программу для расчета катушек,
которая попадает в 1% погрешности значений у автора этой самоделки (есть даже внутренний плагин "Поисковая катушка металлоискателя" во вкладке "Дополнительный расчет" для расчета поисковых катушек, но лучше пользоваться плагином "многослойная катушка", он точнее и необходимых значений больше)
(https://coil32.net/ru/download-coil64-for-windows.html)
Русским автором что ли сделана данная программа?
Здраствуйте, можете поделиться проектом в EasyEDA?
Добрый вечер. К сожалению для этого проекта у меня нет его версии для EasyEDA
Здравствуйте, а можно узнать подробные размеры отправки D. Очень интересно
Добрый вечер. В статье указан ее размер. Ничего более этого сообщить, к сожалению не могу. Почитайте комментарии к этой статье, там люди экспериментировали с различными параметрами этой рамки
Примерно 220 мм если диаметр измерять, но в форме D, индуктивность 4,1 mH каждой, есть шаблон, есть много инфы, стесняюсь спросить, а для кого я почту оставил? Специально оставил, вдруг вопросы будут,смотрите сами. Admin-new а что с сайтом приключилось, это так обновили? Раньше было гораздо лучше, вы уж извините и не примите за критику.
А что с сайтом не так? Никаких новых обновлений я в последние месяцы не ставил и визуально я не замечаю никаких отличий от того что было раньше
Не клеится с почтой у меня,ну да ладно,отыскал старые записи,когда делал катушки на этот мд и заодно в архиве калькулятор расчёта и прочие файлы.https://disk.yandex.ru/d/5VtjLJznWGyyrA
чем могу так сказать.
Не клеится с почтой в каком плане? Ответы на комментарии не приходят?
Здравствуйте, столкнулся с продлемай, выдаёт ошибку при загрузке скетча, LcdBarGraph.h. Скочал библиотеку и что с ней делать? Пробывал закинуть в папку с ардуина нечего не памогает 🙁
А нашол как установить ♂️
Хорошо, удачи вам в дальнейшей реализации данного проекта металлоискателя.
Здравствуйте, сразу хочу извинится Admin-new, что забросил этот проект, случайно вот зашёл и увидел, что тема ещё жива. Ничего у меня тогда конкретно не получилось, поэтому и бросил(временно совершил маневр отхода) . По результатам работы - он работает, но... на столе короче работает, есть конечно мысли, но опять же нет возможности нормально поэкспериментировать. Обещать не буду, как будет возможность попробую ещё поковырять, если что прабачте кали ласка.
Связь со мной : Aleks85kl@gmail.com
Будут вопросы - постараюсь помочь.
Добрый вечер. Ну мы все надеемся что вас вдруг в ближайшее время осенит какая нибудь гениальная мысль по поводу данного проекта и вы сразу поймете как его довести до ума ))
Да нет по сути никаких идей, но проект то работает. Для начала провод для катушек 0,3...0,4 мм(а может и 0,2 мм) , больше не стоит думаю. Опер 741 и 081 не пойдут - у них слишком большое напряжеие питания, а есть только 5в. Как вариант MCP601 должен пойти. Ещё не ясно как быть с фазами ТХ и RX, поидее должен быть "разнос", но автор почему-то упорно пишет о настройке на одну и ту же частоту обоих контуров - если так делать чуйка будет хорошая, но и стабильности не будет совсем, что я воочию наблюдал. Как вариант можно попробовать датчик по аналогии сделать с TGSL, только конденсаторы на 7...8 кГц контурные подобрать. Наконец самое главное - как данный девайс на грунты разные будет реагировать? Вот тут не знаю что сказать, ну не дошло у меня до испытаний, пока так как-то,а по итогу порадовать нечем.
Ну спасибо и на этом. Все равно ценные советы для начинающих в этом проекте
Здравствуйте, я правильно понял что 90 метров проволоки нужно на 2 катушки. По расчёта у меня вышло столько
Добрый вечер. А как вы считали? У меня по формуле длины окружности получилось примерно 23-25 метра на одну катушку
Диаметр 170мм(17см)
проволка 0.6мм
82 ветка
=45.193 м +x2=90.386 м на 2 катушки
Вот : https://disk.yandex.ru/i/KQzgV-gqfn0kdg
Взято это от человека (АЛЕКСАНДР) у него такая картошка.
Тогда понятно, расчет правильный. Я просто думал вы использовали данные непосредственно из текста статьи
Мне больше интересно где столько проволки взять? . Нелегче купить гатовую катушку?
Ну здесь даже не знаю что вам подсказать. Опыт в подобных вещах небольшой
Доброго времени . Кто нибуть таки протестил хоть навесом как он на грунт реагирует ? и еще вопрос появилась ли возможность регулировать чувствительность ? да и если кто умеет писать думаю там тональность на разные металлы не проблема сделать
Привет.
Я заинтересован в его создании, но я не понимаю команду (#define TIMER1_TOP(259)) У меня готовы катушки 18 кГц.
Какое значение я должен ввести (timer)? Код будет работать? Каждая помощь необходима
Добрый день. Число 259 в данной команде определяет с какой частотой будет переполняться Таймер 1 и, соответственно, будет срабатывать прерывание от него. Какое значение вам необходимо ввести для 18 кГц я не могу сейчас вам подсказать потому что нахожусь в отъезде (в отпуске). Вы можете рассчитать его самостоятельно основываясь на материалах статьи про таймеры в Ардуино.
Здраствуйте. Я собрал один в один схему. Но немагу достат переменный резистор 100ом, и ешо как вычеслять надо число который должен в таймере место 259… я не знаю.
Добрый день. Ну на первое время, чтобы проверить что схема заработает, можно поставить переменный резистор другого номинала, может быть даже последовательно с постоянным резистором. Чтобы рассчитать число, которое должно быть в таймере, необходимо знать частоту, на которую вы хотите настроить проект. Инструкция по расчету данного числа есть в статье, ссылка на которую есть в комментарии перед вашим комментарием. Если не получится, пишите, попробую помочь
Я прочол полную инструкцию, но не понял ничего. Там про частату ничево не нашол как частату расчитать для этого проекта
Частота задается с помощью команды #define TIMER1_TOP(259), если вы хотите изменить частоту, то вместо 259 в этот таймер нужно записать другое значение. В этой статье описано как рассчитывать правильное значение для таймера.
Здравствуйте, откуда вы знаете что катушки на 18 кГц? У вас подобраны конденсаторы именно на эту частоту? подключение в параллель или последовательно?
Проблем нет посчитать, coil32 приложение на андроид. Измеряете индуктивность и меняя значение конденсатора сможете подогнать свои катушки на ЛЮБУЮ частоту - это только в этом приборе (возможно ещё в каком) нужны одинаковые катушки. Timer top - это изменение частоты на выходе ардуино, я очень сомневаюсь что выше 8...9 кГц можно выжать изменяя этот параметр.
Admin-new,снова я взялся за прибор и катушки, короче по результатам отпишусь.
Добрый вечер, Александр. А что конкретно по сравнению с вашим предыдущим вариантом хотите улучшить?
Здравствуйте, катушки нормальные сделать, пропитать эпоксидкой. Ещё есть мысли, если только получится.
Понятно. А эпоксидка как свойства катушек улучшает?
Здравствуйте. Эпоксидкой пропитывают чтоб катушка имела жёсткость,а то при деформации когда баланс сводишь - настройка на частоту "уплывает", так старые и ухрюкал. Я изначально пошёл не тем путем, короче чтоб мд работал нужен датчик ТХ и RX настроенные в резонанс на определённую частоту, к сожалению нет возможности приобрести готовый, поэтому буду делать сам. Первая попытка уже была - неудачно, провод малого диаметра взял 0,3 мм, не хватает короче. Процесс не очень быстрый, эпоксидка нормально сохнет(чтоб потом была хорошая катушка) дней семь минимум. Одну сегодня залил, другую завтра, так-то она схватится, но нужно ждать, а то настройки "уплывут" . Это конечно только моё мнение, буду так делать как всегда делал с DD. Раз раньше работал, то и теперь заработает, только хочу уже чтоб и в земле проверить, а для этого нужно датчик сделать нормально, а то только на столе и проверил. Обещание помню, буду возится до конца, описание тож сделаю.
От админа: хорошо, будем ждать. Спасибо за столь подробное объяснение
Здравствуйте Admin-new, начал потихоньку заниматься металлоискателем. Времени нет совсем, поэтому буду постепенно всё делать, проверять, описывать и скидывать архивы по мере готовности. Цель - установить работоспособность металлоискателя на грунте в полевых условиях,как "настольная игрушка" он работает, но этого мало. Решил начать описание с датчика, что получится не знаю, но максимально ответственно решил подойти. Ссылка первая:
https://disk.yandex.ru/d/h_Igs3zgj2xspQ
Здравствуйте, Александр. Да, спасибо что делитесь с нами своими наработками. Мне добавлять ваши ссылки уже в основной текст статьи или подождать пока вы еще больше усовершенствуете данный проект металлоискателя?
Да пусть в комментах будет, кому нужно - найдут. Быстро не сделаю, а постепенно буду делится.
От админа: хорошо, пусть будет пока так.
Добрый день. Хороший материал, интересный. Было бы ещё хорошо подобрать на алике готовые платы, которые соединил и всё готово.
Здравствуйте. А будет ли это кому-нибудь интересно? Ведь на алике можно просто купить готовый металлоискатель
В схеме нет больших ёмкостей не считая питания потому думаю крутить нужно программу. Думаю если на выход поставить таки усилитель пищать будет с 30 примерно а нормально работать отклик с 20 см. Значения на экране начинают плыть уже на 30 но пищать начинает только на 20 см потому я думаю если бы ардуинка раньше замечала что что то происходит у неё то чувствительность выросла бы.
Может быть, не хватает производительности платы Ардуино? Или параметры установки таймеров в программе нужно подкручивать? Я тут недавно серию статей про плату STM32 Blue Pill переводил, очень впечатлила. Программируется также как Ардуино, стоит как Ардуино Нано, а по всем возможностям значительно ее превосходит
Да я тоже на STM32 заглядываюсь но я не программист для меня это лес густой. Есть готовые металлоискатели на STM32. Этот я доделаю, потому что уже знаю что он работает, также попробую раскачать, сейчас плату развожу. Переведу скетч скорее всего где то прописаны регулировки.
Ну я надеюсь отпишитесь здесь нам потом о своих успехах. Когда я данный проект металлоискателя для своего сайта переводил никак не думал что он окажется таким проблемным. Все таки проекты, которые я с сайта индийских программеров перевожу, по качеству лучше чем проекты с официального хаба проектов Ардуино
Здравствуйте, я уже писал вроде, но хучу снова сказать - зарубежные люди очень продуманные, им как будто жалко что кто-то сможет повторить их устройство. Дело не в переводе, а именно в этом. Я даже видел на их форуме Geotech плату мд покрашенную краской, чтоб не видно было деталей, чтоб другие не смогли повторить. Много по данному металлоискателю автор умолчал, особенно по настройке. Я честно в шоке сам, что он у меня заработал,а ведь автор мог подробней описать процесс сборки, но не стал почему-то и на вопросы не захотел отвечать - полный игнор. Появлюсь дома и обязательно буду доделывать и обязательно поделюсь результатом.
С уважением Александр.
А зачем они тогда вообще свой проект на всеобщее обозрение выкладывают? Чтобы другие позавидовали как здорово у них получилось?
Ну мы будем ждать ваших результатов, насколько у вас хорошо получится это доделать. Надеюсь, вы поделитесь с нами своими успехами
Даа согласен они шоу мены больше, конкретики мало, мне было проще советы Александра помогли и я тоже был в шоке когда схема заработала. Я писал уже она работает даже без транзистора на выходе единственное условие правильная катушка и если хочешь питать её от 5 вольт то lm 358 стоит у меня и работает. Цепочка из подстроечного убрал потому что не увидел что она может. Заместо нано у меня работают и про мини на 328 дуине и 168 тоже справляется так же. Усилитель на выход хочу сделать на lm 386 и будет лучше. Код перевёл есть настройки и чувствительности и избирательности, в любом случае доделаю.
От админа: спасибо вам что делитесь с нами своими успехами. Отпишитесь потом плз сколько у вас потом будет максимальная глубина обнаружения у металлоискателя. Интересно уже
Случайно наткнулся на статью с нечто подобным есть код для ардуино, с данной схемой код не работает возможно код под другой экран собственно и на видео другой экран фигурирует. Если админ не против ссылку оставлю.
Да, можете оставить ссылку
Та же самая схема но по мненнию автора работает без танцев с бубном http://md4u.ru/viewtopic.php?f=94&t=10067
Ну если кто ее соберет и она у него заработает, то просьба отпишитесь об этом. Про схему в моей статье на источнике ее автор тоже писал что у него все отлично работает
Работает, без каких либо усилителей на выходе, срабатывает на 20 см но схема медленная именно на 20 см ближе более менее. Как ускорить? Значения на экране начинают плыть уже на 30 см а вот звук появляется на 20 только.
А медленная именно из-за программы для Ардуино или из-за того что в схеме какие-нибудь большие емкости стоят и они долго заряжаются или разряжаются?
Чтобы ускорить надо поменять кое какие delay и еще убрать serial print. Я так ускорял. Щас пытаюсь повторить с другим мосфетом.
От админа: хорошо, будем ждать результатов вашей работы.
Здравствуйте, вопрос к тем у кого получилось раскачать эту схему, какое напряжение идёт на передающую катушку? Прямоугольник или синусоида выходит с приёмной катушки? Не могу раскачать эту схему чувствительность слабая. По рекомендации Александра настройка катушки ну не как не могу добиться 12 вольт, делаю как написано разношу катушки на 10 см и настройкой TIMER1_TOP (259)
Здравствуйте, я к сожалению не дома, а мд как раз дома лежит, поэтому ничего померить не смогу, появлюсь не раньше осени. Всё что вспомнил то описал. Попробуйте задать вопрос автору доработки с ником Gal на форуме технодиум. ру возможно он поможет и подскажет чего.
Я уже не раз пытался его найти и найти обсуждения данного МД но тщетно, могли бы вы кинуть суда ссылку на него?
Вот ссылка на форум :
https://tehnodium.ru/index.php
Меня там уже нет, как и темы про этот мд, но это вам совсем не помешает создать свою или в "личке" спросить у Gal - как он настраивал.
У меня там бан пожизненный:)
Зарегистрироваться снова не проблема в принципе - новый ник и новая почта. Я вот сам попросил профиль там свой удалить и тему про мд "снёс". Происходят к сожалению иногда "заскоки".
Admin-new извините пожалуйста за флуд.
От админа: да ничего страшного, общайтесь, лишь бы это помогло наладить данный проект металлоискателя ))
Александр ещё один вопрос про настройку катушек, вы их располагаете на одной плоскости на 10 см или параллельно друг от друга на 10 см, когда катушка на катушке осциллограф фиксирует 60 вольт и больше.
Здравствуйте, когда делал я, то распологал на одной плоскости - кусок оргстекла, клал его на картонную каробку, потом на другую, чтоб металла рядом не было с катушками(арматура в плитах перекрытия) . Менял Timer Top и смотрел на ослик, записывал на бумажку(фото бумажки в архиве), где-то за полчаса справился
Тогда я не понимаю, какой бы я мощный выходной каскад не построил но к вашим результатов даже близко не приблизился. Нужно знать выходные параметры вашей конструкции. Индукция в катушках и собственно повышение напряжения получаются только когда катушки находятся друг над другом.
Я не знаю, настраивал я как Gal объяснил, получил то что есть. Разве что сам понял, что нужно "разнести" катушки для того чтоб максимально TX передовала(подобрать Timer top значение) и уже на RX смотреть осликом чтоб максимально было. Попробуйте не на 10 см, а на меньше "разнести", у меня был чёткий синус
Ещё скажу что именно у меня так получилось значение Timer top, у вас Алекс может совсем другое быть. Тут всё зависит от ваших катушек и конденсаторов. Я помню настраивал катушки с помощью генератора на lm318n и подбирал конденсаторы на частоту 7,60 кГц, а максимальная "чуйка" совсем на другом значении timer top получилась. Смотреть нужно, экспериментировать и только опытным путем добьётесь результата, короче пробуйте, что смог вспомнить то подсказал.
как сюда фото добавить
На яндекс диск загрузите и здесь ссылку на свой файл на нем напишите
в сборе только катушке пока нету
Собрал схему навесным, катушки D=165mm, N=70витков, конденсаторы по 195nF, TimerTop=240, (частота получилась 8,2kHz) плавно меняя расстояние между катушек добился максимальной чувствительности (лист алюминия 10мм начинает пищать на расстоянии 40 мм; 1 рубль - 5см)
Операционный усилитель СА3140Е; полевик FZ48NS.
Кондеры в схеме мелкие желтые.
Расчёт частоты резонанса LC-контура рассчитывал на сайте https://tel-spb.ru/lc.html
Подскажите из-за чего может быть низкая чувствительность?
Лист алюминия 40 см.
Какие у вас в итоге получились результаты по сборке данного металлоискателя? Не поделитесь успехами?
Вам нужно ваши файлы сохранить в файлообменник и дать на него ссылку, модератор здесь её разместит и мы увидим ваш триумф:)
Собрал всё в кучу, хочет пищи хочет не пищит живёт своей жизнью, вместо 081 поставил советский операционный кр544уд1б. Вопрос как настроить это чудо пошагово? Есть осциллограф и частотомер.
Алекс, частоту вы изменяете изменяя параметр в скетче TIMER TOP.... Её (частоту) можно измерить на передающей катушке ТХ. То есть вы изменили этот параметр и тогда изменится частота на ТХ, но даже если у вас катушки настроены на частоту например 7,60 кгц, а с ардуино TIMER TOP будет выбран 7,55 кгц, то при измерении на ТХ вы увидите именно 7,55 и в этом заключается подбор параметра TIMER TOP для настройки максимальной "чуйки". Я как вспомнил описал настройку в архиве, скажу ещё - в этом мд нельзя настроить в резонанс, как например в volksturm, тут именно нужно делать настройку изменяя TIMER TOP, но при этом нужно две одинаковых катушки с одинаковыми конденсаторами. Я чтоб добиться этого сделал приспособу для счета витков, собрал LCM-3 измерять индуктивность катушек, поэтому и получились результаты как показал в видео, у меня абсолютно две одинаковые катушки.
Да да, спасибо, нашёл ваш архив там есть настройки. Хочу спросить цепочку 2,2 ком, переменный 100 ом и кондёр 22 н вы вообще исключили из схемы на плате их нет.
Всем привет )) я тоже что-то потерялся, времени не было вообще. Все провода и схемы и платы как лежали на столе так и лежат по сей день.
Я первый день в отпуске и надо как-то додумать этот вопрос.
По поводу полевика реально его в схему надо добавить чтоб поднять чуйку, также была сделана плата для точной регулировки катушек с помощью ослика.
Отпишитесь нам потом о своих решениях когда доделаете? Будем признательны
Здравствуйте, добавил я транзистор и полевик при этом цепочку 2,2 ком, переменный 100 ом и кондёр 22 н вообще исключил из схемы, как её приладить к полевику не знаю, поставил lm72. Металлы определяет правильно но чувствительность маленькая, катушка припоя сантиметров 5 определяет. Куда копать думаю только в настройку частоты. Есть какие советы для повышения чувствительности данного чуда.
Алекс, схема соединения деталей - такая же как и в статье, только нужно после резистора 1 к полевиком поставить и в обвязке ОУ выкинуть несколько деталей. Проследите за моей печаткой, нет возможности пока схему нарисовать.
Да схема бы не помешала, я в электронике не силён потому что то не догоняю. Было бы не плохо взять ту старую схему и к ней пририсовать все допы с инициалами в Paintе например что в винде есть. Здесь выложить видимо нет возможности потому если найдёте время на яндекс диск так же.
Да вы пишите здесь что нужно выложить, я могу добавить рисунок в статью если нужно. Главное чтобы схема была надежная и проверенная, а выложить не проблема
Вот смотрите Алекс , это моя старая "печатка", она под схему автора без полевика и остальные
детали на месте. Попробуйте сравнить две "печатки", думаю будет понятней - что и куда идёт. https://disk.yandex.ru/i/_FnB6U8tT4bZEg
Сравнил, всё понятно но как полевик цепляется к переменному резистору не понятно, цепей этих на плате нет вашей потому и не понятно.
Нет в схеме переменника, не нужен он. Вот фрагмент схемы, думаю поможет разобраться https://disk.yandex.ru/a/s3ywDD9ZaXt7qQ
Да да да я так и сделал, что бы раскачать IRF3205PBF поставил пару 547 557 здесь всё чётко на днях приедет lm71 будет точь как в вашей плате, убран конденсатор 220 пикушек и 47 к поменян на 200 к больше изменений я не нашёл и продолжим выжимать чувствительность из этой схемы.
Здравствуйте. Где взять нормальный рабочий скейч? Загружаю скейч взятый с сайта разработчика, все загружается но на дисплее ничего не отображается, и нет никакого звука.
Добрый вечер. К сожалению, причин, по которым скетч может не работать - очень много. Начиная от ошибок при сборке схемы и заканчивая нестыковкой версий среды разработки и библиотек. Я советую вам не загружать в этом случае весь скетч целиком, а загружать и тестировать отдельные его части - это универсальный способ чтобы выяснить из-за чего у вас возникает ошибка
Загрузилось сразу, делаю на про мини, связал только экран и ардуино, на экране пока нули ну и при нажатии кнопки загорается надпись балансировка. Заинтересован в данном проекте, по результату отпишусь.
Хорошо, спасибо, будем ждать вашего ответа
У меня такое было, оказался накосячил в схеме, пины перепутал к дисплею, смотрите подключение.
У кого-то заработало? Уже погряз в катушках. Нет чуйки. Максимум это пинцет их нержавейки на 20мм. И перепутано определение металла. Алюминий определяется как ферум, а железо как ноферум. Похоже нужно ставить полевик на ТХ.
Внимательно пересмотрел видео. 10.20 отчётливо виден полевик.
А как вы определили что это именно полевик, а не обычный транзистор?
Там ниже по комментариям видно что Александр и Виталий активно пытались этот проект сделать и у одного из них это вроде получилось. Он обещал отписаться у нас о том, что конкретно в этом проекте нужно изменить чтобы он точно заработал, но до сих пор почему то не отписался
Здравствуйте, Admin-new извините что "потерялся" - совсем времени нет заниматься металлоискателем, тут ещё и телефон украли, а в нем всё что делал "ушло". Учитывая обещание посторался вспомнить всё. Записал видео сегодня, пофоткал плату,очень надеюсь что поможет народу разобраться. Я то специалист не очень, тут главное на мой взгляд катушки одинаковые сделать,конденсаторы СВВ, ну и подобрать под них timer top, чтоб "чуйка" получше была. Ссылка:
https://disk.yandex.ru/d/Nyhc9XE6T8YKOA
Да, спасибо, Александр. Добавил ссылку на ваш файл на яндекс диске в основную статью. Сочувствую по поводу телефона. 15 лет назад у меня тоже телефон крали
Телефон - чёрт с ним, флешки жалко, там все мои схемы, справочники,книги, всё что делал то фоткал, всё "ушло". Короче всё что смог вспомнить, то скинул, надеюсь поможет. Как время появится постараюсь закончить всетки этот мд, ну и поделюсь обязательно, только не скоро это будет боюсь.
Сочувствую, Александр. Хорошо, будем ждать от вас новых материалов
В скече поменяйте Алюминий и ферум местами и будет правильно показывать, у меня с одним подстрочником также было.
Проще в скетче прописать
{
Serial.print(" Non-ferrous");
lcd.setCursor(0, 0);
lcd.print("Tsvetnoi ");
}
else
{
Serial.print(" Ferrous");
lcd.setCursor(0, 0);
lcd.print("Jelezo ");
}
Так понятнее будет ))
Судя по его работе он очень напомнил самый простой металлоискатель, кстати абсолютно со схожими характеристиками - Металлоискатель на срывах синхронизации «Бабочка»
Я тоже как то подумывал прицепить (к парочке (или 4) таких металлоискателей рядом ардуинку, но кто то уже прицепил.
А так я думаю схема с одним принципом - определение разностной частоты. Понижается или повышается в зависимости от металла. Бабочка работает только по звуку, но конечно несравненно проще.
Правда с настройкой там таже самая сложность подобрать максимальные параметры.
Здравствуйте, если брать схему автора, то только люки канализационные под листьями искать и то ТХ не верно подключена. У меня на сегодняшний день 5 коп. СССР - 20 см., на катушках DD 170 мм. с экранами, металл определяет точно. Но я ещё не настраивал нормально, возможно и лучше "чуйка" будет. Спалил "ослика", а без него не настроишь.
Admin-new я всё помню, обязательно будет подробное описание и окончательная схема. На полпути не хочу, полностью настрою, во всём убежусь и тогда скину весь материал с фотками подробными.
Хорошо, Александр. Я жду. Надеюсь у вас все таки получится довести данный проект до ума
Здравствуйте admin-new, в комментах было бы очень много строк нашего общения с Александром.
В итоге у нас все получилось, фото и видео работы предоставим )), но после когда реально все доделаем...
Лично мои испытания сегодня, я мотал 0,75 провод, 110мм катушка, 63 витка, кондеры 470nf, были протестированы несколько операционников, зашел у обоих только этот TL071, на параметре #define TIMER1_TOP (255) золотое кольцо 7,5 грамм 12 сантиметров ловит, пассатижи 25 см, маленькая катушка с оловом 19см, метал определяет правильно.
После в программе были отключены 2 параметра связанные с USB и подбирался параметр #define TIMER1_TOP (249).
Максимальный итог моих катушек:
золотое кольцо 7,5 грамм 13.5 сантиметров ловит, пассатижи 27см, маленькая катушка с оловом 22.5см, банка из под выпитого пива )) 47см.
Не правильно я написал ), предоставим не фото и видео работы, а полную инструкцию по сборке....
Конечно еще к вам лично просьба admin-new, добавьте на сайт мини чат (самый простой), и разрешите исправлять свои комментарии, иногда нажимаешь на кнопку отправить и вспоминаешь еще много чего... А добавить уже нельзя =(
Буду признателен если пришлете свою инструкцию по сборке, я ее с радостью опубликую и укажу что вы авторы. Вместо мини чата тогда уж лучше добавить форум сразу, хотя, может быть, и мини чат на первых порах подойдет. Но посещаемость сайта пока сравнительно небольшая для того чтобы мини чат или форум были востребованы. Пока вы первые кто обратился ко мне с такой просьбой. Подумать над этим немного нужно.
По поводу возможности изменения своих комментариев - зарегистрируйтесь на сайте и скажите ник, под которым зарегистрировались. Тогда я перенесу вас в группу, для которой есть возможность изменения комментариев. Возможность изменения комментариев гостями сайтами, то есть теми, кто оставляет комментарии без регистрации, заблокирована движком сайта в целях борьбы со спамом - а его реально очень много, каждый день сайт атакуют спамеры
Да, процесс идёт потихоньку. У меня очередной эксперимент. Всё опишем и напишем, только ждите господа.
Хорошо, с нетерпением ждем. ))
Здравствуйте, возникло желание сделать данный аппарат)). У вас уже есть схема данного прибора? Просто собрал ту что на сайте и ничего не вышло(все что в комментах написали учтено). Если есть пожалуйста скиньте очень пригодилось бы.)))
Здравствуйте, зайдите на технодиум, я там описывал всё.
Admin-new вы извините что пропали. У меня кот сбросил плату и ардуино коротнуло, теперь новый жду,как дела с прибором у Виталия не знаю.
Да ничего страшного, проблемы у всех бывают. Я жду ))
Можете пожалуйста ссылку на форум кинуть, извините, но на поиск «технодиум» вылетают всякие криптовалюты)
Ну, видимо, криптовалюты скоро поработят современный мир ))
Добрый вечер, тут вы правы - без "выхода а сеть" вообще ничего человек не сможет, к этому всё идёт.
А все, уже нашёл форум. Спасибо большое за предоставленную помощь)
Доброго времени суток, хотел бы сказать для тех кто будет повторять данный МД - если ставить TL081 она работать не будет(у меня работала "криво") потому что у неё мин. питание 8 вольт, а если следовать схеме автора, то с ардуино выходит только 5 вольт(можно попробовать + взять напрямую от батареи, но я так не успел попробовать сделать) . Катушки нужно настраивать(подбирать конденсатор контурный) на частоту вых. с ардуино, а вот частота настраивается изменением #define Timer TOP (.....). Частоты как писал автор 7,64 кГц - нет, есть либо 7,63 кГц, либо 7,66 кГц. Я выставлял 7,60 кГц ровно и под неё настраивал контуры катушек. Собирал генератор, на вход катушку, на выход частотометр и подбором параллельно катушке конденсатора добивался показаний на частотометр нужной мне частоты контура, потом естественно нужно "свести" катушки - добиться "0", как-то так.
Добрый вечер. Так какое значение вы подставили в #define Timer TOP (....)?
Добрый вечер, когда ещё работал прибор было (262) - это частота 7,60 кГц ровно. (261) - 7,63 кГц, а (260) - 7,66 кГц. Вы не думайте, что память феноменальная, просто у меня всё записано. Насколько знаю, так же было и у Виталия. Пытался Виталий задавать автору вопросы, но или молчит, или строго придерживается того что в статье, "мутный" он, вы уж извините, но так и есть. Я только дождусь ардуино и продолжу дальше эксперименты. В планах сделать с "полевиком", уже и плата готова, катушки намотаны. Человек делал и всё получилось(он же и предложил эту схему доработки).
Хотел добавить - частота измеряется на передающей катушке - TX(когда измеряем, мы видим не частоту контура, а ту частоту, что с ардуино выходит) Если кто-то думает, что можно намотать катушки, параллельно конденсатор и всё, то это не так. Нужно подобрать конденсаторы (с помощью генератора, во всяком случае я так делаю) и настроить два одинаковых контура - TX и RX, тогда у вас (если не ошиблись в монтаже) - всё получится.
От админа: хорошо, спасибо за советы
(262) - это частота 7,60 кГц ровно. (261) - 7,63 кГц Как рассчитывается? Частота с ардуино выходит у меня 7.692 KHz до 7.700 KHz. Я знаю резонансную частоту своей катушки как мне перевести её в эти цифры?
Да мне тоже кажется что автор сее чудо что-то утаивает.
Не понимаю как рассчитать этот параметр?
#define TIMER1_TOP (259)
259 это микросекунды или что это))?
Александр, а вы катушку TX припаивали к подстрочнику и к резистору на D5 ардуинки, или на мимус и через резистор на D5 ардуинки?
Один конец TX на рез. 1к, второй на подстроечный резистор, а параллельно конденсатор. Я помечал на катушка направление намотки, начало и конец - пробовал разные комбинации, всю ночь возился - выходит одно и тоже. Подключал как на схеме автора - так вообще не работает, как у вас - циферки бегут не понятные. Я думаю что проблема в скетче, что-то там не то.
На сайте автора в коментах, есть вопрос о ошибке в скетче - автор обещал исправить, вот и сомнения у меня - он исправил или нет?
Да я тоже вчера весь вечер и так и сяк крутил вертел эти катушки.
Мне тоже кажется косяк в скече и не один. Потому что один косяк я нашёл исправил, но больно ничего не поменялось. И я не понимаю как высчитать параметр #define TIMER1_TOP (259), от куда берутся цыфры?
Для меня это все вообще другое измерение, я на форуме технодиум поднял тему - есть советы, и не один, а толку - ну, как я возьму шнурок и проверю инициализацию если я дубовый в этом совсем? Может, если есть желание, сами глянете? Вы в этом хоть разбираетесь.
Мне хоть и 31 год)), но я сейчас учусь на 3 курсе в ННГУ на программиста, но и для меня половину кода пока загадка, на работе есть все необходимые приборы, но на работе времени последнее время нету.
Дома пытаюсь разобратся в коде, половину цифр вообще не понимаю от куда взяты))
Может это видео и статья для сбора подписчиков,а мы мучаемся, все может быть. Попробую в субботу ещё посмотреть, поменяю оу на tl071 (стоит Lm741) и катушки намотаю другие, может получится что-то.
Кстати Виталий, на форуме есть металлоискатель на ардуино, разработанный нашими парнями - Квант зовётся. Рабочий, и результаты работы хорошие.
Александр спасибо посмотрю Квант.
Код на сайте который написан на форуме имеет запятые, поэтому он выдает ошибку, который скачивается файлом исправлен, я проверил оба кода идентичны. Спросил автора что у меня видит металл только на 2 сантиметра.
Его ответ в переводе:
Самое главное - установить катушки на точное расстояние, которое определяется экспериментально. Я также получил значение 259 экспериментальным путем, увеличивая или уменьшая #define TIMER1_TOP с шагом 2, до момента, когда я получил наибольшее расстояние.
Сегодня с 5 вечера опять крутил, вертел катушки и начал с 230 и прибавлял по 2 до значения 280, максимально 5~7 сантиметров на значении 256 (искал здоровые пассатижи).
Не знаю попробовать если только вывести осциллографом точные 7,64 кГц, потому-что программа мне кажется это все очень грубо )))
Но все-же мне кажется автор что-то скрывает...
Александр. Что-то я не нашел металлоискателя квант ((
Вы его и не найдёте, на Технодиум зайдите(форум объединённый). Там в разделе - металлоискатели - МD KVANT
Нашел, я видел когда-то эту схему )), но там только катушка Garrett стоит как полноценный металлоискатель c дискриминацией в магазине, у нас по крайней мере видел такие))
Сейчас решил замерить сопротивление, вчера было 1,2ом на обеих, а сейчас на одной катушки 2.5ом, буду перематывать и цеплять к осцилографу, без него в слепую бесполезно что-то ковырять, вертеть и настраивать...
Буду ждать времени свободного на работе, все-таки хочется добить этот проект =)
Тут копался в просторах интернета и нашел прототип схемы
извините пожалуйста за ссылку
https://raw.githubusercontent.com/dc42/arduino/master/MetalDetector/Schematic.jpg
вроде все идентично, но при сборке схемы я использовал 47пF, 22пF, а оказывается nF омг...
Но сегодня добился чуйки до 10 сантиметров, только не D формой, а двумя кругами. И нашел в столе сломанный мультиметр с функцией измерения частоты, отремонтировал и он мне показал без подключенного экрана 7.658 кГц, с экраном 8.191.
Поеду на радиорынок завтра и куплю другие конденсаторы, посмотрим что будет. )))
Александр, а у вас какие стоят конденсаторы?
Стоят 330n,подбирал одинаковые - "плёнка".Может давайте спишемся по электронной почте?
Да можете общаться здесь, я не против. Я думаю другим посетителям сайта, которые захотят собрать данный металлоискатель, будет интересен ваш опыт. И если по конкретным строкам программы у вас есть вопросы, можете задавать их здесь. Я попробую помочь в их объяснении насколько смогу
Александр casper@52.ru
admin-new спасибо если что-то будет не понятно напишу ))
Виталий, на нашем сайте есть подробная статья про таймеры Ардуино для начинающих, также могу привести примеры статей по микроконтроллерам AVR, в которых приведены примеры как используются эти таймеры. Просто автор проекта достаточно большую часть кода написал используя команды для микроконтроллеров AVR
Спасибо вам Виталий за помощь и объяснения, только я всё равно не разбираюсь - я элекромонтер, а радиолюбитель для души. Получится -
пишите.
Было бы хорошо если бы у вас можно было выкладывать фото.
Вы можете на яндекс диск его загрузить, а здесь ссылку написать на него. Если у вас получилось все таки этот металлоискатель сделать, то могу ваши фото в основной текст статьи выложить, если у вас есть такое желание. И если видео его работы снимете, то также могу его прикрепить к основному тексту статьи
Здравствуйте.
Ну что вызов принят ), понадобился такой металлоискатель который разделяет металлы и я нечаянно наткнулся на вашу статью.
Вот только есть конечно несколько вопросов, не понятно как подключен экран и почему у автора 7.64 кГц = 249 мск, когда в пересчете получается 130 мск?
И к сожалению нету осцилографа чтобы померить резонансную частоту.
И еще у нас в городе проблема с 0,5 мм2 медью, уж очень дорого продают, буду использовать витую пару.
Добрый вечер. Хорошо, что вы приняли вызов, но просьба не заниматься больше спамом
Извините пожалуйста, писал с мобильника получилось написать комментарий только с 4го раза, а оказалось написал два раза.
Видимо поэтому плагин для борьбы со спамом помечал ваши сообщения как спам. К сожалению, из-за этих неуёмных спамеров иногда страдают и обычные пользователи. Когда хоть человечество придумает технологию как уничтожить всех этих спамеров раз и на корню ))
Здравствуйте, у меня сборка потихоньку идёт. Печатная плата готова, ардуино настроили. Времени только нет заниматься. Насчёт провода - я брал катушку с магнитного пускателя ПМЕ второй величины ф. 0.5 мм. и наматывал. Боюсь, что ошибся, позже проверил и получается, что если верить автору, то нужно 0.5 мм. квадратных, а это провод диаметром 0.8 мм.Я думаю, что можно любой провод взять и диаметр катушек тоже, нужно чтобы контур был 7,64 кГц тогда должно всё работать. Попробую на неделе поэкспериментировать.
Попробовал посчитать и вот что вышло - диаметр катушки 110 мм., число витков 64, провод 0.8 мм. - получилось - индуктивность - 926.572мкГн, частота 7.627кГц. Выходит автор не соврал почти, частоту точно можно подогнать конденсатором.Попробую другой диаметр провода и катушки.
Добрый вечер, посчитал я себе катушки и вот что вышло :
150 мм. диаметр, 0,316 мм. диаметр провода, 75 витков - получается : индуктивность 1312.56 мкГн, 330 n конденсатор, частота 7,647 КГц, это в теории. Намотаю, всё доделаю и проверю на практике.
Я конечно частоту ещё не проверял, да и нечем пока)), но попробовал все подключить и подать питание, дисплей моргает и больше никакой реакции. 3 раза проверил схему и подключение. Некоторые элементы на схеме пришлось брать аналоги, других в городе не нашёл. Вот теперь ломаю голову что пошло не так
А вы когда провод брали 0.5мм вы смогли частоту нужную поймать? У меня в городе если покупать 0.8 очень дорого выходит (((, я пытаюсь наматывать провод от витой пары, но точно его у меня не получается рассчитать сколько надо в идеале намотать ((
Я пока плату сделал, нужно ещё соединить с дисплеем,катушки намотать и буду пробовать. Друг, что ардуино настраивал сказал - 50 на 50, что будет работать. Может всякое быть, не доверяет прошивке в общем. Я считал в колькуляторе - Coil32, скачивал приложение в Play market на андроид, поэтому и писал, что в теории. Попробуйте сами, там не сложно вроде.
Интересная программа спасибо))
А как вы посчитали мГц?))
1017.726 мкГн
2. 049 Ом
Тьфу кГц)))
Выбираю - катушка однослойная - индуктивность - и все указываю, что мне нужно диам. намотки, диам. провода, частота. Вверху, где ключик менял единицы измерения с МГц на кГц и всё. Справа расчёт контура - под индуктивность катушки можно подобрать конденсатор чтобы частота была нужная как-то так
Решил я проблему с моргающим дисплеем, перемотал катушки получилось 65 витков диаметр 110мм проводом 0,5 с изоляцией 0,93.
Сопротивление с программой сошлось, получилось 918,561 мкГн и 7,66 кГц.
Все подключил увел подстрочник чтобы было 0, но рано радовался )), катушка ничего не видит. При калибровке бегают непонятные цифры.
Возможно не подходит провод от витой пары, может как то сказываются аналоги на плате, не знаю )).
Спикер тоже молчит.
Единственное что работает это контраст дисплея.
Надеюсь у вас заработает хорошо )
Буду разбираться
У меня всё на работе, завтра попробую если время будет. По результату отпишусь. Тут понимаете не получается бывает, всё проверяешь сто раз, а потом полежит, полежит - глянешь и видно в чем проблема,было частенько такое. Не расстраивайтесь.
Ура все заработало!
В схеме ошибка!
В схеме с D5 идет на резистор 1к далее идет на катушку ТХ и на конденсатор 470nF, так вот конденсатор надо цеплять не на массу, а на первую ногу подстрочника RV 100R.
Всетаки провод от витой пары не подходит, очень маленькая чуйка, но метал определяет правильно!
Ура!
Ну вы тут целую дискуссию развернули. )) Но спасибо что отписываетесь о своих успехах и неудачах - надеюсь это поможет другим пользователям, которые решатся собрать данный металлоискатель
Ну что же хех)), нашёл я проволоку 0.8мм, намотал 64 витка, все сделал как написано. Прежде решил попробовать подключить без экрана, чуйка оказалось такой-же как и с использованием витой пары всего пару сантиметров от катушки. Я был в шоке ((, после решил сделать экраны как на видео. К сожалению чуйка пропала совсем...
Что я только не пробовал, просидел часов 6, так ничего путного не получилось (((
Мне не удалось поднять чуйку дальше 2 сантиметров от катушки.
Я сейчас занимаюсь, по результатам отпишусь. Осталось только питание подать. Почти всё готово, в течении пулучаса будет результат или работает, или нет.
На дисплее только подсветка горит, чуйка ещё меньше - пищит почём зря. На TX (передающяя) частота 7,68 кГц, хоть это хорошо, буду дальше ковырять.
Ничего не получается, дисплей заработал(провод не припаял), у Виталия хоть тип металла определяется, а у меня что алюминиевая пластина, что железо всё пишет на дисплее одинаково. Неужели если частота не 7,64 а 7,68 не будет работать? Больше вариантов нет, или автор что-то не договаривает? Хотя, как его поймёшь, он не по русски объясняет, ладно, будем думать.
Ну что же вызов принят)) я тоже попробую сделать данный девайс, единственное не понятно как подключается контур и не понятно как сделать сдвиг по фазе к нулю, от чего отталкиваться?
Ну будем ждать что у вас получится )). Про подключение контура вроде бы все понятно по схеме
Как только придёт ардуино и дисплей начну собирать, у нас приходит где-то за месяц. Ардуино обещал друг из КИПа настроить, он умеет. Как будут результаты отпишусь, фотографировать буду в течении сборки.
Хорошо, успехов. Будем ждать
То есть вы сами не собирали эту схему? На фото транзистор не видно, катушки при диаметре 11см. как-то великовато выглядят
Нет, не собирал. Я ведь эту статью только недавно на сайт добавил. Возможно, позже с моими студентами мы попробуем ее собрать. На сайт добавляется достаточно много статей и мы со студентами, конечно, не успеваем их просто физически все собирать, только часть из них. Но все статьи я перевожу с хороших англоязычных источников, с имеющимися положительными отзывами об этих проектах.
Да, на фото транзистора не видно, но, может быть, фото не совсем удачное. А у катушек может быть не диаметр, а радиус равен 11 см, я на исходнике не совсем понял какой размер имел ввиду автор проекта. К сожалению, иногда бывают некоторые трудности перевода с английского когда саму статью на английском писал человек, для которого английский не является родным языком. В этом случае он может употреблять не общепринятые слова для обозначения каких либо объектов
Ардуино и дисплей ещё не пришёл, всё остальное есть. Попробую собрать, я думаю все таки радиус 11см. у катушек. Буду пробовать и те (уже намотал) и 22см.
Буду признателен если отпишитесь потом здесь об успехах сборки этого проекта. Могу в статье даже ваши фото и видео собранного проекта опубликовать (с указанием вашего авторства), если хотите