PIC18F44K22 programovanie

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 05 Dec 2023, 12:19

Zdravím,

potreboval by som sa naucit naprogramovat PIC18F44K22.
Doteraz som programoval len atmely (arduino dosky ) v C a esp v pythone. Pri tomto picku neviem kde zacat.
Moje otazky:
1.Ake vyvojove prostredie treba + programator
2.V akom jazyku sa programuje, ci len v assemblery alebo aj v C
3.S akou literaturov zacat atd

Ďakujem za odpovede :prayer:
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 05 Dec 2023, 13:12

Ja by som začal tu:

https://www.microchip.com/en-us/tools-r ... plab-x-ide

Programátor:

https://www.microchip.com/en-us/develop ... l/pg164130

Programovať môžeš v čom len chceš, alebo čo ti je blízke.
ASM, C, Basic, atď.

Ja osobne programujem v ASM a Basicu (Picbasic Pro).

Dôležité (možno najdôležitejšie) je stiahnúť si datasheet:

https://www.microchip.com/en-us/product ... ment-table

A preštudovať ho, hlavne ako sa nastavujú periférie, porty, oscilátor, ako konfiguruje atď.
Keď budeš konkrétnejší, čo by si potreboval naprogramovať tak budeme vedieť poradiť viac a konkrétne.
Ak ti ide iba o začiatok naučiť sa niečo nové ohľadom tejto architektúry, odporúčam začať s jednoduchším PIC-om. Pre zoznámenie by som skúsil 8. pin verziu 12F1840 napríklad.
0

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

Re: PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 05 Dec 2023, 20:10

Dakujem na zaciatok to bude stacit.

Moj ciel je spravit novy program pre riadiace dosky osadane pickom, ktore ovladaju 4ks DC ventilatorov , je tam ovladanie PWM , citanie tacha, jeden tepelny senzor, a komunikacia RS232 .

Sucasny stav je ze, 4 dosky su spolu prepojene a komunikuju cez 232 + jeden master ktory je spojeny s PLC , kde idu len dva signali zapni a error :D . Takze to je 16 ventilatorov o ktorych nikto netusi ich stav, nedaju sa dialkovo riadit ani citat data a ked nejaky umre tak nikto neviei ktory a odstavy to cele zariadenie :D

Chcem spravit aby master vedel okazdom ventilatore a mal teplotu z kazdeho modulu a s PLC komunikoval cez 232 pripadne do buducna som planoval modbus.
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 05 Dec 2023, 21:03

Aha, rozumiem. Preto tento PIC nakoľko má 4x hardvérový PWM výstup. Tiež HW USART. Ten tepelný senzor má aký výstup analóg či digitál? To tacho je pre mňa neznáma vec, nemám s čítaním analógového tacha skúsenosti. Ak by tam bol inkrementálny enkodér to nie je problém.
Nuž, neviem aké máš skúsenosti s programovaním, ale triviálne to nebude. Naviac ešte aj na novej platforme.

A čo tak miesto toho mastra šupnúť niečo čo poznáš a vieš programovať. Analyzovať 232-jku čo posielajú jednotlivé moduly a vyhodnocovať to svojím mikrokontrollérom. Z neho si už do PLC pošleš čo chceš a ako chceš.

Alebo na "sedláka" nemajú tie moduly nejakú status LED-ku ktorá sa aktivuje pri Errore? To by si mohol priviesť buď do svojho mikrokontrolléru, alebo priamo do PLCčka.

EDIT:
tak som mrkol čo z toho tacha vlastne lezie. Malo by dávať DC napätie proporcionálne k otáčkam. Takže stačí delič a merať AD prevodníkom.
0

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

Re: PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 06 Dec 2023, 10:15

Ano moduly maju status led, ale nevies ktory zo 4 ventilatorov je KO ,pripadne ci tam je chyba teploty. Dostat sa k tej doske trva aspon hodinu je to UV lampa ktoru musis odpojit, demontovat, rozobrat a tak...

Cca takto pred rokom sme navrhli prototyp novej dosky s MAX31790ATI a PCA9534D, master bol Arduino mega spolu to bolo vsetko prepojene s I2C a s plc cez modbus TPC . Zalozneho mastra som planoval raspberry pi pico koli velkosti . Program hotovy, modbus funkcny , ale stroskotaly sme na PCB doske ktora sa nam moc nepodarila. Dalej dost velky problem je ten MAX je strasne maly a je problem s osadenim :D

Analyza 232 je tiez dobry napad, len memam stym ziadnu skusenost a bojim sa toho, ze tie moduly moc toho osebe neposlu. Idu dlhe zimne vecere tak bude cas sa zas nieco nove naucit :)
0

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

Re: PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 04 Jan 2024, 20:34

Zdravím,

PICKIT dorazil , podarilo sa mi aj pripojiť , vygumovať aj dačo nahrať, ale stroskotal som na tom ze sa mi nedarí rozsvietiť ani LED .

prikladam KOD:

#include <xc.h>

void main(void) {

TRISDbits.TRISD3 = 0; /* output pin RD3 - Led_1 */
TRISCbits.TRISC4 = 0; /* output pin RC4 - Led_3 */
TRISCbits.TRISC5 = 0; /* output pin RC5 - Led_2 */


LATDbits.LATD3 = 1;

return;
}

LED sú pripojene na:
RC5, RC4, RD3
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 04 Jan 2024, 20:54

