AMX-Pan/Tilt camera head steering via RS232, how to get it working? - Page 1
Forum section: electronics / repair

author: Echo88
author_rank: Frequent Contributor
timestamp: April 29, 2018, 12:47:44 pm
content: I recently aquired a "AXB-PT30 PosiTrack Camera Controller" from the firm AMX, basically a simple Pan/Tilt-camera head. I want it to use via the RS232-standalone-option mentioned in the manual, but it seems im to stupid to figure out the right commands, since the manual is quite sparse on command-details i think. Maybe someone here has a solution or an idea what i do wrong?I configured the jumpers/DIP-switches to 38400 Baud 8N1 RS232-Stand-Alone-Mode and when i connect the 12V to the head, i get a startup-message:038 002 000 000 128 168038 002 000 001 128 169038 002 000 002 128 170038 002 000 003 128 171038 002 000 007 184 231038 002 000 008 070 118038 002 000 002 127 169038 002 000 003 127 170So it seems it should be possible to use a simple command like "Get Bus Status" to request an answer from the device. Ive used this online Mod256-checksum-calculator:https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/to get the required checksum and tried to send the device commands like "Get Bus Status" "Channel On/Off" and "Set Level Byte". But the device does nothing and doesnt respond to any message i send. Of course i will also write a note to AMX regarding those RS232-commands, but i dont expect them to answer any time soon.Manual:https://trade.amx.com//assets/manuals/0482370.pdfPage 50 shows the RS232-protocolMaybe theres a RS232-brute-force-tool which could be used?

author: Twoflower
author_rank: Frequent Contributor
timestamp: April 29, 2018, 04:24:02 pm
content: OK, your MOD256 site agrees with the status report you received. At least the first message matches. So sending the message to get the devices you should send:042 009 051If possible use hex numbers, as the back and forth translation dec<->hex is a bit cumbersome ;-)Edit: Probably you will see more messages, if you slightly push at the cam-holder. It seems to notify every time one axis change the position. The protocol you send shows that axis 2 and 3 changed slightly by one digit (both from 128 to 127).

author: Echo88
author_rank: Frequent Contributor
timestamp: April 29, 2018, 09:06:45 pm
content: Thanks a bunch! I got it to rotate on both axis.Edit: Just in case someone also wants to use such a cheap pan/tilt-head:I always thought "Set Level" means setting the absolute angle position of the pan/tilt, but it justs sets the rotation speed:Level =00 -> clockwise full speed...7E -> clockwise lowest speed7F -> no rotation80... -> counterclockwise lowest speed...FF -> counterclockwise full speed

author: deepspace
author_rank: Contributor
timestamp: August 10, 2018, 03:20:50 pm
content: Hallo Friends,I have positrack PT 15 with no luck RS232 comunication. DIP switches set, BD 38400 and I have not any communication with PT in terminal program. Can You help me ? Thanks

author: Twoflower
author_rank: Frequent Contributor
timestamp: August 11, 2018, 10:11:31 am
content: Have you checked that you have the right direction (DTE vs. DCE)? Also a normal PC expects some handshaking. Also check the number of stop bits and so on.

author: deepspace
author_rank: Contributor
timestamp: August 11, 2018, 03:21:37 pm
content: Thanks for reply,according to the manual PT needs only rx tx lines, RS232 parameters set to 38400, N-8-1.

author: Twoflower
author_rank: Frequent Contributor
timestamp: August 11, 2018, 06:47:58 pm
content: On a terminal do you get any output after power on the head? If not check that the Rx and Tx lines are not crossed. A very common mistake. That''s the reason I mentioned DTE and DCE.

author: deepspace
author_rank: Contributor
timestamp: August 12, 2018, 12:42:37 pm
content: OK, you were right, I used the AMX port instead of RS232 and I see the data in the terminal. The second problem is the correct command syntax for PT from the terminal. Can you send commands as text or just like hex strings? Thank you

author: Echo88
author_rank: Frequent Contributor
timestamp: August 12, 2018, 01:36:45 pm
content: I sent the command data to rotate pan/tilt as hex-characters via hterm since its convenient to just think in hex without translations to decimal.The problem is for every command you need to calculate the checksum separately. I wrote a Python-script which calculates the checksum and controls the PT30 via joystick.You can use the website on my first post to calculate the checksum.Also remember: Set Level means rotational speed, not absolute position. So after you command Set Level on Pan or Tilt, it will rotate in one direction till it hits the stop-position.See the attached document for the python-script.

author: deepspace
author_rank: Contributor
timestamp: August 12, 2018, 04:24:34 pm
content: Thank you guys, it's working.Thank you for the script Echo88.