Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Аппаратная платформа Arduino для автоматизации наших процессов

Форум самогонщиков Автоматика
1 ... 40 41 42 43 44 45 46 ... 64 43
alekslug Научный сотрудник винокур, Лобня. 5.2K 1.7K
Отв.840  24 Янв. 14, 16:44
Вот. совсем недорого Mega 2560 http://www.tinydeal.com/...ue-p-94889.html
svarnoy Профессор Жуковский. 8.6K 4.4K
Отв.841  24 Янв. 14, 18:44
Электрическая часть вроде завершена.
Автоматика заточена под конкретную задачу.
7 управляемых нагрузок.3 реле 10А,2 реле 26А,2 SSR 26А.2 сервопривода.На переднюю панель выведены клавиши управления 5тью нагрузками
Внутри:
img_1042.jpg
Img_1042. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

img_1043.6.jpg
Img_1043. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

img_1044.9.jpg
Img_1044. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

Передняя панель:  
img_1045.jpg
Img_1045. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

Разьёмы датчика температуры,сервопривода, ардуина:
img_1046.jpg
Img_1046. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

Силовые выходы:
img_1047.jpg
Img_1047. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

Хотел-бы сказать,что "автоматика на базе ардуины" ,это не только купленная платка в Китае за 20 долларов,и программа скачанная в интернете,но и много своего времени и умения потраченных на сборку и отладку.
Брагин Магистр Краснодар 278 76
Отв.842  24 Янв. 14, 22:26
svarnoy
Аппаратная платформа Arduino для автоматизации наших процессов
Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

да еще чтоб не мучиться с глюками дисплея подключился по I2C!
но у тебя клава самопал, и коды АЦП не такие как на покупной, у нас без нажатия 1023 на входе.

klester,
проверить можно програмулиной.
http://files.homedistiller.ru/99138.rar

butsens=20
    val = analogRead(butPin);  // читаем АЦП порта кнопок (значение от 0 до 1023)
    if (val > (butval[5]-butsens) && val < (butval[5]+butsens)) {butPush = 5;}  // если считанное значение около (на величину butsens)
    // значения соответствующего кнопке 5 то считаем что она и нажата
    if (val > (butval[4]-butsens) && val < (butval[4]+butsens)) {butPush = 4;}  // аналогично для остальных
    if (val > (butval[3]-butsens) && val < (butval[3]+butsens)) {butPush = 3;}
    if (val > (butval[2]-butsens) && val < (butval[2]+butsens)) {butPush = 2;}
    if (val > (butval[1]-butsens) && val < (butval[1]+butsens)) {butPush = 1;}
//    if (val < (butval[1]+butsens)) {butPush = 1;}     
    // коды кнопок: 1 - вверх, 2 - влево, 3 - ок, 4 - вправо, 5 вниз

и подставить значения сюда "butval[1]" а дальше уже в тот скетч
сообщения удалены (5)
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.843  25 Янв. 14, 08:22
Все перенесено в отдельную ветку [Доступная автоматика на Ардуино Мега 2560.]
svarnoy Профессор Жуковский. 8.6K 4.4K
Отв.844  25 Янв. 14, 10:57
msg31, Ты бы отдельную ветку себе сделал,проект у тебя удачный,завершённый,при желании повторяемый.
А то сдесь затеряется,и потом хрен найдёшь,ещё год назад в этой ветке было всего 15 странииц.
Брагин Магистр Краснодар 278 76
Отв.845  29 Янв. 14, 00:33
Чего-то я давно не брал в руки шашки. А тема живет, но поскольку спирт у меня из отходов, а в основном СЭМ, то у меня автомат сэмоварки.
Кому интересен автомат для самогона - выкладываю. Доработал то что выкладывал тут на странице 20...
Что доработал:
-все таки добил звуковой сигнал, орет благим матом пока не нажмешь кнопку и не поменяешь банку.
-автоматом при смене фракции меняет мощьность нагрева
-щелкает тремя релюшками на три фракции, думаю для автоматического разделителя банок пригодиться.
-на полном автомате пищит, щелкает, регулирует до самого конца сам (полностью не проверял!!!!)
-в любом месте можно подрегулировать мощьность нагрева с индикацией RMS мощности (нужен ACS712)
-есть 5 (можно добавить - убрать предустановок почти всех  функций) т.е. выбрал режим и вперед
========
уточню: реализована регулировка, но не стабилизация мощности нагрева. у меня на 2 кВт рабочий, головы на 20 единицах ~ 800 W, рабочая на 70 ~ 1.600W ? разгон - хвост 100  - 2000Вт.
++++++++

