@@qzorn4440 my hope is that WiringPi still works on the Pi5. If not, then you may be stuck with accessing the GPIO pins like a file using the system calls. WiringPi does that internally, so I hope it is still working. Or a forked variant of it!
I have a Raspberry Pi 5 running with your hat driving my mill and my router. It works great and your support information was very helpful. Linux and LinuxCNC can be very confusing but your input supports those who just want to "make chips".
In my case the contacts welded, which means a diode would be useful across the contacts since it is a DC motor. But I think the current consumption of my motor is too high for the relay contacts regardless of any arc suppression used.
"I have always been leary about the longevity of a large PC" - yeah, this is getting me lately. Until yesterday my CNC has been running from a PC that I already had to replace the power supply in, and now it seems to have completely died. No beep on startup, no BIOS post, nothing :( So I'm probably gonna switch to RPi as well, although not with software stepping. Do you know what step-rate you can get from yours?
iam getting this kind of error when i run in raspberry pi 5 Debug file information: Note: Using POSIX realtime The GPIO line GPIO16 can not be found hal_gpio: rtapi_app_main: Operation not permitted (-1) ./my_machine.hal:7: waitpid failed /usr/bin/rtapi_app hal_gpio ./my_machine.hal:7: /usr/bin/rtapi_app exited without becoming ready ./my_machine.hal:7: insmod for hal_gpio failed, returned -1 7869 Stopping realtime threads Unloading hal components Note: Using POSIX realtime can u help me ? the same cod e when i run in raspberry pi 4 model b it works. But in raspberry pi 5 it is generating error like the above.
How did u changed the resolution because it is showing default, minimum and maximum resolution is 1920×1080 for me plz help. I need to change the resolution
@@lohith2419 I did two things. I went to the thrift store to get a monitor that worked. My original was a Dell monitor with the non-HD resolution and the new Pi image didn't seem to like it. The HD resolution monitor works better. Also, for display tweaking I use a command line tool called randr. Google it to see how to use it. If you find a setting you like, it can be put into a startup script.
@@Byte2Bot iam getting this kind of error when i run in raspberry pi 5 Debug file information: Note: Using POSIX realtime The GPIO line GPIO16 can not be found hal_gpio: rtapi_app_main: Operation not permitted (-1) ./my_machine.hal:7: waitpid failed /usr/bin/rtapi_app hal_gpio ./my_machine.hal:7: /usr/bin/rtapi_app exited without becoming ready ./my_machine.hal:7: insmod for hal_gpio failed, returned -1 7869 Stopping realtime threads Unloading hal components Note: Using POSIX realtime can u help me ? the same cod e when i run in raspberry pi 4 model b it works. But in raspberry pi 5 it is generating error like the above.
@@lohith2419 The Pi4 and Pi5 have a different architecture for GPIO and the way LinuxCNC uses them has different syntax. I supply different HAL files that you can download from the parallel hat product page. Have a look at how the syntax changes between the Pi4 HAL file and the Pi5 HAL file. Then update your HAL file accordingly.
Why did you measure (or need to measure) the spindle height a second time @6:37 ? That you got a difference of 0.0015 is a bit disconcerting. Is this because you had re-positioned your tool setter and the 1,2,3 blocks ?
I have no matrix of holes in my spoilboard. I drill a hole where and when I need one. So far, in six months of use, my spoilboard has four holes in it. And none of them is the kind of unfortunate compromise you show on the thumbnail. Also most of the clamping force should be sideways, stopping the workpiece from sliding around. You need very little downwards force. Cams and wedges are the things you need.
I use about the same clamping system except I have an 20mm thick aluminium bed with holes cnc drilled and tapped (M5). I've slotted the aluminium strips and put threaded holes at each end. This way I can adjust the the screw on the work piece for material thickness. It does stick out more above the material but I usually move the spindle around and looking at the gcode preview to see if there's any collisions. I use 50x150x15mm parallels to align the workpiece, clamp it down and remove the parallels if they are in the way. As for edge clamping, I sometimes use 2 toe clamps, one to constrain slipping the second thats on an angle on the workpiece edge. If the workpiece is small enough I use the machine vise with parallels. Or use the tape and glue method but I'm not a fan of that and avoid it if I can. As spoilboards I use mdf flooring laminate to protect the alu bed. I can cut them to size or use multiple boards as needed.
I like the idea of using flooring boards! Those are usually available as used in small amounts and relatively inexpensive and flat. Thanks for sharing!
Unfortunately there isn't much! There are a few guys on RU-vid that were kind enough to make some videos that I watched. I started making videos so I didn't forget the things that I have learned. If you have a specific question, please ask. Reading the manual may be a little frustrating especially if you are trying to diagnose a problem.
@@Byte2Bot I’ve found there to be a lack of information also. Thanks for the response. I found a company that does online classes, but I’m not certain how useful that will be with my machine being 23 years old.
@@shaunybonny688 if you find something useful, let me know! I need to sharpen my skills too. I am more of a hobbyist than a machinist. Send me a message with the contact page at Byte2Bot.com and I can send you what info I do have.
@@Byte2Bot hello guys; I'm in the same dilemma, i bought a machine and im in process of learning; please guys make more videos related with this machine and i found a person that is really good fixing a lot of problem for this king of machine, this is his youtube channel @yclkorkmaz, thanks the videos
This is Awesome !! I am definitely doing this tonight with an RPi 5. Eventually I would like to convert the OS .img into an ISO and deploy this bad boy through my Proxmox RPi 5 cluster 🥷🏼
Hi guys! please help a newbie! I recently purchased a Fanuc Tape Drill Mate Model T CNC milling machine. I don’t know how to make the X Y axes tied, in offsets only the Z axis? Thank you!
Are you referring to tool compensation? I always put the tool diameter in the CAD before the gcode is generated. This means only that tool(bit) can be used. But I know that some people generate the gcode for the exact part dimensions so different tool sizes could be used by the same gcode.
Do you also have the ini file available for running linuxcnc? I only see the hal file you posted.. Are more steps involved in getting it running like installing a hal component or something?
I added the complete config folder contents from my router next to the HAL files on the Parallel Hat product page on my website as a working example. I am not a LinuxCNC expert, but copying the sample HAL file over your machine's HAL file should be the majority of what needs to be done. The Parallel Hat will not show up in Linux as a parallel port or anything like that. LinuxCNC will simply toggle the Pi GPIO pins and the hat will be the voltage translator to the breakout board.
Do you know what kind of switching speed to expect on the PI 5 IO? i have been looking at using one but am unsure what to expect with max feeds and speeds.
That is a good question, and is difficult to answer. I have my router set up for 1/4 stepping, and I limited the speed to 720mm/min. LinuxCNC claims that it's update rate is roughly 3300Hz on my Pi5. Jogging the machine, I estimate that each stepper motor rotates at 2 rotations per second roughly. If I do the math, 3300Hz / 200 steps per rotation / 4 (quarter stepping) / 2 rotations per second, I get roughly 2. This makes sense because the interrupt can either pull the GPIO line high or low and it takes 2 interrupts to complete the step. So the numbers make sense to me. Your machine will be different based on the setup. My gantry has a lot of mass so I limit the acceleration and max speed.
I purchased your Pi Parallel Hat board. I performed the installation you described, but the machine does not run. Linux says that it does not know the parallel port base address. I tried 0x378 and 0 doesn't work either. Can you advise please? Thanks I have a pi4
Yes, I can help! Please use the contact form on the Byte2Bot.com contact page and I will help you through it. One other customer had the same question, and I updated the Parallel hat blog on the website to hopefully help with this question. Check out the troubleshooting section. The short answer is that the hat will not show up as a parallel port. LinuxCNC will use it using GPIO.
I thought I read somewhere that the reason people were using rasp pi was cuz they could use output pins INSTEAD of parallel port...? Guess I misinterpreted?
I use the pi because it is smaller, cheaper, and doesn't usually go bad as fast as a typical motherboard. How you use the pi is up to you. The cheapest and easiest in my opinion is to use the GPIO on the header instead of a parallel port. The breakout board that I chose to use has a parallel port interface, so that is why I made the parallel hat for the pi which just connects the GPIO pins to the parallel port connector.
The Pi5 HAL sample file is located here: cdn.shopify.com/s/files/1/0727/8601/8601/files/cncRouterPi5.hal?v=1705210460 The link for it and the Pi4 version are on the parallel hat product page at byte2bot.com. I am not in any way an expert on configuring the HAL files, but my understanding is that the Pi5 internal bus architecture is slightly different, allowing faster speeds and from a software perspective, much more similar to a standard Linux based computer. The Pi1-Pi4 was always slightly different, but the Pi5 changed that.
@Byte2Bot thank you but where exactly do I need to add this file I installed linuxcnc 2.9 optimised for pi 5 and also I am not using a parallel port, i have connected the gpio pins to 2 driver boards that that has 4 inputs ie two units of 28BYJ-48 Stepper Motor and ULN2003 Stepper Motor Driver
The HAL file that defines your machine should be in the configs folder, which is in the LinuxCNC main folder. At least that is where I put mine. There may already be a HAL file there if you are able to load LinuxCNC and run it. You can modify that HAL file or copy in a new one and name it the same. The HAL file that I supply is set up for specific GPIO pins to control specific outputs on the parallel port breakout board. So if you chose different GPIO pins for your setup, you will need to modify that HAL file.
Interesting. I generally just use the GoPro microphone and don't run any software filtering. No GoPro pop filters on Amazon. I have been using kdenlive for video editing and I haven't looked yet to see if it has a pop filter plugin or extension. Still getting the hang of it, but if you have a video editor software suggestion, I will be happy to give it a try!
Oh snap. I completely forgot that on this video I did use a USB microphone. My bad. I will get a pop filter for it. I'll also turn the bass when reviewing future videos to try and catch audio issues. Thanks!!
I have heard that it will, but I haven't tried it myself. I went ahead and put the RS485 hardware on the hat just in case, so if you get it working on any hardware, even a USB adapter, please let me know!
I do sell the parallel hat. I also sell the 5 axis break out board but mostly for convenience since it is available everywhere. The 3d printable plastic stand can be downloaded for free or purchased. The newest item is a USB-C plug that can be used to power the pi. That's a good idea about the list of parts! Thanks!
@@Byte2Bot I just need the parallel hat. I have everything else. Like in the video, I'm trying to replace a PC with a Pi. Can you provide a link or something?
My understanding is that this is just a dumb parallel port and stepping is done in software by linuxcnc ? It does not have hardware steppers, right ? in that case you should warn users of the serious limitations of such setup. Hardware steppers card interfaces to linuxcnc like the Mesa cards or some of the Ethernet based cards are the way to go for good performance. Software stepping is great for testing, but very disappointing if good performance is expected.
You are correct, my board is just a level converter that allows a DB25 connection and can control a small DC motor. The timing and performance is dictated by the RTOS and LinuxCNC software. Yes, there are FPGA boards out there at 3x the cost that can give a little better performance, but I have been using the parallel port off an old PC for 15 years now without issue. In my experience, most people are DIY with a limited budget and getting their project up and running is a huge first step. Once they have it working and want to upgrade it, there are lots of options.
Btw, I would like to buy the parallel board you sell on your website, but I can not find my country which is Indonesia, And If you did add I’m sure I can not afford the shipping cost, might be more expensive than the board, not to mention tax entering to my country. I see the schematic .
I am not sure why most of the countries in the world are not automatically included with the standard international settings, but I attempted to add Indonesia manually. Please try again!
@@calico88I am sorry but there isn't much I can do about that shipping and tax cost. The rates are determined by the carriers and I have looked for cheaper alternatives.
I have had up to 2ms worst case on the servo thread. I just uploaded a short showing how I launched youtube and started a video and the latency test showed a 1.1ms latency. ru-vid.comuXpw--tIaa0?feature=share
Very cool thanks for this. I have a printnc i want to move to linux cnc so i can 9:23 individually zero the two y axis. At the moment i can not keep my x axis perpendicular.
Zero-ing the two motors on a single axis individually doesn't sound like something I would recommend. I'm sure it can be done, but you would need a limit switch for each motor and possibly run a different profile to treat them as a separate axis. If it were my machine, I would disable the power to the motors and adjust one manually until the axis is square. Then future automatic homing would still treat them as the same axis. If you loose steps and have to do this more than once a month, it might be worth looking at the acceleration and step rates of the motors. Let me know what you end up getting to work. I will be curious to know what the final solution is.
Yes, the hat has channels A and B wired up for direction and step signals, in addition to the X, Y, and Z channels. I have never needed more than 3 channels, so the actual setup of LinuxCNC configuration may be a little out of my area of expertise, but the hardware supports it. The only thing to watch out for is that the B-Direction signal is shared with the relay on the 5 axis breakout board. So if you intend to use that relay (most people don't), then you might have a conflict.
I measured a 2mS latency on my machine. Yes, the hardware supports 5 separate stepper motor outputs. TCP and RTCP are more software specific and I doubt LinuxCNC supports that. Also, if any machine supports that using stepper motors, send me a link! That would be about as exciting as a Volkswagen bug going 200mph.
Thanks for being available to help. I have raspberry pi 4, is there any changes i would have to make like you did on the 5? I have an 8ram so I'm hoping for good results.
No changes necessary. My router worked just fine on a Pi4. If you download the latest pi image from LinuxCNC, it should work just fine. The only reason I initially had slowness in the user interface was because I used a very early version and they fixed some things since then. I have both Pi4 and Pi5 Hal file examples on my website, so you shouldn't need to change much.