8000 DaVinci AiO Laser/turntable control · Issue #156 · luc-github/Repetier-Firmware-4-Davinci · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

DaVinci AiO Laser/turntable control #156

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
luc-github opened this issue May 11, 2016 · 66 comments
Closed

DaVinci AiO Laser/turntable control #156

luc-github opened this issue May 11, 2016 · 66 comments

Comments

@luc-github
Copy link
Owner
luc-github commented May 11, 2016

to work on AiO scanner support thanks to @zeus10 investigation

@zeus10
Copy link
zeus10 commented May 19, 2016

driver a4988

pin 16 step qui vas sur la pin 1 mcu
pin 19 dir qui vas sur la pin 68 mcu
pin 2 enable qui vas sur la pin 14 mcu

@luc-github
Copy link
Owner Author

ok
#define LASER1_PIN 101 //Low = 0ff
#define LASER2_PIN 2 //Low = off
#define PLATE_STEP_PIN 22
#define PLATE_DIR_PIN 13
#define PLATE_ENABLE_PIN 26 //HIGH = Disabled

@luc-github
Copy link
Owner Author
luc-github commented May 20, 2016

Bonne nouvelle tout est gere dans le FW ( je sais, j'aurais du verifier avant mais c'est une nouvelle fonction je ne l'avait pas vu 😊 )
Mauvaise nouvelle il faut le 0.92.9 (https://github.com/luc-github/Repetier-Firmware-0.92/tree/0.92.6-sync) et la je suis super en retard sur l'integration et les tests

dans le 0.92.9 il faut juste rajouter dans Configuration.h

#define NUM_MOTOR_DRIVERS 1
#define MOTOR_DRIVER_1(var) StepperDriver<22,13,26,0,0> var(100,10)

ou 100 = Steps Per MM et 10 = vitesse en mm/s - il va falloir ajuster, il faut 3200 steps pour faire une rotation, donc Steps Per MM = 3200/ (en principe mais je suis nul en maths

Question: quelle est le perimetre du plateau ?

Pilotage du moteur avec les commandes suivantes :

initialisation du plateau (on dit que l'on est en position 0):

G202 P0 X0

Apres on bouge:

G201 P0 X<le nombre de mm a faire pour une rotation complete>

pour desactiver/activer le maintien :

G204 P0 S<0/1>

pour connaitre la position du plateau par rapport a l'initialisation

G203 P0  

@zeus10
Copy link
zeus10 commented May 21, 2016

logiciel je pence a horus qui est le logiciel de cyclobe laser et qui est open source
pour lundi je donnerais un max de données

@zeus10
Copy link
zeus10 commented May 23, 2016

bonjour
Plateau diamètre 196mm ou 19.6cm
Périmètre 616mm ou 61.6cm

(j'ai mis un repère sur plateau et machine)
Initialisation du plateau (on défini la position 0):

G202 P0 X0 on impose le point 0 ( on défini la position 0 )

G201 P0 X678 tour complet plateau avec précision

G204 P0 S<0/1>
Si j'envoye cette commande alors
Si envoyer G204 P0 S0 plateau débloqué
Si envoyer G204 P0 S1 plateau maintien

G203 P0 renvoye la position du plateau
Réponse dans le fichier .log
N43 G201 X678 P0*28
Bonne réponse

pour la vitesse de rotation la encore faire essai car pas sur qu'il diminue ou augmente

8000 @luc-github
Copy link
Owner Author

super, je rentre cet apres midi, je vais integrer tout ca,

super boulot bravo

@luc-github
Copy link
Owner Author

la vitesse de rotation est ok ?

@zeus10
Copy link
zeus10 commented May 23, 2016

quand le moteur du plateau tourne j'ai un saccadement comme si le moteur reprenait sont point
DRIVER A4988 les pins 9,10,11 (MS1,MS2,MS3) = Micro step 1/16 de pas donc pour 1 pas il fait 16 micros pas
Le moteur fait 200 pas par tour : 200*16=3200 micro-steps = 1tour complet axe moteur
#define MOTOR_DRIVER_1(var) StepperDriver<22,13,26,0,0> var(100,10)
le 100 serait pas le responsable du saccadement perceptible a l' oreille
ou 100 = Steps Per MM et 10 = vitesse en mm/s

@luc-github
Copy link
Owner Author
luc-github commented May 23, 2016

oui une vitesse trop lente ou trop rapide genere des comportements bizarres
il n y a pas de command e pour la vitesse je vais la rajouter j ai vu ou le faire ( en theorie)

@luc-github luc-github changed the title DaVinci AiO Feedback (no scanner) DaVinci AiO Laser/plate control May 23, 2016
@luc-github luc-github changed the title DaVinci AiO Laser/plate control DaVinci AiO Laser/turntable control May 23, 2016
@zeus10
Copy link
zeus10 commented May 23, 2016

il y a aussi les leds blanche pour le calibrage des lignes couleurs calibraage obligatoire sinon scanne ne sera pas correct
M42 P7 S255 ON LED BLANCHE COTE LASER2
M42 P7 S0 OFF LED BLANCHE COTE LASER2 PIN 134 MCU ou CPU

M42 P108 S255 ON LED BLANCHE COTE LASER1
M42 P108 S0 OFF LED BLANCHE COTE LASER1 PIN 131 MCU ou CPU

ce sont les dernières commande sur le scanner elles fonctionnent très bien avec c'est codes
désolé pour mon francais mais je ne suis plus tous jeune

@luc-github
Copy link
Owner Author

ok je vais :
mettre a jour le fichier excel pour les pins
ajouter les initialisations des leds blanches des lasers et du plateau
ajouter un menu pour le scanner / plateau tournant
des commandes GCODE simplifiees pour laser / led / plateau

  • maintien plateau on / off
  • rotation complete horloge / horloge inverse
  • changement vitesse +/-
  • laser1 on/off
  • laser 2 on/off
  • led blanche laser 1 on/off
  • led blanche laser 2 on/off

par defaut au demarrage :
led / laser = off et plateau pas en maintient

C'est complet ?

@zeus10
Copy link
zeus10 commented May 23, 2016

vue du plateau démonter voir photos
5
6
pas trop mal la mécanique

@luc-github
Copy link
Owner Author
luc-github commented May 23, 2016

@The-Experimentalist @kryst
zeus10 found all pins and complet procedure to use AiO scanner and get scan
I will integrate the needed changes and wrote a document to explain how to use the scanner

Your feedback will be very helpful -All changes and documents should be done this week, so ready for next week end for you to play - hope it is Ok ?

@zeus10
Copy link
zeus10 commented May 23, 2016

alors tu pence quoi de ce travaille donne moi tes critiques ,j'aime que l'on me disent ce qui ne va pas ce qui n'est pas bon.
mais je suis plus en électronique que la programmation mon age explique pourquoi en sont temps je n'ais pas vu la programmation au lycée.
mais je me defend quand même les conseils sont les bien venu .
moi je pensai a horus qui est open source mais sont FW est marlin donc aie peut etre pas le meilleure dans notre cas

http://github.com/bq/horus
https://github.com/bqlabs/ciclop/wiki

@luc-github
Copy link
Owner Author

Ben je dis bravo - faire marcher un truc qui ne marche pas c'est pas mal ^_^ - tu vas faire des heureux

Si Horus marche avec marlin, il n'y a pas de raison que cela ne marche pas avec repetier s'il utilise des gcode - je regarderai ca quand on bossera sur la doc

pour blender et py si tu as une mini doc / captures d'ecrans pour comment utiliser le scanner - cela aiderai pas mal a comprendre - surtout moi qui n'ai pas l'imprimante AiO pour tester ☺️

@luc-github
Copy link
Owner Author
luc-github commented May 23, 2016

ok https://github.com/luc-github/Repetier-Firmware-0.92/tree/0.92.6-sync est avec les init et les pins

G201 P0 X+616 F200

devrait marcher et faire un tour complet P = 616mm a la vitesse 200

Je vais tester avec le moteur X ce soir et bosser sur les commandes a ajouter en GCODE pour emplacer les M42, puis ajouter un menu plateau/scanner:

  • maintien plateau on / off
  • rotation complete horloge / horloge inverse
  • changement vitesse +/-
  • laser1 on/off
  • laser 2 on/off
  • led blanche laser 1 on/off
  • led blanche laser 2 on/off

@luc-github
Copy link
Owner Author
luc-github commented May 23, 2016

le truc c'est le de multiplicateur - le calcul part du principe que le plateau tourne en meme temps que l'axe - mais en voyant les photo ce n'est pas le cas

il trouver le step/mm qui permet a G201 P0 X+616 F200 de faire une rotation complete - un peu comme la calibration de l'extrudeur

si step/mm = 100 necessite X678 => 110 pour 616 devrait etre la bonne valeur

#define TURNTABLE_STEP_PER_MM 110
#define DEFAULT_SPEED 10

@zeus10
Copy link
zeus10 commented May 24, 2016

au démarrage
plateau débloqué
laser éteint
repere pour un tour complet c'est ok
G201 P0 X+616 F10 ok horloge
G201 P0 X-616 F10 ok anti-horloge
tout a l'air de bien fonctionner cette fois

@zeus10
Copy link
zeus10 commented May 24, 2016

regarde ici https://www.youtube.com/watch?v=m_fqtKRYnXopour
les leds blanche pour comprendre mieux

@ghost
Copy link
ghost commented May 24, 2016

Guys it is becoming increasing difficult to translate these comments to English. Can you please stick to English for the benefit of us all?

@luc-github
Copy link
Owner Author

well zeus10 do not speak english so it is hard as he is the one who debug the laser/scanner functions on AiO sorry for this
but when done I will write english documentation

@luc-github
Copy link
Owner Author
luc-github commented May 24, 2016

To sum up current status :
@zeus10 found all pins AiO scanner, the white leds for calibration, the laser 1 and 2 and the ones for the turn plate
Current 0.92.9 support additional motor and this has been added in setup

Next step is to add gcode for calibration / scan / rotation to simplify usage, same in printer menu
once done it is to make it work with horus

@ghost
Copy link
ghost commented May 24, 2016

Sounds good. Please don't forget to complete the documentation.

@luc-github
Copy link
Owner Author

will work on GCODE commands and menu implementation this afternoon :
will also add step per mm and speed in settings for easy changes and values will be stored in EEPROM

@luc-github
Copy link
Owner Author

@blackmambaza yes documentation is key as need to be tested by others people to confirm behavior

@luc-github
Copy link
Owner Author

horus FW use GCODE but will have some incompatibility with Davinci FW (M50) so need to evaluate

@luc-github
Copy link
Owner Author
luc-github commented Jun 16, 2016

For the Chat room sorry - @zeus10 only speak french and he is the one who work on porting - that is why I move the discussion to chatroom, to avoid no french speaker to be polluted by our discussion, the current thread stay the official one for feedback / questions and status
But thanks @zeus10, AiO is now in good shape to have its scanner functional in near futur - now it is question of scanner host and calibration support

@The-Experimentalist
Copy link
The-Experimentalist commented Jun 16, 2016

okay so the main changes are stripping out legacy code for old IDE versions?
Should I stay on this branch at the moment for the scanner latest?

@luc-github
Copy link
Owner Author

actually one change in repetier make usage 1.5.8 out of date
I also only test 1.6.9 IDE and the possible fix for USB printing is in variant.cpp - not in FW

also I will soon merge the full 0.92.6-sync branch to master as this is the one we will keep maintaining -

so yes consider 0.92.6-sync branch as RC candidate for master branch 😄

@kryts
Copy link
kryts commented Jun 16, 2016

I can't get this to compile now

@luc-github
Copy link
Owner Author

what do you mean ? what is the error ?

@kryts
Copy link
kryts commented Jun 16, 2016

In file included from sketch\Repetier.h:200:0,

             from C:\Users\Mark\Downloads\Repetier-Firmware-0.92-0.92.6-sync\Repetier-Firmware-0.92-0.92.6-sync\src\ArduinoDUE\Repetier\Repetier.ino:177:

sketch\Configuration.h:1862:0: warning: "EXT0_EXTRUDER_COOLER_PIN" redefined [enabled by default]

     #define EXT0_EXTRUDER_COOLER_PIN -1 //Warning need to add a permanent fan with power supply to cool extruder

^

In file included from sketch\Repetier.h:200:0,

             from C:\Users\Mark\Downloads\Repetier-Firmware-0.92-0.92.6-sync\Repetier-Firmware-0.92-0.92.6-sync\src\ArduinoDUE\Repetier\Repetier.ino:177:

sketch\Configuration.h:467:0: note: this is the location of the previous definition

#define EXT0_EXTRUDER_COOLER_PIN ORIG_FAN_PIN

@kryts
Copy link
kryts commented Jun 16, 2016

I updated to the arduino 1.6.9 so maybe I am missing a step

@luc-github
Copy link
Owner Author

this is a warning not an error

@kryts
Copy link
kryts commented Jun 16, 2016

oh, ok but it doesn't do a upload so that's why I thought it was a error.
1.6.9 changed things. did the programmer we are supposed to use change?

@luc-github
Copy link
Owner Author

no
and strangely I do not have this warning when I compile - there is one about sensitive pin which I do not have workaround now but it is the only one

Did you changed something in configuration.h ?

@kryts
Copy link
kryts commented Jun 16, 2016

this is all I changed.
#define DAVINCI 4// "0" if not DAVINCI, "1" For DAVINCI 1.0, "2" For DAVINCI 2.0 with 1 FAN, "3" For DAVINCI 2.0 with 2 FAN, 4 for AiO (WITH NO SCANNER SUPPORT)
#define MODEL 1//"0" for first generation (jumper JP1 to reset ) , "1" for new generation (jumper J37 to reset)
#define REPURPOSE_FAN_TO_COOL_EXTRUSIONS 1 //Setting this to 1 will repurpose the main Extruder cooling fan to be controlled VIA M106/M107
//Warning: for DaVinci 1.0 need to add a permanent fan with power supply to cool extruder
I am using a permanently powered fan so on my e3d so that should be fine but I cant get it to upload . keeps saying no device found but that is the correct port

@luc-github
Copy link
Owner Author
luc-github commented Jun 16, 2016

ho you have 2 fans ? did not test that compilation yet
I can see warning now - will fix it - thanks for pointing this

@kryts
Copy link
kryts commented Jun 16, 2016

yes I am using 2 fans.
I rebooted and was able to upload but it unfortunately does not boot. getting the two black bars.

@luc-github
Copy link
Owner Author
luc-github commented Jun 16, 2016

the two black bars issue means you did not put the variants.cpp properly, if you update your IDE you need to update variant.cpp
I just fixed the warning issue you raised 80a03aa

@kryts
Copy link
kryts commented Jun 16, 2016

I'm assuming you mean this: 4.Update arduino files (variants.cpp and USBcore.cpp) with the one(s) present in src\ArduinoDUE\AdditionalArduinoFile according your IDE version but I am not sure what I am supposed to do sorry

@kryts
Copy link
kryts commented Jun 17, 2016

well I went back to 1.5.8 since I am not sure what to do in 1.6.9 but in 1.5.8 I get the following error.
Arduino: 1.5.8 (Windows 8), Board: "Arduino Due (Native USB Port)"

In file included from Repetier.h:562:0,
from BedLeveling.cpp:107:
HAL.h: In static member function 'static void HAL::serialSetBaudrate(long int)':
HAL.h:700:14: error: 'class UARTClass' has no member named 'setInterruptPriority'
Serial.setInterruptPriority(1);
^
DFEA Error compiling.

@luc-github
Copy link
Owner Author
luc-github commented Jun 17, 2016

yes 1.5.8 do not have this function also I forget to mention but in 1.6.9 you need to go to board manager to download Due board
image
image
and files are there : <user>\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.8

@kryts
Copy link
kryts commented Jun 17, 2016

I finally figured it out. your #114 pointed me in the right direction. sorry for being such a newb

@kryts
Copy link
kryts commented Jun 17, 2016

C:\Users\Mark\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.7\variants\arduino_due_x
C:\Users\Mark\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.7\cores\arduino\USB
so after uninstalling and reinstalling Arduino 1.6.8 and then using those directory's I have it installed

did you want me to delete the previous comments to clear this tread up?

@kryts
Copy link
kryts commented Jun 17, 2016

controls all seem to be working.
I downloaded Horus but its not connecting to it so I probably need to do some things to make it work but its late now so I will try and work on that later.

again thanks for the help

@luc-github
Copy link
Owner Author

Hi happy you succeeded - I am not good in explanation sorry

for Horus I guess you downloaded the original one ? to make it connect with AiO you need to replace the sources in program files (C:\Program Files (x86)\Horus\src) by the ones from my git hub (https://github.com/luc-github/horus/tree/davinci/src)

@kryts
Copy link
kryts commented Jun 18, 2016

I copied the files for horurs from your github over but I cant seam to make it connect. Has any one been able to get it to connect?

@luc-github
Copy link
Owner Author
luc-github commented Jun 19, 2016

be sure you downloaded the davinci branch as I linked to you
to check you can verify this file, C:\Program Files (x86)\Horus\src\horus\engine\driver\board.py :luc-github/horus@9f0b628

If have reference to davinc (#Davinci specific - change to no check FW)i it is the correct one

@kryts
Copy link
kryts commented Jun 19, 2016

ok it is connecting but it will not turn on the lasers during the auto check. it does turn the turn table and if I skip the auto check the lasers will come on

@luc-github
Copy link
Owner Author
luc-github commented Jun 20, 2016

well for this part it is in software it self (horus) - I do not know if
autocheck need lasers, but lasers are handled by horus, if they work after
it means command to FW works - that is why I am building a ciclop scanner,
because it is too hard for me to work on software without be able to test
neither see what it is doing.
but looking at this video : https://www.youtube.com/watch?v=2Fg0L9JPddg I
do not see laser used when doing autocheck but it is used during calibration

@luc-github
Copy link
Owner Author

I think this thread need to be closed because now FW support turntable and laser/led controls

For host scanner application please check here : https://github.com/luc-github/horus/tree/davinci
For comment/question about scanner feature, I have created a new ticket : #163 but if related to application and not FW please go to first link to submit ticket

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants
0