Jump to content
Българският форум за музиканти

Evtim Djerekarov

VIP listed
  • Мнения

    8680
  • Присъединил/а се

  • Последно посещение

  • Топ дни

    177

Всичко публикувано от Evtim Djerekarov

  1. О, много е красиво, а и е много добре записано. Звучи освен това популярно, което също е хубаво! От доста време следя твоите публикации и ми харесва, че освен с познания, свириш със сърце.
  2. Мисля си също, че ако имаме дебитомер и сложим още един датчик за температура в резервоара, когато пускаме кафе, може да изчислим колко точно секунди реотана да работи на пълна мощност, за да върнем точно загубената енергия, след което отново да включим PID регултора. Така може би ще имаме доста по-бързо възстановяване след кафе, а и поддържане на температура по време на екстракцията.
  3. Направих лентов кабел и подкарах нещото частично. Бях свързал Tact бутоните, така че винаги са натиснати, та малко рязах писти. За урок ми е, винаги да пускам пистите до площадки по диагонал на копчетата, че от който и тип да са, все да не окъсяват. Написах функция, която определя температура, четейки напрежението от делител с NTC термистор. Свързах един поялник към триака и опрях термистора в него, а с библиотеката PIDv2 реализирах софутерен PID регулатор, опитвайки се да поддържам температура от 47 градуса по Целзий. Ползвах времеконстанта 500ms и настройки по подразбиране, които имат относително висок коефициент за интегриращото звено. Вижда се, че при тези настройки имаме бая overshoot над заданието. Когато намаля интегралния коефициент, получавам това: Така колебанието не е толкова голямо, но има доста шум в системата, което ще коригирам, първо като взема усреднено измерване от последните 100-200 ms, да кажем от 8-16 проби и след това го подам за вход на PID регулатора. Друга причина за шума е "контролен" шум от това, че триакът e zero-crossing и за 500ms имаме само 25 периода мрежово напрежение, или 4% минимална стъпка на промяна на мощността. Ако увелича периода на 1 или 1.5s, ще имам стъпка 2% или 1.5%, което трябва също да намали шума в системата. Освен това, мога да направя регулатора адаптивен, като става с по-неагресивни коефициенти, когато е близо до целта. Трябва да доизмисля охлаждането на силовата част и да пробвам с най-близкото до реалните условия - с кана за вода.
  4. Ами... продължавам. Трябва сега да прегледам всичко и да направя лентов кабел, след което едно по едно да пиша keep alive, standy функционалности, PID, който в началото ще пробвам с каната за вода и един готварски термометър, и т. н.
  5. Правя платки по метода с отпечатване с лазерен принтер върху гланцова хартия. След това - нагряване на платката на стъклокерамичен котлон с терморегулатор и притискане на напечатания оригинал с облото на лъжица или сгъната на топка салфетка към горещата платка, да се залепи тонера за платката, която е идеално изчистена и обезмаслена предварително. Трябва да се внимава с натиска, за да не се разлеят много пистите. След това се охлажда платката с хартията във вода, докато се разкисне хартията достатъчно, че да може да се отстрани. Остава само тонерът върху платката. После ецвам с железен трихлорид. Понеже се ецват и дупките на отворите по пистите, е много удобно после, защото бургийките на дрелчицата се самоцентрират в тях. Успявал съм и двуслойна да направя. И четирислойна, три слоя и ground plane от две платки. Само метализация (via) не става и трябва да се проектира така, че за тая цел да се ползват крачета на резистори и други компоненти, които не си закриват крачетата като се поставят на платката.
  6. Скоро ще мога лека-полека да започна да тествам и допрограмирам на истинска кафемашина, само да направя контролната платка и да се моля, нещо да не изгърми :D. Ще прегледам още веднъж схемата и платката, ще измисля нещо за охлаждане и ще монтирам нещата вътре. На първо време, ще допиша малко софтуера и ще реализирам keep alive/standby функционалността както и ще се опитам да направя PID / AutoLearn за температурата на водата. Също, ще боцна дебитомер и ще го направя да брои през interrupt функция. Като дойдат китайските датчици, ще работя и по PID за налягането, засега ще е без тази функционалност, като може да опитам да направя някаква програма, която мени мощността по време на екстракцията, за да се случва тя все пак, при малко по-малко налягане.
  7. Начертах платка за панелчето, този път за кръгъл панел, който в общи линии да пасне на Gaggia Baby. По-натам ще начертая и за Classic, вероятно с миниатюрно 2X16 дисплейче. По-долу давам и текущите схеми. Както се вижда, свързването е посредством един лентов кабел. Ето и текущата схема на Power платката за Nano, както и на панелчето.
  8. С лек зор (12 мостчета, че нямам цялото време на света) начертах платка, ня която направо се "нанизва" Arduino Nano, с размери 15 х 6 см. Остава платката за контроления панел, ецване и проба. Първо без регулация на налягането, докато пристигнат датчиците. но с дебитомер и евентуално, датчик за ниво на водата, ако успея да го закрепя някак.
  9. Ще трябва да проверявам още неща, но засега го добутах до тук: Размерите финално ще са около 62мм х 118мм. Идните дни ще си поиграя малко още със симулация, за да видя, да не би някой резистор да трябва да има различна мощност (или поради тази причина стойност) и ще начертая платкита на панелите, както и адаптера от 2 лентови кабела към Arduino. За съжаление Arduino Nano няма толкова портове, а и май софтуера за малко няма да се вмести в него. Ще видя, дали някое от по-новите малки Ардуинота няма вариант, който да върши работа. Ако има, може да направя втора платка, която да има откъм слаботоковата страна два pin header-а за самото Arduino, и така да се спести адаптерната платка, а от тази да излиза само лентов кабел към контролния панел. PS: сега видях, че всъщност NANO има точно толкова пинове (че и два повече аналогови) и всъщност точно толкова памет, колкото и UNO. Ще проверя, дали няма и някакви други ограничения, които да спират приложението. Ако няма, това ще е чудесна новина, понежемога да направя втори вариант на платката за мининмалистично решение с две платки и един лентов кабел.
  10. Надрасках една платчица на силовата част, която ще докоригирам (искам да опитам да преориентирам "входните" конектори, без да ползвам много мостчета, защото сега е неудобно да им се вкарват жиците (на 3д картинката няма 3д модел за тези конектори, но са като на снимката по-долу). Почти се получи каквото исках, с тази разлика, че конектора за лентовия кабел е по-добре да е в средата на платката. Вижда се, че има добър "просвет" между слаботоковата и силнотоковата част. Охлаждане на тиристора и транзисторите мисля да направя, като под всеки транзистор пробия кръгла дупка с диаметър 6mm. Триакът е с изолирана основа, MOSFET транзистора е с пластмасов корпус. Единствено 13005 не е изолиран и за него ще трябва изолационна подложка. Идеята е, когато транзисторите се монтират и завинтят за платката, през отворите под тях, през платката да минават цилиндрични топлопроводими дистанционери с височина 4-5мм, които да контактуват с топлоотвеждаща повърхност / радиатор. Ще помисля къде да сложа монтажните отвори за болтове на платката, така че когато се завинти, да притиска тези дистанционери добре. Със все дупките за болтове, които платката ще има по периферията, размерът й ще е нещо от сорта на 7 x 12 cm.
  11. Как става тая работя през Гъбко? Пращаш до адрес в Германия и идва в БГ склад?
  12. Добре де, как да разбера, кое е от .DE и кое не е? Примерно, тази обява, от Германия ли е наистина, предвид, че административната информация на продавача е Китайска: https://www.ebay.de/itm/30-500psi-Pressure-Transducer-Druckmessumformer-Drucksensor-Transmitter-1-8-NPT/383849588943?hash=item595f37e8cf:g:LkQAAOSw0dVf0HG3#shpCntId
  13. Aко взема малко по-скъпи, за които си пише, че са в Германия примерно в ebay обявата, има ли по-голяма гаранция, че ще дойдат, и ще трябват ли митници?
  14. Дали някой, който често пазарува от ebay (de/fr) може да ми помогне с покупката на 5 броя сензори 0-20 bar (300 psi)? Аз не пазарувам често от ибей а и нямам отделна карта за виртуални разплащания, а доколкото виждам, може да се плаща само с карта. Пък и не разбирам френски/немски. Става дума за 5 броя 300psi сензори от една от тези обяви : https://www.ebay.de/itm/Pressure-transducer-or-sender-for-oil-fuel-air-water-Stainless-Steel-AHS/303349547850?hash=item46a10ac34a:g:ZJgAAOSwUeBdwTEP https://www.ebay.de/itm/NEW-Pressure-transducer-or-sender-for-oil-fuel-air-water-Stainless-Steel-L2KS/124236463656?_trkparms=aid%3D1110006%26algo%3DHOMESPLICE.SIM%26ao%3D1%26asc%3D20201210111314%26meid%3Db0402c1d42cb4687bbab895d0a82bfb8%26pid%3D101195%26rk%3D1%26rkt%3D12%26mehot%3Dpf%26sd%3D303349547850%26itm%3D124236463656%26pmt%3D1%26noa%3D0%26pg%3D2047675%26algv%3DSimplAMLv9PairwiseUnbiasedWeb%26brand%3DMarkenlos&_trksid=p2047675.c101195.m1851 Ако някой ще поръчва нещо от там, или може да ми помогне, може да се разберем, да му платя. Ще съм много благодарен! Разбира се, ако някой иска да преправи и своя машина с моя ардуино проект, може да вземе датчици и за себе си, пък аз мога да помогна със платките и настройването.
  15. Продължавам техническият устрем на темата, който не е точно гастрономически. Леко коригирах схемата на клавиатурата, така че светодиода за Power да е свързан към V+, защото другата платка (power board) дърпа ток към земя, когато не сме в режим Standby. Начертах и схема на силовата платка. Идеята е, от двете платки да потеглят лентови кабели към трета, адаптерна платка, която отдолу има pin header-и които точно пасват на Ардуиното. Трябва да щракнете на голямата схема, за да се отвори по-ясно изображение в нов прозорец. Идеята е, че на KEEP_ALIVE контролера праща правоъгълна вълна с честота >40Hz софтуерно, за да поддържа "жива" силовата част. Това гарантира, че Q1/Q2 дърпат ток от POWER светодиода и от оптроните, които управляват помпата и нагревателя. В противен случай, силовата част се изключва. Реших да управлявам с реле соленоида, ако има такъв, защото не знам какъв индуктивен пик прави при изключване и ме е страх, да не опатка триака, ако го управлявам с полупроводников прибор. Релето си има отделна земя, за да не модулира земята на сензорите. (токът през него е значителен, от порядъка на 50mA+, а лентовите кабели имат тънки жички). Термисторът, който може да се ползва е малък термистор със съпротивление от рода на 20K-100К при стайна температура. Може да се подмени R23 с оптимална стойност според избрания термистор. В софтуера ще може да се задава стойност на референтния резистор R23, съпротивление на термистора при стайна температура, бета коефициент на термистора както и офсет (за коригиране на грешка). Нас предимно ни интересува диапазонът 90-105 градуса по Целзий, затова мисля, че това е постановка, гарантираща достатъчна точност в този тесен диапазон. Дебитомерът (ако се слага) трябва да е от турбинен тип като този: Има три жици - V+, земя и изход от датчика на хол, който дава импулси, като се върти вътре турбинката. В софтуера ще може да се включва или изключва дебитомера, както и да се настройва, дали има соленоид и сензор за нивото на водата. На дебитомера, ще може да му се настройва честотата (брой импулси на литър), което се мери лесно в сглобена машина - влизаш в режим броене, пускаш 1 литър вода и като изтече толкова, запазваш настройката. Искам от едната страна на платката да имам конектори (с винтове) за сензори, от другата - конектори (с винтове) за силовата част (помпа, реотани, соленоид), а от трета страна да имам конектор за лентовия кабел. Чертането на платките ще е предизвикателство мисля, но надявам се, ще се справя. Ако имате идеи откъде да намеря добър и не твърде скъп датчик за налягане, казвайте!
  16. Ами, захванах да чертая финални схеми на KiCAD, който е чудесен безплатен софтуер за схеми/платки/3D визуализация. Засега надрасках схема на предния панел с дисплей/клавиатура/светодиоди и тример за контраст на дисплея. Съвсем малко разбутах подредбата на пиновете с цел по-разбираемо окабеляване. Ако видите грешка, казвайте. Всички пинове освен 12 отиват към портовете на Arduino UNO. 12 отива към силовата платка, чиято схема ще начертая идните дни. R10, R12 и R13 може и да са нещо от рода на 330-470 ома, ако светят много ярко диодите/дисплея. За тази схема мисля да начертая кръгла и квадратна платка, които да пасват на мястото на панелите на Gaggia Baby / Gaggia Classic (онази, с тройния ключ) , за да не трябва да се реже или пробива нищо.
  17. То известен проблем представлява и това, че много нерегулирани захранвания вадят и 14 волта на празен ход. И това е добре, да се мери.
  18. Нещо такова ще е схемата на защитата. PULSE_IN в случая e пин 13 или друг пин, който НЯМА PWM. Софтуерно неговото състояние трябва да се превключва LOW-HIGH с честота, по-голяма от 30-40 Hz, за да работят оптроните. В което и да е друго състояние, в което на PULSE_IN няма пулсация, оптроните спират да работят и всичко по силовата част се изключва. Това е удобно, защото хем пази от забиване на контролера (от бъг, повреда, токов удар), хем е удобен начин за влизане в режим Standby - спира софтуера да "пулсира" този пин и силовата част се изключва само след 100-ина милисекунди. Колекторната верига би могла да се ползва и за Power индикатора - в този случай, в режим Standby ще остане да свети само дисплея (може доста слабо, через смъкване на PWM стойността на пин 5, който отговаря за яркостта на подсветката).
  19. Сега чертая разни платчици - контролен панел с дисплей 2x16 символа и 8 бутона: нагоре, надолу, наляво, надясно Power 1x кафета (единични) 2х кафета (двойни) пара Нямам много добра представа как да работят шорткът копчетата за кафето, но ми се струва, че ще е добре, ако единично натискане пуска съответното единично или двойно кафе, а задържането им кара дисплея да показва съответните ristretto / espresso / lungo / doppio, и при пускането му да почва да прави такова кафе. Power бутона веорятно ще кара машината просто да минава в режим standby и обратно. Бутона за пара просто ще вклюва режим пара, подканвайки потребителя да отвори клапана на чучура. Имaм идея и за два светодиода: червен за power (който свети и в Standby, където дисплея почти изгасва). зелен за Temp OK. Може евентуално да мигат при нещо важно. Всички 8 бутона ходят на един пин A0 на контролера (горе-долу отчитане 0-59 е нищо, 60-180 е бутон 1, 181 - 240 е бутон 2 и т.н.). Отворът за трите копчета на Gaggia Classic e нещо от сорта на 68 на 42мм, а на Baby Twin е 77м окръжност. Мисля да драсна платки за двата вида панелче. Хубаво ще е да се ползва миниатюрен 2х16 дисплей, но ще работи и с големия, макар при Класик-а, да е на границата. Записвам си за себе си мапинг схема при Аrduino UNO: Панел: А0 - клавиатура - по напрежението усеща натиснат бутон. 10 - пин за зеления LED, който индикира, че температурата е достигната. 2 x 16 дисплей: A4, 3, 4, 7 (D4 - D7) - пазя пин 2 за Interrupt, ако има дебитомер 5 - яркост на подсветката (PWM) 8, 9 - RS, RW Помпа: А1 - Напрежение от датчик за налягане A2 - напрежение от термометъра (ако ползваме термомометър с термистор A2, A3, 2 - настроени като цифрови входове (ако ползваме I2C термометър от сорта на MAX31855 с термодвойка или друг I2C прибор). Силова част: 6 - 1kHz PWM за помпата (към оптрон) 11 - ако имаме соленоид (трипътен клапан), този пин го управлява (през оптрон). 12 - софтуерен 2Hz PWM за реотана (към zero-crosing оптотриак); 13 - Защита - софтуера кара този пин да превключва LOW/HIGH с ниска честота (20-50Hz), без което всичко спира (не работят оптроните, от което не работи реотана и помпата). Това гарантира, че при забиване на контролера, няма да остане реотната включен. Други датчици: A5 - настроен като цифров вход - ако има датчик за нивото на водата в резервоара 2 - ако има дебитомер, се слага на този пин и му се настройва interrupt, но тогава трябва да ползваме термисторен термометър, че пин 2 да ни е свободен.
  20. Засега, експериментите с ардуиното и все-още-некалиброваната ми термодвойка (може би ще ползва термистор в крайна сметка), показват, че механичният термостат на тестовата Gaggia Espresso превключва в диапазон горе-долу +- 7 и половина градуса, което си е амплитуда от 15°C, което НИКАК не е добре. Подозирам, че и при другите машини е подобно, макар че сигурно има по-прецизни термостати, където разликата не е толкова фрапантна.
  21. Така е, но не всеки става за всичко. Добър миксинг/мастеринг инженер, който смесва по цел ден и си познава студиото и системата (а и има талант) е много ценен човек!
  22. ^ По-скоро се крастим, да гоним възможно най-добро кафе. А аз си упражнявам и coding skill-овете на тия малки машинки, да не забравя C. Във всеки случай е интересно. Сега стигнах до PID регулатора и PID Аutotune алгоритъм, като си мисля, че ще работи най-добре, ако има отделни режими на работа, когато сме далече от Setpoint-а и когато сме близо. Също мисля, че трябва да има различен Autotune за статично положение(поддържане на температура), и динамично такова (когато върви кафе и влиза студена вода). ^^ И аз го мислих навремето това с механичния датчик. Със сигурност има начин, да се направи, само че ми се вижда некултурно :D.
  23. Да, в общи линии това е идеята. Основните функции трябва да са: Поддържане на зададено налягане и максимално близка до зададена температура при правене на кафе. Поддържане на зададено налягане при преинфузията (1-2 bar, примерно). Помпане на вода "на пресекулки" и оптимална мощност на нагревателя при пускане на пара, така че да не свършва никога парата за капучино, докато в резервоара има вода, а да си излиза на еднаква струя от чучура. Ако в машината има трипътен (соленоид) клапан: Поддържане на клапана отворен по време на преинфузията/екстракцията. Задаване на гранично защитно налягане в бойлера, над което клапана се отваря и изпуска малко вода/пара във ваната. Ако в машината има дебитомер: Задаване на точни обеми на всяко кафе (късо, дълго двойно). Когато времето за екстракция излезе различно от зададеното за типа кафе, то тогава машината може да предупреждава да се намали/увеличи размера на зърното при мелене. Ако има датчик за ниво на водата в резервоара: Влизане в режим Standby и предупреждение, да се напълни резервоара, когато няма вода.
  24. По принцип кафемашините си имат помпа така или иначе. Ти за дебитомер ли говориш? Най-скъпото и трудно за намиране нещо ми се струва датчикът за налягане на водата, който трябва да има диапазон поне до 15bar и да не се поврежда поне до 30-ина.
  25. Сега вече си има Load и Save на настройките (както и autosave на default нстройките в EEPROM паметта първия път). Има си и дефинируем EEPROM Base Address, така че ако се скашка част от EEPROM-а, може да се флашне с друга стойност на базовия адрес и пак успешно да си Save-Load-ва. Освен това, се сейва със Save Settings в менюто, а не при всяка промяна, защото паметта има около 30-40 хиляди цикла на писане, преди да се сдуха. Би било много оригинално, ако при Ардуино с повече флаш памет, програмата сама си прави чексума, копира се на второ място, отково с чексума, и се репликира обратно на първото място, докато и на него излезе чексумата, и това машината да прави веднъж в годината, примерно. Така ще може да си живее много дълго програмата, без да "изтече" и да се наложи да се рефлашва. Все пак, кафемашините са топлички, а това малко или много влияе. Трябва да оптимизирам малко, защото сега заема почти 50% от програмната памет и малко под 40% от RAM на контролерчето. И така може, разбира се, , защото PID-а няма да заеме много, но мисля, че могат да се смъкнат с 10-ина % надолу числата. Ако направя съответните #define директиви, може човек да си включи един или повече езика в билда. Сега си има български и отделно БГ маймуница, когато дисплейчето няма кирилица. Мисля си също, че може в силовата част да се направи схема с допълнителен оптрон, който контролера трябва да кара да мига с определена честота. Ако е в само светнало или тъмно положение, да спира реотана и помпата, понеже това означава, че може да има повреда в контролера, или да е забил.
×
×
  • Създай нов...

Важна информация!

Поставихме "бисквитки" на вашето устройство, за да направим този сайт по-добър. Можете да коригирате настройките си за "бисквитките" , в противен случай ще предположим, че сте съгласни с тяхното използване.