Strana 3 z 6

Re: WCH32v003 RISC-V MCU

Napísané: 09 Mar 2024, 18:45
od používateľa Lennox
Jak rozhodnúť :mrgreen:

na internetoch píšu nasledovné:
Příkon je násobek napětí a odebíraného proudu. Pokud odečteme účinnost zařízení, udává se v procentech, dostaneme výkon. Nevyužitelný výkon se projevuje jako ztrátové teplo, a protože snad žádné elektrické zařízení nemá 100% učinnost, tak se během provozu zahřívá.

Re: WCH32v003 RISC-V MCU

Napísané: 09 Mar 2024, 18:48
od používateľa maskrtnik01
Dá sa to vysvetliť dvojako. Príkon toho zdroja čo vyrába, a výkon ktorý dodáva. Alebo príkon pripojených svietidiel a ich výkon (ktorý to nevie merať).

Ja som za výkon.

Re: WCH32v003 RISC-V MCU

Napísané: 09 Mar 2024, 19:12
od používateľa Lennox
mne vychádza príkon nakoľko to je ten údaj koľko odoberá pripojený spotrebič so všetkým dokopy (straty).
Na základe toho potom viem povedať koľko W zdroj k svietidlu aj s rezervou dať.

Re: WCH32v003 RISC-V MCU

Napísané: 09 Mar 2024, 20:04
od používateľa Atlan
Prikon si daj potom VA :D namiesto W

Re: WCH32v003 RISC-V MCU

Napísané: 10 Mar 2024, 12:57
od používateľa Atlan
Idem ako pila, timer 1ms rozbehany, prerusenie pre enkoder chodi, displej rozbehany ht1621 riadne rozhadzane znaky boli :D, ale stym sa pocitalo kedze neni schema. Priklady su, tak to ide. Gogle funguje :P

Re: WCH32v003 RISC-V MCU

Napísané: 10 Mar 2024, 13:04
od používateľa Lennox
Super, zaujíma ma ako si riešil enkodér HW cez PD3, PD4 (A,B) ako to mám ja, nakoľko čip má v sebe perifériu na obsluhu enkodéru, alebo si to riešil klasicky SW?
Aha používaš prerušenia, takže si išiel klasickou cestou., nepoužívaš HW perif.

A ešte robíš v ich štandardnom HAL-e a v MounRiverStudio? alebo používaš niečo alternatívne?

Re: WCH32v003 RISC-V MCU

Napísané: 10 Mar 2024, 16:19
od používateľa Atlan
Pouzivam standart co je v IDE MRS. Kedze som to napajkoval do povodneho zariadenia, velmi si vyberat nemozem co je kde pripojene.
Plan bol pouzit rozhranie do arduina (i ked to neznasam) ale nepodarilo sa nainstalovat. Tak ze vsetko natukat do IDE

Este treba rozbehat pwm a ad prevodnik.l a doprogramovat nastavovacie menu ale to ma cas v zime. Ale plavak uz funguje.

Je to elektronika k membranovemu cerpadlu co taha kondenz z kotla do odpadu. Bude zobrazovat vysku hladiny v % a zostavajuci cas chodu cerpadla.

Este musim pozriet ako ss zapisuje do flash, kedze to nema eprom.

By ma zaujimalo ako pokrocil pan stym asm pre pic, ked si neda povedat nna to Cko.


http://www.youtube.com/watch?v=sy6CnyRheCA
[/youtube]

Re: WCH32v003 RISC-V MCU

Napísané: 10 Mar 2024, 16:38
od používateľa Lennox
Máš to dobré, ten existujúci displej ma aké rozhranie SPI? Zaujímal by ma zdroják keď tak do SS.
To, že to nemá eeprom ma mierne zaskočilo, keďže občas potrebujem uložiť nejaké užívateľom nastavené hodnoty aby sa to načítalo po zapnutí. Je možné emulovať eeprom vo vymedzenej oblasti flash vždy po 256 bajtoch ale je tu obmedzený počet zápisov. Síce je to možné riešiť zápisom na rôzne adresy a tak eliminovať degradáciu ale je to také no nepraktické. V examploch MRS je na to príklad, ešte som sa k tomu nedokopal.
ADC a PWM sú dobre zdokumentované v MRS aj v príkladoch, takže to nebude problém implementovať.

Re: WCH32v003 RISC-V MCU

Napísané: 10 Mar 2024, 17:14
od používateľa Atlan
Ht1621 bezny radic, teda je tam nejaka cinska kopia, neriesim stiahol som arduino kniznicu trosku ju premazal a hotovo. Je to pripojene na nejake piny, tak ze softverovo nakmitat data a hotovo.

MozNo tam napisem nejake makra lebo tie zapisy a citanie portu su strasne dlhe a neprehladne.

Re: WCH32v003 RISC-V MCU

Napísané: 15 Mar 2024, 08:15
od používateľa ilo
Zdravím tiež som začal s WCH32v003 ale mam trochu problem s nastavením a používaním prerušenia a používaním STANDBY módu- nemáte nejaké príklady použitia?

Re: WCH32v003 RISC-V MCU

Napísané: 15 Mar 2024, 09:12
od používateľa Lennox

Re: WCH32v003 RISC-V MCU

Napísané: 15 Mar 2024, 18:43
od používateľa Atlan

Re: WCH32v003 RISC-V MCU

Napísané: 15 Mar 2024, 20:45
od používateľa Lennox
Popis natlačený na UV tlačiarni.
Spider_13.jpg
Spider_14.jpg

Re: WCH32v003 RISC-V MCU

