О сайте Группа в контакте RSS Годограф Volksturm Импульсные металлоискатели IB металлоискатели Пинпоинтеры Другие схемы Заказать Конструкции металлоискателей Полезные ссылки

Схемы металлоискателей MD4U

Сборка, настройка, обсуждение, теория и практика построения металлоискателей.
Текущее время: Пт: 29 мар 2024 3:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему
 [ Сообщений: 613 ]  На страницу 1, 2, 3, 4, 5 ... 25  След.
Автор Сообщение
 Заголовок сообщения: Магнитометр на микроконтроллере
СообщениеДобавлено: Вс: 11 мар 2012 16:59 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Покопавшись в инете и посмотрев цены на магнитометры решил сделать его своими руками. Начинается полевой сезон аппарат нужен для археологии..
Схема несложная. Из деталей контролер, две микросхемы памяти на 512, микросхема сом порта, (дополнительно драйвер USB порта) операционный усилитель дисплей, два самодельных датчика на HMC1021S Linear Sensor, + GPS модуль, как опция.. вот и все.
Программу для обработки данных переделал под себя брал с английского сайта. понимает текстовые и exel файлы.
Пришлось написать программку обмена данными компа с устройством., и прошивку к контроллеру..
Прототип сделал, работает ... Юстировку датчиков еще не делал.. Собираюсь собрать все на чистовую тогда буду заниматься настройкой. Выложу схему и фото прибора... видео о работе...


Вернуться к началу
 Профиль  
 


Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вс: 11 мар 2012 20:04 
Не в сети

Зарегистрирован: Пт: 04 фев 2011 21:48
Сообщения: 998
Ништяк! А прошивку?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вс: 11 мар 2012 22:21 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Как только отлажу выложу и прошивку (демку для теста) и схему и плату....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вс: 11 мар 2012 22:41 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 21 дек 2011 15:19
Сообщения: 104
Откуда: г. Лебедин, Сумская обл. Украина
Здравствуйте!
А Ваш магнитометр пустоты будет видеть? Конечно и не пустоты на большой глубине :D Очень хочется сделать такой прибор!
Успехов и удачи!

_________________
Во всем мне хочется дойти до самой сути,
В работе, поиске... (Борис Пастернак)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Пн: 12 мар 2012 10:44 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Делал специально для этого, фундаменты, пустоты, могильники, нужен для археологии.. Испытания буду делать когда растает снег.. Так, на вскидку, чувствительность хорошая. Но нужны испытания на поле...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Пн: 12 мар 2012 12:02 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 21 дек 2011 15:19
Сообщения: 104
Откуда: г. Лебедин, Сумская обл. Украина
А можно посмотреть на схему, пусть будет сырая! Очень любопытно! В особенности датчик, входа. Это лично для себя, без всякой критики (здесь любят собой кичиться...). Хочу сделать себе полный комплект приборов.
Эта тема для меня нова, хочу узначь что и как. Мой email есть в профиле.
Не пришлете, не обижусь. С уважением и успехов!

_________________
Во всем мне хочется дойти до самой сути,
В работе, поиске... (Борис Пастернак)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Пн: 12 мар 2012 19:08 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Пока привожу все в порядок вот на обсуждение схема дата логера и исходник


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 13 мар 2012 19:12 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 21 дек 2011 15:19
Сообщения: 104
Откуда: г. Лебедин, Сумская обл. Украина
Спасибо за схему! Сейчас читаю теорию.Непоследнюю роль в устройстве играют датчики. А какие у Вас они, как Вы их сделали.
С уважением и успехов!

_________________
Во всем мне хочется дойти до самой сути,
В работе, поиске... (Борис Пастернак)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 13 мар 2012 19:39 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Сейчас экспериментирую с датчиками на основе магниторезисторов на основе KMZ чувствительность хорошая но нужно откалибровать в поле, так как в городе много металла. и электрических помех. Посоветовали еше датчики FGM-3, правда приедут в апреле..сегодня подключил модуль GPS EM-411 координаты пишет и запоминает, решил вместо ером, подключить флешку, правда лень переписывать прошивку.

Схемку прилагаю если кому интересно


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 13 мар 2012 20:59 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Вот еще решение

/*
------------------------------------------------------------------------------------
PIC16F877A + MMC voice recored (no file system)
------------------------------------------------------------------------------------
COMPILER: HI-TECH C , TARGET uC PIC16F877A
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
*/
#include<pic.h>
#define _XTAL_FREQ 20e6
__CONFIG(0x3F3A);
#define CS RC2
#define RS RB2
#define EN RB1
#define fst cmd(0x80)
#define snd cmd(0xc0)
unsigned char readdata, u;
unsigned int count;
unsigned long int arg = 0;
/*-----------------LCD BEGIN------------------------------*/
void LCD_STROBE(void)
{
EN = 1;
__delay_us(0.5);
EN = 0;
}