осталось только доделать переключение голов по объему, надо поэкспериментировать с датчиком проводимости и как его прицепить к ардуине и тогда переключение на тело будет происходить или по температуре или по наполнению уровня в банке.

подключение оформлено в комментах в начале программы, настройки предустановок в строчках РЕЖИМ, ну если будут вопросы - может схемку нарисую. Улыбающийся

отэц улучшения тут [сообщение #11747480]
неоходимые прибамбасы берем у китайцев список тут [сообщение #11760463]
новая версия программы тут [сообщение #11881589]
svarnoy Профессор Жуковский. 8.6K 4.4K
Отв.846  29 Янв. 14, 09:39
надо поэкспериментировать с датчиком проводимости и как его прицепить к ардуинеБрагин, 29 Янв. 14, 00:33
Так там вроде всё просто.Два проводка с оголёнными концами,один на +5 второй на аналоговый вход (А0-А15).Обьявляеш этот порт входом,и всё.
Попадёт жидкость на контакты,в зависимости от её сопротивления часть этих 5 вольт пробьётся в ардуину,АЦП эти остатки перещитает в цифру(0-1024) Вот с этим значением и работаем,выведи на экран  и посмотри что покажет на сухую,потом в спирт мокни.
Резистор не забудь припаять между +5 и входом,какой не знаю,у меня платки с китая готовые.
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.847  29 Янв. 14, 09:45, через 7 мин
Так там вроде всё просто.Два проводка с оголёнными концами,один на +5 второй на аналоговый вход (А0-А15).Обьявляеш этот порт входом,и всё.
svarnoy, 29 Янв. 14, 09:39
Мы с alekslug пробовали так, слишком много помех оказалось, может чего не додумали, конечно. Стабильнее работает такая схема:
shema_datchika.bmp
Shema_datchika. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

Алексей выяснил, что для измерения спирта резистор лучше брать 1.5М. Изначально надо выставить напряжение на АЦП Ардуино около 1020
Ориентироваться надо на падения напряжения, когда оно держится на уровне 900-950 в течение 2-3х секунд, чтобы защититься от помех.

alekslug Научный сотрудник винокур, Лобня. 5.2K 1.7K
Отв.848  29 Янв. 14, 13:02
часть этих 5 вольт пробьётся в ардуину,АЦП эти остатки перещитает в цифру(0-1024)svarnoy, 29 Янв. 14, 08:39
Еще помехи пробиваются на вход Ардуино и сильно искажают показания, поэтому делаем как
msg31,написал
Ориентироваться надо на падения напряжения,msg31, 29 Янв. 14, 08:45
ПЫСЫ. Еще спирт не любит  Смеющийся постоянного тока, сопротивление его увеличивается при пропускании его. Поляризация происходит. Поэтому нужен для измерения  диэлектрической составляющей спирта переменный ток или постоянный пульсирующий. Но этого тока  Ардуино не любит.Надо согласовывать.
svarnoy Профессор Жуковский. 8.6K 4.4K
Отв.849  29 Янв. 14, 14:47
Еще помехи пробиваются на вход Ардуино и сильно искажают показанияalekslug, 29 Янв. 14, 13:02
Ну я же написал про резистор.
Проверил сейчас,Резистор 30Ком подключил одним концом к - другим к входу(А8),проводок от входа(А8) и от +5 сунул в стакн с
Пустой - 0
Водка углёванная (от cybervlad) - 270
Водка не углёванная (моя) - 370
Спирт (с балкона,там -20С)  - 60
Вода с крана холодная - 560
Замкнуть проводки - 1023
Сначало показания не стабильны и прыгают плюс/минус 5-10 едениц,так-же зависит от глубины погружения контакта в среду,но если контакт не трогать давольно быстро цифры стабилизируются и почти не прыгают.Граница 0 и не 0 очень чёткая.
Если не ставить цель точного измерения сопротивления,а просто определять намок/не намок,то вполне достаточно 1 резистора(я пробывал 4,6Ком и 30Ком) и двух проводков.
скетч с первой страницы,только под готовый экран с кнопками.
homedis.pde 1.4 Кб
alekslug Научный сотрудник винокур, Лобня. 5.2K 1.7K
Отв.850  29 Янв. 14, 14:51, через 5 мин
svarnoy,для воды может и годится твой способ, но не для спирта . Сопротивление спирта  составляет сотни килоом и влияние помех сильно смазывает картину.
ПЫСЫ. Поэтому резистор 30 ком будет просто шунтировать цепь измерения.
svarnoy Профессор Жуковский. 8.6K 4.4K
Отв.851  29 Янв. 14, 15:16, через 26 мин
alekslug,
для воды может и годится твой способ, но не для спиртаalekslug, 29 Янв. 14, 14:51
Либо ты не полностью прочитал моё сообщение,либо у меня не спирт.Я написал,что мой спирт имеет значение 60 при резисторе 30Ком,и очень явная граница,и этого вполне достаточно для определения намок/не намок.
Хотя это меня навело на интересную мысль!
А давайте на ряду с градусностью,запахом,попробуем меряться еще и величиной сопротивление, за эталон возьмём резистор 1,5Мом.
alekslug Научный сотрудник винокур, Лобня. 5.2K 1.7K
Отв.852  29 Янв. 14, 15:27, через 11 мин

Мы по кругу ходим.
Чем будем измерять? Нужен стандартный датчик. Схему измерения еще надо.
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.853  29 Янв. 14, 15:46, через 19 мин
Пустой - 0
svarnoy, 29 Янв. 14, 14:47
Насколько я помню, у нас пустой от 0 до 50 прыгал. Может какая помеха рядом была?
svarnoy Профессор Жуковский. 8.6K 4.4K
Отв.854  29 Янв. 14, 16:35, через 49 мин
Насколько я помню, у нас пустой от 0 до 50 прыгал. Может какая помеха рядом была?msg31, 29 Янв. 14, 15:46
Так у меня без резистора до 1023 прыгал,резистор поставил с - на входящий порт и чётко 0.
Чем будем измерять? Нужен стандартный датчик. Схему измерения еще надо.alekslug, 29 Янв. 14, 15:27
Я предлагал измерять ардуиной и резистором 1,5Мом и мерится в данной ветеке.Например, длинна провода до ардуины 1 метр,глубина погружения контактов 1 см.
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.855  29 Янв. 14, 16:46, через 11 мин
Так у меня без резистора до 1023 прыгал,резистор поставил с - на входящий порт и чётко 0.Я предлагал измерять ардуиной и резистором 1,5Мом и мерится в данной ветеке.Например, длинна провода до ардуины 1 метр,глубина погружения контактов 1 см.
svarnoy, 29 Янв. 14, 16:35
Сопротивлением провода можно пренебречь, то есть длина неважна, а вот глубиной погружения и площадью контактов-возможно нет. Ну, впрочем, у меня мерять нечего - колонны у меня нет, спирта тоже. Только дистиллят.
Брагин Магистр Краснодар 278 76
Отв.856  29 Янв. 14, 20:01
Так, коллеги, вы ушли в сторону. я говорил об возможности однозначного определения наличия уровня голов в таре. а вы ушли в тонкости измерения проводимости  спиртосодержащей жидкости при длительном процессе измерения, - как сказал, самому понравилось Улыбающийся. так вот, к нашим баранам, я на своих двух ведрах СС имею поллитровый нержовый стакан колбы от термоса и это будет 5% голов, но для повторяемости желательно иметь что-то более прозаическое- например два нержовых стержня длинной 37 мм, но что однозначно даст сигнал на ардуину. короче надо взять головы и посмотреть что будет на входе с резисторами, без них, вообщем я поэкспериментирую.

Осталось как раз два входа, один на головы, а второй можно сделать для входа "ПОЛНЫЙ ПИПЕЦ" (затоп, пары спирта и т.д )

я тут сдуру навоял схемку, аль чертеж на тот скетч из 850 поста [сообщение #11880825]

semovarka.jpg
Semovarka. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.
golovomer.jpg
Golovomer. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.
p1307221.jpg
P1307221. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

для отбора голов по объему добавить схемку №2, как вариант что-то типа фото 3

В программе управление отбора голов по объему включение (по умолчанию "включно", если не подключать датчик  ничего плохого не произойдет)в меню MENU-LOGIC-Head Contr Level

Значит так, минимум нужный для работы: реле главного ТЭНА и реле клапана воды + 1 датчик температуры в куб.  но тогда можно выкинуть автоматику нафиг Улыбающийся

минимальный правильный комплект SSR, реле тэна разгона (если есть разгонный тэн), реле воды.

управление в работе простое, если ничего страшного не происходит, то матюгальник орет по моменту смены посуды, звук убираем кнопкой ОК, после смены посуды жмем "ВПРАВО", если включен пункт @FULLAUTO@ - то орет 5 сек. и продолжает гнать, переключив нагрев, клапан приемной емкости.
Что еще - всегда после запуска, один из клапанов всегда открыт, на всякий случай и этот клапан - голов.
для первого погона в принципе нужно то что выше написано.
для автомата нужно SSR-реле, и клапана если будите делить по банкам не вручную.
ACS712 нужна только как показомер мощбности, приемник ИК(TSOP 7000 или похожий)сигналов, только если будете извращатся с пультом ДУ ( но удобно иногда).
если это не прицеплять, ничего страшного не произойдет - работать будет.
Все параметры настраиваются в меню. но есть несколько предустановок (669-678 строки и похожие ниже) где можно поменять что как нравиться и в следующий раз в меню выбрав режим - все параметры подставлены, нажал "погнали" и все никакого полета мысли, сплошное ремесло, но это уже другой вопрос

на сегодня там режимы: первый до воды, первый с отсечением хвостов пораньше, второй перегон, второй перегон с медленным отбором хвостиков, медленный нагрев чтоб не пригорело "болото".

все время забываю, для внесения в программу кодов кнопок с вашего пульта ДУ нужно закинуть в А. программу и прочитать коды типа как в красной рамке, скопировать их в программу "сэмоварки" вместо тех что сейчас там на ваши ибудет дружба с пультом ДУ!
knopkotest.7.jpg
Knopkotest. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

alekslug Научный сотрудник винокур, Лобня. 5.2K 1.7K
Отв.857  29 Янв. 14, 21:12
Ну я же написал про резистор.
Проверил сейчас,Резистор 30Ком подключил одним концом к - другим к входу(А8),проводок от входа(А8) и от +5 сунул в стакн с
Пустой - 0
Водка углёванная (от cybervlad) - 270
Водка не углёванная (моя) - 370
Спирт (с балкона,там -20С)  - 60
Вода с крана холодная - 560
Замкнуть проводки - 1023
Сначала показания не стабильны и прыгают плюс/минус 5-10 единиц,так-же зависит от глубины погружения контакта в среду,но если контакт не трогать довольно быстро цифры стабилизируются и почти не прыгают.Граница 0 и не 0 очень чёткая.svarnoy, 29 Янв. 14, 13:47

svarnoy, повторил твой опыт.Резистор 30 ком. Ты лучший! Я не верил, но ты прав 100%. Замечательная чувствительность. Я в восторге!
Контакты в воздухе 0 - 3.
В спирте  70.
Вода из под крана 1023.
analog_vhod_datchik.bmp
Analog_vhod_datchik. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

svarnoy Профессор Жуковский. 8.6K 4.4K
Отв.858  29 Янв. 14, 21:25, через 14 мин
Я в восторге!alekslug, 29 Янв. 14, 21:12
Эко как! Подсоединил,что было,а оно воно как.
Брагин Магистр Краснодар 278 76
Отв.859  29 Янв. 14, 22:32
А я потянул наоборот, т.е. минус на одной из клемм (или можно железная банка) и второй электрод на аналоговый вход
и не забывайте про внутреннюю притяжку к - или + заложенной в самой ардуине (atmega)
там на подтяге, если мне ничего не изменяет, 20 кОм
void setup() {
 // говорим сколько строк и столбцов в нашем дисплее
  lcd.begin(16, 2);
  pinMode(butPin, INPUT);  //определяем вход
  digitalWrite(butPin, HIGH);  //включаем подтяжку на +5
}

void loop() {
 lcd.setCursor(0,1); // устанавливаем курсор во вторую строку
 lcd.print(analogRead(butPin)); //печатаем значение возвращаемое функцией analogRead


обычные две проволочки зачищенные на 2 см и опущенные в воду дали результаты (другого в наличии нет)
вода\разбодяженный сэм 40 \головы\воздух  =>  200\300\700\1015

надо програмулину побыстрому допиливать, думаю ограничится 950 единицами АЦП на переключение по объему.