Napísané: 17 Mar 2024, 16:54
od používateľa Atlan
dam tu 2 projekty, ale velmi by som si z toho priklad nebral. Raz dva zbuchane pre internu potrebu na konkretny ucel, nevhodne na publikovanie :D a netestovane
pump ma ad prevodnik, casovac, encoder a nejake ovladanie vystupov, vstupov a displeja ht1621 (ovladanie pumpy pre odcerpavanie kondenzu z kotla- keby som v cine kupil spravny ovladc som si to mohol usetrit lebo to vyrabaju :( )
ux52 je fazove riadenie triaku, ad prevodnik casovac, led displey tm1618 s tlacidlami (prakticky ma to byt regulator pre motor z pracky v peknej krabicke)

Re: WCH32v003 RISC-V MCU

Napísané: 17 Mar 2024, 17:36
od používateľa Lennox
Vďaka za zverejnenie, popozerám a hádam sa niečo priučím. Ja som tiež nezaháľal, napísal som rutinu pre PCF8574T ako backpack pre LCD1602, takže mám vlastne i2C LCD. Tiež som vyskúšal čítať enkodér v prerušení ako rýchlo a presne to pôjde. Ide o 400IPR optický enkodér a je to dĺžkové odmeriavanie.
Enkodér má na sebe koleso o priemere 25.5mm ktoré je pritláčané o materiál a odvaľovaním meria prejdenú vzdialenosť. Pri 400 impulzoch a 25,5mm priemere kolesa je rozlíšenie 0,2mm. Prekvapivo môžem točiť ako besný a nestráca pulzy. Tento projekt mám aj s 8bit PICom v Basicu a tam to bolo omnoho zložitejšie.
Tu v prerušení iba testujem vektor a podľa neho pri zostupnej hrane inkrementujem alebo dekrementujem premennú.
Program je iba na pár riadkov:

Kód: Vybrať všetko

//*******************************************************************************
// MAIN                                                                         *
//*******************************************************************************
int main(void){
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    SystemCoreClockUpdate();
    Delay_Init();
    ENC_GPIO_INIT();
    IIC_Init( 80000, i2cadrs);
    lcd_init();

    LCD_BACKLIGHT = 0x08;

while(1){
    milim = (ENC_Count*0.20017)*10;
    int jednotky = milim/10;
    sprintf(str_val,"Dlzka: %d.%1d mm     ",(jednotky), (milim %10));
    lcd_set_cursor(0,0); lcd_string(str_val);
    sprintf(str_val,"Impulz: %d     ",ENC_Count);
    lcd_set_cursor(1,0); lcd_string(str_val);
    Delay_Ms(10);
        }

}
Enkoder.jpg

Re: WCH32v003 RISC-V MCU

Napísané: 17 Mar 2024, 19:15
od používateľa Atlan
Nieco hotove na ten flash ako eprom nemas, staci mi zapisovat jednu stranku. Asi neostane nic ine len pripojit uart prevodnik a zapnut debug. Aby som videl co to r9bi v flash. Sa mi nechce.

Porovnavat skodovku 100 s oktaviou 4 sa neda. To pic pri rovnakej frekvencii by bolo 4x pomalsie.

Re: WCH32v003 RISC-V MCU

Napísané: 17 Mar 2024, 19:25
od používateľa Lennox
Nemám, ako som písal vyššie ešte som sa k tomu nedokopal. Čakám, že sa niečo vyskytne na webe ale zatiaľ slabota.

To je pravda, a ešte aj tie 32 bitové premenné majú čo to do seba :mrgreen:

Re: WCH32v003 RISC-V MCU

Napísané: 18 Mar 2024, 15:18
od používateľa Atlan
Zbezne som na to pozrel. Fast flash.
Bude stacit vyrobit pole o 64prvkoch (tj 64 32bit premenych) natrepad to pola premene ktore chceme ulozit, zapis sa prevedie z celym polom naraz. Teda najprv sa zmaze velkost celeho pola v flash, a potom sa nalsedne cele zapise (je mozne vykonat kontrolu vymazania a kontrolu korektneho zapisu ak by trebalo asi to vynecham)

Takze nehrozi ziadne zapisovanie po jednej premenej ako je zvykom u klasickej eeprom.

Tak ze ak mas nejake premene, vsetky priprav na zapis a naraz budu zapisane. Ak je to nutne vykonaj zapis do 2 stranok pamete. V pripade krachu prvej stranky nacitas data z tej druhej. Alebo pouzijes predvolene hodnoty. Tak ze doporucujem vykonat crc na datach a zapisat to na zaciatok pola. Aby si vedel skontrolovat ci je vsetko ok.

ENC_Count*0.20017)*10;
To by malo ist napisat 20017/1000 tym padom nemusis mat float a veci stym suvisiace

Re: WCH32v003 RISC-V MCU

Napísané: 18 Mar 2024, 19:10
od používateľa Lennox
Dobrá pripomienka, vďaka. Takto mi to ušetrilo skoro 2.5kb flash pamäte :thumbup:

Re: WCH32v003 RISC-V MCU

Napísané: 18 Mar 2024, 21:43
od používateľa Atlan
Flasheprom zapisuje 64kusov 32bit premenych na koniec flash.
Akurat ze ich pri nahrani programu zmaze, kedze pred programovanim sa vykona vymazanie celej flash. Ale inak to funguje.

CRC tam neni, to bol le nrychli pokus ci to funguje. inak ak pouzijes WCH-LinkUtility.exe, vies nacitat obsah FLAS tak na konci uvidis ake premene sa ulozili do flash.