void data(unsigned char c)
{
RS = 1;
__delay_us(40);
PORTD = (c >> 4);
LCD_STROBE();
PORTD = (c);
LCD_STROBE();
}

void cmd(unsigned char c)
{
RS = 0;
__delay_us(40);
PORTD = (c >> 4);
LCD_STROBE();
PORTD = (c);
LCD_STROBE();
}

void clear(void)
{
cmd(0x01);
__delay_ms(2);
}

void lcd_init()
{
__delay_ms(20);
cmd(0x30);
__delay_ms(1);
cmd(0x30);
__delay_ms(1);
cmd(0x30);
cmd(0x28); // Function set (4-bit interface, 2 lines, 5*7Pixels)
cmd(0x28); // Function set (4-bit interface, 2 lines, 5*7Pixels)
cmd(0x28); // Function set (4-bit interface, 2 lines, 5*7Pixels)
cmd(0x0c); // Make cursorinvisible
clear();
clear(); // Clear screen
cmd(0x6); // Set entry Mode
}

void string(const char *q)
{
clear();
while (*q) {
data(*q++);
}
}

void istring(unsigned int q)
{
cmd(0x81);
data(48 + (q / 100));
q %= 100;
data(48 + (q / 10));
q %= 10;
data(48 + (q));
__delay_ms(500);
}

/*-----------------------LCD END------------------------*/
/*-----------------------USRT BEGIN--------------------*/
void usrt_init()
{
TRISC6 = 0;
TXSTA = 0b00100110;
RCSTA = 0b11010000;
SPBRG = 10;
}

void printf(const char *p)
{
while (*p) {
TXREG = *p;
while (TRMT == 0);
p++;
}
}

void txd(unsigned char vv)
{
TXREG = vv;
while (TRMT == 0);
}

/*-----------------------USRT END-----------------------*/
/*----------------------PWM BEGINS--------------------*/
void pwm_init()
{
TRISC1 = 0;
T2CKPS1 = 0;
T2CKPS0 = 0;
PR2 = 0x50;
CCPR2L = 0x17;
TMR2ON = 1;
CCP2CON = 0b00001100;
}

void pwm_disable()
{
CCP2CON = 0b00000000;
}

void pwm_enable()
{
CCP2CON = 0b00001100;
}

/*--------------------PWM END-------------------------*/
/*-------------------MMC BEGIN-----------------------*/
void spi_init()
{
TRISC4 = 1;
RC2 = 1;
RC3 = 0;
RC5 = 0;
TRISC2 = TRISC3 = TRISC5 = 0;
SSPCON = 0b00100010;
SSPEN = 1;
SMP = 1;
CKE = 1;
CKP = 0;
}

void spi_write(unsigned char kk)
{
SSPBUF = kk;
while (BF == 0);
}

void spi_read()
{
SSPBUF = 0xff;
while (BF == 0);
readdata = SSPBUF;
}

void command(char command, unsigned long int fourbyte_arg, char CRCbits)
{
spi_write(0xff);
spi_write(0b01000000 | command);
spi_write((unsigned char) (fourbyte_arg >> 24));
spi_write((unsigned char) (fourbyte_arg >> 16));
spi_write((unsigned char) (fourbyte_arg >> 8));
spi_write((unsigned char) fourbyte_arg);
spi_write(CRCbits);
spi_read();
}

void mmc_init()
{
CS = 1;
for (u = 0; u < 50; u++) {
spi_write(0xff);
}
CS = 0;
__delay_ms(1);
command(0, 0, 0x95);
count = 0;
while ((readdata != 1) && (count < 1000)) {
spi_read();
count++;
}
if (count >= 1000) {
string("CARD ERROR-CMD0 ");
while (1);
}
command(1, 0, 0xff);
count = 0;
while ((readdata != 0) && (count < 1000)) {
command(1, 0, 0xff);
spi_read();
count++;
}
if (count >= 1000) {
string("CARD ERROR-CMD1 ");
while (1);
}
command(16, 512, 0xff);
count = 0;
while ((readdata != 0) && (count < 1000)) {
spi_read();
count++;
}
if (count >= 1000) {
string("CARD ERROR-CMD16");
while (1);
}
string("MMC INITIALIZED!");
__delay_ms(1000);
SSPCON = SSPCON & 0b11111101;
}

