Мелкие практические вопросы

Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Olegmik93
Прорезались зубы
Сообщения: 247
Зарегистрирован: Вс авг 24, 2014 21:40:11

Re: Мелкие практические вопросы

Сообщение Olegmik93 »

Правда ли что если добавить в хлорное железо перед травлением таблетку гидроперита то процесс травления пройдет быстрее?
Реклама
Аватара пользователя
Андрей Бедов
Друг Кота
Сообщения: 37346
Зарегистрирован: Чт авг 30, 2012 20:24:40
Откуда: Нижний Новгород

Re: Мелкие практические вопросы

Сообщение Андрей Бедов »

Vasilii писал(а):Ага-ага! Они всего-навсего создают магнитное поле! Вот оно и гудит.
Ну тут немного неверно. Магнитное поле "само по себе" гудеть не может. "Гудит" под его влиянием железо сердечника, и иногда – плохо закреплённые витки обмоток (механическое смещение).
Реклама
Аватара пользователя
Иван555
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн сен 01, 2014 19:16:23

Re: Мелкие практические вопросы

Сообщение Иван555 »

Андрей Бедов писал(а):иногда – плохо закреплённые витки обмоток
Ну это он и имел ввиду, я думаю.
Аватара пользователя
Vasilii
Друг Кота
Сообщения: 4469
Зарегистрирован: Чт окт 14, 2010 19:43:23
Откуда: Родом из СССР

Re: Мелкие практические вопросы

Сообщение Vasilii »

Ответ всем: гудит что-то по отношению к чему-то, связанные общим переменным магнитным полем.
1. фрагменты сердечника по отношению друг к другу (чаще всего);
2. фрагменты обмотки ------------ (редко);
3. катушки обмоток по отношению к сердечнику, если не закреплены конечно (сравнительно часто).
Как-то так.
Андрей, ну там-же смайлик стоял, честное слово!
Вообще как-то я задался вопросом: для чего пропитывают обмотки тр-ров и двигателей, ведь они натянуты и закреплены?.
Нашел только один ответ: в переменном магнитном поле и вся обмотка и каждый виток в отдельности испытывают знакопеременные нагрузки. Т.е. трутся друг об друга (пусть и незаметно). Т.о. со временем повреждается изоляция и межвитковая и пр. !
Не мешайте мешать!
С." Ну почему Господь так долго не протянет нам руку помощи? И самое страшное: может быть он протягивает, но мы всё дольше и дольше этого не замечаем?"
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Андрей Бедов
Друг Кота
Сообщения: 37346
Зарегистрирован: Чт авг 30, 2012 20:24:40
Откуда: Нижний Новгород

Re: Мелкие практические вопросы

Сообщение Андрей Бедов »

Да. Для механического скрепления, улучшения качества общей изоляции, и защиты от атмосферной влаги.
Реклама
Аватара пользователя
oleg63m
Друг Кота
Сообщения: 20132
Зарегистрирован: Чт сен 01, 2011 12:53:27
Откуда: ТьмуТаракания. Почетный житель подмостовья
Контактная информация:

Re: Мелкие практические вопросы

Сообщение oleg63m »

ну, раз пошли такие разборки, то гудят в общем наши ушные перепонки, на которые воздействуют звуковые колебаеия воздуха, создаваемые механическими колебаниями пластин сердечника. так что гудим мы сами :))) :))) :)))
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Реклама
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Мелкие практические вопросы

Сообщение СКАЗОЧНИК »

Однако, гудение одного лишь трансформатора в собранном усилителе настолько достало, что пришлось разобрать усилитель, вытащить оба трансформатора (второй для профилактики) и отправить на лакопропитку... Придется недельку посидеть без музыки... и не мучить соседей.
Станислав
Аватара пользователя
oleg63m
Друг Кота
Сообщения: 20132
Зарегистрирован: Чт сен 01, 2011 12:53:27
Откуда: ТьмуТаракания. Почетный житель подмостовья
Контактная информация:

Re: Мелкие практические вопросы

Сообщение oleg63m »

воспользуйся наушниками. :))
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Мелкие практические вопросы

Сообщение СКАЗОЧНИК »

