Darwin would love this machine, so much evolution going on 😄
@routercnc95175 ай бұрын
Yes, very little left of the original drill - just how I like it!
@MakerMadness5 ай бұрын
Also, Arduino’s web based IDE I believe supports OTA (over-the-air) compiling on some of their boards. Using a ‘OEM’ OTA solution is surely the way to go, especially for firmware updates.
@routercnc95175 ай бұрын
I've come so close to getting this to work with HC-06 bluetooth modules I may give it another go. These Nanos are so cheap if I can make it work I can cover many such projects. However, there are other boards with WiFi and other systems already set up for SOTA so that is an option too. I'll also look into web based IDE as you mention. I do seem to like doing things myself (I learn more that way, but it can take longer!). Here is the history so far - I have managed to set up a Nano to act as serial host to talk to the HC-06 and I can use AT commands to talk to it. I used different pins (10 and 11) to keep the TX and RX free otherwise it does not work. There was a library which allowed data to be transmitted on these other pins. I then set the Baud rate from the default of 9600 to 115200 which is supposed to be the max for the Arduino but it stopped talking after that (I matched the Baud rate in the sketch to this value so it should have still worked). So I bought another HC-06 and left the default Baud rate at 9600 (I guess this means slow uploads, but let's get it working!), got it talking via the Nano using AT commands. Then plugged in the bluetooth USB into the computer and got it linked to the HC-06. It showed up as COM6 on my PC, which was a good start. Then I had to reconnect the TX and RX wires (which had been on pin 10 & 11) between the HC-06 and the Nano as we were now supposed to be sending data from the PC to the HC-06 and into the Nano via these proper channels. But IDE could not recognise the COM port and would not upload a sketch. Note this is HC-06 which is only a slave unit (not HC-05 which can be master and slave) and only has 4 pins, Vcc/GND/Tx/Rx. Feels like one step away but I'll come back to it another time since the software is working OK for now.
@lewistaylor8635 ай бұрын
Hi - use the tone function in the arduino software, rather than hard coding each pulse event into the software - You then won't run out of clock cycles on the arduino as the tone function operates outside of the regular code execution speed. You can calculate tone to RPM or to mm/s by working out the steps per revolution and ball nut pitch etc. That is the best way I have found to control the rotational speed of a stepper motor (rather than the more normal position type control). I would also code in a deceleration as well, at higher speeds and hard stops it might miss a step or two - might not matter too much, but if you are trying to keep track of position based on step counts, then that might catch you out.
@routercnc95175 ай бұрын
Hi Lewis, OK sounds good. I've had lots of suggestions over using different libraries for stepper control and there are quite a few. I did wonder if they take up more clock cycles to branch over to and in the end because I enjoy tinkering I hard coded the pulses, so good to know they run separately. As you can see it runs plenty fast enough though and I'll probably stick with it as it is working. But for future projects I'll look into the tone function. I wondered about the deceleration so I guess it could loose steps. On a CNC machine that would be a problem but maybe not too big a deal here as when running high speed you are probably just getting somewhere near you need to be. The knee DRO can track where you are in absolute terms. It might be a bit more sympathetic to the mechanicals though and stop the grub screw coming loose. I think 3 lines of code should do it . . . ?
@lewistaylor8635 ай бұрын
@@routercnc9517 yeah a ramp down will definitely be more mechanically sensitive. Not sure how you are running your ramp up at the moment, but my solution was to use a while loop. While currentTone
@lewistaylor8635 ай бұрын
The interrupts fix that issue and are good practice anyway
@RustyInventions-wz6ir5 ай бұрын
Very nice work. Interesting. Gave me good ideas on my drill press
@routercnc95175 ай бұрын
OK, go for it!
@MakerMadness5 ай бұрын
New subscriber here. Really enjoying this project, not enough software controlled drill press videos out there on the tube. Any chance you’d be willing to share your code with us? Also, if you’d like to setup a Discord or something for this project to support people wanting to undertake something like this as well as to share ideas, I think that would be sweet.
@routercnc95175 ай бұрын
Hi MakerMadness. Welcome to the channel. Have a look around - I tend to get involved in long term projects so be prepared! Yes, happy the share the code. I noticed when editing the video that some of the variables were not used in the end, plus add-ins such as the EEPROM support (to save values when powered down). Also be aware it is flat code, no function calls, and does not make use of the many stepper type libraries out there, I wrote that code myself. As for Discord I've heard of it but have never looked into it. I don't have much time for many of the social media sites (videos take long enough!) but I have been a long time member of the 'mycncuk' forum. I'll put a link in the text box above to the long thread on this build series. If you check it in a few days I should have uploaded the code there as a zipped file. I'll post in this reply when I've done it. Hope that works for you. Thanks.
@MakerMadness5 ай бұрын
@@routercnc9517 would love to take a look at the code, do you have a avenue in which you may share it with us?
@routercnc95175 ай бұрын
Hi MakerMadness OK, I've uploaded to the code shown in this video to the mycncuk forum. See link in the text description box above. Or search for 'mycncuk metalworking pillar drill experiences' and scroll to post #105.