Sari la conținut
ELFORUM - Forumul electronistilor

controller cnc cu microcontroler pic, a mai facut cineva?


coco243

Postări Recomandate

M-am uitat pe comunicatia seriala in fisierul serial.c la grbl si am vazut ca se calculeaza BAUD_RATE-ul asa:

uint16_t UBRR0_value = ((F_CPU / (8L * BAUD_RATE)) - 1)/2 ;

ceea ce eu traduc UBR0_value=F_CPU/(16L*BAUD_RATE)-1/2

 

 

Si m-am uitat si in DATASHETUL ATmega328P si am vazut ca formula pentru BAUD_RATE este:

#define MYUBRR FOSC/16/BAUD-1

care vine MYUBRR= FOSC/(16*BAUD)-1

 

 

Sunt doua rezultate complet diferite, ce imi scapa?

Link spre comentariu
  • Răspunsuri 34
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • coco243

    15

  • mars01

    9

  • Liviu M

    8

  • Mircea

    2

Top autori în acest subiect

Pai nu mi-a scapat nicio pagina de catalog, exact asta zic si eu,

in pagina de catalog:

 

MYUBRR= FOSC/(16*BAUD)-1,

 

iar in fisierul serial.c:

 

UBR0_value=F_CPU/(16L*BAUD_RATE)-1/2.

 

Sunt doua definitii diferite, una este cu -1 iar cealalalta cu -1/2. Este gresit in fisierul serial.c definita formula? Asta este intrebarea mea. Au gresit astia de la grbl codul?

Link spre comentariu

Pai nu stiu nici eu prea bine. Din ce am inteles cu USART poti comunica pe viteza mai mare de 115200 si informatia are in ea si ceva clock.

Ce stiu este ca microcontrolerul de la Atmel are USART, iar la microchip observ doar UART si nu sunt lamurit de diferentele astea.

Link spre comentariu

Ah, so, lipsea s-ul de la sincron?Stai linistit, pe de o parte si picurile au si partea sincrona (cel putin alea vechi, gen 16f877 si 16f627 o au, nu cred c-au scos-o la cele mai noi/performante), pe de alta, ca sa comunici cu PC-ul tu o sa folosesti numai comunicatia asincrona.

Asa ca alege PICul care se potriveste la restul de caracteristici.

Link spre comentariu

Dap, mersi de informatii, chiar formula despre care am discutat si atasamentul pus de mars01 arata ca codul grbl este setat pentru modul de transfer asincron.

Am gasit la adelaida uC-ul PIC32MX320F128H ( pot sa il programez cu ICD2-ul meu) si o statie de lipit cu 69 ron.

Ma gandesc sa le cumpar ca sa fac teste cu comunicatia seriala, ca sa le iau pe rand si sa le implementez pe rand pe o placa de test,

Editat de coco243
Link spre comentariu

Pai daca iau kitul de arduino eu ce mai fac?Cu PIC-urile, mi am legat eu un pic la oscilator, mufa de programare, l-am conectat, i-am facut debug, m am jucat cu timere, am aprins leduri dar cu atmel trebuie sa o iau de la inceput, nu am programator,nici debuger. Stiu ca vreau sa-mi fac electronica pentru un CNC si asa mi a trecut mie prin cap sa incep de aceea cer informatii de la altii care au mai facut asa sau ma pot ajuta in acest sens.

Link spre comentariu

OK, am inteles.

Oricum, eu nu sugeram (neaparat) sa folosesti Arduino, eram curios sa aflu motivele pentru care vrei sa portezi codul pentru PIC.

Ai aceleasi motive pentru care la un moment dat am inceput sa portez grbl pentru STM32F0 (un discovery).

 

Spor,

Liviu

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări