Author Topic: Replacement display for Datron 1271/1281 and possibly for 4950/4920 as well  (Read 5876 times)

0 Members and 1 Guest are viewing this topic.

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
I still haven't had success getting the circuit to run. I finally found time to start over and build another one but it has the same result; it doesn't run. In my experience with other microcontrollers (mostly Microchip), you have to specify the clock source at some point either when writing or compiling the code. I just wondered if you had done this or if there's a parameter I need to set when programming from Cube.
 

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
The micro clock configuration is already in the supplied HEX file. The internal clock is 72MHz obtained by activating the internal PLL.
You have to upload the file via STM32CubeProg & ST-Link/V2 only.

However, as previously said, if there is no 8MHz on pin 6 of U4 (STM32F103C8T6) the circuit will never work.

The processor must be an original STM32F103C8T6, there are currently clones such as the CS32F103C8T6, STM32FEBKC6 and CH32F103C8T6 which I have not tested and cannot guarantee that they will work without software changes.

Take some pictures (detailed) of your pcb (front and back) maybe I can see something you missed.
 
The following users thanked this post: coromonadalix

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
So it's an STM32F103C8T6? The schematic shows STM32F100C8T6B, which is exactly what I purchased. Maybe that's the whole problem. I'll get a 103 and try it. And yes, I am using genuine ST parts and Cube programmer with a genuine ST-LINK/V2, not a clone. If that doesn't work, I'll take some clear board photos for you to examine. Thanks so much for your attention and help!
 

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
Sorry, a while ago I fixed the error in my schematic and in my pdf but I forgot to replace the schematic in pdf format into the zip archive.
Now, albeit a little late, I did.
The reason for the failure is obviously that.
 
The following users thanked this post: jfriend

Offline DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6281
  • Country: es
Make the binary limited to 64KB / 8KB and 24MHz, then it will compatible with any stm32F10x C8/CB.
If you limit it even more to 16KB/4KB (Shouldn't be too hard unless you use HAL) then it will also work with C6 and C4 devices.
Your binary only uses 12.7KB, so only needs tweaking the cpu speed and ram block in the Linker Script.

Also, is the external oscillator actually required?
« Last Edit: August 10, 2023, 06:11:34 pm by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 
The following users thanked this post: picburner

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
Quote
Also, is the external oscillator actually required?

The internal oscillator could probably suffice. I'd have to do some testing to be sure though. But since it's a one-of-a-kind piece and not a mass production, I might as well waste a quartz.
 

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
I got it to work the first time with an STM32F103C8 processor. That was definitely the problem. Now I've got another small issue, a couple characters randomly appear as inverted question marks (¿). I haven't gone past the first warm-up screen to see if it still shows up. Photo attached.
 

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
What Wavetek model is it? I tried it on a 1271.
The inverted question mark means it doesn't recognize a character pattern.
Strange that it is the "T" character that is in the table.
What is the other character?

 

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
But I see that in the previous word the "T" is there, so it's not a pattern failure problem and moreover the problem is randomly.
Isn't that the cables between the Wavetek and the pcb/display assembly are a bit long?
 

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
After a little more testing, I see it is the 21st character position on the first row that does it most. The first position does it once in a while, and the 3rd or 4th (don't remember which) does it rarely. It does not matter if there is a character there, it will do it even when the position is blank.
 

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
To answer the previous question, this is a Wavetek 4950.
 

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
Re: Replacement display for Datron 1271/1281 and possibly for 4950/4920 as well
« Reply #36 on: September 01, 2023, 10:09:31 pm »
I ordered a second OLED just in case it was the module itself. Installed it, no change. It is doing exactly the same thing, although it seems to be favoring the first position on the first row rather than the 21st character. The cable length is 12" to connect to the back of the Wavetek display and wrap around the front to the connector. The wires are all the same length. If that were an issue, I would expect a lot more trouble with random characters, not the consistency I'm observing.
 

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
Re: Replacement display for Datron 1271/1281 and possibly for 4950/4920 as well
« Reply #37 on: September 02, 2023, 05:54:58 am »
The problem you described wasn't the OLED, so replacing it wouldn't have changed anything.
The cable should be fine I was able to make it an inch shorter only, so that's not the problem.
I don't know if you have the service manual of your Wavetek 4950 and you happened to study how the image on the two displays is built starting from the serial data stream.
However, on the display located on the right, the raster is built by sending the first and twenty-first character, then the second and twenty-second, then the third and twenty-third and so on. So if for some reason there is a timing problem the 1st and 21st characters can be misread and show uncertainty (As it happens now).
Adding an unexpected device (the new display circuit) may affect the stability of the existing system.
I initially had this problem myself and fixed it with a software delay.
Unfortunately now I can no longer access the computer and the compiler that I used at the time to create the code and I can no longer make changes.
The only thing you can do is introduce/modify a hardware delay on the data line of the signal (a capacitor, C6 1nF*, already exists on the  Data-IN line). Try decreasing or increasing it.

* on the original Datron/Wavetek Display Board.
« Last Edit: September 02, 2023, 06:20:29 am by picburner »
 

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
Update on the 4950 compatibility... the design offered in this thread doesn't appear to be fully compatible with the 4950. Nothing so far has worked to clear up the inverted question mark ¿ character, and the display test fails to sequence blocks left-to-right as a button is pressed. As-is, this design probably isn't going to work with the 4950 (can't answer for the 4920 but I suspect it will be the same).

What I have tried:
- Started over with a new blank board and new components (again).
- Installed only required components for OLED as indicated by the OP and schematic.
- Experimented with various capacitors as suggested to skew the data line timing slightly.
- A different OLED module.
- Resoldered the wires from the 4950 to the converter.

Because it partially works, it doesn't appear to be a wiring or display module problem but rather the microcontroller program or timing.
« Last Edit: October 02, 2023, 09:52:12 pm by jfriend »
 

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
In fact, in the title I wrote: "and possibly for 4950/4920" because, unfortunately not having a 4950 and/or a 4920, I was unable to test them.
The display schematic is almost the same for all four instruments but Wavetek may have changed something in the firmware regarding the timings.
The fact that the problem is always on the first and twenty-first characters indicates that there is a synchronization problem.
You can try to slightly modify, in more or less, the value "17" indicated by the red circle in the image of the HEX file of the code.
Naturally you have to recalculate the checksum of the row according to the change.
That value modifies the timing of the synchronism.
 

Offline jfriend

  • Contributor
  • Posts: 12
  • Country: us
Correct, I knew this wasn't a guaranteed solution for the 4950.

Location 0x100D90 in the updated HEX you posted (that worked with the STM32F103C8) is nowhere near the same as your screenshot.
 

Offline picburnerTopic starter

  • Frequent Contributor
  • **
  • Posts: 550
  • Country: it
Yes, my bad. I got a file that does another job.
I downloaded the hex file directly from msg#3492190 to be safe.
The string to search for is "2F07C0F200" and the number to change is "2F"
« Last Edit: October 04, 2023, 04:21:51 am by picburner »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf