BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

А там пока особо схемы-то и нет никакой.
Просто к Gate подключил источник 5V DC(в будущем тут будет ножка контроллера), с другой стороны между Sourсe and Drain подключил 12V DC (в будущем силовая нагрузка).

Пробовал и менял подключение +\- к Source and Drain и так и сяк. До подачи напряжения на Gate получается когда к Drain "+" подключаешь, а к "-" Sourse, то транзистор не пропускает ток (тестер молчит). Если наоборот, то тестер сразу пищать начинает.

Если подал напряжение, то транзистор открыт (даже когда убираю напряжение с Gate). Не могу поймать момент когда IRL630A открывается/закрывается. Может ток слишком маленький (0.09А)?

С уважением,
Алексей
С уважением,
Алексей Константинов
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Re: BASCOM AVR в вопросах и ответах

Сообщение vem566 »

Полевики управляются напряжением, в отличии от биполярных. После подачи напряжения на затвор относительно истока, он открывается. У затвора есть собственная емкость, которую нужно как можно быстрее зарядить. Для закрытия, эту емкость нужно как можно быстрее разрядить(уровнять потенциал затвор-исток). Если затвор повесить в воздухе - время разряда определится только током утечки, который очень мал. То есть наличие принудительного разряда - обязательное условие. Это может быть резистор затвор-исток, цепь управления, дополнительный ключ и т. п.
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Re: BASCOM AVR в вопросах и ответах

Сообщение ИС-пытатель »

Скорее всего, там у Вас внутри защитный диод параллельно стоку-истоку в противоположном направлении включен. Поэтому вариант - когда транзистор "открыт" при любом напряжении на Gate - как раз вариант обратного включения. меняйте полярность. К тому же подключать к стоку-истоку источник питания напрямую - грубейшая ошибка. В открытом состоянии у транзистора мизерное сопротивление (единицы и десятки Ом, зависит от транзистора) - у Вас получится КЗ, т.е. огромный ток, от которого может помереть как транзистор, так и источник. Поэтому нужно ставить токоограничивающий резистор (хотя бы килоОм). К тому же есть ряд полевиков, которые нужно не открывать, а закрывать. Потому что изначально они частично пропускают ток. А вообще, чтобы не гадать - нужно читать даташит. Там все ножки расписаны и разрисованы.
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

vem566 писал(а):Полевики управляются напряжением, в отличии от биполярных. После подачи напряжения на затвор относительно истока, он открывается. У затвора есть собственная емкость, которую нужно как можно быстрее зарядить. Для закрытия, эту емкость нужно как можно быстрее разрядить(уровнять потенциал затвор-исток). Если затвор повесить в воздухе - время разряда определится только током утечки, который очень мал. То есть наличие принудительного разряда - обязательное условие. Это может быть резистор затвор-исток, цепь управления, дополнительный ключ и т. п.


vem566, включил между Gate и Source (чтобы не вдаваться в тонкости перевода указываю на оригинале) сопротивление 10кОм. Транзистор заработал как следует.

vem566 - спасибо! второй раз помог

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

Спасибо)
С уважением,
Алексей Константинов
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Re: BASCOM AVR в вопросах и ответах

Сообщение vem566 »

Да завсегда пожалуйста. Только 10к все же многовато будет. Обычно в районе 1к ставят.
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

С вытяжкой на ванну все более менее понятно: Atmega8a + DHT11 + IRL630a. Сейчас оттестирую программу и в железо.
Следующий вопрос с вытяжкой на кухню. Вижу работу ее так: если эл. плита начала потреблять, то пошел ток. Ток фиксируем датчиком тока (или Холла) и по "току" включаем вентилятор. Как плита перестала потреблять, через 5 минут выключаем вентилятор.

Вчера весь вечер читал статьи про датчики тока, только в голове так и не сформировалось - что же заказать?
Коллеги, посоветуйте пожалуйста какой датчик тока подойдет под мои цели?

Заранее спасибо!
С уважением,
Алексей Константинов
Sergik07
Родился
Сообщения: 19
Зарегистрирован: Вт сен 10, 2013 18:12:58

