240 likes | 394 Views
POLITECHNIKA POZNAŃSKA. STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH Projekt Wskazówki projektowe. WBMiZ Zakład Urządzeń Mechatronicznych. GRZEGORZ.PITTNER@PUT.POZNAN.PL. Plan działania. Ustalić cel Ustalić parametry Wykonać schemat ideowy Wypisać potrzebne peryferia Wypisać potrzebne elementy
E N D
POLITECHNIKA POZNAŃSKA STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH Projekt Wskazówki projektowe WBMiZZakład Urządzeń Mechatronicznych GRZEGORZ.PITTNER@PUT.POZNAN.PL
Plan działania • Ustalić cel • Ustalić parametry • Wykonać schemat ideowy • Wypisać potrzebne peryferia • Wypisać potrzebne elementy • Dobrać MCU • Wykonać schemat • Wykonać routing płytki • Wykonać płytkę • Uruchomić plytkę • Połączyć się z MCU • Zaprogramować • Ocenić działanie programu • Dopracować dokumentację do skutku
1) Cel projektu • Wykonać regulator temperatury w akwarium
2) Ustalić parametry • Regulowanie temperatury w zakresie od 10 do 40°C • Grzałka 12V, 1A (12W) • Regulator będzie działał płynnie (PID) • Nastawy P,I,D będzie można zmieniać • Zasilanie stacjonarne • Aktualną temp. będzie wskazywał wyświetlacz 7 segmentowy, 2 cyfrowy
3) Wykonać schemat ideowy Gniazdo zasilania Zasilanie 5V stabilizowane Grzałka Tranzystor mocy LED MCU Wyświetlacz 7 segmentowy Gniazdo grzałki Wyświetlacz 7 segmentowy PWM GPIO Czujnik temp. ADC 0 ADC 1 Potencjometr nastawy temp ADC 2 ADC 3 TIMER 500Hz Potencjometr nastawy P ADC 4 Zegar wew. 1MHz Potencjometr nastawy I Pamięć flash Gniazdo programatora JTAG Potencjometr nastawy D
4) Wypisać potrzebne peryferia • PWM • ADC (5 kanałów) • GPIO (min. 9pin) • Timer (500Hz) • Wewnętrzne RC (1MHz) • Zdobyć wiedzę (np. z noty katalogowej) - jaki tryb PWM? • jaka częstotliwość PWM? • akie obciążenie PWM nasyci tranzystor? • Jaki tryb ADC? • Czy 1MHZ starczy? • Jak wyskalować ADC (jakie Aref) • Ilu bitowy timer?
5) Wypisać potrzebne elementy • grzałka • Potencjometry (4szt.) • Sensor temperatury analogowy • Złącze do grzałki • Itd…. • Zdobyć wiedzę o elementach • Jaka grzałka? • Jaki sensor temp.? (symbol, zakres, cena, pinout) • Jak połączyć sensor z płytką? • Jaka wartość potencjometru • Jak połączyć potencjometr z płytką i obudową • Itd…
6) Dobrać MCU • ATmega8 • ATmega16 • ATmega32 • ATmega64 • ATmega128 • wersje L
7) Wykonać schemat • Zasilanie: 5V stabilizowane (obliczyć zrzut i dysypację termiczną) • Podział płytki na strefy (analogowa, cyfrowa, mocy, zasilania, itd…) • Duża dbałość o detale (grubości ścieżek, odległości, szumy, jakość połączeń, krętość ścieżek krytycznych itd…) • CZYTAĆ NOTĘ KATALOGOWĄ, analizować przykładowe aplikacje hardwarowe • Podstawki DIP pod MCU ułatwią lutowanie i wymianę
8) Wykonać routing • Po wykonaniu routingu wydrukować PCB na kartce i przymierzyć elementy • Ścieżki min 10mil • Ścieżki ADC daleko od PWM,Q,zasilania mocy • Ścieżki od JTAG możliwie proste i krótkie • Ścieżki od zegara bardzo krótkie • Kondensatory blisko elementu który odszumiają • Elementy blisko siebie • Optymalizować powierzchnię płytki • Optymalizować liczę otworów • Pamiętać o opisach złącz i o wytycznych projektowych
9) Wykonać płytkę • Wiele błędów podczas uruchomienia projektów powstaje właśnie na tym etapie (coś nie styka, coś zwiera, coś źle przylutowane) • Trwa to zawsze więcej czasu niż się planuje • Wykonać płytkę to nie to samo co ją uruchomić • Dbać o staranność i o detale
Doprowadzenie zasilania filtr filtr
Układ RESET Do JTAG
strefy ZASILANIE DRIVER MOCY SILNIK JTAG UKŁ. RESET ELEMENTY MOCY MCU ANALOG PASEK LED ZEGAR KLAWIATURA
makrodefinicje #define LED1_ON PORTA|=(1<<4) #define LED1_OFF PORTA&=~(1<<4) … voidmain(void) { … LED1_ON; … LED1_ON; … LED1_OFF; } #define PORT_LED1 PORTA #define PORT_LED2 PORTA #define PORT_LED3 PORTB #define PIN_LED1 6 #define PIN_LED2 4 #define PIN_LED3 1 … voidmain(void) { … PORT_LED1|=(1<<PIN_LED1); PORT_LED2&=~(1<<PIN_LED2); .. PORT_LED2|=(1<<PIN_LED2); PORT_LED3&=~(1<<PIN_LED3); }
GOTOWCE GOTOWE ROZWIĄZANIA Z PRZYSŁOWIOWEGO GOOGLE SĄ DOBRE JEŻELI: • WIEMY O NICH WSZYSTKO! • ŹRÓDŁO JEST WIARYGODNE! • DOTYCZĄ NASZEGO PRZYPADKU!