Pulsbreedte USBCNC

Nederlandse CNC controller op basis van de usb poort of Ethernet.

Moderator: Moderators

Plaats reactie
Bert
Berichten: 35
Lid geworden op: 30 jan 2007 21:00
Locatie: Eindhoven
Contacteer:

Pulsbreedte USBCNC

Bericht door Bert »

Hoi Allemaal,

Mochten er problemen optreden met USBCNC, neem dan gewoon onmiddelijk contact met me op.
Ik probeer alle emails dezelfde dag nog af te handelen. Nu mijn nieuwe producten klaar zijn krijg ik ook weer wat meer tijd om zelf wat te frezen e.d. Ik ben zelf in eerste plaats ook CNC hobbyist en wil gewoon een goed product hebben, ook voor mezelf.

Ik heb hier nog wel een TIP voor het communicatie lost probleem met CPU V1 en V2.
De oplossing is heel simpel, namelijk een klein stukje draad te leggen (ca 5 millimeter) aan de onderkant van de
USB connector, namelijk van de GND pin naar 1 van de lippen van het huis van de connector.
Als je alles vervolgens netjes aansluit met afgeschermde kabels en eventueel de USB kabel een paar keer
door een ferriet kern haalt, ben je van alle problemen af en kun je gewoon naast de machine staan lassen terwijl hij loopt.

Wat de puls breedte betreft, deze is bij CPU V1,V2 en V3 2 micro seconde, het kan niet anders want de processor heeft gewoon niet meer power. Als ik de puls bijvoorbeeld ophoog naar 4 us, valt de maximale frequentie terug naar 20 Khz i.p.v. 25 KHz. De pulsebreedte van concurenten met een USB oplossing zoals zoals deskcnc is ook 2 us. Dit weet ik van mijn Duitse partner, ook daar gerbruikt hij soms puls breedte verlengers. Een puls verbreder steld overigens niets voor, met 1 74LS123 kun je er 2 maken.

CPU V4 is daarom gemaakt met een ARM7 processor, deze is een keer of 7 sneller als de PIC.
Daarom kan ik met de V5 pulsen van 5 microseconde genereren op 75 KHz. Als je de frequentie lager zet worden de pulsen nog breder.

Ik hoop dat jullie allemaal blij zijn met de nieuwe GUI en en de vernieuwde DXF import mogelijkheden.
Ik heb van een paar klanten gehoord dat ze de oude GUI prefereren. Waarschijnlijk is dat een kwestie van wennen, alle knoppen zitten nu ergens anders, dat klopt.

Groeten,
Gebruikersavatar
Joost
Berichten: 180
Lid geworden op: 24 jan 2007 10:38
Locatie: Veldhoven
Contacteer:

Re: Even mopperen

Bericht door Joost »

Hallo Bert,

Als de pulsbreedte de helft van de periode tijd is (duty cycle van 50%), zit je toch altijd goed?

Als je een blokgolf hebt van 25 KHz is de periode tijd 40us. De pulsbreedte zou hier dan 20us kunnen zijn! Waarom ligt het maximum dan op 3us?
Is het niet mogelijk om de timer die je waarschijnlijk gebuikt om de puls te genereren twee maal zo hard te laten lopen? Je kan dan bij de oneven interrupts de benodigde stap-pinnen hoog maken, en bij de even interrupts alle stap-pinnen laag. Dit laatste hoeft slechts een paar clock cycles te kosten. Je zou wellicht zelfs een extra timer kunnen gebruiken die op dezelfde frequentie in tegenfase draait. Dat scheelt weer een if-statement.
Je hebt zo altijd een pulsbreedte van (2 × frequentie)^-1 . In het theoretische geval dat je genoeg rekentijd hebt ligt de maximale frequentie, als je er van uitgaat dat alle motor drivers aan een pulsbreedte van 5 us genoeg hebben, op 400kHz.
LinuxCNC user
Bert
Berichten: 35
Lid geworden op: 30 jan 2007 21:00
Locatie: Eindhoven
Contacteer:

Re: Pulsbreedte USBCNC

Bericht door Bert »

Al ik de pulsbreedte op de helft van de periode tijd leg gaat de maximale frequentie van 25 Khz terug naar 12.5 Khz en dat wil ik niet. Het probleem zit hem in de PIC processor, die is nu eenmaal niet sneller.
Ik heb gekeken naar mijn concurenten, nc-step en deskcnc en die hebben ook een pulsbreedte van 2 uS.
95 % van de in de handel zijnde drivers hebben geen problemen met de 2 uS puls.
Voor de 5% die overblijft is een pulsverbreder een goede oplossing, dit kost slechts 1 74LS123 met een R/C
voor 2 verbreders.

Daarom heb ik het ARM board CPU-V4 ontwikkeld. De interne interrupt generator werkt daar op 150 Khz.
De max step frequentie is daar 75 KHz, de ene cycle zet ik de output omlaag en de ander cycle omhoog.
Dit kan bij deze processor omdat hij bloedsnel is.

Groeten,
Plaats reactie