Re: BASCOM AVR в вопросах и ответах

Сообщение Sergik07 »

Алексей_Константинов писал(а):Следующий вопрос с вытяжкой на кухню. Вижу работу ее так: если эл. плита начала потреблять, то пошел ток. Ток фиксируем датчиком тока (или Холла) и по "току" включаем вентилятор. Как плита перестала потреблять, через 5 минут выключаем вентилятор.


Мне кажется нет смысла заморачиваться с датчиком тока. Можно попробовать использовать тот же DHT11. Установить его примерно в центре вытяжки. Как только плита включится воздух под вытяжкой нагреется и по превышению заданного температурного порога вытяжка включится.Можно попробовать комбинировать с превышением порога по влажности. Например,если температура +40 и влажность 85%, значит плита включена и на ней что-то кипит-включаем вытяжку. :)
И потом,если на плите варить кашку малышу в маленьком ковшике на медленном ходу,то и тепла немного и пара почти нет,а вытяжка будет фигачить почти вхолостую,если ее запускать от датчика тока.
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Sergik07 писал(а):
Алексей_Константинов писал(а):Следующий вопрос с вытяжкой на кухню. Вижу работу ее так: если эл. плита начала потреблять, то пошел ток. Ток фиксируем датчиком тока (или Холла) и по "току" включаем вентилятор. Как плита перестала потреблять, через 5 минут выключаем вентилятор.


Мне кажется нет смысла заморачиваться с датчиком тока. Можно попробовать использовать тот же DHT11. Установить его примерно в центре вытяжки. Как только плита включится воздух под вытяжкой нагреется и по превышению заданного температурного порога вытяжка включится.Можно попробовать комбинировать с превышением порога по влажности. Например,если температура +40 и влажность 85%, значит плита включена и на ней что-то кипит-включаем вытяжку. :)
И потом,если на плите варить кашку малышу в маленьком ковшике на медленном ходу,то и тепла немного и пара почти нет,а вытяжка будет фигачить почти вхолостую,если ее запускать от датчика тока.


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

Вопрос по датчику тока остается открытым, потому что это интересно с точки зрения накопления опыта.
С уважением,
Алексей Константинов
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Re: BASCOM AVR в вопросах и ответах

Сообщение vem566 »

Алексей_Константинов писал(а):и на первый взгляд даже поумнее работать будет.
А на второй взгляд, интеллектуальное управление по приличней как то.
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Коллеги!

Выкладываю на Ваш строгий суд первый свой проект Вытяжка для ванной (см. вложение)
Постарался заложить логику от общего повышения влажности (например после дождя). Хочется чтобы вентилятор не работал в этих условиях.
Файл во вложении.
Жду конструктивной критики.

Заранее спасибо)
С уважением,
Алексей Константинов
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Странно, файл в Bascom'e не прикладывается. Просто выбрасывает (и в Explorer and Google Chrome)
Прикладываю текст программы просто в сообщении:

$regfile = "m8def.dat"
$crystal = 8000000
'$sim

'$hwstack = 64
'$swstack = 64
'$framesize = 64

'конфигурация подключения дисплея к портам МК
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Cursor Off
Cls

Config Portc.5 = Output
Config Portc.4 = Output ' ножка управления вентилятором
Portc.5 = 0
Portc.4 = 0

'объявление подпрограммы
Declare Sub Get_th(t As Byte , H As Byte)

'подключение датчика к PortD.6
Dht_put Alias Portd.6 'передаем данные
Dht_get Alias Pind.6 ' получаем данные
Dht_io_set Alias Ddrd.6
'Red 0 Alias Portd.2 ' присваиваем имя Red выводу 2 порта D
Vent_on_off Alias Ddrc.4 'переменная отображающая действия с вентилятором

Dim T As Byte 'температуры целая часть
Dim Tdecimal As Byte 'дробная часть температуры
Dim H As Byte 'влажности
Dim Hdecimal As Byte 'дробная часть влажности
Dim Crc As Byte 'байта четности
Dim Mybyte As Byte
Dim Sensor_data As String * 40 'сюда будут записываться данные отсылаемые датчиком
Dim Strmidle8 As String * 8 'промежуточная переменная для записи текстовых значений
Dim Count As Byte 'переменная для подсчета принятых бит
Dim Intcounter As Integer 'пепеменная счетчик
Dim Inthuminity_limit As Byte 'переменная для уставки по влажности
Dim Hold As Byte
'Dim


Enable Interrupts

Set Dht_io_set
Set Dht_put
' задаем начальные условия
Intcounter = 1
Inthuminity_limit = 40
Hold = 0
Do
'индикатор работы мк

Flag:
Waitms 2000
Call Get_th(t , H)
Cls
Lcd "їeјѕ: " ; T ; "." ; Tdecimal ; "C"
Lowerline
Lcd "і»a¶: " ; H ; "." ; Hdecimal ; "%"


'Условие отсечки ошибочного опроса счетчика
If H > 4 Then

' Условия роста влажности
If H > Hold Then
'Условия превышения значением влажности величины предела
If H > Inthuminity_limit Then
Set Portc.4 'включаем вентилятор
Wait 30
Hold = H 'присваеваем влажность старому значению влажности
Goto Flag 'переходим в начало цикла

Else
Hold = H
Goto Flag 'переходим в начало цикла
End If

Else
If H > Inthuminity_limit Then
Set Portc.4
Wait 30
Intcounter = Intcounter + 1 'приращение счетчика на случай если влажность больше не падает
Hold = H 'присваеваем влажность старому значению влажности
' проверка счетчика на случай падения влажности
If Intcounter > 11 Then 'тут менять уставку времени работы после снижения влажности
Reset Portc.4
Intcounter = 1
Else
End If

Goto Flag
Else
Hold = H
Reset Portc.4 'выключаем вентилятор
Goto Flag
End If


End If

Else
Goto Flag
End If

Loop

Sub Get_th(t As Byte , H As Byte)

Count = 0
Sensor_data = ""


Config Pind.6 = Output : Portd.6 = 0
'Set Dht_io_set 'делаем PD.6 выходом
'Reset Dht_put 'прижимаем шину к земле
Waitms 20 'ждем не менее 18мс

Set Dht_put 'отпускаем шину

Waitus 16 ' было 30 мкрс

Reset Dht_io_set
Config Pind.6 = Input
'делаем PD.6 входом

Waitus 40
'ждем 40 мкс
If Dht_get = 1 Then 'если на нем по прежнему 1
'If Pind.6 = 1 Then
H = 1 'значит датчик не ответил
Exit Sub 'выходим из подпрограммы
End If

'если датчик ответил и прижал шину к земле продолжаем работу
Waitus 80 'ждем еще 80 мкс
Set Dht_io_set
Waitus 1
Reset Dht_io_set

'If Dht_get = 0 Then 'если на линии по прежнему 0
If Pind.6 = 0 Then
H = 2 'значит датчик сошел с ума
Exit Sub 'выходим из подпрограммы
End If

'если все нормально и датчик ответил правильно, тогда продолжаем

While Dht_get = 1 : Wend 'ждем пока на шине появится 1

Do 'начинаем принимать 40 бит данных
While Dht_get = 0 : Wend 'ждем появления на шине 0
Waitus 30 'после появления 0 ждем 30мкс
If Dht_get = 1 Then 'если на шине 1
Sensor_data = Sensor_data + "1" 'записываем в переменную эту единицу
While Dht_get = 1 : Wend 'и ждем пока датчик отправит следующий бит
Else 'иначе, если там был 0
Sensor_data = Sensor_data + "0" 'записываем этот 0 в переменную
End If
Incr Count 'увеличиваем счетчик на 1
Loop Until Count = 40 'повторяем пока счетчик не досчитает до 40

Set Dht_io_set
Set Dht_put

'начинаем раскладывать полученные данные

