Skocz do zawartości

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


Rekomendowane odpowiedzi

A na pewno pod COM4 masz arduino? Sterowniki masz wgrane od USB? Nie wiem skad masz plytke ale jak nie masz oryginalnej to stosuja tam CH340 do ktorego windows nie ma sterownikow i musisz wgrac recznie.

 

I jak wgrywasz firmware? Klikasz strzaleczke rozumiem?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

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ę ?

Edytowane przez quattro
Odnośnik do komentarza
Udostępnij na innych stronach

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?

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

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?
Edytowane przez quattro
Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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.
Edytowane przez quattro
Odnośnik do komentarza
Udostępnij na innych stronach

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.

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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 )
Edytowane przez quattro
Odnośnik do komentarza
Udostępnij na innych stronach

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

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

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?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 5 tygodni później...

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

Odnośnik do komentarza
Udostępnij na innych stronach

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)?
Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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

Edytowane przez quattro
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

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.

Edytowane przez Wildmor
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

 

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

Mógłbyś podać link do instrukcji? Nie mogę jej znaleźć   :P

 

 

https://github.com/mbroek/MBSE-ArdRims/blob/master/doc/mbse-ardrims.pdf

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

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

Odnośnik do komentarza
Udostępnij na innych stronach

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 ?

Edytowane przez quattro
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.