Winkelkatze / jbc_nano_solder

DIY station for JBC nano (NT115) soldering irons
MIT License
24 stars 6 forks source link

question #1

Open hasulhasancevik opened 3 years ago

hasulhasancevik commented 3 years ago

hello, i want to try the project. I need help. Which compiler did you use? I tried cubemx and atollic but I'm getting a compile error.

Winkelkatze commented 3 years ago

Indeed, there was an issue with the git submodules. The issue should be fixed now and I added build instructions to the README.

Thanks for the feedback!

hasulhas commented 3 years ago

Hello sir. I added the new libraries, but I still get an error when compiling. I guess I couldn't. Is it possible to export the project again? I am using stm32cubeid.

Winkelkatze commented 3 years ago

I didn't use STM32CubeIDE or the STM32CubeMX for this project. Its built with libopencm3 and uses a Makefile for building. Not sure if its possible to build a plain Makefile project through the STM32CubeIDE. But if you simply follow the build instructions you won't need the CubeIDE anyway.

hasulhas commented 3 years ago

thank you very much for your help. today i installed ubuntu program with virtual machine. I created the *.elf file. and I think it will be enough to write this file to the chip.

hasulhas commented 2 years ago

Hello sir. I built the circuit. but the screen keeps coming and going. and the encoder is not working. What is the problem? can you help me? only eeprom is different, could it be caused by it? I couldn't find 24cs01 there is 24c01

https://user-images.githubusercontent.com/56305854/146142587-3e44a64a-28d1-4c33-b0aa-b25b265cdcbe.MOV

Winkelkatze commented 2 years ago

This very much looks like a power supply issue. If you have one, you should check the 3.3V rail with an oscilloscope.

Have you connected a soldering iron in your test setup? Could be that the current draw brings the power supply to its knees.

EDIT: I found the problem! It was an issue with the initial config loading. Thanks for helping to debug that project :)

The issue is fixed with the last commit

hasulhas commented 2 years ago

Thanks for your help. screen problem solved. but I could not run the encoder. the opamp is connected but I did not power it. I guess it's not related to that. Sorry for tiring you. image image

https://user-images.githubusercontent.com/56305854/146919004-94443d6b-5d04-4af3-85bb-d3c4ca2760cd.MOV

Winkelkatze commented 2 years ago

No worries :) About the encoder: Not sure about that, but in the first video it looks like you accidentally swapped the encoder GND and 3.3V, this would explain why the switch is not working. Normally a press on the encoder should get you to the main screen. If the encoder connections are correct and it still doesn't work, try to short PA6 to GND with a jumper wire. About the rotary part, are you sure the encoder is a normal A/B encoder? On the PCB the pins are labeled as CLK and DT which suggest a different type of encoder.

hasulhas commented 2 years ago

yes I tried without encoder. with tweezers. The menu did not come. I guess I don't see a small detail :) It is most logical to re-build the circuit :)

Winkelkatze commented 2 years ago

Hmm, that's strange. The IOs for the encoder are pulled up by the micro using the internal pull-up resistors. So a very simple test would be to measure the voltage at these pins when there is nothing connected to them and the micro is running normally ("Default cfg loadad" screen on the display). If everything is working, your multimeter should read something between 2.5 and 3.3 volts.

If there is voltage on those pins, you could also try to measure the current sourced by them to verify the pull-up is working normally. Measuring in mA mode between the pin and GND should read about 100uA (0.1mA)

hasulhas commented 2 years ago

Hello sir. I made the measurements, it's on the 3.3v pa6 pin. current 0.07mA. There is an 8Mhz crystal on the circuit, is it normal?

Winkelkatze commented 2 years ago

I just looked through the code. There is really not much that can go wrong between the screen you are stuck at and the main screen. Just to be sure, you connected the pin to ground and released it again, right? :) One potential candidate would be the eeprom write never going through. Can you add a "return;" in source/eeprom_i2c.c at the beginning of eeprom_write (so in line 66)?

Besides that, do you have a serial adapter? The controller should be sending out some data on the TXD pin at 115200 baud. Might be helpful to see whats going on there

hasulhas commented 2 years ago

sir, i am compiling via virtual drive for linux. maybe there is an error. Can you send the build.elf file?

Winkelkatze commented 2 years ago

I doubt this is a problem with your toolchain, but I attached a build anyway. This also includes a build where the eeprom write is disabled. I also added some more debug output, so it would be very helpful, if you could check the serial output. firmware.zip

hasulhas commented 2 years ago

thank you very much sir. build.elf still didn't work but no eeprom.elf did. As a result, is my eeprom incompatible? image

Winkelkatze commented 2 years ago

So it was a problem with the eeprom. I re-checked my code and found some potential problems with the eeprom write routine. Can you try again with the new version?

Besides that, are you certain the WP pin of the eeprom is correctly tied to ground?

hasulhas commented 2 years ago

thank you sir. the new build worked. I'll try connecting a soldering iron. I will let you know the latest.

hasulhas commented 2 years ago

works great. thank you very much. excellent software and hardware. How can I do the calibration? It heats up to about 140 degrees low. For example, I want to melt the solder at 180 degrees.

I get error t high when the load is too much. Can it be fixed with calibration?

image

Winkelkatze commented 2 years ago

It depends a bit on what handpiece / tip you are using. I designed that with the JBC nano tips in mind, which have a thermocouple sensitivity of about 9 uV/K. Most other soldering irons use thermocouples with a higher output voltage.

Minor changes can be compensated by changing the calibration value in the menu. The allowed range is 7.5-11uV/K. The limits for the range are hard-coded, but can be changed in the config.c file. You may would also have to change the PANIC_CUTOFF_ADC_VALUE (in main.c) to avoid the over-temperature shutdown (ERROR T HIGH).

But keep in mind, that the amplifier gain is set to work with these low-sensitivity thermocouples. The gain is 501, so this limits the maximum thermocouple voltage to about 6.5 mV. So for a different thermocouple you may have change the amplifier gain and also the value in the software.