Jump to content

ArdBir - instrukcja na podstawie mojej płytki (v.1.3 - 02.03.2017)


Recommended Posts

  • 2 weeks later...
  • Replies 202
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Hej,   jako że parę osób zakupiło u mnie jak i korzysta z mojego projektu płytki i prosiło mnie o wykaz elementów jak i pomoc przy składaniu zestawu postanwiłem napisać ten temat i dodawać do niego

jezyk polski juz dawno napisalem i jest do pobrania razem z calym programem tu http://www.piwo.org/topic/10829-sterownik-do-kadzi-zaciernej/page-9  

w Arduino IDE - Menu "Szkic" - > dołącz bibliotekę - >zarządzaj bibliotekami. W okienku wyszukiwania wpisz Onewire i wyszukaj, Zainstaluj. Powinno zadziałać.   Pozdr

Posted Images

Arduino miałem uszkodzone. Sprzedawca wymienił na nowe i pozbyłem się tego błędu. Niestety pojawił się kolejny. Przy próbie wgrania polskiego Ardbira wyskakuje pełno ostrzeżeń tego typu:

"sketch\LCD20x4_PL.h:1:160: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]" .Program się wgrywa, ale na wyświetlaczu nic nie widać (testowane na 2 różnych. Zgodnie z sugestiami na PW od kolegi Gwynbleidd, próbowałem wgrać oryginalnego Ardbira, jednak to samo się dzieje. Wie ktoś co może źle robię ?

Edited by quattro
Link to post
Share on other sites

To samo chyba nie moze sie dziac bo masz plik PL, chyba ze wyskakuje taki sam blad bez PL? Ogolnie to jest blad kodu, czesto chyba spotykany przy C++ glownie dla bezpieczenstwa. Jakiego arduino IDE uzywasz?

 

Tak jakby kod mial stale wartosci string konwertowane do char* ale nie mam pojecia dlaczego, moze jakis kod masz uszkodzony czy cos? Formatowanie znakow? Moze kopiowales recznie kod skads?

Edited by Gwynbleidd
Link to post
Share on other sites

To samo chyba nie moze sie dziac bo masz plik PL, chyba ze wyskakuje taki sam blad bez PL? Ogolnie to jest blad kodu, czesto chyba spotykany przy C++ glownie dla bezpieczenstwa. Jakiego arduino IDE uzywasz?

 

Tak jakby kod mial stale wartosci string konwertowane do char* ale nie mam pojecia dlaczego, moze jakis kod masz uszkodzony czy cos? Formatowanie znakow? Moze kopiowales recznie kod skads?

Korzystam z plików, których linki wstawiłeś w pierwszym poście. Przy oryginalnym Ardbirze wyskakuje to samo, tylko bez PL. Korzystam z IDE 1.8.1.  NA  starszych wersjach jest błąd, że szkic jest za duży. 

 

Szkic używa 30 870 bajtów z (100%) pamięci programu. Maksimum to 30 720 bajtów.
Globalne zmienne używają 1 323 bajtów z (64%) dynamicznej pamięci, pozostawiając 725 bajtów dla lokalnych zmiennch. Maksimum to  2 048 bajtów.
processing.app.debug.RunnerException: Szkic za duży, zobacz porady na http://www.arduino.cc/en/Guide/Troubleshooting#sizew celu zmiejszenia go.
at processing.app.debug.Compiler.size(Compiler.java:325)
at processing.app.debug.Compiler.build(Compiler.java:117)
at processing.app.Sketch.build(Sketch.java:1169)
at processing.app.Sketch.build(Sketch.java:1142)
at processing.app.Editor$BuildHandler.run(Editor.java:1977)
at java.lang.Thread.run(Thread.java:745)
Szkic za duży, zobacz porady na http://www.arduino.cc/en/Guide/Troubleshooting#sizew celu zmiejszenia go.
 
Zmieniłem w kodzie linie: #define Crediti  na false, ale nie pomaga
 
@Gwynbleidd   mógłbyś wstawić na nowo plik, który u Ciebie kompiluje się i uruchamia? I z jakiej wersji IDE korzystasz?
Edited by quattro
Link to post
Share on other sites

Kiedys mialem problem z za duzym plikiem ale to w bardzo starych wersjach IDE, teraz uzywam najnowszej co jest na stronce arduino i smiga dobrze. Sprobuj moze ta wersje juz okrojona - Open-ArdBir - JoeFarmer Version.zip

 

Jak sciagasz paczke ze strony? Bo ogolnie na githubie pod windowsem jak klikasz prawym i zapisujesz na dysku to sa bledy plikow, nie mam pojecia dlaczego i najlepiej jak sciagasz "clone or download" calego githuba.

 

Mozesz tez AdRIMSa sprobowac wgrac, zobacz czy daje jakies bledy https://github.com/mbroek/MBSE-ArdRims

Link to post
Share on other sites

A tym okrojonym to samo. Poniżej wklejam wszystkie ostrzeżenia. 

 

In file included from C:\Users\Michał\Downloads\ArdBir-master (1)\ArdBir-master\Open-ArdBir-2.8.3-RC2\Open-ArdBir-2.8.3-RC\Open-ArdBir\Open-ArdBir.ino:285:0:
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
 char *PIDName[]   ={"Use ", "Constant  kP", "Constant  kI", "Constant  kD", "SampleTime  ", "WindowSet ms", "Heat in Boil", "Calibration " , "Hysteresi  "};
 
                                                                                                                                                           ^
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:1:155: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
 char *stageName[] ={"Mash In   ", "Phytase   ", "Glucanase ", "Protease  ", "\xE2""Amylase  ", "\xE0""Amylase1 ", "\xE0""Amylase2 ", "Mash Out  ", "Boil      ", "Cooling   ", "Whirlpool "};
 
                                                                                                                                                                                            ^
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:2:188: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
In file included from C:\Users\Michał\Downloads\ArdBir-master (1)\ArdBir-master\Open-ArdBir-2.8.3-RC2\Open-ArdBir-2.8.3-RC\Open-ArdBir\Open-ArdBir.ino:285:0:
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
 char *unitName[]  ={"Set Degrees", "Sensor     ", "Temp Boil  ", "Temp Boil  ", "Pump Cycle ", "Pump Rest  ", "Pmp PreMash", "Pmp on Mash", "Pmp MashOut", "Pmp on Boil", "Pump Stop  ", "Pump Stop  ", "PID Pipe   ", "Skip Add   ", "Skip Remove", "Skip Iodine", "IodineTime " , "Whirlpool "};
 
                                                                                                                                                                                                                                                                                                 ^
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
sketch\LCD20x4_ENG.h:3:289: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
C:\Users\Michał\Downloads\ArdBir-master (1)\ArdBir-master\Open-ArdBir-2.8.3-RC2\Open-ArdBir-2.8.3-RC\Open-ArdBir\Open-ArdBir.ino: In function 'void WaitStart()':
 
C:\Users\Michał\Downloads\ArdBir-master (1)\ArdBir-master\Open-ArdBir-2.8.3-RC2\Open-ArdBir-2.8.3-RC\Open-ArdBir\Open-ArdBir.ino:1280:48: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 
Szkic używa 28388 bajtów (92%) pamięci programu. Maksimum to 30720 bajtów.
Zmienne globalne używają 1301 bajtów (63%) pamięci dynamicznej, pozostawiając 747 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów.
Edited by quattro
Link to post
Share on other sites

Ale chwila, program jest skompilowany wiec powinno chodzic?

 

Wlasnie zainstalowalem arduino IDE na kompie w pracy, mam te same bledy co Ty, ale program sie kompiluje, nie wiem od czego to zalezy, cos moze skopali w tej wersji, moze trzeba ciut starsza sprawdzic. 1.6.9 to chyba byla ta co dzialala i 1.6.10?

 

EDIT: Przy tym holenderskim nic mi nie wywala zadnego bledu, tylko przy ardbir. Radze uzywac holenderskiego dlatego ze dwa dni temu zostal zaktualizowany i gosc doszedl do wniosku ze biblioteka PID byla blednie uzywana w ArdBir i u niego wczesniej. Teraz podobno dwa razy szybciej grzeje i mniejszy overshoot temperatury jest.

Edited by Gwynbleidd
Link to post
Share on other sites

trzymaj ta paczuszke

skonfigurowalem ja wstepnie na angielski oraz na piny do mojej plytki, sprobuj.

 

Tutaj troche opisane nowe rzeczy mozna sobie google tlumaczem przetlumaczyc :)

 

"Heel stiekem staat versie 0.2.0 op github. Veel verbeteringen deze keer, een aantal kwamen aan het licht met het ontwikkelen van de nieuwe WiFi versie op een D1 mini pro.
Na veel uitzoekwerk blijkt dat de manier waarop de Arduino PID bibliotheek gebruikt wordt in de originele ArdBir software, en ook in de afgeleide MBSE-ArdRims software nooit goed kan werken. Deels had ik de problemen weggewerkt door die log-factor in te bouwen, maar dat was niet de juiste manier.

de belangrijkste wijzigingen:

  • Het instelbereik van de PID is vergroot, P van 0 tot 2048 in stappen van 0,03125. I van 0 tot 128 in stappen van 0.002. En D van 0 tot 32768 in stappen van 0.5. De default waardes zijn 150.0 1.5 15000.0
  • De logfactor is verdwenen, die is niet meer nodig.
  • De WindowSize instelling is verdwenen, alleen de SampleTime is er nog.
  • De SampleTime is nu in te stellen tussen 1 en 20 seconden, default is 5 seconden.
  • Met handbediening van de maisch ketel gaat zodra de ingestelde temperatuur is bereikt een klok lopen. Kun je gebruiken als hulp bij het schoonmaken (CIP).
  • De laatst ingestelde temperatuur tijdens handbediening wordt opgeslagen.
  • Regels 2 en 3 van het display zijn opnieuw ingedeeld.


Na de upgrade heb je nieuwe PID instellingen. Na een downgrade zijn de oude weer terug inclusief de logfactor.
Na een upgrade gebruik NIET je oude PID instellingen, dat gaat niet werken. Begin met de default 150 1.5 150000. Je kunt wat variëren maar het beste kun je de I op 1/100 van P houden en D op 100 maal P.
Bij mij werkt 200 2.0 20000 behoorlijk goed. Bij mij schiet de temperatuur iets minder dan 1 graad door en heb ik een opwarmtijd tussen de maisch stappen van 1 graad per minuut. Met de oude PID duurde dat zeker twee maal zo lang.
Volgens mij is het doorschieten van minder dan 1 graad geen probleem voor het maischen. Zou je gaan voor een instelling die minder doorschiet, dan zal de opwarmtijd onnodig lang gaan duren.

Voor goede informatie over de PID en het tunen zie http://www.wescottdesign.com/articles/pid/pidWithoutAPhd.pdf. Met dank aan McMelloW voor deze link. Lees dit eerst goed door voor je handmatig gaat tunen.

Autotune. Ik heb het geprobeerd en mede door autotune kwam ik de fouten van de oorspronkelijke implementatie op het spoor. Toch is dit niet betrouwbaar in te bouwen. De waardes die autotune vond kwamen toch wel in de richting van de huidige default waardes.

De handleiding (eindelijk) is bijna klaar en zal ook op github verschijnen, ik meld het wel als die daar staat.

Chiel."

MBSE-ArdRims.zip

Link to post
Share on other sites

Ten ArdRims też pluje błędami:

 

In file included from C:\Users\Michał\Desktop\MBSE-ArdRims\MBSE-ArdRims.ino:272:0:
 
sketch\setup.h: In function 'void set_PID()':
 
setup.h:285: error: too few arguments to function 'void editUint(const char*, int, int, float, int)'
 
   editUint("PID kP"      , EM_PID_Kp, 200, 100);
 
                                               ^
 
