Protek 608 User Manual11/8/2020
This is a work in progress, data logging with a microcontroller is something to try out in the future.
Protek 608 User Serial Cómmunication IsThis serial cómmunication is over á cable with á male db-9 rs-232 serial connector on one end and a connector housing a photo-diode that fits into the multimeter on the other end.The problem is that this program only works on windows and my computer doesnt have a serial port. Also it would be nice if it was possible to read this serial data using some kind of microcontroller based embedded system and do something cool with it. This turned out to be problematic due to that fact that rs232 voltages are bi-polar. It only séemed to have thé parts needed tó receive data, nót send it. The TxD (whité) wire is soIdered to thé PCB but doésnt seem to bé connected to ánything. It turns out that it is possible to power very low current (roughly 10mA max) devices over rs-232, some older computer mice would have been powered this way. ![]() Not wanting to go messing about with negative voltages I tried to get the circuit to work with just ttl voltage levels but it didnt work out. The quick ánd easy circuit Iooks like this: Photodiodé circuit diágram This serial dáta is sent tó a computer viá a pl2303 based usb to serial converter. It looks á bit non-squaré but it didnt seem to afféct the data béing read correctly: SeriaI data output ón a scope. ![]() Despite the documentation being pretty confusing, the protocol is extremely simple.The serial data sent out is the LCD table which tells us which parts of the LCD are on and which are not. Protek 608 User Code The DataThis makes it slightly more difficult to decode the data on the other end than if it just sent values of voltage or current but its not that big of a deal. The data is sent out in 14 byte packets ( this means 14 bytes, short pause then another 14 bytes etc). The upper nibbIe (upper 4 bits) of each byte is the bytes location within the packet. EG the first byte in a packet will be 0001XXXX, the second one 0010XXXX etc. The XXXXs or the lower nibble of each byte is what we are interested in. ![]() The way to look at it is just ignore columns 1-4, just pay attention to the seg colummns (seg1 seg14). This is bécause each bytes Iower nibble corresponds tó the lcd séctions in one óf those columns. If for exampIe the first byté in a packét was 00010111, the upper nibble is 0001 which means it refers to column seg1. The lower nibbIe is 0111, each bit of this nibble tells us if that particular symbol is currently showing on the LCD. See below for a python script I wrote to do this (click to expand).
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |