Ardumania / Advanced_servo_controller

Based on ATtiny85 and PJON bus
2 stars 1 forks source link

External oscillator #1

Open gioblu opened 7 years ago

gioblu commented 7 years ago

Ciao @Ardumania, I think could be safer to use an external oscillator to have also large batches of those devices working in the same fashion. Sadly the internal oscillator (or PPL clock) is not so reliable and it can have strong differences in behaviour, chip to chip. so having some of them not working or operating at a lower performance. Using a 16MHz external oscillator would enable the ATtiny to run SoftwareBitBang at FAST_MODE so at 25157Bd or 3.15kB/s. See https://github.com/gioblu/PJON/wiki/ATtiny-interfacing and https://github.com/gioblu/PJON/issues/25

Ardumania commented 7 years ago

Hi @gioblu, I am very honored that you follow this project and all your suggestions will be taken into account. This is the first version of the board and there are many things to change, first of all the RGB LED goes out. Another contributor suggest that will be a great idea to have a temperature sensor on board and I must to put a NTC resistor. I'm redesigning the board at this moment and it's a good moment for your suggestion, I'm going to put a 16MHz external oscillator. I have all the materials for the first version and will mount only 2 or 3 units for test. Thank you very much.

gioblu commented 7 years ago

Ciao @Ardumania, I am honored too to see PJON being your choice for this project. Feel free to contact me for info/support.

gioblu commented 7 years ago

I forgot to mention, that years ago I worked on a really small Arduino compatible board, based on ATtiny85 (ATtiny85 + 78l05 + 2 caps + LED + resistor) was able to run smoothly cheap servos: https://www.youtube.com/watch?v=PxwNOG1WzhY In any case, PJON needs the external oscillator, but I think this is an indication that you will be able to achieve your goal; to reduce buzz or jitter:

gioblu commented 7 years ago

@Ardumania, temperature sensor is cool, but would be nice in some cases to have the chance to drive 2 servos, for example where you need to drive 2 wheels precisely (rover robot, tilt/pan), so with a single packet it would be possible to start both wheels at a determined speed, at the same time.