sketch\setup.h:65:6: note: declared here
 
 void editUint(const char *label, int address, int max, float step, int div) {
 
      ^
 
setup.h:286: error: too few arguments to function 'void editUint(const char*, int, int, float, int)'
 
   editUint("PID kI"      , EM_PID_Ki, 250,   0);
 
                                               ^
 
sketch\setup.h:65:6: note: declared here
 
 void editUint(const char *label, int address, int max, float step, int div) {
 
      ^
 
setup.h:287: error: too few arguments to function 'void editUint(const char*, int, int, float, int)'
 
   editUint("PID kD"      , EM_PID_Kd, 200, 100);
 
                                               ^
 
sketch\setup.h:65:6: note: declared here
 
 void editUint(const char *label, int address, int max, float step, int div) {
 
      ^
 
exit status 1
too few arguments to function 'void editUint(const char*, int, int, float, int)'
 
 
EDIT: Oryginalny ArdRims kompiluje się bez błędów (link: https://github.com/mbroek/MBSE-ArdRims )
Edited by quattro
Link to post
Share on other sites

Czekaj masz racje, ja sprawdzalem na jezyku holenderkim i on zrobil blad w angielskim. Tutaj masz dobra packze, powinno hulac juz. W kazdym badz razie to byl blad kodu juz a nie taki jak tam. Wiec cos w ArdBirze jest czego nie lubi nowy IDE. Choc mi i tak kod kompiluje i da sie go uzywac. Ale pewnie lepiej uzyc starsza wersje IDE do tego jak koniecznie chcesz.

MBSE-ArdRims.zip

Edited by Gwynbleidd
Link to post
Share on other sites

Udało Ci się?

 

Własnie odkryłem cos dziwnego, u mnie w domu normalnie sie wszystkie wersje kompilują bez zadnych bledow. Mam 1.8.1 i troche dłużej to trwa niż w pracy na kompie ale wychodzi bez błędów. Więc nie wiem może to jakieś biblioteki albo biblioteki od arduino nano z programu?

Link to post
Share on other sites
  • 5 weeks later...

ogólnie metodą prób i błędów znając co każdy parametr robi. W instrukcji trochę jest napisane. I możesz poszukać w necie bo pewnie ludzie sie dzielili. Ja używałem domyślnych z holenderskiego softu. Ogólnie overshot 1 stopien w ta czy w ta to chyba zadna roznica tak naprawde ale jak dobrze ustawisz to powinienes miec co do 0,25 nie wliczajac bledu czujnika

Link to post
Share on other sites

ogólnie metodą prób i błędów znając co każdy parametr robi. W instrukcji trochę jest napisane. I możesz poszukać w necie bo pewnie ludzie sie dzielili. Ja używałem domyślnych z holenderskiego softu. Ogólnie overshot 1 stopien w ta czy w ta to chyba zadna roznica tak naprawde ale jak dobrze ustawisz to powinienes miec co do 0,25 nie wliczajac bledu czujnika

Ustawienia domyślne PID na holenderskim sofcie, będą dobra działać na grzałkach 2x1750W (od kolegi Sprawek)?
Link to post
Share on other sites

Musisz sprawdzic, tak naprawde to zalezy od wielu czynnikow, garnka, pojemnosci itd. Szkoda ze nie ma autotune choc podobno sie slabo sprawdzal.

 

Z tego co widze powstala instrukcja do tej holenderskiej wersji tylko ze po holendersku :D ale mozna sobie tlumaczem walnac.

Link to post
Share on other sites

Mam jeszcze pytanie dot. bezpieczników. Mam zamiar dać T15A na grzałki w sumie 3,5kW. Nie wiem jaki dać na sterownik, ze względu, że jeszcze nie odpalałem go jeszcze na kompletnym sprzęcie i nie wiem jaki prąd pobiera. Co do sterownika, zasilać go ATX'em (tym co mieszadło), czy lepiej założyć inny zasilacz (np. do LEDów)?

 

A poniżej zdjęcia z budowy, które mogą stanowić inspiracje dla innych :)

fbbec6e851ddc992gen.jpg

19651e88743d2413gen.jpg

3816e00ebcc02975gen.jpg

751f65fd174e3967gen.jpg

Edited by quattro
Link to post
Share on other sites
  • 2 weeks later...

Witam, 

Próbował ktoś już przerabiać ArdBir na inny czujnik np.: Pt100?

Widziałem że w programie jest funkcja odczytująca Temperaturę "Temperature()"  i zapisująca ją w zmiennej "Temp_Now".

Czy odpowiednie przerobienie tej funkcji zadziała?

Czy gdzieś jeszcze w programie trzeba coś pozmieniać?

 

@@quattro,  przy 3,5kW popłynie 15A więc musisz dać na pewno większy. A zasilacz jakikolwiek na 5V 1A na pewno wystarczy.

Edited by Wildmor
Link to post
Share on other sites
  • 3 weeks later...
  • 2 months later...

Myślałem, że pomogę Tobie ale jednak nie da rady. Jeszcze rok temu pod tym linkiem: https://github.com/jangevaare/pidcalculateRdziałała aplikacja do regulacji parametrów PID, korzytałem z niej używając Strangebrew Elsinore i bardzo ładnie szło to wyregulować. Możesz spróbować policzyć według tego tutoriala: https://www.reddit.com/r/StrangeBrew/comments/3dnd3n/zieglernichols_pid_tuning/. O ile dobrze pamiętam wyliczone przez wspomnianą aplikację parametry nie odbiegały za bardo od tych z tutoriala. Powodzenia

Link to post
Share on other sites

Myślałem, że pomogę Tobie ale jednak nie da rady. Jeszcze rok temu pod tym linkiem: https://github.com/jangevaare/pidcalculateRdziałała aplikacja do regulacji parametrów PID, korzytałem z niej używając Strangebrew Elsinore i bardzo ładnie szło to wyregulować. Możesz spróbować policzyć według tego tutoriala: https://www.reddit.com/r/StrangeBrew/comments/3dnd3n/zieglernichols_pid_tuning/. O ile dobrze pamiętam wyliczone przez wspomnianą aplikację parametry nie odbiegały za bardo od tych z tutoriala. Powodzenia

W tej metodzie w linku trzeba znać odpowiednią wartość członu proporcjonalnego. Problem w tym, że nie mam pojęcia jak go wyznaczyć. I jak ustawić sterownik tylko w trybie P ?

Edited by quattro
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.