Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Atmega88 - ADC, PID i stacja lutownicza

mustang01 10 Dec 2014 14:18 5895 32
Renex
  • #1
    mustang01
    Level 10  
    Witam, po przeczytaniu książki o programowaniu zabrałem się z próbę adaptacji popularnych stacji lutowniczych RL1 z Elektroniki praktycznej do własnych potrzeb.
    Dodałem przyciski z profilami temperaturowymi i obsługę enkodera do zmieniania temperatury, pomiar temperatury otoczenia na DS18B20 i obsługę kolby Weller WSP80 z wbudowanym czujnikiem temperatury PTC(20R i przyrostem średnio 0,113R na stopień). Procesor Atmega88 taktuje wewnętrznym generatorem 8 Mhz i zasilam napięciem 5V. Wbudowany przetwornik zasilam z tego samego napięcia za pomocą dławika, a vref biorę z mostka pomiarowego INA125. Wyświetlacz LCD 16x2 podłączyłem w trybie 4 bitowym bez pinu R/W. Chciałbym zbliżyć się do dokładności -/+1*C pomiaru temperatury lutownicy. Do kalibracji mam termometr oparty na termoparze K o dokładności +/-0,2%(bez błędu termopary). Programuje układ odpowiednikiem skt200 za pomocą portu LPT w komputerze.
    Atmega88 - ADC, PID i stacja lutownicza Atmega88 - ADC, PID i stacja lutownicza

    Natrafiłem na kilka problemów.
    1. Przy napięciu odniesienia ~5V(kilka mV poniżej napięcia zasilania), zegarze ADC 62,5kHz, rozdzielczości 10bit i okresie próbkowania 50Hz i uśrednieniu wyniku x4 - przetwornik po kilkudziesięciu minutach bezczynności dawał wynik zamiast kilkudziesięciu ADC(np. 27) jakieś dużo większe losowe (rzędu 150-300). Z innej beczki, mam przypadłość objawiającą się od czasu do czasu. Wynik pomiaru zatrzymuje się na stałym wyniku np. 627 mimo, że napięcie ustawiło się już dawno na 100% zakresu -> ~4,99V i powraca do normalności, gdy napięcie mierzone spada poniżej zakresu 627 adc. Problem zatrzymania się wyniku pomiaru na określonej wartości znika, gdy usuwam uśrednianie z procedury timera adc.
    Code: c
    Log in, to see the code

    2. Podczas programowania lub włączenie układu z wcześniej odpalonym komputerem i podłączonym programatorem powoduje zawieszenie się procka(stan wysoki na pinie reset) i przegrzanie lutownicy (grzałka zaczyna świecić na czerwono).
    3. Mam duże problemy z kalibracją nastaw procedury PID pobranej z dokumentu AVR221 -> www.atmel.com/images/doc2558.pdf http://www.atmel.com/dyn/resources/prod_documents/AVR221.zip
    Grzałkę steruje w przerywaniu INT0 na dodatnim i ujemnym zboczu wywołanym przejściem przez zero. Regulacja grupowa, 255 poziomów mocy.
    Code: c
    Log in, to see the code

    4. Co cykl pomiaru (12Hz) kasuje i wyświetlam na nowo wyniki na LCD. Bardzo denerwuje mnie zjawisko mrugania, migotania ekranu LCD. To samo tyczy się gdy z zbyt wielką częstotliwością chciałbym wypisać wynik pomiaru na LCD.

    Związku z tym mam kilka pytań.
    1. Na jaką częstotliwość dobrać filtr dolnoprzepustowy RC na wejściu przetwornika? Wiem, że ma to być połowa częstotliwości samplowania, ale czy to samo tyczy się nad próbkowania. Przykładowo nad próbkuje sygnał 256 razy by zwiększyć rozdzielczość do 14 bitów, korzystam z trybu adc freerunning wywoływanego co 4,68kHz(częstotliwość pojedynczej próbki) to filtr ma być na częstotliwość odcięcia -3dB 2,34kHz czy też 9Hz?
    2. Czy istnieje jakaś procedura lub zabieg, która podczas programowania lub stanu wysokiego na pinie reset pozwoliła by mi wyłączyć grzałkę lutownicy (stan niski na wyjściu pina z optotriakiem)?
    3. Jak często mam robić pomiar temperatury? Co jaki okres mam wywoływać procedurę pid i ile dać poziomów mocy? Jaką rozdzielczość pomiaru temperatury potrzebuje, aby podjąć próbę kalibracji pomiaru do dokładności +/-1*C i stabilizacji temperatury na tym pułapie? Jak dostroić nastawy PID według metody Ziegler-Nichols skoro w implementacji AVR221 mam nastawy K_P, K_I, K_D oraz regulacje czasu wywoływania instrukcji PID, a nie jak inni mają jedno wzmocnienie K_P i czasy T_P, T_I, T_D?
    4. Co jaki czas można odświeżać zielony LCD 2x16, aby nie uświadczyć zjawiska migania obrazu? LCD pracuje w trybie 4 bitowym bez pinu R/W z programowym opóźnieniem 120us po wysłaniu 4 bitów.

    Proszę o pomoc. Zadowoli mnie odpowiedz na jakiekolwiek z zagadnień.
  • Renex
  • Helpful post
    #2
    tronics
    Level 38  
    Quote:
    Co cykl pomiaru (12Hz) kasuje i wyświetlam na nowo wyniki na LCD. Bardzo denerwuje mnie zjawisko mrugania, migotania ekranu LCD. To samo tyczy się gdy z zbyt wielką częstotliwością chciałbym wypisać wynik pomiaru na LCD.

    Wystarczy po ustawieniu pozycji kursora LCD wysłać tylko zaktualizowane wartości wtedy gdy się wielkość zmienia. Przy dobrym formatowaniu i użyciu w pamięci uC bufora do tekstu LCD można praktycznie całkowicie wyeliminować jakiekolwiek migotanie (a tym bardziej funkcję clear lcd). W skrócie jeśli zawsze od adresu 0x81 (2 kwadrat LCD iirc) wysyłamy ciąg znaków typu XYZ°C i dla 2 cyfrowych pomiarów X zastępujemy spacją to wystarczy coś takiego (ideowo)
    Code: c
    Log in, to see the code

    Coś w ten deseń.
  • Helpful post
    #3
    pawel_konin
    Level 20  
    mustang01 wrote:

    Atmega88 - ADC, PID i stacja lutownicza Atmega88 - ADC, PID i stacja lutownicza

    A może kolega wytłumaczyć czemu do podświetlenia LCD nie ogranicza prądu tylko, ciągnie ile wlezie z VCC?? Od podświetlenia mogą przenosić się zakłócenia na VCC i na AVCC też.
    Kolejna sprawa dlaczego brakuje u ciebie w części zasilaczowej magazynu energi tylko jest sam ceramik(LM7805)??
    Kolejna sprawa dlaczego u ciebie jest dodatkowy ceramik za dławikiem AVCC??Gdzie powszechnie stosuje się dzielnik złożony z dławika i ceramika i za dławikiem pusto.
    Niech kolega jeszcze odpowie gdzie i jak połączył GND i AGND bo jakoś na schemacie tego nie widać.
    Dlaczego korzystasz z wersji DIP ATMEGA gdzie jak się przestudiuje DS jest znacznie mniejsza obciążalność prądową praktycznie każdego modelu, już nie mówiąc o tym że, w tgfp rdzeń jest zasilany zwykle w 4 miejscach(zwiększona odporność na zakłócenia) oraz możliwość uruchomienia adc z odpowiednimi wzmocnieniami dostępne dane znajdziesz w swoim DS.
    Po za tym pokaż PCB bo podejrzewam że, tam więcej możemy znaleźć
  • #4
    dondu
    Moderator on vacation ...
    pawel_konin wrote:
    A może kolega wytłumaczyć czemu do podświetlenia LCD nie ogranicza prądu tylko, ciągnie ile wlezie z VCC?? Od podświetlenia mogą przenosić się zakłócenia na VCC i na AVCC też.

    W większości LCD podświetlanie ma rezystor ograniczający prąd, ale oczywiście należy się upewnić.

    pawel_konin wrote:
    Kolejna sprawa dlaczego brakuje u ciebie w części zasilaczowej magazynu energi tylko jest sam ceramik(LM7805)??

    Jest elektrolit 470 uF.

    pawel_konin wrote:
    Kolejna sprawa dlaczego u ciebie jest dodatkowy ceramik za dławikiem AVCC??Gdzie powszechnie stosuje się dzielnik złożony z dławika i ceramika i za dławikiem pusto.

    Jest prawidłowo.

    pawel_konin wrote:
    Niech kolega jeszcze odpowie gdzie i jak połączył GND i AGND bo jakoś na schemacie tego nie widać.

    Słuszne pytanie ... także nie widzę połączenia, a PCB nie mamy.

    pawel_konin wrote:
    Dlaczego korzystasz z wersji DIP ATMEGA gdzie jak się przestudiuje DS jest znacznie mniejsza obciążalność prądową praktycznie każdego modelu, ...

    W którym miejscu tego projektu ma to znaczenie?

    pawel_konin wrote:
    Dlaczego korzystasz z wersji DIP ATMEGA ... w tgfp rdzeń jest zasilany zwykle w 4 miejscach(zwiększona odporność na zakłócenia) ...

    Nie ma to znaczenia dla poprawności pomiarów ADC. Od tego jest tryb snu na czas pomiaru: ADC Noise Reduction.

    pawel_konin wrote:
    Po za tym pokaż PCB bo podejrzewam że, tam więcej możemy znaleźć

    To bardzo istotne.
  • Renex
  • #5
    pawel_konin
    Level 20  
    pawel_konin wrote:
    Kolejna sprawa dlaczego brakuje u ciebie w części zasilaczowej magazynu energi tylko jest sam ceramik(LM7805)??

    Jest elektrolit 470 uF.

    Atmega88 - ADC, PID i stacja lutownicza
    Jest 470uF ale za stabilizatorem a przed nim jest tylko ceramik filtrujący 100nF

    pawel_konin wrote:
    Kolejna sprawa dlaczego u ciebie jest dodatkowy ceramik za dławikiem AVCC??Gdzie powszechnie stosuje się dzielnik złożony z dławika i ceramika i za dławikiem pusto.

    dondu wrote:

    Jest prawidłowo.

    Atmega88 - ADC, PID i stacja lutownicza
    Ja widzę tu dodatkowy ceramik, ale skoro jest to prawidłowo to ok.

    pawel_konin wrote:
    Dlaczego korzystasz z wersji DIP ATMEGA gdzie jak się przestudiuje DS jest znacznie mniejsza obciążalność prądową praktycznie każdego modelu, już nie mówiąc o tym że, w tgfp rdzeń jest zasilany zwykle w 4 miejscach(zwiększona odporność na zakłócenia) oraz możliwość uruchomienia adc z odpowiednimi wzmocnieniami dostępne dane znajdziesz w swoim DS.

    dondu wrote:

    W którym miejscu tego projektu ma to znaczenie?


    Ma to znaczenie w ujęciu zakłóceń, z którymi być może kolega się boryka.
  • #6
    tronics
    Level 38  
    Quote:
    Jest 470uF ale za stabilizatorem a przed nim jest tylko ceramik filtrujący 100nF

    A za mostkiem prostowniczym co jest?
    Quote:
    Ja widzę tu dodatkowy ceramik, ale skoro jest to prawidłowo to ok.

    CLC, nic w tym złego.
  • #7
    dondu
    Moderator on vacation ...
    pawel_konin wrote:
    Jest 470uF ale za stabilizatorem a przed nim jest tylko ceramik filtrujący 100nF

    Tak masz rację. Nie napisałeś, że na wejściu, a ja po popatrzyłem tylko na wyjście :)
    Ale z drugiej strony jest wielki C4 1000uF - zapewne w odpowiedniej odległości od 7805 - zobaczymy na PCB.

    pawel_konin wrote:
    Atmega88 - ADC, PID i stacja lutownicza
    Ja widzę tu dodatkowy ceramik, ale skoro jest to prawidłowo to ok.

    Tak jest ok - zobacz w datasheet. To po prostu filtr LC.

    pawel_konin wrote:
    Ma to znaczenie w ujęciu zakłóceń, z którymi być może kolega się boryka.

    Nie, to nie ma znaczenia, ponieważ nie wykorzystuje pinów mikrokontrolera do przełączania dużych prądów - a przynajmniej ja nie zauważyłem na schemacie, by taki przypadek występował. Poczekamy, aż wrzuci PCB.

    Swoją drogą przydałyby się jeszcze jakieś zdjęcia.
  • #8
    pawel_konin
    Level 20  
    Jeszcze jedna rzecz mnie intryguje nie wiem czy zauważyliście ale na ADC0 jest rezystor 10k+ równolegle do niego kondensator ze schematu ceramik 1u(dopasowanie impedancji wejścia analogowego??) czy po porostu nie wyszedł komuś filtr dolnoprzepustowy który powinien być rzecz jasna inaczej(RC->AGND) bo po schemacie wynika że, wychodzi to z mostka INA125 a tam z drugiej strony jest czujnik PTC (T_GT chyba temp grzałki), nie ma co poczekajmy za autorem tematu.
    Atmega88 - ADC, PID i stacja lutownicza
  • #10
    mustang01
    Level 10  
    Dziękuje za liczne odpowiedzi.

    tronics wrote:

    Wystarczy po ustawieniu pozycji kursora LCD wysłać tylko zaktualizowane wartości wtedy gdy się wielkość zmienia.

    Już zabieram się do roboty, trafne spostrzeżenie. Zamiast wypisywać co cykl cały wyświetlacz (kilka ms) będę wypisywał zaktualizowane temperatury na już wcześniej wysłanym szablonie.

    dondu wrote:
    pawel_konin wrote:
    A może kolega wytłumaczyć czemu do podświetlenia LCD nie ogranicza prądu tylko, ciągnie ile wlezie z VCC?? Od podświetlenia mogą przenosić się zakłócenia na VCC i na AVCC też.

    W większości LCD podświetlanie ma rezystor ograniczający prąd, ale oczywiście należy się upewnić.

    Na pcb wyświetlacza jest rezystor ograniczający prąd. Chciałem dać na swojej płytce dodatkowy, ale zabrakło mi miejsca. Skończyło się na tym, że wymieniłem tego na pcb LCD na 220R, aby nie dawać radiatora na LM7805 i tak nie zamierzam korzystać z stacji lutowniczej (wyświetlacza LCD) bez dodatkowego oświetlenia.

    pawel_konin wrote:
    Kolejna sprawa dlaczego brakuje u ciebie w części zasilaczowej magazynu energi tylko jest sam ceramik(LM7805)??

    Po mostku jest 1000uF dla dwóch stabilizatorów (9V i 5V). Po LM7805 jest 470uF. Pobór prądu z LM7805 nie powinien przekraczać 100mA, więc energii jak aż nadto.
    Rozważam tu raczej zastosowanie Lm317 w miejsce LM7805, aby zwiększyć napięcie dużo ponad vref np. do 5,25V lub zmniejszyć vref do 1,24 czy 2,5V z scalaka IN125(kwestia konfiguracji jego pinów i ponowny dobór rezystorów w mostku).

    pawel_konin wrote:
    Kolejna sprawa dlaczego u ciebie jest dodatkowy ceramik za dławikiem AVCC??Gdzie powszechnie stosuje się dzielnik złożony z dławika i ceramika i za dławikiem pusto.

    Zastosowałem filtr LC, tak jak to się propaguje i stosuje Atmel. Przed projektowaniem tego oglądałem oficjalne pcb xmega od Atmela. W czytanych artykułach o adc na tym forum tłumaczonych z blogu jakiegoś amerykańskiego inżyniera można wyczytać, że należny najpierw stosować dławik, a później kondensator. Adc może działać bardzo szybko i potrzebuje dużego zapasu energii.

    pawel_konin wrote:
    Niech kolega jeszcze odpowie gdzie i jak połączył GND i AGND bo jakoś na schemacie tego nie widać.

    Tu może być pies pogrzebany. AGDN nie istnieje, jest to po prostu GDN wyciągnięte wprost z stabów 9V i dotransportowanie na pcb sterownika oddzielnymi przewodami.
    Atmega88 - ADC, PID i stacja lutownicza
    Atmega88 - ADC, PID i stacja lutownicza

    pawel_konin wrote:
    Dlaczego korzystasz z wersji DIP ATMEGA gdzie jak się przestudiuje DS jest znacznie mniejsza obciążalność prądową praktycznie każdego modelu, ...
    Bo nie mam stacji lutowniczej i doświadczenia w lutowaniu małych scalaków. Po budowie stacji planuje złożyć programator, kupno nowej książki i wejście w świat xmega(jest ona tylko w smd) z względu na dużo lepsze parametry adc i mniejszy pobór prądu.

    dondu wrote:

    pawel_konin wrote:
    Dlaczego korzystasz z wersji DIP ATMEGA ... w tgfp rdzeń jest zasilany zwykle w 4 miejscach(zwiększona odporność na zakłócenia) ...

    Nie ma to znaczenia dla poprawności pomiarów ADC. Od tego jest tryb snu na czas pomiaru: ADC Noise Reduction.

    Odpowiedz jak na pytanie wyżej. Nie zamierzam korzystać z "ADC Noise Reduction". Atmegę taktuje 8Mhz co według inżynierów Atmela zalicza się do taktu mało szumiącego. Nie magluje pinami blisko portu przetwornika i mikro kontroler przez większość czasu się obija. Większość programu zabiera pomiar i wyliczanie pid, a pomiar temperatury pokoju co 3 sekundy DS18B20 czy wyświetlanie wyników to tylko dodatek. Najwięcej szumi enkoder podczas kręcenia, bo zmienia się nieznacznie poziom adc (bez filtra rc wyniki szaleją) i podświetlanie LCD jakby jaśniej świeci. Szum jest też pożądany i jest go zbyt mało w przypadku, gdy chcemy zastosować oversampling.

    pawel_konin wrote:
    Jeszcze jedna rzecz mnie intryguje nie wiem czy zauważyliście ale na ADC0 jest rezystor 10k+ równolegle do niego kondensator ze schematu ceramik 1u(dopasowanie impedancji wejścia analogowego??) czy po porostu nie wyszedł komuś filtr dolnoprzepustowy który powinien być rzecz jasna inaczej(RC->AGND) bo po schemacie wynika że, wychodzi to z mostka INA125 a tam z drugiej strony jest czujnik PTC (T_GT chyba temp grzałki), nie ma co poczekajmy za autorem tematu.
    Atmega88 - ADC, PID i stacja lutownicza

    Miał wyjść filtr RC. Zamierzam mierzyć temperaturę z czujnika w grzałce lutownicy z częstotliwością rzędu kilku - kilkudziesięciu Hz. Rezystor 10k to maksymalna impedancja źródła sygnału według dokumentacji atmegi88. Dodatkowo ten rezystor miał zabezpieczyć diody wbudowane w uC do prądu 500uA w przypadku braku czujnika lub pojawienia się napięcia ujemnego z mostka pomiarowego.

    To moje pierwsze pcb i jest to dla mnie poligon doświadczalny. Przykładowo wyrzuciłem filtr RC (kondensator 100nF i rezystor 10k ) z drogi sygnału enkodera, gdy dowiedziałem się o potrzebie zapewnienia jego stykom prądu konserwującego 500uA. Filtr RC w torze pomiarowym też nie uwzględniłem na początku, a dopiero niedawno przeciąłem ścieżkę i go dolutowałem. Początkowo chciałem mieć vref 1,24V, a zmieniłem na 5V dopiero po tym jak zrozumiałem, że błąd pomiarowy dla wyższego napięcia jest dużo mniejszy (szersze progi kwantyzacji adc). Nie za bardzo rozumiem jak należy wykonać filtr rc w przypadku pomiarów z oversamplingiem czy uśrednianiem i jak liczyć impedancje źródła sygnału jeśli przed przetwornikiem damy mu np. dzielnik rezystorowy (w ścieżce 10K i 4k do masy) zmniejszający sygnał.
  • #11
    pawel_konin
    Level 20  
    pawel_konin wrote:
    Kolejna sprawa dlaczego brakuje u ciebie w części zasilaczowej magazynu energi tylko jest sam ceramik(LM7805)??

    mustang01 wrote:

    Po mostku jest 1000uF dla dwóch stabilizatorów (9V i 5V). Po LM7805 jest 470uF. Pobór prądu z LM7805 nie powinien przekraczać 100mA, więc energii jak aż nadto.
    Rozważam tu raczej zastosowanie Lm317 w miejsce LM7805, aby zwiększyć napięcie dużo ponad vref np. do 5,25V lub zmniejszyć vref do 1,24 czy 2,5V z scalaka IN125(kwestia konfiguracji jego pinów i ponowny dobór rezystorów w mostku).


    Zamiana LM7805 na LM317 to jak zmiana ze starego malucha na starą ładę samarę, proponował bym już raczej zamianę stabilizatora +5V na jakiś stabilizator impulsowy np LM2675 (1A wydajność prądowa lepsza stabilizacja)

    pawel_konin wrote:
    Kolejna sprawa dlaczego u ciebie jest dodatkowy ceramik za dławikiem AVCC??Gdzie powszechnie stosuje się dzielnik złożony z dławika i ceramika i za dławikiem pusto.

    mustang01 wrote:

    Zastosowałem filtr LC, tak jak to się propaguje i stosuje Atmel. Przed projektowaniem tego oglądałem oficjalne pcb xmega od Atmela. W czytanych artykułach o adc na tym forum tłumaczonych z blogu jakiegoś amerykańskiego inżyniera można wyczytać, że należny najpierw stosować dławik, a później kondensator. Adc może działać bardzo szybko i potrzebuje dużego zapasu energii.


    Jest stosowane takie rozwiązanie, mój błąd.

    pawel_konin wrote:
    Niech kolega jeszcze odpowie gdzie i jak połączył GND i AGND bo jakoś na schemacie tego nie widać.

    mustang01 wrote:

    Tu może być pies pogrzebany. AGDN nie istnieje, jest to po prostu GDN wyciągnięte wprost z stabów 9V i dotransportowanie na pcb sterownika oddzielnymi przewodami.

    Największy błąd brak wydzielenia AGND i GND :( ten twój kabelek ściąga pewnie wszystko co jest w okolicy procesora już nie mówiąc o estetyce takiego rozwiązania.
    mustang01 wrote:

    Atmega88 - ADC, PID i stacja lutownicza
    Atmega88 - ADC, PID i stacja lutownicza


    Ale PCB przechodzi już samego siebie, tragedia do rozwalenia i ułożenia ponownie.
    Nie wolno robić kątów prostych na ścieżkach gdyż kąty 90° to takie mikro anteny ściągające zakłócenia. Dlaczego nie wylałeś poligonu ??
    A te radośnie zakrzywione ścieżki to pewnie nie mieściło ci się i poszedłeś z "winkla"??

    pawel_konin wrote:
    Dlaczego korzystasz z wersji DIP ATMEGA gdzie jak się przestudiuje DS jest znacznie mniejsza obciążalność prądową praktycznie każdego modelu, ...

    mustang01 wrote:

    Bo nie mam stacji lutowniczej i doświadczenia w lutowaniu małych scalaków. Po budowie stacji planuje złożyć programator, kupno nowej książki i wejście w świat xmega(jest ona tylko w smd) z względu na dużo lepsze parametry adc i mniejszy pobór prądu.

    Ja też nie mam zawsze można komuś dać do przylutowania, czy ja wiem czy przejście na XMega to duża poprawa może jakiegoś STM nie lepiej by było też w SMD. Istnieją specjalne wersje niskonapięciowe i zarazem o obniżonym poborze prądu chyba końcówka L , że to nie uzasadnienie.

    dondu wrote:

    pawel_konin wrote:
    Dlaczego korzystasz z wersji DIP ATMEGA ... w tgfp rdzeń jest zasilany zwykle w 4 miejscach(zwiększona odporność na zakłócenia) ...

    Nie ma to znaczenia dla poprawności pomiarów ADC. Od tego jest tryb snu na czas pomiaru: ADC Noise Reduction.

    mustang01 wrote:

    Odpowiedz jak na pytanie wyżej. Nie zamierzam korzystać z "ADC Noise Reduction". Atmegę taktuje 8Mhz co według inżynierów Atmela zalicza się do taktu mało szumiącego. Nie magluje pinami blisko portu przetwornika i mikro kontroler przez większość czasu się obija. Większość programu zabiera pomiar i wyliczanie pid, a pomiar temperatury pokoju co 3 sekundy DS18B20 czy wyświetlanie wyników to tylko dodatek. Najwięcej szumi enkoder podczas kręcenia, bo zmienia się nieznacznie poziom adc (bez filtra rc wyniki szaleją) i podświetlanie LCD jakby jaśniej świeci. Szum jest też pożądany i jest go zbyt mało w przypadku, gdy chcemy zastosować oversampling.


    Ja spokojnie uzyskałem na poczciwym LM35 dokładność termometru pokojowego.
    Wykorzystując napięcie V_ref 1.24V, wraz z uśrednianiem+filtr na wejściu adc mam stabilny pomiar z rozdzielczością 0.1-0.2°C.
    Wyliczenia PID możesz liczyć np co sekundę lub co 3 wykorzystując przerwanie od Timera,potem ustawiasz flagę i pętla główna.

    pawel_konin wrote:
    Jeszcze jedna rzecz mnie intryguje nie wiem czy zauważyliście ale na ADC0 jest rezystor 10k+ równolegle do niego kondensator ze schematu ceramik 1u(dopasowanie impedancji wejścia analogowego??) czy po porostu nie wyszedł komuś filtr dolnoprzepustowy który powinien być rzecz jasna inaczej(RC->AGND) bo po schemacie wynika że, wychodzi to z mostka INA125 a tam z drugiej strony jest czujnik PTC (T_GT chyba temp grzałki), nie ma co poczekajmy za autorem tematu.
    mustang01 wrote:

    Atmega88 - ADC, PID i stacja lutownicza

    Miał wyjść filtr RC. Zamierzam mierzyć temperaturę z czujnika w grzałce lutownicy z częstotliwością rzędu kilku - kilkudziesięciu Hz. Rezystor 10k to maksymalna impedancja źródła sygnału według dokumentacji atmegi88. Dodatkowo ten rezystor miał zabezpieczyć diody wbudowane w uC do prądu 500uA w przypadku braku czujnika lub pojawienia się napięcia ujemnego z mostka pomiarowego.

    Ok. PTC to jest termistor którego rezystancja rośnie wraz ze wzrostem temp.
    Jak powszechnie wiadomo jest to charakterystyka nie linowa. Czy INA125 pozwala ci na osiągnięcie linowej charakterystyki na wyjściu scalaka??
    Nie lepiej by było podać sygnał z termistora wprost na adc i przetworzyć to na charakterystykę liniową?? Wtedy odpada cały ten INA125

    mustang01 wrote:

    To moje pierwsze pcb i jest to dla mnie poligon doświadczalny. Przykładowo wyrzuciłem filtr RC (kondensator 100nF i rezystor 10k ) z drogi sygnału enkodera, gdy dowiedziałem się o potrzebie zapewnienia jego stykom prądu konserwującego 500uA. Filtr RC w torze pomiarowym też nie uwzględniłem na początku, a dopiero niedawno przeciąłem ścieżkę i go dolutowałem. Początkowo chciałem mieć vref 1,24V, a zmieniłem na 5V dopiero po tym jak zrozumiałem, że błąd pomiarowy dla wyższego napięcia jest dużo mniejszy (szersze progi kwantyzacji adc). Nie za bardzo rozumiem jak należy wykonać filtr rc w przypadku pomiarów z oversamplingiem czy uśrednianiem i jak liczyć impedancje źródła sygnału jeśli przed przetwornikiem damy mu np. dzielnik rezystorowy (w ścieżce 10K i 4k do masy) zmniejszający sygnał.


    Niższe napięcie V_ref= większa rozdzielczość pomiaru(1.24V to około 1.24mV na działke) jak wykorzystujesz 5V(5mV na działkę) to masz małą rozdzielczość choć nie wiem co wprowadzasz do adc jaki zakres napięcia.
    Jak dasz dzielnik rezystorowy masz dodatkowy błąd gdy nie zastosujesz rezystorów precyzyjnych 1% tylko np 5%.

    Nie boisz się tak blisko części niskonapięciowej układać triaka który ma nie izolowaną obudowę?? nie lepiej zmienić na jakiegoś BTA??
  • #12
    mustang01
    Level 10  
    pawel_konin wrote:

    Zamiana LM7805 na LM317 to jak zmiana ze starego malucha na starą ładę samarę, proponował bym już raczej zamianę stabilizatora +5V na jakiś stabilizator impulsowy np LM2675 (1A wydajność prądowa lepsza stabilizacja)

    Zaproponowałem LM317 bo mam taki w szufladzie. Stabilizatorów impulsowych staram się nie stosować, gdy nie mam wyraźnej potrzeby.

    pawel_konin wrote:

    Największy błąd brak wydzielenia AGND i GND :( ten twój kabelek ściąga pewnie wszystko co jest w okolicy procesora już nie mówiąc o estetyce takiego rozwiązania.

    Płytka jest jednowarstwowa. Kabelki są poskręcane z GDN.

    pawel_konin wrote:

    Ale PCB przechodzi już samego siebie, tragedia do rozwalenia i ułożenia ponownie.
    Nie wolno robić kątów prostych na ścieżkach gdyż kąty 90° to takie mikro anteny ściągające zakłócenia. Dlaczego nie wylałeś poligonu ??
    A te radośnie zakrzywione ścieżki to pewnie nie mieściło ci się i poszedłeś z "winkla"??

    Również nie jestem zadowolony z swojego wytworu. Jednak włożyłem w to sporo pracy i chciałbym, aby mimo zgrzytów coś w tym zadziałało.

    pawel_konin wrote:

    Ja też nie mam zawsze można komuś dać do przylutowania, czy ja wiem czy przejście na XMega to duża poprawa może jakiegoś STM nie lepiej by było też w SMD. Istnieją specjalne wersje niskonapięciowe i zarazem o obniżonym poborze prądu chyba końcówka L , że to nie uzasadnienie.

    Zamiast dawać do przylutowania wolę się sam nauczyć. Nie zależy mi na mocy obliczeniowej, ale na lepszym wbudowanym adc. Z tego co się orientuje Xmega ma lepsze wbudowane peryferia niż STM i jest nieco tańsza.

    pawel_konin wrote:

    Ok. PTC to jest termistor którego rezystancja rośnie wraz ze wzrostem temp.
    Jak powszechnie wiadomo jest to charakterystyka nie linowa. Czy INA125 pozwala ci na osiągnięcie linowej charakterystyki na wyjściu scalaka??
    Nie lepiej by było podać sygnał z termistora wprost na adc i przetworzyć to na charakterystykę liniową?? Wtedy odpada cały ten INA125

    Co za czujnik jest w tej kolbie lutowniczej wie tylko producent. Podobno od 200*C ma liniową charakterystykę. INA125 to wzmacniacz pomiarowy z źródłem napięcia odniesienia, pozwala mi jedynie na dopasowanie poziomów napięć (wzmocnienie sygnału). Ten INA125 zastosowałem bo miałem taki w szufladzie. Przyznam, że nie rozumiem jak linearyzować charakterystykę samym adc i niewiedzę różnicy w zastosowaniu po drodze IN125.

    pawel_konin wrote:

    Niższe napięcie V_ref= większa rozdzielczość pomiaru(1.24V to około 1.24mV na działke) jak wykorzystujesz 5V(5mV na działkę) to masz małą rozdzielczość choć nie wiem co wprowadzasz do adc jaki zakres napięcia.
    Jak dasz dzielnik rezystorowy masz dodatkowy błąd gdy nie zastosujesz rezystorów precyzyjnych 1% tylko np 5%.
    Zakres napięć dowolnie konfiguruje sobie zmieniając wzmocnienie, prąd i napięcie odniesienia. Staram się, aby sygnał był w pełnym zakresie adc, ewentualnie 10-90% bo na skrajach przetwornik mam duże nieliniowości. Rezystory w torze pomiarowym mam tylko precyzyjne.

    pawel_konin wrote:

    Nie boisz się tak blisko części niskonapięciowej układać triaka który ma nie izolowaną obudowę?? nie lepiej zmienić na jakiegoś BTA??

    Zastosowałem taki, bo miałem go w szufladzie. Triak jest przykręcony do radiatora i izolowany podkładką. Przełącza napięcie nieco ponad ~12V względem masy układu.
  • #13
    tronics
    Level 38  
    Quote:
    Zaproponowałem LM317 bo mam taki w szufladzie. Stabilizatorów impulsowych staram się nie stosować, gdy nie mam wyraźnej potrzeby.

    Biorąc pod uwagę, że LM2576-5 oferuje dokładność rzędu 2% (iirc) a LM7805ACT tyle samo to nie jestem pewien czy warto się jeszcze bawić w liniowe, chyba że w jakieś ultra dokładne. Tutaj wyraźnie kolega zastosował to co pomogło szufladę wyczyścić (+ te elementy są kilkukrotnie tańsze niż przetwornice impulsowe). Jeśli jednak miałbym jakieś drobne zastrzeżenia to dla świętego spokoju wstawiłbym 7809 też przed 7805 - ot żeby go nieco odciążyć (ciepło na tych stabilizatorach w zasadzie liniowo zależy od pobieranego prądu i różnicy napięć między VIN i VOUT). Choć to kwestia zastosowanego chłodzenia i przeciętnego poboru prądu z 5V.
    Quote:
    Płytka jest jednowarstwowa. Kabelki są poskręcane z GDN

    Może tak i być, ale w wielu urządzeniach przemysłowych jakie naprawiałem najczęściej był stosowany tzw. "star point" czyli jedno miejsce na płytce gdzie spotykały się różne (w kwestii przeznaczenia) masy. Głównie chodzi o to by zakłócenia z części cyfrowej nie zamykały się przez masę części analogowej (wprowadzając zakłócenia do pomiarów). Niemniej to nie jest jakieś super czułe urządzenie ani super dokładne (a widziałem całkiem precyzyjne urządzenia robione na opampach, switchach analogowych i licznikach bez śladu ADC!) żeby się tym mocno przejmować. Natomiast fajnie jest sobie pewne nawyki wyrobić. Co do tych kątów to jednak bym się nie przejmował zbytnio. Wiele anglojęzycznych prac profesorów się pojawiło obalających tego typu mity. Jeśli nie pracujemy z GHz (lub przynajmniej setkami MHz) to takie kąty nie przeszkadzają, a jedyny negatyw jaki może być to pułapki na kwas (podżerający ścieżki) w niektórych procesach masowej produkcji. Mam Amigę 500 i rozszerzenie do niej i jakoś w tym jakby nie było masowym sprzęcie dużo bardziej skomplikowanym niż ten projekt i też pracującym w częstotliwościach 7-28MHz takie ścieżki występują.
    Jeśli chodzi o Poly to w Eagle strasznie nie lubię tej funkcji. Jak ktoś będzie miał dwustronną płytkę z wylanymi poly i przelotkami, a będzie musiał coś przylutować lub odlutować tam gdzie jest sporo miedzi to szybko się przekona o co chodzi. Jasne, masz opcję thermals, ale i tak w wielu przypadkach lepiej jest pociągnąć ścieżki, a poly wylać tylko tam gdzie duże powierzchnie laminatu są po prostu niewykorzystane, albo właśnie pod procki TQFP czy kwarce.
    Quote:
    Nie zależy mi na mocy obliczeniowej, ale na lepszym wbudowanym adc.

    Nie ma takiej wielkiej różnicy. Seria A jest chyba najmniejsza w QFP64, seria D 44, ale bez DMA i z ADC niewiele lepszym od atmegi - lub inaczej - dużo wolniejszym niż serii A. Seria E jest w 32, ale ADC tak jak w D (za to jest DMA i przyzwoite DAC). STM32F030 masz też bodajże 12bit ADC i do tego 1Msps więc ATXMEGA w tym względzie niezupełnie jest "lepsza". Co najwyżej może być bardziej przyswajalna dla kogoś kto Atmegi potrafi programować, a ARM jeszcze nie próbował. Uzasadnienia ekonomicznego w sumie nie ma żadnego, chyba że prostora i ilość polskojęzycznych tutoriali - tutaj wygrywa bezkonkurencyjnie atmel.
    Quote:
    Przyznam, że nie rozumiem jak linearyzować charakterystykę samym adc

    To proste - nie da się ;) Linearyzuje się przez LUT albo przeliczanie na żywo.
  • #14
    mustang01
    Level 10  
    tronics wrote:

    Nie ma takiej wielkiej różnicy. Seria A jest chyba najmniejsza w QFP64, seria D 44, ale bez DMA i z ADC niewiele lepszym od atmegi - lub inaczej - dużo wolniejszym niż serii A. Seria E jest w 32, ale ADC tak jak w D (za to jest DMA i przyzwoite DAC). STM32F030 masz też bodajże 12bit ADC i do tego 1Msps więc ATXMEGA w tym względzie niezupełnie jest "lepsza". Co najwyżej może być bardziej przyswajalna dla kogoś kto Atmegi potrafi programować, a ARM jeszcze nie próbował. Uzasadnienia ekonomicznego w sumie nie ma żadnego, chyba że prostora i ilość polskojęzycznych tutoriali - tutaj wygrywa bezkonkurencyjnie atmel.

    Tu przyznam wam racje STM jest lepszy od xmega. Wersje mało nóżkowe STM nie posiadają pinów na zewnętrzne vref. Niestety nie znam żadnych dobrych książek do STM w języku polskim, a nigdy tak zaawansowanych mikro kontrolerów nie programowałem i mam kłopoty z językami obcymi. Jeśli chodzi o xmega to miałem cały czas na myśli serię E5.

    Quote:
    Quote:
    Przyznam, że nie rozumiem jak linearyzować charakterystykę samym adc

    To proste - nie da się ;) Linearyzuje się przez LUT albo przeliczanie na żywo.

    Więc muszę zwiększyć rozdzielczość poniżej minimum 0,5*C i linearyzować pomiar programowo. Absolutna dokładność 1*C jest mi tutaj zbędna, bo to tylko lutownica.
  • #15
    pawel_konin
    Level 20  
    Quote:
    Quote:
    Przyznam, że nie rozumiem jak linearyzować charakterystykę samym adc

    mustang wrote:

    To proste - nie da się ;) Linearyzuje się przez LUT albo przeliczanie na żywo.

    Więc muszę zwiększyć rozdzielczość poniżej minimum 0,5*C i linearyzować pomiar programowo. Absolutna dokładność 1*C jest mi tutaj zbędna, bo to tylko lutownica.

    Im dokładniejsze dane dostarczysz regulatorowi tym dokładniej będziesz mógł regulować temperaturę. Mój promotor pracy mgr miał w zwyczaju mówić w kontekście pracy "aby móc regulować temperaturę z dokładnością 0.1°C należało by ją mierzyć z dokładnością 0.01°C". To samo się tyczy twojego regulatora. Załóżmy że, ten czujnik PTC mierzy z dokładnością 1-2° stąd będzie duży problem osiągnąć dokładność regulacji temperatury kolby z dokładnością 1°, według teorii promotora będzie to 10-20°.
  • #16
    mustang01
    Level 10  
    pawel_konin wrote:

    Zamiana LM7805 na LM317 to jak zmiana ze starego malucha na starą ładę samarę, proponował bym już raczej zamianę stabilizatora +5V na jakiś stabilizator impulsowy np LM2675 (1A wydajność prądowa lepsza stabilizacja)


    Dotknąłem stabilizator Lm7805 - parzył i przegrzewał się.
    Pomierzyłem i wyszło, że pobór ok. 168mA i 12V spadku. Potrzebny stabilizator impulsowy jak nic.

    Dodatkowo odkryłem, że w trakcie wciśnięcia przycisku enkodera, który jest podłączony w porcie C(ADC) pobór zwiększał się do ok. 230mA. Wyszło, że najpierw inicjowałem przyciski(status ich pinów jako wejścia), a potem ADC i ustawiałem cały port C na wyjście.

    Niestety nie przewidziałem tego na pcb zasilacza i będę musiał tą przetwornice umieścić na kablach, bo w miejsce LM7805 się nie zmieści. Pytanie: Czy ta przetwornica się nada -> http://www.darel.elektroda.eu/produkt4.html ?
    Na allegro można ją nabyć za 12zł, w wersji PU1v2.
    Pytam, bo mam taką PU2V3 na scalaku L5973D z dużym zakresem regulacji napięcia wyjściowego 2-24V i dodatkowym dławikiem na wyjściu. Porównałem stabilizacje napięcia swoim miernikiem uniwersalnym i w porównaniu do stabilizatora liniowego był kiepsko. Napięcie nie było stabilne, ale wahało się na 2 drugim miejscu po przecinku, gdzie stabilizator liniowy(LM7805) był stabilny jak skała aż do 4 miejsca po przecinku. Za obciążenie robiło Attiny26 i wyświetlacz LCD 16x2 (pobór poniżej 100mA i spadek 4V napięcia na stabilizatorze).
    Mówicie, że już są nowsze stabilizatory impulsowe i mają lepsze parametry od LM7805? Tylko ciekawe czy opłaca się samemu konstruować przetwornicę czy też zaopatrzyć się w już gotowy moduł.

    Edycja. PS.
    Po ustawieniu pinów enkodera jako wejścia pobór zmniejszył się do 20mA. Sprawdziłem i tak samo dobrze działa jak na wyjściach, tyle że stabilizator się nie przegrzewa i nie mam problemów z ADC, ani rozjaśniającym się wyświetlaczem.
    Musiałem najpierw testować stabilizator bez enkodera, a później go podłączyć i się bulwersować dlaczego to tu mi nie działa.
  • #17
    pawel_konin
    Level 20  
    mustang01 wrote:
    pawel_konin wrote:

    Zamiana LM7805 na LM317 to jak zmiana ze starego malucha na starą ładę samarę, proponował bym już raczej zamianę stabilizatora +5V na jakiś stabilizator impulsowy np LM2675 (1A wydajność prądowa lepsza stabilizacja)
    Dotknąłem stabilizator Lm7805 - parzył i przegrzewał się.
    Pomierzyłem i wyszło, że pobór ok. 168mA i 12V spadku. Potrzebny stabilizator impulsowy jak nic.
    Dodatkowo odkryłem, że w trakcie wciśnięcia przycisku enkodera, który jest podłączony w porcie C(ADC) pobór zwiększał się do ok. 230mA. Wyszło, że najpierw inicjowałem przyciski(status ich pinów jako wejścia), a potem ADC i ustawiałem cały port C na wyjście.



    Skoro wydzielało się na nim aż 2W to czemu się tu dziwić jak obudowa TO220 potrafi rozproszyć 1W. A 230mA to 2.75W ciesz się że, się stabilizator nie spalił...

    mustang01 wrote:

    Dodatkowo odkryłem, że w trakcie wciśnięcia przycisku enkodera, który jest podłączony w porcie C(ADC) pobór zwiększał się do ok. 230mA. Wyszło, że najpierw inicjowałem przyciski(status ich pinów jako wejścia), a potem ADC i ustawiałem cały port C na wyjście.

    Niestety nie przewidziałem tego na pcb zasilacza i będę musiał tą przetwornice umieścić na kablach, bo w miejsce LM7805 się nie zmieści. Pytanie: Czy ta przetwornica się nada -> http://www.darel.elektroda.eu/produkt4.html ?
    Na allegro można ją nabyć za 12zł, w wersji PU1v2.
    Pytam, bo mam taką PU2V3 na scalaku L5973D z dużym zakresem regulacji napięcia wyjściowego 2-24V i dodatkowym dławikiem na wyjściu. Porównałem stabilizacje napięcia swoim miernikiem uniwersalnym i w porównaniu do stabilizatora liniowego był kiepsko. Napięcie nie było stabilne, ale wahało się na 2 drugim miejscu po przecinku, gdzie stabilizator liniowy(LM7805) był stabilny jak skała aż do 4 miejsca po przecinku. Za obciążenie robiło Attiny26 i wyświetlacz LCD 16x2 (pobór poniżej 100mA i spadek 4V napięcia na stabilizatorze).
    Mówicie, że już są nowsze stabilizatory impulsowe i mają lepsze parametry od LM7805? Tylko ciekawe czy opłaca się samemu konstruować przetwornicę czy też zaopatrzyć się w już gotowy moduł.

    LM 2675 bo taki zastosowałem stabilizuje do 3 miejsca po przecinku(zakres 20V). Mierzone miernikiem dobrej klasy 4 i pół cyfry. Pod obciążeniem ATmega16A+diody led sterowane wprost z uP+ 3x zasilanie LM35+ zasilanie LCD z Podświetleniem. napięcie z przetwornicy wynosi 4.972V po dołączeniu diód LED 3x zielona i 1 czerwona. Napięcie wynosi 4.968V. Przetwornica zimna jak lód, dławik zimny, mostek zimny. Dla porównania przy tym samym zasilaczu 12AC stabilizatorze LM7805 liniowym gdzie obciążeniem jest układ scalony LM393+ potencjometry i BC337 stabilizator już jest letni. Po dołączeniu wentylatorka 12DC 150mA stabilizator jest już znacznie ciepły.

    mustang01 wrote:

    Edycja. PS.
    Po ustawieniu pinów enkodera jako wejścia pobór zmniejszył się do 20mA. Sprawdziłem i tak samo dobrze działa jak na wyjściach, tyle że stabilizator się nie przegrzewa i nie mam problemów z ADC, ani rozjaśniającym się wyświetlaczem.
    Musiałem najpierw testować stabilizator bez enkodera, a później go podłączyć i się bulwersować dlaczego to tu mi nie działa.


    Proponuje przenieść enkoder na inne piny które nie są pinami ADC aby definitywnie zlikwidować zakłócenia od enkodera.

    PS
    Istnieją przetwornice o regulowanym napięciu wyjściowym...
  • #18
    mustang01
    Level 10  
    pawel_konin wrote:

    Proponuje przenieść enkoder na inne piny które nie są pinami ADC aby definitywnie zlikwidować zakłócenia od enkodera.

    Postanowiłem ponownie zaprojektować i wykonać zasilacz i płytkę sterownika.
    Jak się później okazało przekroczenie zakresów prądowych (zwarcie do masy) poprzez złą konfiguracje nie obeszło się bez skutków ubocznych. Układ raz mi działa, raz nie. Zgodnie z wytycznymi wykorzystam atmegę88 w wersji smd. Trochę mi to zajmie, ale mam nadzieje, że uda mi się nauczyć coś nowego i jak poprzednio znajdę tu świetną pomoc w znalezieniu błędów i odpowiedniego rozwiązania. Po głowię chodzi mi taki układ pomiarowy.
    Atmega88 - ADC, PID i stacja lutownicza

    R4 -> 63R to mój czujnik temperatury, przyjmuje wartości 21R(ok. 10*C) - 63R(ok. 500*C).
    V1 -> źródło prądowe LT1004 2,5V -> http://cds.linear.com/docs/en/datasheet/1004fb.pdf
    V2 i V3 to stabilizatory liniowe, będzie wspólne zasilanie dla wszystkich komponentów +/- 5V.
    Zastanawiam się jeszcze czy wstępnie nie ograniczyć pasma wejściowego dokładając do czujnika R4 np. kondensator 100nF równolegle tuż po wejściu kabla z lutownicy na płytce. W celu zwiększenia rozdzielczości zastosuje oversampling.

    pawel_konin wrote:

    PS
    Istnieją przetwornice o regulowanym napięciu wyjściowym...

    Jak najbardziej o tym wiem. Moja wersja PU2V3 przetwornicy ma regulacje od kilku do kilkudziesięciu V (podejrzewam od 2 do 32V). Może tak duży zakres regulacji niekorzystnie działa na stabilizacje (szumiący potencjometr od regulacji) i stąd taka moja odraza do przetwornic.

    Edycja. PS.
    Oczywiście pomyliłem się i V1 -> źródło LT1004 2,5V jest to źródło napięciowe nie prądowe.
  • #19
    pawel_konin
    Level 20  
    mustang01 wrote:
    pawel_konin wrote:

    Proponuje przenieść enkoder na inne piny które nie są pinami ADC aby definitywnie zlikwidować zakłócenia od enkodera.

    Postanowiłem ponownie zaprojektować i wykonać zasilacz i płytkę sterownika.
    Jak się później okazało przekroczenie zakresów prądowych (zwarcie do masy) poprzez złą konfiguracje nie obeszło się bez skutków ubocznych. Układ raz mi działa, raz nie. Zgodnie z wytycznymi wykorzystam atmegę88 w wersji smd. Trochę mi to zajmie, ale mam nadzieje, że uda mi się nauczyć coś nowego i jak poprzednio znajdę tu świetną pomoc w znalezieniu błędów i odpowiedniego rozwiązania. Po głowię chodzi mi taki układ pomiarowy.
    Atmega88 - ADC, PID i stacja lutownicza

    R4 -> 63R to mój czujnik temperatury, przyjmuje wartości 21R(ok. 10*C) - 63R(ok. 500*C).
    V1 -> źródło prądowe LT1004 2,5V -> http://cds.linear.com/docs/en/datasheet/1004fb.pdf
    V2 i V3 to stabilizatory liniowe, będzie wspólne zasilanie dla wszystkich komponentów +/- 5V.
    Zastanawiam się jeszcze czy wstępnie nie ograniczyć pasma wejściowego dokładając do czujnika R4 np. kondensator 100nF równolegle tuż po wejściu kabla z lutownicy na płytce. W celu zwiększenia rozdzielczości zastosuje oversampling.

    A nie lepiej źródło 1.2V wtedy odpadnie ci oversampling, rozdzielczość ci się powiększy o 100% z 2,54mV do 1.2mV. Wykorzystasz wtedy napięcie odniesienia z uP 1.24 V chyba tam jest. Korzystając z wersji SMD ewentualnie będziesz mógł już sygnał wzmocnić odpadnie opamp. Pewnie czujnik nie pokrywa całego pasma sygnału??

    pawel_konin wrote:

    PS
    Istnieją przetwornice o regulowanym napięciu wyjściowym...

    mustang wrote:

    Jak najbardziej o tym wiem.
    Moja wersja PU2V3 przetwornicy ma regulacje od kilku do kilkudziesięciu V (podejrzewam od 2 do 32V). Może tak duży zakres regulacji niekorzystnie działa na stabilizacje (szumiący potencjometr od regulacji) i stąd taka moja odraza do przetwornic.

    Zawsze możesz wstawić dzielnik z rezystorów precyzyjnych
  • #20
    mustang01
    Level 10  
    pawel_konin wrote:

    A nie lepiej źródło 1.2V wtedy odpadnie ci oversampling, rozdzielczość ci się powiększy o 100% z 2,54mV do 1.2mV. Wykorzystasz wtedy napięcie odniesienia z uP 1.24 V chyba tam jest. Korzystając z wersji SMD ewentualnie będziesz mógł już sygnał wzmocnić odpadnie opamp. Pewnie czujnik nie pokrywa całego pasma sygnału??

    Nie znam dobrego źródła (takiego 1%) 1.2V, którego mógłbym użyć i kupić w sklepach, który znam. Podniesienie rozdzielczości o 100% to dalej trochę mało. Napięcie odniesienia w uP 1.1V ma słabą tolerancje w moim atmega88 dip miałem 1,08V (tolerancja w dokumentacji 1-1,2V) i nie można z niej korzystać na zewnątrz( impedancja pinu vref 32k). Wbudowany WO w mikrokontroler ma bardzo słabe parametry. Czujnik ma ok. 20R w 0*C i ok. 33R w 125*C. Wolałbym mierzyć od temperatury pokojowej, bo dziwnie to wygląda - ciągle zero, a później duża temperatura. Czujnik nie jest liniowy i zamierzam go kalibrować programowo w uP.
  • #21
    pawel_konin
    Level 20  
    mustang01 wrote:
    pawel_konin wrote:

    A nie lepiej źródło 1.2V wtedy odpadnie ci oversampling, rozdzielczość ci się powiększy o 100% z 2,54mV do 1.2mV. Wykorzystasz wtedy napięcie odniesienia z uP 1.24 V chyba tam jest. Korzystając z wersji SMD ewentualnie będziesz mógł już sygnał wzmocnić odpadnie opamp. Pewnie czujnik nie pokrywa całego pasma sygnału??

    Nie znam dobrego źródła (takiego 1%) 1.2V, którego mógłbym użyć i kupić w sklepach, który znam. Podniesienie rozdzielczości o 100% to dalej trochę mało. Napięcie odniesienia w uP 1.1V ma słabą tolerancje w moim atmega88 dip miałem 1,08V (tolerancja w dokumentacji 1-1,2V) i nie można z niej korzystać na zewnątrz( impedancja pinu vref 32k). Wbudowany WO w mikrokontroler ma bardzo słabe parametry. Czujnik ma ok. 20R w 0*C i ok. 33R w 125*C. Wolałbym mierzyć od temperatury pokojowej, bo dziwnie to wygląda - ciągle zero, a później duża temperatura. Czujnik nie jest liniowy i zamierzam go kalibrować programowo w uP.

    Ten sam scalak który podałeś jest w wykonaniu 1.2V że, chyba problemu brak.
    Już nie mówiąc o tym że, odczytane napięcie da się wpisać w program obliczyć z tego napięcie które potem przeliczyć da się na temperaturę oczywiście na liczbach całkowitych int.
    Napięcie odniesienia w procesorze - tolerancja tu chodzi o to że, raz ma 1.1V a raz 1.08 ale dokładność jest stała dla danego uP. Jak ma słabe parametry to jak najbardziej WO. Widziałem rozwiązania termistorów w instalacjach gazowych aut, tam na płytce dokładane są 2 rezystorki( albo do przesuwania charakterystyki albo do linearyzowania czujnika).
    Nikt ci nie każe łączyć czujnika do V_ref co było by nie mądre hehe(bo tam nic się nie podłącza)
    Inne źródła napięcia np MAX6120(1.24V i 10zł za sztukę) łatwa aplikacja obudowa tylko SOT23.
  • #22
    mustang01
    Level 10  
    @pawel_konin
    Ten scalak INA125 wolałbym zostawić w starej płytce, a w nowej płytce stosować tylko nowe elementy, nowego INA125 kupować nie zamierzam. 10 zł to dla mnie zabójcza cena jak za takie źródło MAX6120. Nie potrafię znaleźć błędu w rozumowaniu i kontrargumentów dla obrony teorii bez całkowitego zrozumienia twojej propozycji. Dla takiego zrozumienia przydałby się obrazek np. schemat w eaglu, bo z opisu nie potrafię wiele wyczytać.
  • #23
    pawel_konin
    Level 20  
    mustang01 wrote:
    @pawel_konin
    Ten scalak INA125 wolałbym zostawić w starej płytce, a w nowej płytce stosować tylko nowe elementy, nowego INA125 kupować nie zamierzam. 10 zł to dla mnie zabójcza cena jak za takie źródło MAX6120. Nie potrafię znaleźć błędu w rozumowaniu i kontrargumentów dla obrony teorii bez całkowitego zrozumienia twojej propozycji. Dla takiego zrozumienia przydałby się obrazek np. schemat w eaglu, bo z opisu nie potrafię wiele wyczytać.

    Możesz zastosować tańsze źródło ale będzie to już regulowana dioda zenera tylko że, w ładnej obudowie wtedy cena mówi sama za siebie tam w hurcie 2-3zł netto.
    Z tego co się orientuje to MAX6120 jest w miarę porzomny nigdzie na schemacie nie widać aby była to regulowana dioda zenera dokładność typowo 30ppm gwarantowane mniej niż 100ppm. A taki TL431 podane ma 50ppm(V ref 2.54) gwarantowane nawet nie napisane. Nota katalogowa tego MAXA wykazuje że, można go zastosować do 16 bitowego przetwornika A/C to chyba solidny scalak długo go szukałem ponieważ moj LM35 daje mi napięcie 0-1V liniowo a nie chciałem czegoś gorszego typu dioda zenera 1.24V.
    Następną zaletą jest to że, czujnik nie będzie się samo-nagrzewał przy takim prądzie wyjściowym z takiego źródła. Ponieważ 2,5mA w relacji do 50uA to duża różnica wtedy termistor może się znacznie nagrzewać.
    Jutro poszukam tą płytkę od tego czujnika parownika wkleję foto.
  • #24
    mustang01
    Level 10  
    pawel_konin wrote:
    mustang01 wrote:
    @pawel_konin
    Ten scalak INA125 wolałbym zostawić w starej płytce, a w nowej płytce stosować tylko nowe elementy, nowego INA125 kupować nie zamierzam. 10 zł to dla mnie zabójcza cena jak za takie źródło MAX6120. Nie potrafię znaleźć błędu w rozumowaniu i kontrargumentów dla obrony teorii bez całkowitego zrozumienia twojej propozycji. Dla takiego zrozumienia przydałby się obrazek np. schemat w eaglu, bo z opisu nie potrafię wiele wyczytać.

    Możesz zastosować tańsze źródło ale będzie to już regulowana dioda zenera tylko że, w ładnej obudowie wtedy cena mówi sama za siebie tam w hurcie 2-3zł netto.
    Z tego co się orientuje to MAX6120 jest w miarę porzomny nigdzie na schemacie nie widać aby była to regulowana dioda zenera dokładność typowo 30ppm gwarantowane mniej niż 100ppm. A taki TL431 podane ma 50ppm(V ref 2.54) gwarantowane nawet nie napisane. Nota katalogowa tego MAXA wykazuje że, można go zastosować do 16 bitowego przetwornika A/C to chyba solidny scalak długo go szukałem ponieważ moj LM35 daje mi napięcie 0-1V liniowo a nie chciałem czegoś gorszego typu dioda zenera 1.24V.
    Następną zaletą jest to że, czujnik nie będzie się samo-nagrzewał przy takim prądzie wyjściowym z takiego źródła. Ponieważ 2,5mA w relacji do 50uA to duża różnica wtedy termistor może się znacznie nagrzewać.
    Jutro poszukam tą płytkę od tego czujnika parownika wkleję foto.

    Tak, masz racje o dobre vref trudno. Ten mój LT1001 2,5V to też taka zenerka bez gwarantowanego driftu, ale o parametrach typowych nie gorszych niż rezystor 1%. Jeśli chodzi o super precyzyjne źródła to najlepszy jest chyba jakiś scalak z Analog Devices, który można nabyć w tme.eu za kilkanaście złotych.
    Dla czujników pt100 maksymalny prąd powinien mieścić się w granicy 0,5-1mA. Celowo w swojej stacji dałem 1mA - 1,5mA (prąd dzieli się na dwie gałęzie rezystorów więc ciągnie 2-3mA), aby był pomiar bardziej odporny na zakłócenia.
  • #25
    pawel_konin
    Level 20  
    mustang01 wrote:
    pawel_konin wrote:
    mustang01 wrote:
    @pawel_konin
    Ten scalak INA125 wolałbym zostawić w starej płytce, a w nowej płytce stosować tylko nowe elementy, nowego INA125 kupować nie zamierzam. 10 zł to dla mnie zabójcza cena jak za takie źródło MAX6120. Nie potrafię znaleźć błędu w rozumowaniu i kontrargumentów dla obrony teorii bez całkowitego zrozumienia twojej propozycji. Dla takiego zrozumienia przydałby się obrazek np. schemat w eaglu, bo z opisu nie potrafię wiele wyczytać.

    Możesz zastosować tańsze źródło ale będzie to już regulowana dioda zenera tylko że, w ładnej obudowie wtedy cena mówi sama za siebie tam w hurcie 2-3zł netto.
    Z tego co się orientuje to MAX6120 jest w miarę porzomny nigdzie na schemacie nie widać aby była to regulowana dioda zenera dokładność typowo 30ppm gwarantowane mniej niż 100ppm. A taki TL431 podane ma 50ppm(V ref 2.54) gwarantowane nawet nie napisane. Nota katalogowa tego MAXA wykazuje że, można go zastosować do 16 bitowego przetwornika A/C to chyba solidny scalak długo go szukałem ponieważ moj LM35 daje mi napięcie 0-1V liniowo a nie chciałem czegoś gorszego typu dioda zenera 1.24V.
    Następną zaletą jest to że, czujnik nie będzie się samo-nagrzewał przy takim prądzie wyjściowym z takiego źródła. Ponieważ 2,5mA w relacji do 50uA to duża różnica wtedy termistor może się znacznie nagrzewać.
    Jutro poszukam tą płytkę od tego czujnika parownika wkleję foto.

    Tak, masz racje o dobre vref trudno. Ten mój LT1001 2,5V to też taka zenerka bez gwarantowanego driftu, ale o parametrach typowych nie gorszych niż rezystor 1%. Jeśli chodzi o super precyzyjne źródła to najlepszy jest chyba jakiś scalak z Analog Devices, który można nabyć w tme.eu za kilkanaście złotych.
    Dla czujników pt100 maksymalny prąd powinien mieścić się w granicy 0,5-1mA. Celowo w swojej stacji dałem 1mA - 1,5mA (prąd dzieli się na dwie gałęzie rezystorów więc ciągnie 2-3mA), aby był pomiar bardziej odporny na zakłócenia.

    Każde źródło oparte na diodzie zenera będzie dokładnością zbliżone do diody zenera a jak na niskie napięcie to gorsza stabilizacja że, lepiej wziąć coś lepszego. Super precyzyjne źródło kosztuje od 100zł w zwyż, ze to co podałem to tylko klasa lepsza od zenerki. Co do drugiego pytania to zauważ że, przyrost Ω w PT100 jest praktycznie liniowy stąd można traktować takim prądem(generalnie powinno być dobre źródło pradowe nie V_ref), z punktu widzenia automatyka i elektronika mogę ci powiedzieć że, tu powinien być bardzo mały prąd policz z prawa Ohma ile wydzieli się ciepła na twoim czujniku stad będziesz wiedział ile prądu mu optymalnie dać. Bo malutki przyrost temperatury czujnika może spowodować przekłamanie o dobre parę stopni. Stad mój pomysł na niższe napięcie i niższy prąd uA nie nagrzeją czujnika.
  • #26
    mustang01
    Level 10  
    pawel_konin wrote:

    Każde źródło oparte na diodzie zenera będzie dokładnością zbliżone do diody zenera a jak na niskie napięcie to gorsza stabilizacja że, lepiej wziąć coś lepszego. Super precyzyjne źródło kosztuje od 100zł w zwyż, ze to co podałem to tylko klasa lepsza od zenerki. Co do drugiego pytania to zauważ że, przyrost Ω w PT100 jest praktycznie liniowy stąd można traktować takim prądem(generalnie powinno być dobre źródło pradowe nie V_ref), z punktu widzenia automatyka i elektronika mogę ci powiedzieć że, tu powinien być bardzo mały prąd policz z prawa Ohma ile wydzieli się ciepła na twoim czujniku stad będziesz wiedział ile prądu mu optymalnie dać. Bo malutki przyrost temperatury czujnika może spowodować przekłamanie o dobre parę stopni. Stad mój pomysł na niższe napięcie i niższy prąd uA nie nagrzeją czujnika.

    Tu przyznam się, że nie mam żadnego wykształcenia elektronicznego i jestem hobbystą amatorem. 100 zł to już źródło ultra precyzyjne. No za te kilkanaście zł można kupić lepsze źródło niż podany MAX6120, które mają parametry porostu dobre i można je za źródło napięcia odniesienia uznać. Przykład 1.2V -> http://www.tme.eu/pl/Document/7495485e3193d10bc6cc7ed1513a5115/ad589jh.pdf
    W według symulacji w LTspice przy prądzie 1,21mA na czujniku wydzieli się 32-92uW. Nie mam pojęcia o ile wzrośnie temperatura, ale sama wartość liczona jest w mikro watach, a to strasznie mało.
    Scalak INA125 służy do pomiarów precyzyjnych małych rezystancji i wbudowali mu w miarę precyzyjne źródło napięcia odniesienia, a nie prądowe. Pamiętaj, że nie podłączam czujnika bezpośrednio pod źródło prądowe/napięciowe, lecz w konfiguracji mostka pomiarowego i mierzę różnice spadku napięcia pomiędzy gałęziami. Może przy temperaturze pokojowej prąd rzędu 1mA powodowałby jakieś wielkie przekłamania, a przy temperaturze operacyjnej lutownicy > 200*C podejrzewam, że nawet prąd 5mA nie byłby problemem.
  • #27
    pawel_konin
    Level 20  
    mustang01 wrote:
    pawel_konin wrote:

    Każde źródło oparte na diodzie zenera będzie dokładnością zbliżone do diody zenera a jak na niskie napięcie to gorsza stabilizacja że, lepiej wziąć coś lepszego. Super precyzyjne źródło kosztuje od 100zł w zwyż, ze to co podałem to tylko klasa lepsza od zenerki. Co do drugiego pytania to zauważ że, przyrost Ω w PT100 jest praktycznie liniowy stąd można traktować takim prądem(generalnie powinno być dobre źródło pradowe nie V_ref), z punktu widzenia automatyka i elektronika mogę ci powiedzieć że, tu powinien być bardzo mały prąd policz z prawa Ohma ile wydzieli się ciepła na twoim czujniku stad będziesz wiedział ile prądu mu optymalnie dać. Bo malutki przyrost temperatury czujnika może spowodować przekłamanie o dobre parę stopni. Stad mój pomysł na niższe napięcie i niższy prąd uA nie nagrzeją czujnika.

    Tu przyznam się, że nie mam żadnego wykształcenia elektronicznego i jestem hobbystą amatorem. 100 zł to już źródło ultra precyzyjne. No za te kilkanaście zł można kupić lepsze źródło niż podany MAX6120, które mają parametry porostu dobre i można je za źródło napięcia odniesienia uznać. Przykład 1.2V -> http://www.tme.eu/pl/Document/7495485e3193d10bc6cc7ed1513a5115/ad589jh.pdf
    W według symulacji w LTspice przy prądzie 1,21mA na czujniku wydzieli się 32-92uW. Nie mam pojęcia o ile wzrośnie temperatura, ale sama wartość liczona jest w mikro watach, a to strasznie mało.
    Scalak INA125 służy do pomiarów precyzyjnych małych rezystancji i wbudowali mu w miarę precyzyjne źródło napięcia odniesienia, a nie prądowe. Pamiętaj, że nie podłączam czujnika bezpośrednio pod źródło prądowe/napięciowe, lecz w konfiguracji mostka pomiarowego i mierzę różnice spadku napięcia pomiędzy gałęziami. Może przy temperaturze pokojowej prąd rzędu 1mA powodowałby jakieś wielkie przekłamania, a przy temperaturze operacyjnej lutownicy > 200*C podejrzewam, że nawet prąd 5mA nie byłby problemem.


    Bzdura bzdura bzdura, to nie jest ultra precyzyjne źródło napięcia odniesienia patrz DS podałeś AD589JH/JR- 100ppm/C to jest precyzja za cene 60zł netto wersja 1 nadal uważasz że MAX6120 jest drogi i nie precyzyjny??. Teraz wersja 2 tak samo 100ppm tylko cena mniejsza. Dopiero wersja z końcówka MH ma 10ppm/C którego w ogóle niema w katalogu tme, dostępny jest w innych nie polskich hurtowniach elektronicznych no tak dostępny jest w Conradz(ie) lecz jego cena powala na glebę 229zł/sztk i można powiedzieć że to jest ultra precyzyjne źródełko. Już nie mówiąc o tym że to cały czas dioda zenera ładnie opakowana.A teraz z innej beczki co kolega już wykonał, bo od rozmowy się układ nie zrobi.
  • #28
    tronics
    Level 38  
    Quote:
    Już nie mówiąc o tym że to cały czas dioda zenera ładnie opakowana.

    Kolega chyba patrzy na "funkctional block diagram" - zasadniczo ten układ zachowuje się jak dioda zenera, natomiast w środku nawet takowej nie ma! To tylko tranzystory i rezystory.
  • #29
    pawel_konin
    Level 20  
    tronics wrote:
    Quote:
    Już nie mówiąc o tym że to cały czas dioda zenera ładnie opakowana.

    Kolega chyba patrzy na "funkctional block diagram" - zasadniczo ten układ zachowuje się jak dioda zenera, natomiast w środku nawet takowej nie ma! To tylko tranzystory i rezystory.

    Tak funkctional diagram jest dioda zenera, a skład scalaka to rezystory i tranzystory.
    Lecz jak zagłębimy się w tekst to:
    Additionally, the active circuit produces an output impedance
    ten times lower than typical low-TC Zener diodes. This feature
    allows operation with no external components required to
    maintain full accuracy under changing load conditions.

    Wolne tłumaczenie: Do uzykania tak dobrych parametrów zmniejszono impedancje 10 krotnie w porównaniu do zwykłej diody zenera, bez potrzeby zewnętrznych elementów kompensujących obciążenie.
    Czyli funkcjonalność jest jak dioda zenera podrasowana o kompensacje obciążenie aby uzyskać lepszą stabilizacje.
  • #30
    tronics
    Level 38  
    Tak, ale kolega musi zrozumieć, że odnoszę się ciągle do sformułowania "to dalej dioda zenera tylko ładnie opakowana". Znacząca większość źródeł napięcia referencyjnego to dokładnie taki ekwiwalent funkcjonalny zenerki.