mám pár otázok:
- aký používaš oscilátor interný či externý kryštál/rezonátor?
- aká frekvencia?
- ako máš zapojené ledky: A? K?
- predpokladám R pre prúdové obmedzenie led máš.
0

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

Re: PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 04 Jan 2024, 21:11

- externý 24mhz
- ano LED idu cez rezistor, je to hotova doska prilozim obrazok

Obrázok

Obrázok
Prílohy
IMG_20240103_193745.jpg
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 04 Jan 2024, 21:12

epoxid napísal:
04 Jan 2024, 20:34
Zdravím,

PICKIT dorazil , podarilo sa mi aj pripojiť , vygumovať aj dačo nahrať, ale stroskotal som na tom ze sa mi nedarí rozsvietiť ani LED .

prikladam KOD:

#include <xc.h>

void main(void) {

TRISDbits.TRISD3 = 0; /* output pin RD3 - Led_1 */
TRISCbits.TRISC4 = 0; /* output pin RC4 - Led_3 */
TRISCbits.TRISC5 = 0; /* output pin RC5 - Led_2 */


LATDbits.LATD3 = 1;

return;
}

LED sú pripojene na:
RC5, RC4, RD3
Já sice nejsem PICař, ale v Cčku dělám a vidím MAIN bez nekonečné smyčky a na konci RETURN ? To asi nemyslíš úplně vážně ...
0

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12407
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: PIC18F44K22 programovanie

Príspevok od používateľa boraicho » 04 Jan 2024, 21:16

použivaj chatgpt
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

Re: PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 04 Jan 2024, 21:18

Já sice nejsem PICař, ale v Cčku dělám a vidím MAIN bez nekonečné smyčky a na konci RETURN ? To asi nemyslíš úplně vážně ...
nekonecnu smycku tam mometalne nepotrebujem, ciel je nastavit piny a rozsvietit LED.
0

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12407
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: PIC18F44K22 programovanie

Príspevok od používateľa boraicho » 04 Jan 2024, 21:20

daj tam
while(1)
{

}
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 04 Jan 2024, 21:28

epoxid napísal:
04 Jan 2024, 21:18
Já sice nejsem PICař, ale v Cčku dělám a vidím MAIN bez nekonečné smyčky a na konci RETURN ? To asi nemyslíš úplně vážně ...
nekonecnu smycku tam mometalne nepotrebujem, ciel je nastavit piny a rozsvietit LED.
Tohle není Arduino, ale čisté Cčko - v Cčku se spustí main a v něm už program NAVŽDY MUSÍ ZŮSTAT. Main je uživateli v Arduinu ukryt. Tam máš Setup a Loop - při startu se ze skrytého mainu 1x zavolá Setup a pak se v pravidelných intervalech volá Loop. Tady si to musíš udělat ručně. Program z mainu vyskočí i kdybys tam neměl ten return. Ale kam ? Podle hodnoty ve stacku skočí na nějakou adresu, která je prezentovaná hodnotou ve stacku, který je aktuálně někde v nedefinované oblasti. Tam skočí a provádí instrukce podle toho ma jakém místě paměti se zrovna nachází. Klidně se tedy může stát, že ten tvuj prográmek proběhne, LEDka se rozsvíti, ale pak se provede něco, že to tu LEDku zase zhasne.

Ani AVRka se bez main a nekonečné smyčky v něm neobejdou. Je totiž úplně jedno, jaký procesor použiješ.
0
Naposledy upravil/-a balu v 04 Jan 2024, 21:42, upravené celkom 4 krát.

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 04 Jan 2024, 21:33

Nahraj do PICka tento HEX:
18F44K22.HEX
(440 Bajtov) 20 stiahnutí
Mali by sa ti rozblikat LEDky na portoch RC5,RC4,RD3
v sekundovom intervale.

Skusal som to iba v simulatore nakolko tento PIC fyzicky nemam.

Ked ti to bude fungovat vies, ze system zije a mozeme sa posunut dalej.
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 04 Jan 2024, 21:38

Můžeš sem hodit kompletní kód ? Z HEXu se nic nenaučí.
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 04 Jan 2024, 21:42

Je to ASM, to mu nepomôže. Ja nie som Cckar.

Ešte jedna podstatná vec, aby sa ti to rozbehlo musíš odpojiť programátor nakoľko neviem či nebude ťahať pin RE3 (MCLR) k zemi.

Alebo teda iba odpojiť tento pin RE3 od programátora.
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 04 Jan 2024, 21:46

Lennox napísal:
04 Jan 2024, 21:42
Je to ASM, to mu nepomôže. Ja nie som Cckar.
Vidíš - ani to jsem z toho HEXu nepoznal. :wink:
0

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

Re: PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 04 Jan 2024, 21:47

balu - dakujem za podrobne vysvetlenie

Lennox - ide to , rozsvietia sa vsetky naraz , potom zhasnu a tak dokola, myslim ze problem bude v nastaveni toho oscilatora
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 04 Jan 2024, 21:48

balu napísal:
04 Jan 2024, 21:46
Vidíš - ani to jsem z toho HEXu nepoznal. :wink:
Jasne že nie, ako by bolo možné z hexu poznať v čom to bolo naklepané. Či? :rolleyes:
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 04 Jan 2024, 21:52

To je mi jasný. Já to myslel jako žertík - proto taky ten smajlík.
0

Napísať odpoveď