Możliwości STM32G030J6M6 są zadziwiające. STMG030 jest tańszy od Tiny85, który zmieściłby cztery razy krótszy komunikat. Tak mały uC pozwala na pojemnościowy pomiar wilgotności oraz wypowiadanie komunikatów. Pomiar pojemnościowy pozwala zaizolować elektrody sondy co gwarantuje ich dużą żywotność spowodowaną brakiem elektrolizy przez co szybka korozję.
Przeznaczeniem urządzenia jest informowanie o zbyt małej wilgotności gleby. Próby realizowałem na zestawie startowym STM32G0316 DISCO
Schemat wygląda tak:
Efekt pracy można zobaczyć na filmie:
Oczywiście nie należy spodziewać się dźwięku jakości Hi-Fi, samplowanie 8-bit 8kHz wnosi ograniczenia. Gdy zaimplementuję algorytm G711u/aLaw pozwalający skompresować 12-bit do 8-bit, jakość dźwięku poprawi się. Kolejną poprawę wniesie zastosowanie na wyjściu filtru dolnoprzepustowego, co wyeliminuje metaliczny pogłos spowodowany PWM-em.
Czy STM32G03x oznaczają koniec małych AVR? Porównanie uC:
* - STM32 ma tak duży FLASH, że można w nim emulować EEPROM, Przeważnie w uC EEPROM jest emulowany w pamięci FLASH "poza świadomością" programisty.
** - Albo I2C albo SPI. Oba interfejsy z silnym wspomaganiem programowym.
Jak widać, tańsze nie znaczy gorsze, wręcz przeciwnie, tańsze znaczy dużoooooo lepsze.
Przeznaczeniem urządzenia jest informowanie o zbyt małej wilgotności gleby. Próby realizowałem na zestawie startowym STM32G0316 DISCO
Schemat wygląda tak:
Efekt pracy można zobaczyć na filmie:
Oczywiście nie należy spodziewać się dźwięku jakości Hi-Fi, samplowanie 8-bit 8kHz wnosi ograniczenia. Gdy zaimplementuję algorytm G711u/aLaw pozwalający skompresować 12-bit do 8-bit, jakość dźwięku poprawi się. Kolejną poprawę wniesie zastosowanie na wyjściu filtru dolnoprzepustowego, co wyeliminuje metaliczny pogłos spowodowany PWM-em.
Czy STM32G03x oznaczają koniec małych AVR? Porównanie uC:
| Tiny85 | STM32G0 | |
| Zegar | 20MHz | 64MHz |
| Rdzeń | 8-bit | 32-bit |
| FLASH | 8kB | 32kB |
| RAM | 512B | 8kB |
| EEPROM | 512B | - * |
| Timery | 2 (8 i 16 bit) | 8 (16-bit) + SYS w rdzeniu |
| UART | - | 2 (wykrywanie prędkości i końca ramki, sprzętowe sterowanie przepływem, sprzętowe sterowanie kierunkiem RS485) |
| I2C | USI ** | 2 |
| SPI | USI ** | 2 |
| RTC | - | + |
| DMA | 0 | 1 (5 kanałów) |
| ADC10-bit | 10-bit 10kHz | 12-bit 1MHz |
| WDG | + | 2 |
| Generator CRC | - | + |
| Licz. poziomów przerwań | 1 | 4 |
| Kontroler przerwań | - | + |
| Interfejs IR | - | + |
* - STM32 ma tak duży FLASH, że można w nim emulować EEPROM, Przeważnie w uC EEPROM jest emulowany w pamięci FLASH "poza świadomością" programisty.
** - Albo I2C albo SPI. Oba interfejsy z silnym wspomaganiem programowym.
Jak widać, tańsze nie znaczy gorsze, wręcz przeciwnie, tańsze znaczy dużoooooo lepsze.
Fajne? Ranking DIY
