Импульсный металлоискатель ПИРАТ-4.

 Главная страница              Ст Был сделан в развитие серии микроконтроллерных версий металлоискателя Пират.

Здесь я решил применить миниатюрную [отладочную] плату Digispark.

Digispark - маленькая, с пятак, отладочная плата с микроконтроллером Attiny85:

 

  В основном , схемотехника оригинального Пирата сохранена, только применил пьезоизлучатель вместо динамика

с целью уменьшения энергопотребления.

Первоначально сделал так:

 

 

Потом решил еще уменьшить количество деталей - выбросить отдельный стабилитрон и задействовать встроенный

на плате Digispar'ка стабилитрон 3,6V :

 

 

Преимущества:
По сраввнению с микроконтроллерными Пират-2, Пират-3

1. Не требуется программатор;
2. Не требуется кабель даже;
3. Еще меньше деталей;
4. И световая и звуковая индикация;
5. Широкий диапазон напряжения питания (7...35V)
6. Меньше энергопотребление ( применен пьезоизлучатель)
7. Открытые исходники.

 

Что требуется:

- требуется скачать и установить Arduino IDE c поддержкой Digispark, например здесь: http://sourceforge.net/projects/digistump/files/

-   установить драйверы ( устанавливаются автоматически)

- плату Digispark можно приобрести на Ebay с бесплатной доставкой [из Китая] чуть дороже 100 руб.(по состоянию на ноябрь 2015)

 



Исходное ПО очень простое:


// PI metal detector Pirat-4D version_1_0_0_piezzo (C)alex---1967 2015
unsigned int pulse_time = 128; // продолжительность импульса в микросекундах
unsigned int time_between_pulse = 4; // период следования импульсов в миллисекундах
int i=0;
byte s0 = 0;
int s0_summa = 0;

void setup()
{
pinMode(4, INPUT); // порт P4 настраиваем на вход
pinMode(0, OUTPUT); // порт Р0 - на выход
pinMode(1, OUTPUT); // порт Р1 - на выход
pinMode(2, OUTPUT); // порт р2 - на выход
digitalWrite(4,LOW); // включаем внутренний подтягивающий резистор
}

void loop()
{
digitalWrite(0,HIGH); // открываем ключ (turn on)
delayMicroseconds(pulse_time); // wait
digitalWrite(0,LOW); // закрывааем ключ, прерывая ток в поисковой катушке (turn off - interrupt a circut in a search coil )
for( i=0; i < 128; i++ ) { // 128 раз подряд ...
s0 = digitalRead(4); // читаем порт P4
s0_summa = s0_summa + s0;
}
if (s0_summa > 0) // если хотя бы одно значение было больше нуля...
{
digitalWrite(2,HIGH); // ... то включаем звуковую ...
digitalWrite(1,HIGH); // и световую индикацию
}
delay(time_between_pulse); // пауза между импульсами
digitalWrite(2,LOW); // выключаем звуковую ...
digitalWrite(1,LOW); // ... и световую индикацию
s0_summa = 0; // обнуляем ранее прочитанные значения


Простор для творчества.
К примеру, хочется людям сделать на базе этого МД глубинник. Без проблем.
Для глубинника, как известно, требуется большая катушка и большая длительность импульса.
Берем исходный текст программы, меняем только в первой строке значение pulse_time со 128 на 500 и готово!
Дальше жмем "загрузить", после компиляции втыкаем наш Digispark в разъём USB, прошивка загружается, готово!
Осталось подсоединить большую катушку - и на коп!

В этом я вижу главное удобство этого аппарата - оперативную замену ПО.

Единственно какое неудобство есть - запаянный на плате металлоискателя Digispark не перепрошить, т.к. на занятый уже порт P4 приходят сигнал с USB. Я просто вытаскивал из панельки микросхему TL072 ( выход которой соединен со входом порта P4) и в таком виде перепрошивал Digispark.

  Печатная плата:  http://alex---1967.narod.ru/pirat_4_digispark_ver_2.lay6

Глубина обнаружения - так же , как и для всех приборов этого семейства, сильно зависит от настроек, подбора демпфирующих резисторов, от катушки и кабеля.                           

                                                       

Главная страница                 Страница Всякое-разное                                       

 

слова для поиска  простой металлоискатель на  микроконтроллере  Пират-4  металлоискатель Пират-4

Hosted by uCoz