Strmidle8 = Left(sensor_data , 8) 'берем левые 8 символов переменной
H = Binval(strmidle8) 'это целая часть влажности

Strmidle8 = Mid(sensor_data , 9 , 8)
Hdecimal = Binval(strmidle8) ' дробная часть влажности

Strmidle8 = Mid(sensor_data , 17 , 8) 'вытаскиваем 8 символов из середины
T = Binval(strmidle8) 'это целая часть температуры

Strmidle8 = Mid(sensor_data , 24 , 8) 'вытаскиваем 8 символов из середины
Tdecimal = Binval(strmidle8)


Strmidle8 = Right(sensor_data , 8) 'правые 8 символов
Crc = Binval(strmidle8) 'проверочные данные

'проверка контрольной суммы

Mybyte = H + Hdecimal 'складываем значение температуры и влажности
Mybyte = Mybyte + T
Mybyte = Mybyte + Tdecimal


If Mybyte <> Crc Then 'если контрольная сумма не сошлась
H = 3 'значит полученные данные не верны
End If

End Sub
С уважением,
Алексей Константинов
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Re: BASCOM AVR в вопросах и ответах

Сообщение ИС-пытатель »

Вы не могли бы выкладывать длинные куски в спойлере? Замахался колесом крутить
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Да, ИС-пытатель, я просто не знал о такой функции. Теперь буду ее применять.

СпойлерНачал дальше крутить в голове свой device, получается ситуация, когда исполнительное устройство (вентирятор) работает на 12V, а все мозги работают на 5V. Существует ли типовое решение, чтобы купить источник питания только на 12V DC, а 5V получить каким-нибудь стабилизатором - частью схемы?

Заранее спасибо)
С уважением,
Алексей Константинов
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Вопрос 12V DC to 5V DC решен так: http://www.aliexpress.com/item/Car-Char ... 33022.html

Цена вопроса 95 руб и 2 недели на доставку.
С уважением,
Алексей Константинов
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: BASCOM AVR в вопросах и ответах

Сообщение Bear2011 »

Цена вопроса 95 руб и 2 недели на доставку

:facepalm: За две недели можно самому не напрягаясь сделать DC/DC Про КРЕН5 даже не говорю
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Bear2011 писал(а):
Цена вопроса 95 руб и 2 недели на доставку

:facepalm: За две недели можно самому не напрягаясь сделать DC/DC Про КРЕН5 даже не говорю


а если мне 100 шт. надо?
С уважением,
Алексей Константинов
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Re: BASCOM AVR в вопросах и ответах

Сообщение ИС-пытатель »

Вы ими собираетесь обклеить всю ванну и вытяжку к ней? Или это будет настенная мозаика? ;)
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Не, я просчитываю просто какие элементы сколько стоят.

Если элемент (в этом случае DC to DC конвертор) выполняет свою функцию и стоит дешевле часа работы человека с З.пл 15 000 р/мес, то нет никакого смысла возиться с этим элементом (и это не считая компонентов).

Мне кажется что конкурировать с китайцами мы можем только на их элементной базе, вкладывая наши мозги в продукцию.
С уважением,
Алексей Константинов
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Re: BASCOM AVR в вопросах и ответах

Сообщение ИС-пытатель »

Вы мыслите как производитель. ) В этом есть свой плюс. Но с таким подходом Вы не будете знать основ. В этом минус.
Алексей_Константинов
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс апр 13, 2014 21:17:09
Откуда: Челябинск

Re: BASCOM AVR в вопросах и ответах

Сообщение Алексей_Константинов »

Теперь у меня встал вопрос о производстве печатной платы. Рисовать их в ручную - не профессионально. Поэтому надо делать это на программе.
Нашел в интернете обзорную статью о программах для рисования печатных плат: http://cxem.net/software/soft_PCB.php

Коллеги, посоветуйте пожалуйста к какой программе обучиться, чтобы потом можно было передавать задание из этой программы в фрезеровочный станок-ЧПУ для создания печатных плат?

Спасибо)
С уважением,
Алексей Константинов
Ответить

Вернуться в «AVR»