Dokumentace k desce =================== (schéma, layout plošného spoje): http://www.fi.muni.cz/~kas/tinyboard/ Osazení desky: ============== U1: ATtiny25-20SSU U2: MCP1703T-500 regulátor napětí 5V, 250 mA Q20, Q50: N-MOSFET IRLML6344TRPBF, 30V, 5A C1, C3: 10uF keramické, typ nevím :-) C2, R10, R30, R40: _kondenzátory_ 220nF keramické X7R R12, R20, R32, R42, R50: odpory 15KOhm R34, R44: odpory 300KOhm (podle nich dimenzovat termistory) D50, R15, R21, R23, R51, R53: propjky 0 Ohm (nebo dráty) Nepoužito: R2, R3, R4, R11, R13, R14, R22, R24, R25, R31, R33, R41, R43, R45, R52, R54, R55 C11, C51, D10, L10, L50, Q10, Q1, Q2, Q30, Q40, U3 Možno ještě osadit kontrolku napájení (D1, R1) Přiřazení pinů ATtiny: ====================== PB0: plovák nebo jiný spínač, zapojit mezi piny 1 a 2 konektoru PB0 PB1: ovládání motoru, zapojit mezi piny 2 a 3 konektoru PB1 PB2: termistor, zapojit mezi piny 1 a 2+3 konektoru PB2 PB3: termistor, zapojit mezi piny 1 a 2+3 konektoru PB3 PB4: ovládání motoru, zapojit mezi piny 2 a 3 konektoru PB4 Motory lze řídit i přes PWM (viz dokumentace Timer/Counter 1, pin PB1 je pak OC1A, pin PB4 je OC1B. Doporučuju T/C1 časovat z PLL clock na 32 MHz, čímž se získá PWM o frekvenci 256 kHz, což by mělo na plynulé řízení motoru stačit. Termistory jsou čitelné přes A/D převodník (PB2 je ADC1, PB3 je ADC2). Podle typu termistoru použít vhodnou napěťovou referenci ADC (asi interní 1.1V). Před vstupem PB0, PB2 a PB3 je low-pass filtr z 220nF kondenzátoru a 15k odporu, což by mělo ořezávat frekvence vyšší než cca 50 Hz. Tentýž kanál ADC tedy nemá smysl vyhodnocovat častěji. Možná půjde využít i vestavěný teploměr (viz dokumentace A/D převodníku). Programování: ============= Před programováním odpojit piny PB0-PB2 od zbytku desky vyndáním jumperů J1-J3. make program # přeloží firmware a nakopíruje do CPU (flash+eeprom) make program_flash # totéž, uploaduje jen programovou paměť (flash) make program_eeprom # totéž, uploaduje jen eeprom make dump_eeprom # výpis eeprom, například logovacích dat Programová flash umožňuje 10_000 přepsání (OK), EEPROM umožňuje "jen" 100_000 přepsání (pozor na to při logování do EEPROM, ať se příliš často nepřepisuje ta stejná adresa, například při zacyklení programu).