NTSC Video
Discovery
Posts: 606
in Propeller 1
Has anyone used a Propeller Cog to generate and send NTSC video or digital equivalent data to a large flat screen TV to display a rather complicated and detailed image that includes run time data such as the positions of valves and temperatures of material in mixing tanks in a process control piping diagram?
My CNC milling machine uses a Microsoft computer running XP and a controller chip to not only run the milling machine but also display the location of the cutting tool in a 3D diagram and the daynamics of the moving tool...whether drilling, taping, or milling.
Do you know the functional partitioning of the XP program and the controller program? The CNC is made by South-Western Industries. I wonder if the Propeller can perform the whole function written in C.
Discovery
My CNC milling machine uses a Microsoft computer running XP and a controller chip to not only run the milling machine but also display the location of the cutting tool in a 3D diagram and the daynamics of the moving tool...whether drilling, taping, or milling.
Do you know the functional partitioning of the XP program and the controller program? The CNC is made by South-Western Industries. I wonder if the Propeller can perform the whole function written in C.
Discovery
Comments
I know there are several people using the Propeller in CNC applications.
I've documented some of my efforts on Hackaday.io.
https://hackaday.io/project/4793-propeller-based-cnc-router-controller
I'm using Spin in my project. I'm not sure if C would make something like this easier or not. I've found writing the Spin code pretty challenging.
Edit: I'm not sure how detailed the graphics could be. If I have the Propeller drive a large display it will likely display text. I may attempt to have the Propeller display the part about to be cut in 2D. I think having a detailed 3D image would be a challenge for the Propeller.
I designed, built, and operate a CNC plasma cutting machine using a Propeller controller coded in "C" that works perfectly well having a precision of around 400 micro inches...anywhere in an area of 3.25 feet by 6.5 feet.
I have written the "C" code for a Propeller that controls a process control system but it would be really nice to see the realtime data displayed on a pictorial diagram of the plant. The system also uses a BS2p for gathering lots of process data and sending that data to the Propeller.
I imagine that my CNC milling machine uses the XP for all the graphics, reads realtime data from a controller that runs the machine, and overlays the X, Y, and Z data on the screen.
How well can a Propeller controller interface with a USB port computer in such an application?
Discovery
The Propeller wouldn't have trouble displaying text on a large screen. I used the VGA 1600x1200 driver with a 19" back when I used the Propeller to log data in my chemistry lab. I thought the display looked beautiful. If you could display your plant diagram as ASCII art then I don't think you'd have a problem overlaying data on the diagram.
It's very common to use a serial connection between PC and Propeller at a baud of 119200. I'm pretty sure rates faster than this are possible. I've used 250,000bps single duplex with Dynamixel servos but I haven't tried rates faster the 119,200 between Prop and PC.
I was pleasantly surprised how easy it was to send data over Bluetooth at 119,200bps to display data on an Android device. I'm sure a Bluetooth connection could also be used with a PC. A PC or Android device could have all sorts of fancy graphics and the data from the Prop could be incorporated in the graphics anyway you wanted (as long as you knew how to program the PC or Android device appropriately).
The sample rates are not very high for the process control system so I would imagine that the serial interface device would do the job?
The reason that I included a question mark is that several years ago I used a BS2 and its serial interface to a PC to continuously control a system and monitor data generated by the system. The system, including the BS2, were supplied power from a UPS and every two or three months the BS2 would hang-up. I was nearly ready to go out of my mind when I pulled the serial plug that sent data to the PC for display...the control program continued to run without a problem...year after year. So, I know that when the serial interface code is inserted, automatically during connection of the serial device...it affects the main program code in a manner I do not understand.
I will try your suggestion and write a static display program using ASCII art but won't the SimpleIDE continue to write the data to the monitor window? I would like to place the data at certain (x,y) coordinates on the screen.
Discovery
I've done this sort of thing in Spin but not C. I doubt it will be a problem in C.
It's often a good idea to use numbers padded with space characters so fragments of previous numbers with lots of digits don't remain when a number with fewer digits is written to the screen.
Discovery
I second what Duane was saying about ascii art using a high resolution VGA driver. It comes up really crisp on a 32" screen. I was using Kuroneko's 128x64 driver to do this. You can do a fair bit with 128x64 characters with respect to drawing (blocky) pumps and valves, but importantly the process variables will be readable. You might also be able to customise the character bitmap definitions to give you nice pipe bends, probes etc
Here's the link to that driver, because I'm not sure its in the obex
http://forums.parallax.com/discussion/139112/fyi-vga-128xh-p-quad-cog-per-cell-colour-rainy-day-release