void write()
{
pwm_disable();
command(25, arg, 0xff);
while (readdata != 0) {
spi_read();
string("WRITE ERROR");
}
string("WRITING MMC");
while (1) {
spi_write(0xff);
spi_write(0xff);
spi_write(0b11111100);
for (int g = 0; g < 512; g++) {
GO = 1;
while (GO);
spi_write(ADRESL);
PORTD = ~ADRESL;
}
spi_write(0xff);
spi_write(0xff);
spi_read();
while ((readdata & 0b00011111) != 0x05) {
spi_read();
}
while (readdata != 0xff) {
spi_read();
}
if (RE0 == 1) {
spi_write(0xff);
spi_write(0xff);
spi_write(0b11111101); //stop token
spi_read();
spi_read();
while (readdata != 0xff) {
spi_read();
}
break;
}
}
}

void read()
{
pwm_enable();
command(18, (arg), 0xff);
while (readdata != 0) {
spi_read();
string("READ ERROR");
}
string("READING MMC");
while (1) {
while (readdata != 0xfe) {
spi_read();
}
for (int g = 0; g < 512; g++) {
spi_read();
__delay_us(16.5);
CCPR2L = readdata;
PORTD = ~readdata;
}
spi_write(0xff);
spi_write(0xff);
if (RE0 == 1) {
command(12, arg, 0xff);
spi_read();
while (readdata != 0) {
spi_read();
}
while (readdata != 0xff) {
spi_read();
}
break;
}
}
}

/*--------------------mmc end----------------------*/
/*-----------------ADC functions-------------------*/
void adc_init()
{
TRISA0 = 1;
ADCON0 = 0b10000001;
ADCON1 = 0b10001110;
}

/*-------------------main function-------------------*/
main()
{
CS = 1;
PORTD = 0;
TRISC4 = 0;
TRISC5 = 0;
TRISD = 0;
TRISB2 = 0;
TRISB1 = 0;
TRISE0 = 1;
lcd_init();
adc_init();
usrt_init();
spi_init();
mmc_init();
pwm_init();
lcd_init();
count = 0;
CS = 0;
arg = 0;
while (1) {
arg = 0;
fst;
pwm_enable();
string("READ MODE");
__delay_ms(1000);
read();
arg = 0;
fst;
pwm_disable();
string("WRITE MODE");
__delay_ms(1000);
write();
}
}
}


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Ср: 14 мар 2012 0:11 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 21 дек 2011 15:19
Сообщения: 104
Откуда: г. Лебедин, Сумская обл. Украина
Это у нас , 20 минут и в поле, или в дремучем лесу. А в Москве через 20 минут в …… электромагнитном поле :D . Честно, думал. будете делать с банками.. Раз микроконтроллер, то все должно быть на полупроводниках. Я в пиках не силен, мое ATmeg-и. Буду читать теорию, и ждать Вашего результата. Думаю, Вам удастся воплотить задуманное. Обратите внимание, у народа интереса к теме никакого! Думаю это менталитет. Обладающие глубинником, стоят выше чем обладающие только МД-монетником, а монетники стоят в свою очередь выше тех, кто просто роет металлолом.
Удачи и успехов!

_________________
Во всем мне хочется дойти до самой сути,
В работе, поиске... (Борис Пастернак)


Вернуться к началу
 Профиль  
 
В сети

Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Ср: 14 мар 2012 0:49 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 25 мар 2009 16:13
Сообщения: 1097
Откуда: Ukraine, Полтава
Интерес то к теме есть. Но пока нет конструкции обсуждать нечего. Кроме того, что решение с карточкой очень правильное - сейчас они доступны на огромные объемы. Вот только с файловой системой гемор еще тот..
Остается одно - пожелать удачи и ждать результатов исследования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Ср: 14 мар 2012 6:29 
Не в сети

Зарегистрирован: Пт: 04 фев 2011 21:48
Сообщения: 998
Вы не забудьте про юстировку самих датчиков написать. Если будет конечно писательское настроение. А то скользкая тема.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Ср: 14 мар 2012 10:25 
Ну почему это интереса нет?И менталитет у нас нормальный.Я эксперементировал с датчиками KMZ.Чуйки у них хватает.Да и для коррекции у них внутри есть специальная катушка,в отличии от KMZ10 для коррекции которого необходимо дополнительная катушка.Внутри KMZ51 присутствует и катушка для снятия остаточной намагничености.Если честно,то завидую белой завистью,тем кто разбирается в контроллерах,процессорах и програмировании.Для меня это темный и дремучий лес.Так,что желаю искренно успеха в постройке прибора.С ув.