oleg63m писал(а):наушниками
А как же соседи??? Они же ничего не услышат.... :dont_know: :)))
Надеюсь двух раз пропитки хватит, чтобы избавится от дискомфорта. Совет остальным, кто затеет такое мероприятие, делать это в гараже теплом или еще где, т.к. дома все воняет лаком... :facepalm:
Станислав
Аватара пользователя
Иван555
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн сен 01, 2014 19:16:23

Re: Мелкие практические вопросы

Сообщение Иван555 »

СКАЗОЧНИК писал(а): А как же соседи??? Они же ничего не услышат.... :dont_know: :)))
Треск транса для них погромче сделай :)))
Аватара пользователя
oleg63m
Друг Кота
Сообщения: 20132
Зарегистрирован: Чт сен 01, 2011 12:53:27
Откуда: ТьмуТаракания. Почетный житель подмостовья
Контактная информация:

Re: Мелкие практические вопросы

Сообщение oleg63m »

дома все воняет лаком...
надо было цианоакриллатом их клеить. за одно тараканы передохли бы, а соседи взамен отсутствующей музыки посмотрели бы мультики :))) :))) :))) :))) :facepalm:
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Мелкие практические вопросы

Сообщение СКАЗОЧНИК »

:))) :))) :))) :))) :facepalm:
Станислав
wanowar
Родился
Сообщения: 1
Зарегистрирован: Пн дек 22, 2014 19:40:42

Re: Мелкие практические вопросы

Сообщение wanowar »

Не судите строго. Я понимаю что, надоедаю мелочными вопросами, но хотелось подсказки опытных. Сам только начал изучать программирование AVR, пользуюсь CVAVR. Для освоения решил сделать спидометр-одометр с символьным ЖКИ. Вроде бы и работает, но одна малость, при работе МК он постоянно сбрасывается при счете.
Алгоритм: При инициализации считываются данные с EEPROM. По внешнему прерыванию по заднему фронту считываются данные со счетного регистра Т1, и обнуляются данные, производятся арифметические операции, а в основном цикле программы выводятся полученные результаты на ЖКИ.
МК - Мега16 (валялась у меня несколько лет). Подключен к питанию USB напрямую без конденсаторов (пробовал с емкостью в 220мкФ аналогичная ситуация) и индуктивности. RESET подключен к питанию через резистор 10К. Источник внешнего тактирования кварц 12 МГц подключен по даташиту. К ножке INT0 подключен выход датчика Холла SS441 напрямую без токоограничивающего резистора.
После включения считает нормально, но спустя несколько секунд показания сбрасываются. Не могу разобраться в чем причина, то ли в электрической части, то ли в програмной.
Код прилагаю
Спойлер

Код: Выделить всё

#include <mega16.h>
#include <io.h>
#include <delay.h>
#include <eeprom.h>
    #asm
    .equ __lcd_port=0x1B
    #endasm
#include <lcd.h>   // Alphanumeric LCD functions


// Declare your global variables here
eeprom unsigned char circle=215;    // Окружность в см
eeprom unsigned long od_eeprom;          // Хранение одометра 4 байта
eeprom unsigned long service_eeprom;    //
unsigned int speed;            // Скорость х100 м/час
unsigned char cm;                   // Целые сантиметры окружности колеса
unsigned char cm_1;            // переменная для счета в см
unsigned char metric;                    // Целые метры окружности колеса
unsigned long od;                       // Одометр х1 м
unsigned long service;                  // Сервисный одометр х1 м
unsigned char temp;            // временная переменная
unsigned int timer;            // временная для таймера1

// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
timer=TCNT1;                        // Считывание счетного регистра таймера1
TCNT1H=0x00;                // Обнуление счетного регистра таймера1
TCNT1L=0x00;
speed=(long)circle*4220/timer;      // Определение скорости для тактовой частоты 12 MHz

od+=metric;                         // Увеличение одометра в целых метрах
service-=metric;            // Уменьшение сервисного одометра в целых метрах
cm_1+=cm;                // Счетсик в см
if(cm_1>200){                // Проверка на переполнение за 200см (или 2м)
temp=cm_1%200;                // Вычесление остатка свыше 200см
od+=2;                              // Увеличение на 2 метра
service-=2;                //   
cm_1=temp;                // Присоение остатка от 2 метров сетчику в см
}                   

}

// External Interrupt 1 service routine
// Прерывание по отключению питания
interrupt [EXT_INT1] void ext_int1_isr(void)
{
// Place your code here
od_eeprom=od;                // Запись текущих значений в EEPROM
service_eeprom=service;            //

}
// Timer1 overflow interrupt service routine
// Прерывание по переполнению таймера1
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
TCNT1H=0x00;                // Обнуление таймера1
TCNT1L=0x00;
speed=0;                // Скорость 0 км/час
}

void main(void)
{

// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
// Порт A на вывод
DDRA=(1<<DDA7) | (1<<DDA6) | (1<<DDA5) | (1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1) | (1<<DDA0);
// State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
// Порт B на ввод, включение Pull Up резисторов
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
// State: Bit7=P Bit6=P Bit5=P Bit4=P Bit3=P Bit2=P Bit1=P Bit0=P
PORTB=(1<<PORTB7) | (1<<PORTB6) | (1<<PORTB5) | (1<<PORTB4) | (1<<PORTB3) | (1<<PORTB2) | (1<<PORTB1) | (1<<PORTB0);

// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
// Порт C на ввод, включение Pull Up резисторов
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
// State: Bit7=P Bit6=P Bit5=P Bit4=P Bit3=P Bit2=P Bit1=P Bit0=P
PORTC=(1<<PORTC7) | (1<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (1<<PORTC2) | (1<<PORTC1) | (1<<PORTC0);

// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
// Порт D на ввод, включение Pull Up резисторов
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=P Bit6=P Bit5=P Bit4=P Bit3=P Bit2=P Bit1=P Bit0=P
PORTD=(1<<PORTD7) | (1<<PORTD6) | (1<<PORTD5) | (1<<PORTD4) | (1<<PORTD3) | (1<<PORTD2) | (1<<PORTD1) | (1<<PORTD0);

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 11,719 kHz
// Mode: Normal top=0xFFFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer Period: 5,5924 s
// Timer1 Overflow Interrupt: On
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Таймер1 в нормальном режиме с предделителем 1/1024
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (1<<CS12) | (0<<CS11) | (1<<CS10);
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0<<AS2;
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
TCNT2=0x00;
OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (1<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);

// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: Off
// INT2: Off
GICR|=(1<<INT1) | (1<<INT0) | (0<<INT2);
MCUCR=(1<<ISC11) | (0<<ISC10) | (1<<ISC01) | (0<<ISC00);
MCUCSR=(0<<ISC2);
GIFR=(1<<INTF1) | (1<<INTF0) | (0<<INTF2);

// USART initialization
// USART disabled
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

// Analog Comparator initialization
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
SFIOR=(0<<ACME);

// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

// TWI initialization
// TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);


metric=circle/100;        // присвоение целых метров
cm=circle%100;            // присвоение остатка в см
od=od_eeprom;              // Присвоение начального значения
service=service_eeprom;        // **



// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 16
lcd_init(16);
lcd_clear();


// Global enable interrupts
#asm("sei")

while (1)
      {
      // Place your code here 
      // Вывод одометра
      lcd_gotoxy(3,1);
      lcd_putchar(od/100000000|0x30);
      lcd_gotoxy(4,1);
      lcd_putchar((od%100000000)/10000000|0x30);
      lcd_gotoxy(5,1);
      lcd_putchar((od%10000000)/1000000|0x30);
      lcd_gotoxy(6,1);
      lcd_putchar((od%1000000)/100000|0x30);
      lcd_gotoxy(7,1);
      lcd_putchar((od%100000)/10000|0x30);
      lcd_gotoxy(8,1);
      lcd_putchar((od%10000)/1000|0x30);
      lcd_gotoxy(9,1);
      lcd_putchar(0x2E);
      lcd_gotoxy(10,1);
      lcd_putchar((od%1000)/100|0x30);
      lcd_gotoxy(11,1);
      lcd_putchar((od%100)/10|0x30);
      lcd_gotoxy(13,1);
      lcd_putchar(0x6B);
      lcd_gotoxy(14,1);
      lcd_putchar(0x6D);
     
      // Вывод скорости в км/час
      lcd_gotoxy(4,0);
      lcd_putchar((speed%10000)/1000|0x30);
      lcd_gotoxy(5,0);
      lcd_putchar((speed%1000)/100|0x30);
      lcd_gotoxy(6,0);
      lcd_putchar((speed%100)/10|0x30);
      lcd_gotoxy(7,0);
      lcd_putchar(0x2E);
      lcd_gotoxy(8,0);
      lcd_putchar(speed%10|0x30);
      lcd_gotoxy(10,0);
      lcd_putchar(0x6B);
      lcd_gotoxy(11,0);
      lcd_putchar(0x6D);
      lcd_gotoxy(12,0);
      lcd_putchar(0x2F);
      lcd_gotoxy(13,0);
      lcd_putchar(0x68);       

      }
}
Аватара пользователя
Virtue
Электрический кот
Сообщения: 1065
Зарегистрирован: Вс дек 20, 2009 23:20:03
Откуда: Москва и область.

Re: Мелкие практические вопросы

Сообщение Virtue »

На 555 микросхеме можно сделать генератор с частотой до 120МГЦ? Или полоса пропускания не та?
Vladlog
Это не хвост, это антенна
Сообщения: 1428
Зарегистрирован: Ср фев 25, 2009 04:32:44
Откуда: Находка

Re: Мелкие практические вопросы

Сообщение Vladlog »

Virtue писал(а):На 555 микросхеме можно сделать генератор с частотой до 120МГЦ?
Нет. До 500кГц, если форма сигнала и устойчивость не сильно важны, может быть до 580-600кГц.
Может есть и лучше экземпляры, но мне не попадались. Да и все равно, до 120МГц, как до Луны.
Изображение
kk042fjv
Грызет канифоль
Сообщения: 261
Зарегистрирован: Ср авг 01, 2012 10:45:42

Re: Мелкие практические вопросы

Сообщение kk042fjv »

Добрый день!
Помогите разобраться с датчиком расхода AWM5104VN (даташет в приложении). Подается поток кислорода от 0 до 17,5 л/мин, питание на датчик подключено 10В (как по даташету). Должен быть выход линейный от 1 до 5В, а получается при расходе 3 л/мин уже напряжение 4,4В при расходе 17,5 л/мин 7,9В. В чем может быть причина? проверял два датчика и на всех одно и тоже на выходе.
Вложения
5104.pdf
(118.36 КБ) 159 скачиваний
Аватара пользователя
Vasilii
Друг Кота
Сообщения: 4469
Зарегистрирован: Чт окт 14, 2010 19:43:23
Откуда: Родом из СССР

Re: Мелкие практические вопросы

Сообщение Vasilii »

Во первых: какое избыточное давление в зоне измерений?;
Во вторых: этот датчик вроде как не предназначен для кислородной среды.
Не мешайте мешать!
С." Ну почему Господь так долго не протянет нам руку помощи? И самое страшное: может быть он протягивает, но мы всё дольше и дольше этого не замечаем?"
kk042fjv
Грызет канифоль
Сообщения: 261
Зарегистрирован: Ср авг 01, 2012 10:45:42

Re: Мелкие практические вопросы

Сообщение kk042fjv »

Vasilii писал(а):Во первых: какое избыточное давление в зоне измерений?;
5кПа
Аватара пользователя
Vasilii
Друг Кота
Сообщения: 4469
Зарегистрирован: Чт окт 14, 2010 19:43:23
Откуда: Родом из СССР

Re: Мелкие практические вопросы

Сообщение Vasilii »

Вроде-бы не стыкуется с самым последним графиком, правда не указаны ед. измерений. У Вас получается 500мм. в. ст. (если мои мозги не ошибаются). Многовато будет.
Вообще эти датчики не сильно врут и показывают абсолютное давление, если датчик не дифференциальный. Точность зависит от конструкции т.н. "Сужающего устройства", которое изображено на рисунке, и обеспечивается подгонкой диаметра отверстия в самом узком месте.
Не мешайте мешать!
С." Ну почему Господь так долго не протянет нам руку помощи? И самое страшное: может быть он протягивает, но мы всё дольше и дольше этого не замечаем?"
kk042fjv
Грызет канифоль
Сообщения: 261
Зарегистрирован: Ср авг 01, 2012 10:45:42

Re: Мелкие практические вопросы

Сообщение kk042fjv »

500 мм. вод. столба правильно, но в документах написано- Overpressure 50 psi max. (Избыточное давление 50 фунтов на квадратный дюйм макс)/ Или я неправильно разобрался?
Ответить

Вернуться в «Практика»