Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STM32F4 + Pololu Motor Driver - Jak podpiąć te urządzenia do siebie

kwybraniec 03 Sty 2014 15:04 1731 6
  • #1 03 Sty 2014 15:04
    kwybraniec
    Poziom 6  

    Witam,
    Mam pewien problem do rozgryzienia. Muszę złożyć zestaw do testowania generowania kodu w Matlabie. Zestaw składa się z zasilacza, tabliczki rozdzielającej prąd, z której wypuszczam +12 V i GND. Dalej mam wentylator, do niego przyklejony moduł Peltiera, a do modułu termistor NTC. Do zestawu mam Pololu High-Power Motor Driver 18v25 i SMT32F4 Discovery do kontrolowania. Kilka razy już to przepinałem ale nadal jest źle.. Dodaje zdjęcie mojej ostatniej próby.

    Moje pytania: Co jest źle? Jak rozwiązać ten problem dzielnika napięciowego na NTC?
    STM32F4 + Pololu Motor Driver - Jak podpiąć te urządzenia do siebie

    Pozdrawiam i dziękuję za pomoc.

    0 6
  • #2 03 Sty 2014 15:33
    Marek_Skalski
    Moderator Projektowanie

    Na schemacie widzę, że termistor masz podłączony między 3V i GND i nic poza tym. Dodatkowo port analogowy, który pewnie miał służyć do pomiaru spadku napięcia na termistorze też jest przypięty do 3V.
    Moja propozycja:
    Dodaj 1 rezystor i połącz układ w typowy dzielnik napięcia, czyli:
    Zasilanie 3V do jednej nogi termistora. Druga noga NTC do rezystora i do portu analogowego, a rezystor do GND. W ten sposób wzrost temperatury będzie widziany jako wzrost napięcia mierzonego przez ADC.
    Wartość rezystora musisz dobrać sam, ponieważ nie podałeś żadnych informacji o termistorze i zakresie mierzonych temperatur.
    Staraj się unikać prądu >1mA w obwodzie temistora i jednocześnie próbuj uzyskać maksymalnie szeroki zakres zmian napięcia dla spodziewanego zakresu temperatur.
    Pozostaje jeszcze kwestia dokładności pomiaru, ale na ten temat można pisać artykuł ;)

    0
  • #3 03 Sty 2014 15:41
    kwybraniec
    Poziom 6  

    Rezystancję termistora mam mierzyć względem temperatury pomieszczenia. Dokładność wyników nie ma znaczenia za bardzo.

    Mam jeszcze pytanie dot. elementu Peltiera. Mam nim schładzać i podgrzewać. Czy powinienem zatem podpiąć jeden kabel od Peltiera do PWMH a drugi do PWML czy te sygnały powinny pochodzić od płytki F4?

    Ale się wpakowałem z tym.. Ciężko to spiąć do kupy, a tu jeszcze pozostaje układanie bloczków w Matlabie..

    0
  • Pomocny post
    #4 03 Sty 2014 16:00
    Marek_Skalski
    Moderator Projektowanie

    kwybraniec napisał:
    Rezystancję termistora mam mierzyć względem temperatury pomieszczenia. Dokładność wyników nie ma znaczenia za bardzo.

    Przyznaję, że nie rozumiem co masz na myśli. Z tego co wiem, to termistor o ujemnym współczynniku temperaturowym (NTC) jest elementem służącym do pomiaru temperatury właśnie ze względu na spadek jego rezystancji ze wzrostem jego temperatury. Jeżeli termistor w układzie ma kontakt termiczny z elementem, to na ogół pozwala dość dobrze wyznaczyć temperaturę określonego obiektu.
    Jeżeli chcesz mieć odniesienie do temperatury otoczenia, to potrzebujesz drugi element mierzący tę właśnie wielkość, np. drugi termistor.
    Zastanawiam się dlaczego wybrałeś termistor, który ma dość podłą charakterystykę, zamiast np. LM35ACZ czy innego precyzyjnego termometru?
    kwybraniec napisał:
    Mam jeszcze pytanie dot. elementu Peltiera. Mam nim schładzać i podgrzewać. Czy powinienem zatem podpiąć jeden kabel od Peltiera do PWMH a drugi do PWML czy te sygnały powinny pochodzić od płytki F4?

    Ale Ty serio tak chcesz podłączyć? Moduł Peltiera pracuje przy prądach rzędu 2..10A, a dopuszczalne obciążenie wyjścia uC to w porywach 20mA.
    Wiesz jak działają te moduły? Jedna strona gorąca, druga zimna...
    Możesz wyjaśnić jaki jest sens podłączania wentylatora do 2 wyjść PWM? Dla mnie jest to zagadka :/
    kwybraniec napisał:
    Ale się wpakowałem z tym.. Ciężko to spiąć do kupy, a tu jeszcze pozostaje układanie bloczków w Matlabie..

    Wygląda na to, że się wpakowałeś. Masz do tego jakiś program na Discovery czy dopiero planujesz coś napisać?

    0
  • #5 03 Sty 2014 17:09
    kwybraniec
    Poziom 6  

    Niestety nie wybierałem termistora tylko taki mi został narzucony. Odniesienie do temperatury otoczenia jest takie, że przyjmuję pewną wartość i względem niej skaluję wartości odczytane z ADC na temperaturę (przykładowo zmiana wartości o 200 da mi 1 st. Celsjusza).

    Czy powinienem wyjściem DIR na Pololu zmieniać przepływ elektronów w module Peltiera aby uzyskać grzanie i chłodzenie? W sumie wentylator to taki element dodatkowy, który ma się załączyć jak element nagrzewający się będzie miał za wysoką wartość.

    Programu nie mam, mam go zaprojektować w Simulinku za pomocą bloczków z toolkit'u STM32 Embedded Target i wygenerować kod wprost z kompilacją na F4. W założeniu idea nie pisania linijki kodu aby osiągnąć zamierzony efekt.

    Właśnie nie do końca wiem jak to podłączyć, wiem tylko, że muszę przyjąć rezystancję otoczenia dla termistora, żeby była taka jak tego drugiego rezystora w dzielniku.

    0
  • Pomocny post
    #6 03 Sty 2014 21:59
    emarcus
    Poziom 34  

    kwybraniec napisał:


    Czy powinienem wyjściem DIR na Pololu zmieniać przepływ elektronów w module Peltiera aby uzyskać grzanie i chłodzenie? W sumie wentylator to taki element dodatkowy, który ma się załączyć jak element nagrzewający się będzie miał za wysoką wartość.





    Tak, Moduł Peltira winien byc zasilany z wyjśc 'OutA' - 'OutB" z kontrolera Pololu - wszak jest to w zasadzie tylko mostekH (z dołączonym interfacem), przeznaczonym głównie do kontrolowania silnikiem szczotkowym; w twoim projekcie do kontroli Mod. Peltiera. Silnik wentylatora jako urządzenie dodatkowe możesz zasilac poprzez mosfet z oddzielnego pinu processora w formie On/Off zależnie od przyjętego algorytmu w funkcji temeratury odczytanej przez NTC Thermistor.

    Cytat:

    Właśnie nie do końca wiem jak to podłączyć, wiem tylko, że muszę przyjąć rezystancję otoczenia dla termistora, żeby była taka jak tego drugiego rezystora w dzielniku.


    Isnieje bardzo dużo method na interface thermistora z processorem. Forma dzielnika napięcia jest jedną z najprostszych, lecz musisz liczyc się z negatywnym współczynnikiem i nieliniowością odczytów. Dzielnk rezystorowy na wyjściu daje ci pewien zakres napięc (nie od zera), który dalej będziesz zmuszony interpretowac poprzez ADC. Bezpośredni pomiar ADC zawęzi zakres i rozdzielczośc. Byc może zajśc potrzeba zastosowania opamp dla znivelowania offset i rozszerzenia pomiaru na cały zakres napięcia Ref. Pozostaje do rozwiązania problem linearyzacji.
    W tym zakresie poszukaj w internecie pod hasłem "interfacing thermistor".

    e marcus

    0
  • #7 04 Sty 2014 08:34
    kwybraniec
    Poziom 6  

    Dziękuję za pomoc. Rozjaśniło mi to trochę problem

    Edit: Pozmieniałem trochę ale nadal nie jest dobrze do końca.
    Wrzucam nowy rysunek połączeń. Moje pytania do tego:
    1. Jak podpiąć PWMH i PWML prościej, ale tak żebym mógł tym sterować spod programu (czyli ma to siedzieć na F4)?
    2. Czy jeśli podepnę wentylator bezpośrednio to baterii (zasilania) to będę miał możliwość go włączać/wyłączać?
    3. Reset mam podłączyć do 5V. Do pinu na Pololu (5V out) czy do pinu na płytce F4?

    Znawcom tematu pewnie się te pytania wydadzą żenująco proste, ale niestety ja nie do końca to ogarniam, nie jest to moją dziedziną.

    Dziękuję za odpowiedzi.

    STM32F4 + Pololu Motor Driver - Jak podpiąć te urządzenia do siebie

    0