Вернуться к началу
  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Пн: 19 мар 2012 20:59 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Вот схема подключения датчиков на основе KMZ. проверена работает.

В данном МЭУ используется двухкоординатный ориентационный магнитный датчик, который содержит два моста типа KMZ10.
Мосты располагаются перпендикулярно друг другу и закрепляются внутри одной катушки смещения.
Катушка смещения содержит 100 витков медного провода диаметром 0,35 мм.
Сопротивление катушки постоянному току составляет 0,6 Ом, индуктивность - 87 мкГн, напряженность осевого магнитного поля - 8,3 (кА/м)/А.
Принципиальная электрическая схема устройства приведена на рис. 2.
Принцип действия магнитоэлектронного устройства достаточно прост.
Генератор прямоугольных импульсов выполнен на микросхемах DD4.1, DD4.2, DD3, DD4.3, DD4.4, DD4.5, DD4.6 и транзисторах VT1, VT2. Напряжение с выхода генератора через разделительный конденсатор С7 и резистор R15 подается на катушку смещения L1 (рис. 2).
Частота следования импульсов составляет -70 Гц.
Переменные напряжения Ux и Uy c магниторезисторных мостов R1 и R2 через дифференцирующиецепи C1, R3 и С2, R9 поступают на операционные усилители DA1.1 и DA1.2, а после усиления на два синхронных демодулятора DD1, DD2, которые генерируют выходные сигналы Uвых X и Uвых Y, пропорциональные компонентам X и Y магнитного поля.
Магнитоэлектронное устройство может быть использовано для построения электронного компаса.
Приведенная электронная схема не нуждается в специальной температурной коррекции, поскольку определение вектора направления поля связано с отношением двух сигналов, а не с их абсолютными величинами.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 20 мар 2012 14:59 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Ну вот дело дошло до чистовой печатки, решил все же сделать одностороннюю плату (с двусторонней много возни) хотя в LEY она у меня есть. завтра протравлю выставлю уже с напаянными деталями. Правда этот вариант еще с EEROM, с флешкой будет следующий...


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 20 мар 2012 17:23 
Не в сети
Аватара пользователя

Зарегистрирован: Пн: 14 июн 2010 17:57
Сообщения: 108
Откуда: славянск-на-кубани
можете подсказать что это датчик холла или Магниторезистор


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 20 мар 2012 17:53 
gafner2289 писал(а):
можете подсказать что это датчик холла или Магниторезистор

Такие по виду не встречались.Попробуйте проверить приборами.Если меняется сопротивление- наверное резистор,если напряжение(ток)-датчик холла.


Вернуться к началу
  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 20 мар 2012 18:14 
Не в сети
Аватара пользователя

Зарегистрирован: Пн: 14 июн 2010 17:57
Сообщения: 108
Откуда: славянск-на-кубани
а насколько должно манятся сопротивление, у меня при поднесении магнита меняется на 3 ома


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 20 мар 2012 20:30 
gafner2289 писал(а):
а насколько должно манятся сопротивление, у меня при поднесении магнита меняется на 3 ома

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


Вернуться к началу
  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 20 мар 2012 21:21 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Откуда они были извлечены...? если автомобильные то это датчик Холла еще похожие применялись в магнитофонах катушечных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 20 мар 2012 22:01 
Не в сети
Аватара пользователя

Зарегистрирован: Пн: 14 июн 2010 17:57
Сообщения: 108
Откуда: славянск-на-кубани
стаяли в флопи дискаводах 5 дюймовых в движке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Ср: 21 мар 2012 8:39 
Не в сети

Зарегистрирован: Сб: 06 мар 2010 6:48
Сообщения: 279
Немного о датчиках KMZ http://amel.ua/attachments/016_Magnitor ... tchiki.pdf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Ср: 21 мар 2012 9:03 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 27 фев 2011 20:55
Сообщения: 76
Откуда: Ростовская обл.
Цитата:
стаяли в флопи дискаводах 5 дюймовых в движке

В движках флопи , видеомагнитофонов и т.д. обычно стоят датчики холла количество зависит от к-ва фаз двигателя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магнитометр на микроконтроллере
СообщениеДобавлено: Вт: 27 мар 2012 18:23 
Не в сети
Аватара пользователя

Зарегистрирован: Вс: 16 янв 2011 14:50
Сообщения: 149
Откуда: Москва
Ну вот не прошло и года.... пришлось поболеть....да еще в плате сделал пару ошибок. Придется лепить новую но эта тоже рабочая. Вот выставляю на обозрение, позже покажу прибор в корпусе и с датчиками...


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 613 ]  На страницу 1, 2, 3, 4, 5 ... 25  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: